X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

2 страниц Открыть меню   1 2 >  
Ответить в данную темуНачать новую тему
> Eleanor htaccess для базовой защиты.
Destroy
сообщение 2013-06-30, 17:04
Сообщение #1
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 205
Регистрация: 2013-06-20
Из: Планета земля

Репутация:   нет  
Всего: нет


Вобшем выкладываю свою сборки для eleanor, пользуйтесь:

## Включение mod_rewrite
RewriteEngine On
##

## Корневая директория
RewriteBase /
##

## Индексная страница
DirectoryIndex index.php 
#

## Кодировки по умолчанию
AddDefaultCharset utf-8
##

## Редирект с WWW на без WWW
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
##

## Редирект адресов с index.php на без index.php
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,L]
##

## Редирект на новую категорию
#RewriteRule ^старая/(.*)$ /новая/$1 [R=301,L]
##

## Запрет листинга и просмотра директорий
Options All -ExecCGI -Indexes -Includes +FollowSymLinks
##

## Настройки сервера
ServerSignature Off
php_value safe_mode 0
php_flag file_uploads 1
php_value display_errors 0
php_value register_globals 0
php_value output_buffering 0
php_value magic_quotes_gpc 0
php_value allow_url_fopen 0
php_flag magic_quotes_runtime 0
php_value upload_max_filesize 5M
##

## Правила обработки запросов для блокировки распространенных эксплоитов
RewriteCond %{QUERY_STRING} proc/self/environ [OR]
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_(en|de)code\(.*\) [OR]
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
##

## Блокирование MySQL инъекций
RewriteCond %{query_string} concat.*\( [NC,OR]
RewriteCond %{query_string} union.*select.*\( [NC,OR]
RewriteCond %{query_string} union.*all.*select [NC]
RewriteRule ^(.*)$ index.php [F,L]
##

## Блокировка файловых инъекций 
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]
RewriteRule .* - [F]
##

## Редирект для чужих доменов
RewriteCond %{HTTP_HOST} !^eleanors\.ru$
RewriteRule ^(.*)$ http://eleanors.ru/$1 [R=301,L]
##

## Правила для скачивания: отдаем любой контент только через скрипт
RewriteRule ^uploads/(.*)$ download.php?download=$1 [L]
##

#Если запрашиваемый ресурс не папка и не файл - это ЧПУ
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
##

## Правило обработки изображений
RewriteCond %{REQUEST_URI} !\.(css|js|jpe?g|gif|png|bmp)$
RewriteRule ^(.*)$ index.php?!$1!&%{QUERY_STRING} [L]
##


Если есть косяки просьба указать.

Сообщение отредактировал Destroy - 2013-06-30, 21:17
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-06-30, 17:25
Сообщение #2
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Цитата (Destroy @ 2024-03-28 14:26)
Блокирование прямого доступа к ядру

В этом нет совершенно никакого смысла. Я уже обо всем позаботился до вас :)
Перейти в начало страницы
+Цитировать сообщение
Destroy
сообщение 2013-06-30, 17:30
Сообщение #3
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 205
Регистрация: 2013-06-20
Из: Планета земля

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2013-06-30, 18:25)
В этом нет совершенно никакого смысла. Я уже обо всем позаботился до вас :)


Отлично, значит убираю, ибо не грузит лишний раз)

Сообщение отредактировал Destroy - 2013-06-30, 21:16
Перейти в начало страницы
+Цитировать сообщение
Гость_Quber_*
сообщение 2013-07-01, 17:38
Сообщение #4



Гости





Цитата (Destroy @ 2013-06-30, 18:30)
Отлично, значит убираю, ибо не грузит лишний раз)

хотелось бы всё таки увидеть вашу реализацию
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-07-01, 17:47
Сообщение #5
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Quber, судя по всему, вы ко мне обращались. Моя реализация заключается в добавлении строк
if(!defined('CMS'))die;

Во все файлы. Таким образом, напрямую обратится к такому файлу нельзя.
Перейти в начало страницы
+Цитировать сообщение
Destroy
сообщение 2013-07-01, 18:09
Сообщение #6
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 205
Регистрация: 2013-06-20
Из: Планета земля

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2013-07-01, 18:47)
Quber, судя по всему, вы ко мне обращались. Моя реализация заключается в добавлении строк
if(!defined(&apos;CMS&apos;))die;

Во все файлы. Таким образом, напрямую обратится к такому файлу нельзя.


а если залили шел? у этого файла нет данной строки.
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-07-01, 18:22
Сообщение #7
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Цитата (Destroy @ 2024-03-28 14:26)
а если залили шел? у этого файла нет данной строки.

Если залили шел, то, очевидно и другую защиту удалят запросто.
Перейти в начало страницы
+Цитировать сообщение
Destroy
сообщение 2013-07-01, 18:26
Сообщение #8
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 205
Регистрация: 2013-06-20
Из: Планета земля

Репутация:   нет  
Всего: нет


Удалят если права не 444.
А если получили доступ только к одной папке, например к "templates" и залили туда?
Или взломали админку, вошли в редактор шаблона вставили в файл шаблона шел. как в таком случаи?

Сообщение отредактировал Destroy - 2013-07-01, 19:05
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-07-01, 18:56
Сообщение #9
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Цитата (Destroy @ 2024-03-28 14:26)
А если получили доступ только к одной папке, например к "templates" и залили туда?

Я не считаю "а если..." аргументом, потому что в таком случае, доступ могут получить куда угодно. Почему именно в каталог с шаблонами?
Перейти в начало страницы
+Цитировать сообщение
Destroy
сообщение 2013-07-01, 19:02
Сообщение #10
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 205
Регистрация: 2013-06-20
Из: Планета земля

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2013-07-01, 19:56)
Я не считаю "а если..." аргументом, потому что в таком случае, доступ могут получить куда угодно. Почему именно в каталог с шаблонами?


ну например у меня разрешен доступ по фтп только к шаблонам.

если вы не считаете "а если" сочувствую...

Сообщение отредактировал Destroy - 2013-07-01, 19:03
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-07-01, 19:14
Сообщение #11
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Цитата (Destroy @ 2024-03-28 14:26)
ну например у меня разрешен доступ по фтп только к шаблонам.

Вот и докопались до истины. Но, спешу разочаровать, если у вас есть по FTP доступ к шаблонам "Блокирование прямого доступа к ядру" из главного .htaccess вас не спасет.

Цитата (Destroy @ 2024-03-28 14:26)
если вы не считаете "а если" сочувствую...

Я не нуждаюсь в вашем сочувствии.
Перейти в начало страницы
+Цитировать сообщение
Destroy
сообщение 2013-07-01, 19:22
Сообщение #12
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 205
Регистрация: 2013-06-20
Из: Планета земля

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2013-07-01, 20:14)
"Блокирование прямого доступа к ядру" из главного .htaccess вас не спасет.

С чего вы так решили?



Добавлено через 9 минут, 3 секунд:

Цитата (Destroy @ 2013-07-01, 20:22)
"Блокирование прямого доступа к ядру" из главного .htaccess вас не спасет.
С чего вы так решили?


я залил шел в директорию "templates" и свободно его запустил. с вашим стандартным htaccess
потом я заменил его на свой первоначальный.
И я не смог запустить шел так как он был блокирован

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} \.php [NC]
RewriteCond %{REQUEST_URI} \/templates\/
RewriteRule ^(.*)$ index.php [R=404,L]
##

Сообщение отредактировал Destroy - 2013-07-01, 19:37
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-07-01, 19:37
Сообщение #13
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Destroy, ну что, мне вас еще хакингу учить? Пфф... Залили shell.php в каталог с шаблонами, это раз. Правим файл index.php шаблона, дописываем строку типа (это два):

rename('templates/shell.php','shell.php');

Заходим на site.ru/shell.php и радуемся жизни (это три).
Перейти в начало страницы
+Цитировать сообщение
Destroy
сообщение 2013-07-01, 19:42
Сообщение #14
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 205
Регистрация: 2013-06-20
Из: Планета земля

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2013-07-01, 20:37)
Destroy, ну что, мне вас еще хакингу учить? Пфф... Залили shell.php в каталог с шаблонами, это раз. Правим файл index.php шаблона, дописываем строку типа (это два):

rename('templates/shell.php','shell.php');

Заходим на site.ru/shell.php и радуемся жизни (это три).


что за бред... каким образом вы выполните php? если он не запуститься на прямую?
Сами то попробуйте для начала.

Сообщение отредактировал Alexander - 2013-07-01, 20:02
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-07-01, 19:53
Сообщение #15
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Цитата (Destroy @ 2024-03-28 14:26)
каким образом вы выполните php?

Просто зайду на сайт. Сайт обязательно выполнит шаблон index.php
Перейти в начало страницы
+Цитировать сообщение
Destroy
сообщение 2013-07-01, 19:57
Сообщение #16
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 205
Регистрация: 2013-06-20
Из: Планета земля

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2013-07-01, 20:53)
Просто зайду на сайт. Сайт обязательно выполнит шаблон index.php


Да верно... Не подумал. &lt;_&lt;
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-07-01, 20:03
Сообщение #17
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Destroy, я уже молчу о том, что скорее всего есть возможность создать еще и свой .htaccess, который "затрет" правила из каталога выше. В общем, если есть доступ по FTP, то сайт, считайте сломан.
Перейти в начало страницы
+Цитировать сообщение
Гость_Quber_*
сообщение 2013-07-02, 6:37
Сообщение #18



Гости





Цитата (Alexander @ 2013-07-01, 18:47)
Quber, судя по всему, вы ко мне обращались. Моя реализация заключается в добавлении строк
if(!defined('CMS'))die;

Во все файлы. Таким образом, напрямую обратится к такому файлу нельзя.

Я видел Вашу реализацию. Встречал в некоторых других движках аналогичную. Я хотел узнать у Destroy про htaccess, я специально его прокомментировал :) Но всё равно спасибо за ответ :)
Перейти в начало страницы
+Цитировать сообщение
Гость_Quber_*
сообщение 2013-07-05, 3:33
Сообщение #19



Гости





Ответ будет или нет?
Перейти в начало страницы
+Цитировать сообщение
termit
сообщение 2013-07-05, 13:16
Сообщение #20
Опытный
Иконка группы

Группа: Бета-тестеры
Сообщений: 705
Регистрация: 2009-06-02
Из: Житомир

Репутация:   нет  
Всего: 11


А не проще просто всё перенаправлять на index.php, кроме статики разумеется ?
Перейти в начало страницы
+Цитировать сообщение

2 страниц Открыть меню   1 2 >
Ответить в данную темуНачать новую тему
0 чел. читают эту тему (гостей: 0, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0368 сек.    12 запросов    GZIP включен    Сейчас: 2024-03-28, 14:26