□ SecFilter xxx redirect:http://www.webkreator.com
— обеспечивает переадресацию. Если правила соблюдены, то пользователя отправляют на сайт http://www.webkreator.com;
□ SecFilter yyy log,exec:/home/apache/report-attack.pl
— запускает сценарий. Если фильтр срабатывает, то будет выполнен скрипт /home/apache/report-attack.pl;
□ SecFilter /etc/password
— устанавливает запрет на использование в запросе пользователя обращения к файлу /etc/passwd. Таким же образом нужно добавить ограничение на файл /etc/shadow;
□ SecFilter /bin/ls
— отказ пользователям в обращении к директивам. В данном случае запрещается команда ls, которая может позволить хакеру увидеть содержимое каталогов, если в сценарии есть ошибка. Необходимо предотвратить обращение к таким командам, как cat
, rm
, cp
, ftp
и др.;
□ SecFilter "\.\./"
— классическая атака, когда в URL указываются символы точек. Их не должно там быть;
□ SecFilter "delete[[:space:]]+from"
— запрет текста delete ... from
, который чаще всего используется в SQL-запросах для удаления данных. Такая строка очень часто используется в атаках типа SQL injection. Помимо этого, рекомендуется установить следующие три фильтра:
• SecFilter "insert[[:space:]]+into"
— используется в SQL-запросах для добавления данных;
• SecFilter "select.+from"
— используется в SQL-запросах для чтения данных из таблицы базы данных;
• SecFilter "<(.|\n)+>" и SecFilter "<[[:space:]]*script"
— позволяют защититься от XSS-атак (Cross-Site Scripting, межсайтовое выполнение сценариев).
Мы рассмотрели основные методы, использование которых может повысить безопасность вашего Web-сервера. Таким образом, можно защищать даже сети из серверов. Дополнительную информацию можно получить с сайта разработчиков.
7.7.3. Секреты и советы
Как бы аккуратно программист не писал сценарии, как бы вы их не защищали с помощью специальных модулей, неплохо предпринять дополнительные меры безопасности. Есть еще ряд параметров, которыми можно воспользоваться для этих целей. В данном разделе я собрал небольшие рекомендации, которые вам помогут сделать необходимые настройки.
Во-первых, ограничьте выполнение сценариев только отдельной директорией. Чаще всего это каталог cgi-bin. Однажды я видел систему, в которой для этих целей администратор указал корневой каталог, что позволяло хранить сценарии, где угодно. Не стоит повторять эту ошибку, потому что в системе могут быть различные программы, написанные на Perl, и они должны быть недоступны для выполнения на Web-сервере.
Никогда не сохраняйте резервные копии сценариев в каталогах, доступных Web-серверам. Рассмотрим пример. Если на сервере есть PHP-скрипты, то пользователи видят только результат их выполнения. Чтобы посмотреть исходный код, хакеру необходим доступ к серверу, например FTP или Telnet, т.к. сервер Apache не передает таких данных клиенту.
Перед тем как вносить изменения в сценарий, программисты любят создавать на сервере резервные копии, чтобы в случае ошибки можно было восстановить старую, но рабочую версию. Для этого очень часто содержимое файла копируется в тот же каталог, под тем же именем, но с другим расширением, например, old или bak (наиболее часто встречаемые).
Такие программы уже не выполняются сервером, и если хакер запросит файл, то он увидит его исходный код, что поможет быстрее найти ошибки в скриптах.
Когда злоумышленник исследует сценарии на сервере, то никто не мешает проверить наличие резервной копии. Допустим, что у вас есть файл www.servername.com/index.php, хакер попробует загрузить www.servername.com/index.bak или www.servername.com/index.old. На любительских сайтах такие версии встречаются очень часто. Не допускайте подобных промахов.
Любой специалист по безопасности должен запретить пользователям работу с резервными копиями. Сколько бы мы не говорили программистам о том, что нельзя держать на сервере ничего лишнего, они все равно продолжают это делать, потому что им так удобно. Наша задача — сделать хранение этих копий безопасными, т.е. запретить доступ со стороны Web-клиентов.
Это можно сделать, используя следующие директивы:
Order deny, allow
Deny from all
Order deny, allow
Deny from all
7.8. Индексация Web-страниц
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии