ГлавнаяОперационные системыLinuxЗащита Apache в Ubuntu – Часть 1

Защита Apache в Ubuntu – Часть 1

Apache — один из наиболее широко используемых и популярных веб-серверов в мире, на нем работает почти 40 % всех серверов в мире. Если вы веб-мастер или администратор, обслуживающий сервер Apache, вам важно знать, как защитить Apache и предотвратить его взлом. В этой статье мы опишем несколько советов и приемов, которые можно использовать для защиты вашего сервера Apache.

Примечание. Для этого руководства мы используем Ubuntu 14.04.

Установить и обновить Apache

Сначала вам необходимо обновить и установить Apache в вашу систему.

Для этого выполните следующую команду:

sudo apt-get update
sudo apt-get install apache2

Скрыть версию Apache

По умо

Установить и обновить Apache

ервера Apache, установленного в вашей системе, с названием операционной системы вашего сервера.

версия Apache

На скриншоте выше вы можете увидеть версию Apache и операционную систему, установленную на вашем сервере. Это может быть серьезной проблемой безопасности вашего веб-сервера. Чтобы скрыть эту информацию, вам необходимо отредактировать основной файл конфигурации Apache («/etc/apache2/conf-enabled/security.conf»).

sudo nano /etc/apache2/conf-enabled/security.conf

Добавьте/измените следующую строку:

ServerSignature Off
ServerTokens Prod

Сохраните файл и перезапустите службу Apache.

sudo /etc/init.d/apache2 restart

Отключить просмотр каталогов и символические ссылки

По умолчанию на сервере Apache включен список каталогов. В списке каталогов отображается весь каталог со всеми файлами с сервера Apache. Если эта опция включена, злоумышленник сможет легко просмотреть любой файл, проанализировать его и получить конфиденциальную информацию о приложении.

Вы можете увидеть список каталогов по умолчанию на изображении ниже.

список каталогов Apache

Вы можете отключить этот параметр, отредактировав файл конфигурации Apache.

sudo nano /etc/apache2/apache2.conf

Добавьте/измените следующую строку:

       Options -FollowSymLinks
       AllowOverride None
       Require all granted

Примечание. В приведенном выше коде предполагается, что ваши веб-страницы обслуживаются из папки «/var/www/html». Е

Отключить просмотр каталогов и символические ссылки

мените путь Directoryв приведенном выше коде.

Строка Options -FollowSymLinksтакже отключает символические ссылки. Если вы хотите включить символические ссылки, удалите знак «-» перед FollowSymLinks, чтобы оно стало Options FollowSymLinks.

Сохраните файл и перезапустите сервер Apache.

После этого попробуйте зайти в Интернет в браузере, и вы получите запрещенную ошибку, показанную на изображении ниже.

список папок-каталогов-отключить

Отключить ненужные модули

По умолчанию Apache поставляется с несколькими установленными модулями, которые не нужны для обычного использования. Рекомендуется обрезать жир и отключить все ненужные модули. Вы можете перечислить все включенные модули на вашем сервере с помощью следующей команды:

sudo ls /etc/apache2/mods-enabled/

Выходные данные будут отображены, как показано на рисунке ниже.

модуль включения Apache

Из перечисленных выше модулей некоторые модули, такие как «статус» и «автоиндекс», включены, но не нужны.

Вы можете отключить эти модули с помощью следующей команды:

sudo a2dismod autoindex
sudo a2dismod status
sudo /etc/init.d/apach2 restart

Используйте ModSecurity

Mod Security — это бесплатный модуль Apache, используемый для защиты вашего веб-сервера от различных атак, таких как SQL-инъекция, межсайтовый скриптинг, перехват сеанса, перебор и множество других эксплойтов. Оно также позволяет отслеживать трафик в режиме реального времени.

Вы можете установить мод Security с помощью следующей команды:

sudo apt-get install libapache2-modsecurity

Чтобы проверить, запущен ли модуль mod_security, используйте следующую команду:

sudo apachectl -M | grep --color security

Изображение, показанное ниже, указывает на то, что модуль загружен.

Apache-мод-безопасность

Отключить ненужные модулиty, вам необходимо переименовать и отредактировать рекомендуемый файл конфигурации mod_security и установить для параметра SecRuleEngineзначение On.

Для этого выполните следующую команду:

sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
sudo nano /etc/modsecurity/modsecurity.conf

Добавьте/измените следующую строку:

SecRuleEngine On

Теперь перезапустите Apache, чтобы изменения вступили в силу.

В состав Modesecurity входит множество правил безопасности (называемых базовым набором правил), которые расположены в каталоге «/usr/share/modsecurity-crs». Теперь вам нужно включить эти правила, чтобы они работали с Apache.

Вы можете сделать это, отредактировав файл «/etc/apache2/mods-enabled/security2.conf».

sudo nano /etc/apache2/mods-enabled/security2.conf

Добавьте/измените следующую строку:

        IncludeOptional /etc/modsecurity/*.conf
        IncludeOptional "/usr/share/modsecurity-crs/*.conf"
        Inclu

Используйте ModSecurity

security-crs/base_rules/*.conf

Сохраните файл и перезапустите Apache.

Отключить включение на стороне сервера и выполнение CGI.

Рекомендуется отключить включение на стороне сервера и выполнение CGI, если в этом нет необходимости.

Для этого вам необходимо отредактировать основной файл конфигурации Apache.

sudo nano /etc/apache2/apache2.conf

Добавьте/измените следующую строку:

        Options -FollowSymLinks -Includes -ExecCGI
        AllowOverride None
        Require all granted

Сохраните файл и перезапустите Apache.

Вы также можете сделать это для определенного каталога. Например, чтобы отключить включение на стороне сервера и выполнение файлов cgi для каталога «/var/www/html/webdir1», ddd/отредактируйте следующую строку:

        Options -Includes -ExecCGI

<

Сохраните файл и перезапустите Apache.

Ограничение больших запросов

По умолчанию Apache не имеет ограничений на размер HTTP-запроса. Это позволит злоумышленнику отправить большой объем данных. В Apache есть несколько директив, позволяющих установить правильный размер запроса. Это защитит ваш веб-сервер от атаки типа «отказ в обслуживании».

Вы можете установить значение от 0 (неограниченно) до 2147483647 (2 ГБ) в основном файле конфигурации Apache.

Например, ограничьте размер запроса каталога «/var/www/html/webdir1» до 200 КБ.

sudo nano /etc/apache2/apache2.conf

Добавьте/измените следующую строку:

        LimitRequestBody 204800

Сохраните файл и перезапустите Apache.

Запретить просмотр за пределами корня документа

Рекомендуется, чтобы Apache имел доступ только к корневому каталогу документа. Вы можете защитить корневой каталог (/), установив следующую строку:

sudo nano /etc/apache2/apache2.conf

Добавьте/измените следующую строку:

   Options None
   Order deny,allow
   Deny from all

Вот что делает код:

  • Options None: все параметры будут отключены.
  • Order deny,allow: порядок применения команд разрешения и запрета.
  • Deny from all: это отклонит все запросы к корневому каталогу.

Сохраните файл и перезапустите Apache.

Поддерживайте актуальность Apache

Новые обновления Apache будут содержать новые исправления и исправления, которые уменьшат уязвимость вашего сервера Apache, поэтому рекомендуется использовать последнюю версию сервера Apache.

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

sudo apt-get install apache2 --reinstall

Заключение

Надеюсь, этот пост поможет вам защитить ваш сервер Apache. Дополнительные советы и рекомендации по обеспечению безопасности сервера Apache вы найдете в моем следующем посте. Если у вас есть вопросы, оставляйте комментарии ниже.

Отключить включение на стороне сервера и выполнение CGI.

Ограничение больших запросов

Запретить просмотр за пределами корня документа

Поддерживайте актуальность Apache

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи