Как установить ModSecurity для Apache в Ubuntu 18.04 LTS

12 set 2022 3 min di lettura
Как установить ModSecurity для Apache в Ubuntu 18.04 LTS
Indice dei contenuti

Введение

ModSecurity, также известный как Modsec, представляет собой надежное приложение брандмауэра с открытым исходным кодом для веб-серверов Apache. Программное обеспечение, которое защищает сеть или приложение от несанкционированного доступа путем фильтрации запросов.

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

В этой статье мы увидим, как установить и настроить mod_security на сервере Ubuntu 18.04 LTS, а также запустить несколько тестов.

Если вы хотите установить ModSecurity на удаленный сервер, продолжайте читать, в противном случае, если вы хотите установить ModSecurity на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется пароль для аутентификации.

Чтобы подключиться к серверу как root, введите эту команду:

ssh root@IP_DEL_SERVER

Далее вам будет предложено ввести пароль пользователя root.

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

ssh VOSTRO_UTENTE@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Теперь вы подключены к своему серверу, вы готовы начать установку ModSecurity.

Установить ModSecurity

Вы можете установить ModSecurity для Apache, используя официальный репозиторий Ubuntu с файлом apt.

Обновите список пакетов:

sudo apt update

Установите Apache2 и некоторые необходимые пакеты:

sudo apt-get install apache2 mysql-server php-mysql php libapache2-mod-php

Запустите Apache2:

sudo systemctl start apache2

Включите Apache2 автоматически при запуске системы:

sudo systemctl enable apache2

Установить Mod_Security

Чтобы установить Mod_Security, введите эту команду из терминала:

sudo apt-get install libapache2-mod-security2

Проверьте статус mod_security:

apachectl -M | grep security

Вы должны получить выходное сообщение, подобное следующему:


security2_module (shared)

Настроить Mod_Security

Скопируйте и переименуйте файл конфигурации по умолчанию /etc/modsecurity/modsecurity.conf-recommended в /etc/modsecurity/modsecurity.conf, чтобы включить и настроить ModSecurity с помощью следующей команды:

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

Откройте следующий файл:

nano /etc/modsecurity/modsecurity.conf

Найдите и измените следующую строку следующим образом:


SecRuleEngine On

Перезапустите Apache2:

sudo systemctl restart apache2

По умолчанию mod_security поставляется с базовым набором правил (правил безопасности), расположенных в каталоге /usr/share/modsecurity-crs. Но рекомендуется скачать CRS mod_security из репозитория GitHub.

Сделайте резервную копию правил по умолчанию:

sudo mv /usr/share/modsecurity-crs /usr/share/modsecurity-crs.bk

Скачайте новые правила с Github:

git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git /usr/share/modsecurity-crs

Переместить папку:

cd /usr/share/modsecurity-crs

Переименуйте файл примера:

mv crs-setup.conf.example crs-setup.conf

Откройте следующий файл:

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

Измените его следующим образом:


 <IfModule security2_module>
 SecDataDir /var/cache/modsecurity
 IncludeOptional /etc/modsecurity/*.conf
 IncludeOptional "/usr/share/modsecurity-crs/*.conf
 IncludeOptional "/usr/share/modsecurity-crs/rules/*.conf
 </IfModule>

Перезапустите Apache2:

sudo systemctl restart apache2

Тест Mod_Security

Теперь мы проверим mod_security, отправив несколько вредоносных запросов на веб-сервер Apache и проверив, заблокированы ли запросы или нет.

Введите URL-адрес под браузером. Не забудьте заменить IP-адрес общедоступным IP-адресом вашего сервера или доменным именем:


http://TUO_IP_O_DOMINIO/?q="><script>alert(1)</script>

Или из терминала:

curl 'http://TUO_IP_O_DOMINIO/?q="><script>alert(1)</script>'

Вы должны получить выходное сообщение, подобное следующему:


<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <html><head>
 <title>403 Forbidden</title>
 </head><body>
 <h1>Forbidden</h1>
 <p>You don't have permission to access /on this server.<br />
 </p>
 <hr>
 <address>Apache/2.4.29 (Ubuntu) Server at TUO_IP Port 80</address>
 </body></html>

Также попробуйте следующую команду:


http://TUO_IP_O_DOMINIO/index.html?exec=/bin/bash

Или из терминала:

curl 'http://TUO_IP_O_DOMINIO/index.html?exec=/bin/bash'

Вы должны получить выходное сообщение, подобное следующему:


<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <html><head>
 <title>403 Forbidden</title>
 </head><body>
 <h1>Forbidden</h1>
 <p>You don't have permission to access /on this server.<br />
 </p>
 <hr>
 <address>Apache/2.4.29 (Ubuntu) Server at TUO_IP Port 80</address>
 </body></html>

Установка и настройка Mod Security на Ubuntu 18.04 LTS завершена.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.