Общие соображения.
Механизмы обеспечения безопасности веб-сервера на основе Apache
HTM расширения файла, особенно на серверном трафике, высока. Все SSI-страницы обрабатываются на сервере. Плохо закодированные страницы могут потребляться ресурсами системы с удивительной скоростью, что в конечном счете приведет к сбою. Чтобы избежать такого сценария, обычной практикой является использование отдельных расширений для SSI-документов SHTML). Это можно сделать, добавив следующие… Читать ещё >
Общие соображения. Механизмы обеспечения безопасности веб-сервера на основе Apache (реферат, курсовая, диплом, контрольная)
Apache имеет различные механизмы обеспечения безопасности и разграничения доступа к данным. Основными являются:
Ограничение доступа к определенным директориям или файлам.
Механизм авторизации пользователей для доступа к директории по методу HTTP-авторизации (mod_auth_basic) и digest-авторизации (mod_auth_digest).
Ограничение доступа к определенным директориям или по всему серверу, основанное на IP;
адресах пользователей.
Запрет доступа к определенным типам файлов для всех или части пользователей, например, запрет доступа к конфигурационным файлам и файлам баз данных.
Существуют модули, реализующие авторизацию через СУБД или PAM [1].
Предположение, что введенные пользователем данные будут более 1024 символов. Если пользователь передает информацию в более чем 1024 символов, выше рутины сломает программу и позволит кому-то выполнить системные команды удаленно. Решение в этом случае заключается в обеспечении выделения памяти для переменной QUERY_STRING. Происходит это динамически с помощью вызова либо Malloc () или calloc () функций.
Другая распространенная проблема включает в себя системный вызов, который открывает подоболочки для обработки команды. В Perl такой вызов может быть сделан с помощью любой из следующих функций: системы (), Exec (), который поступает (), открытым (), или EVAL (). Урок — здесь никогда не доверять вводимым пользователем данным, что обеспечит всем вашим системным вызовам неуязвимость. Первое обычно достигается за счет четкого правила (например, путем проверки входа регулярным выражением) на то, что приемлемо, а что нет. Процесс дезинфекции системных вызовов зависит от языка. Весь фокус в том, чтобы всегда вызывать внешние программы напрямую, а не проходящие через оболочку. Использование Perl осуществляется путем передачи аргументов внешней программы в качестве отдельных элементов в списке, а не в одну длинную строку, вот так:
system «/usr/bin/sort»,"data.dat".
Связанная уловка, используемая многими хакерами, является изменением переменной PATH-среды указанием на программу, в которой они хотят выполнить свой сценарий, вместо ожидаемой вами программы. Эта их попытка может быть легко подорвана в результате применения какой-либо программы, называющей при использовании полный путь.
По умолчанию веб-сервер Apache в каждом HTTP-заголовке отдает клиенту информацию о своей версии и установленных модулях (н.р., mod perl, mod php, mod ssl) [2].
Защита сервера включает в себя:
Доступ к веб-серверу имеет пять уровней:
Общедоступный с возможностью только чтения всех URL за исключением тех, что помещены в каталогах /private.
Доступ сотрудников фирмы или организации, которой принадлежит сервер. Здесь также допустимо только чтение, но доступны и секции каталога /private.
Разработчики веб-сервера. Имеют возможность модифицировать содержимое сервера, инсталлировать CGI-скрипты, прерывать работу сервера.
Администраторы узла (сервера). Имеют те же привилегии, что и разработчики, но могут также реконфигурировать сервер и определять категорию доступа.
Системные администраторы. Имеют идентичные привилегии с администраторами сервера [3].
Многие веб-администраторы считают Server Side Includes (SSI) на одном уровне с приложениями CGI, когда речь идет о потенциальных угрозах безопасности. Любые программы или страницы, которые используют Exec-команду вызова, подвергают файловую систему огромной опасности, если вызов сделан неправильно. С другой стороны, это удивительно простой процесс, чтобы отключить все Execзвонки от всего веб-сайта, позволяют Exec, отзываться на вызовы из только конкретных каталогов. Это достигается с Параметры-директивы.
Options IncludesNOEXEC Order deny, allow.
Deny from all.
Параметры линии в листинг выше конфигурации отключают Exec-звонки и включают в себя вебсайт. Для того чтобы Exec призывает к конкретным подкаталог Веб «, объем-вниз» каталог контейнер следующим образом:
Options IncludesNOEXEC Order deny, allow.
Deny from all.
Options Includes # (or alternately, +Includes) Order deny, allow.
Deny from all.
Такая конфигурация позволяет использовать сегмент исполнения Exec-команды только из / подкаталога папки под сайт DocumentRoot. Обратите внимание, что пользователи могут выполнять CGI сценариев из документа, при условии что скрипты расположены в каталоге, назначенные ScriptAliasдирективой (см. следующий раздел о защите приложений CGI. Более подробно об использовании ScriptAlias директива).
HTM расширения файла, особенно на серверном трафике, высока. Все SSI-страницы обрабатываются на сервере. Плохо закодированные страницы могут потребляться ресурсами системы с удивительной скоростью, что в конечном счете приведет к сбою. Чтобы избежать такого сценария, обычной практикой является использование отдельных расширений для SSI-документов SHTML). Это можно сделать, добавив следующие строки в конфигурационный файл сервера Apache:
AddHandler server-parsed.shtml AddType text/html.shtml.
Первая директива говорит Apache для лечения все файлы с расширением SHTML как страницы SSI; Вторая директива передает в браузер запрашивающего страницу, и говорит он, для отображения содержимого же, как бы для запроса HTML.
Защита CGI-приложений:
Администраторы имеют два варианта настройки CGI под Apache. Первый метод использует ScriptAlias директиву для обозначения каталога программы CGI. Второй метод использует комбинацию Alias и AddHandler-директивы. Каждый метод имеет место и свой собственный набор плюсов и минусов.