Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

APACHE

Рубрика: Безопасность -> Защита сервисов
Метки:
Понедельник, 27 июля 2009 г.
Просмотров: 7336
Подписаться на комментарии по RSS

Одним из самых популярных OpenSource-приложений представляется Web-сервер Apache. Apache сделал революцию в мире Web-серверов, став эталонным стандартом на Web-серверы - теперь Apache входит во все дистрибутивы Linux, FreeBSD, даже есть версии Apache для Windows.

     Apache без особых усилий дает возможность настроить обычный домашний компьютер, как Web-сервер. Но здесь есть опасность его использования: Apache устанавливается с файлом конфигурации, который дает возможноть сделать всего несколько изменений для запуска сервера, что не сказывается положительным образом на безопасности системы - ведь оставшиеся директивы остаются по умолчанию. К тому же в новых версиях Apache есть поддержка всевозможных расширений (модули), которые тоже требуют дополнительной настройки.


     Особую опасность отображают CGI-скрипты. Центровая проблема заключается в том, что CGI-скриптинг крайне прост в изучении и многие Web-разработчики иследуют его поверхностно, часто они и не понимают, к каким последствиям может привести употребление таких безопасных программ не по назначению.

     Конфигурация Apache.

     Конфигурационный файл Apache обозначается httpd.conf, его нахожление зависит от дистрибутива и версии Apache. Часто этот файл можно найти в каталоге /etc/httpd/conf, иногда - в /etc/apache. Если Apache был установлен самостоятельно (то есть не из пакета, а из исходников), то файл конфигурации обычно бывает в каком-то подкаталоге каталога /usr/local.

     В каком именно каталоге можно найти файл конфигурации - особой разницы нет, поэтому основное - его найти.

     Пользователь и группа.

     Для запуска Apache можно установить имя пользователя и имя группы, от имени которых Apache будет запускаться. Сперва Apache запускается от имени root, так как ему можно употреблять привилегированный порт 80, но затем он отказывается от полномочий root и запускается как обычный пользователь (он будет употреблять указанные имя пользователя и группу).

     Пользователь по умолчанию - nobody, но, если другой демон уже использует это имя, надо употреблять другую учетную запись, к примеру www, apache или http. Почему нельзя употреблять уже занятое имя? Да, сервер будет работать нормально, даже если от имени nobody уже запущено с десяток разных серверов. Просто если крекер скомпрометирует какой-то сервис, он получит доступ к учетной записи nobody и, следовательно, ко всем запущенным процессам данного пользователя.

     Для определения имени пользователя и группы используются директивы User и Group соответственно:

User <пользователь>

Group <группа>

     К примеру:

User apache

Group apache

     Если нет такого пользователя и такой группы, самое время их создать:

# groupadd apache

# useradd apache -c "Apache Server" -d /dev/null -g apache -s /sbin/nologin

     Домашний каталог пользователя - /dev/null, а оболочка - /sbin/nologin, что предотвращает вход в систему этого пользователя.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



(обязательно)