В статье рассматриваются основные виды угроз, которым подвергаются Web - и DNS -серверы, а также методы уменьшения рисков данных угроз. Веб-сервер - это приложение, формирующее информацию, доступную по протоколу HTTP. Защита веб-сервера должна складываться из нескольких компонентов. Системный администратор январь-февраль 2011.
ЮРИЙ ДЕНИСОВ, начальник технического отдела одного из провайдеров г. Владимира. Сфера профессиональных интересов: сетевые технологии, проектирование распределенных сетей передачи данных, развертывание телематических сервисов, биллинговые системы
Прежде всего, это устранение уязвимостей в серверном ПО. Здесь рекомендации простые. Вовремя устанавливаем заплатки и внимательно настраиваем сервер. Я для себя выбрал такой подход - ни одна строка в конфигурации не должна вызывать сомнения (каким должен быть ее аргумент, и для чего она вообще предназначена). Сделано это потому, что файл конфигурации, к примеру, того же Apache довольно велик, и, если вы не знакомы с какой-либо частью конфигурации, нет гарантии, что она правильно настроена. Конечно, в большинстве случаев для запуска сервера требуется изменение всего нескольких строк, но насколько такая конфигурация будет оптимальна и безопасна? Кроме того следует по возможности избегать подключения модулей, не требующих для работы сервера. - некоторые из них могут создать дополнительные дыры и уязвимости.
Грамотно написанный Web сайт, не допускающий его взлома. Этот вопрос выходит за рамки данной статьи, поэтому доверим его рассмотрение специалистам в области сайтостроения. Грамотно настроенный сервер, не допускающий даже в случае взлома сайта (а такое все же возможно) потери информации на самом сервере, ее утечки либо изменения. Самое важное здесь - не допустить запуска
сервера под пользователем root. Некоторых это прельщает, поскольку снимает лишние хлопоты с настройкой прав доступа к ряду файлов и каталогов (действительно, пользователю root доступно все).
Однако данный процесс будет иметь неограниченные права, а значит, в случае взлома у хакера не будет преград для дальнейшей деятельности.
Кроме того, для каждого виртуального хоста необходимо настройкой сервера прописать его корневой каталог, выше которого он подняться не сможет. Например, для сервера apache это будет директива DocumentRoot.
Если на вашем сервере работает несколько виртуальных хостов, то полезным будет запускать их от разных пользователей. При этом доступ к файлам виртуального хоста должны иметь только их владелец и Web сервер. В этом случае при взломе одного из сайтов информация на других будет защищена от прочтения.
Если вы используете сервер Apache и вам необходима поддержка РНР, то в этом случае придется использовать РНР не как модуль сервера, а как CGI-приложение. Это связано с тем, что при использовании модуля он всегда запускается от имени того же пользователя, что и сам Web сервер. Для запуска РНР, как CGI, от имени отдельного пользователя придется включить в сервере поддержку suexec. Механизм установки и нас i ройки такого сервера широко освещен в Интернете, и мы не будем на нем подробно останавливаться.
- Назад
- Вперёд >>