Як встановити ModSecurity з Apache на Rocky Linux

У сучасному цифровому ландшафті захист веб-додатків важливий як ніколи. Зі зростанням кіберзагроз впровадження надійних заходів безпеки необхідне для захисту конфіденційних даних і збереження довіри користувачів. Одним із найефективніших способів підвищення безпеки веб-додатків є використання ModSecurity, брандмауера веб-додатків (WAF) з відкритим вихідним кодом. У цій статті представлено повний посібник зі встановлення та налаштування ModSecurity з Apache на Rocky Linux 9, що забезпечить надійний захист ваших веб-додатків від різних атак.

ModSecurity – це потужний WAF, що виконує роль щита для веб-застосунків, контролює і фільтрує HTTP-трафік між вебсервером і клієнтами. Він допомагає виявляти і запобігати таким атакам, як SQL-ін’єкції, міжсайтовий скриптинг (XSS) та інші поширені вразливості. Аналізуючи вхідні запити в режимі реального часу, ModSecurity може блокувати шкідливий трафік до того, як він досягне вашої програми.

Чому варто використовувати ModSecurity?

  • Захист від поширених загроз: ModSecurity надає вбудовані правила для захисту від широкого спектра атак, що робить його безцінним інструментом для гарантування безпеки веб-додатків.
  • Моніторинг у режимі реального часу: Модуль постійно відстежує трафік, даючи змогу адміністраторам оперативно реагувати на потенційні загрози.
  • Правила, що налаштовуються: Користувачі можуть створювати і змінювати правила відповідно до своїх специфічних потреб безпеки, підвищуючи ефективність брандмауера.

Необхідні умови для встановлення

Перш ніж приступити до встановлення ModSecurity, переконайтеся, що ваша система відповідає таким вимогам:

  • Сервер Rocky Linux 9 зі встановленим і запущеним Apache HTTP Server.
  • Привілеї Root або sudo для виконання команд встановлення.

Оновлення системи

Почніть з оновлення списку пакетів системи, щоб переконатися, що все програмне забезпечення є актуальним. Виконайте таку команду:

sudo dnf update -y

Встановлення необхідних залежностей

Для коректної роботи ModSecurity потрібно кілька залежностей. Встановіть ці пакети за допомогою такої команди:

sudo dnf install gcc make httpd-devel libxml2 pcre-devel libxml2-devel curl-devel libtool -y

Встановлення ModSecurity

Завантаження ModSecurity

Наступним кроком буде завантаження останньої версії ModSecurity з її репозиторію на GitHub. Використовуйте такі команди:

git clone https://github.com/SpiderLabs/ModSecurity.git
cd ModSecurity

Складання та встановлення ModSecurity

Після завантаження ModSecurity скомпілюйте та встановіть його за допомогою таких команд:

./autogen.sh
./configure
make
sudo make install

Перевірка встановлення

Щоб переконатися в успішному встановленні ModSecurity, перевірте її версію за допомогою такої команди:

sudo modsecurity -V

Встановлення конектора ModSecurity Apache

Клонування репозиторію конектора

Наступним кроком буде встановлення конектора, який дозволяє ModSecurity працювати з Apache. Клонуйте сховище за допомогою:

git clone https://github.com/SpiderLabs/ModSecurity-apache.git
cd ModSecurity-apache

Збірка та встановлення конектора

Виконайте такі команди для складання та встановлення конектора:

./autogen.sh
./configure --with-libmodsecurity=/usr/local/modsecurity/
make
sudo make install

Налаштування Apache за допомогою ModSecurity

Завантаження модуля ModSecurity

Додайте такий рядок до конфігураційного файлу Apache (зазвичай розташований за адресою /etc/httpd/conf/httpd.conf), щоб завантажити модуль ModSecurity:

LoadModule security3_module /usr/lib64/httpd/modules/mod_security3.so

Створення каталогу конфігурації

Створіть каталог для зберігання конфігураційних файлів ModSecurity:

mkdir /etc/httpd/conf.d/modsecurity.d

Копіювання зразків конфігураційних файлів

Ви можете скопіювати приклади конфігураційних файлів, наданих ModSecurity, у свій конфігураційний каталог. Це допоможе вам швидко розпочати роботу:

cp /usr/local/modsecurity/modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
cp /usr/local/modsecurity/unicode.mapping /etc/httpd/conf.d/unicode.mapping

Активація та тестування ModSecurity

Включення ModSecurity в конфігурацію Apache

Відредагуйте основний файл конфігурації Apache (httpd.conf), щоб включити в нього щойно створені файли конфігурації:

# Add this line at the end of httpd.conf
IncludeOptional /etc/httpd/conf.d/modsecurity.d/*.conf
IncludeOptional /etc/httpd/conf.d/*.conf
# Restart Apache after making changes
sudo systemctl restart httpd.service

Перевірка конфігурації

Ви можете перевірити, чи правильно працює ModSecurity, перевіривши його статус:

sudo systemctl status httpd.service

Моніторинг і тонке налаштування ModSecurity

Розташування файлів журналів

Журнали, які генерує ModSecurity, можна знайти в такому місці:

/var/log/httpd/modsec_audit.log

Налаштування правил під конкретні потреби

Вам може знадобитися налаштування правил залежно від конкретних потреб вашого застосунку. Це допоможе зменшити кількість помилкових спрацьовувань і водночас унеможливити блокування легітимного трафіку. Ви можете створювати користувацькі правила, редагуючи або додаючи нові файли в каталог конфігурації.

Усунення загальних проблем із ModSecurity

  • Помилка 403 Forbidden: Ця помилка часто виникає, коли законні запити помилково позначаються правилом як шкідливі. Перегляньте журнали, щоб визначити, яке правило викликає цю проблему, і відповідним чином налаштуйте його.
  • Помилка 500 Внутрішня помилка сервера: Це може вказувати на проблеми із синтаксисом конфігураційного файлу або відсутність залежностей. Перевірте журнали помилок Apache для отримання більш детальної інформації.
  • Журнали не генеруються: Якщо ви не бачите журналів, що генеруються, переконайтеся, що ведення журналів увімкнено у вашому конфігураційному файлі.
  • Налаштування продуктивності: Якщо ви помітили проблеми з продуктивністю після встановлення ModSecurity, подумайте про тонке налаштування наборів правил або відключення непотрібних опцій ведення журналів.
  • Якщо Apache не запускається: Якщо після встановлення ModSecurity у вас виникли проблеми із запуском Apache, перевірте наявність синтаксичних помилок у конфігураційних файлах за допомогою:
sudo apachectl configtest
  • Якщо у вас виникли проблеми з певними додатками: Якщо після інсталяції ModSecurity деякі програми працюють не так, як очікувалося, перегляньте їхні специфічні журнали, щоб зрозуміти, які правила можуть спричиняти конфлікти.
  • Якщо вам потрібна додаткова допомога: Ви можете звернутися до онлайн-форумів або документації, пов’язаної з конкретними помилками, що виникли під час встановлення або експлуатації.
  • Аналіз журналу помилок: Журнал помилок, розташований за адресою `/var/log/httpd/error_log`, дасть додаткові відомості про проблеми, що виникли під час роботи.
  • Уникнення помилкових спрацьовувань: Якщо блокуються легітимні запити, подумайте про створення правил винятку або коригування наявних правил на основі спостережуваних у журналах моделей трафіку.
  • Якщо вам потрібні розширені можливості: Ви можете розглянути можливість інтеграції додаткових інструментів, таких як ELK Stack, для розширення можливостей ведення журналів і моніторингу.
  • Якщо вам потрібні сповіщення в режимі реального часу: Ви можете налаштувати сповіщення електронною поштою на основі певних записів журналу за допомогою скриптів або сторонніх сервісів.
  • Якщо ви не впевнені в ефективності правил: Ви можете провести тести проти відомих векторів атак, щоб перевірити, чи працюють ваші правила так, як потрібно.

Вітаємо! Ви успішно встановили ModSecurity на Apache. Для отримання додаткової допомоги або корисної інформації ми рекомендуємо вам відвідати офіційний сайт ModSecurity.

Поділіться своєю любов'ю

Залишити відповідь

0 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x