10 найкращих методів захисту та посилення веб-сервера Apache

Забезпечте надійний захист та підвищіть стійкість вашого веб-сервера Apache, застосовуючи передові методи для гарантування безпеки вашого веб-додатку.

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

Кожен власник або адміністратор веб-ресурсу повинен регулярно проводити аудит безпеки свого сайту, щоб оперативно виявляти та усувати загрози до того, як зловмисники зможуть скористатися вразливостями.

Розгляньмо основні конфігураційні параметри, які допоможуть захистити ваш веб-сервер Apache.

Усі необхідні налаштування можна знайти у файлі `httpd.conf` вашої інсталяції Apache.

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

Деактивація HTTP-запитів Trace

За замовчуванням, опція `TraceEnable on` дозволяє використовувати метод TRACE, що може призвести до проблем з безпекою, оскільки він не має тіла запиту.

Вимкнення `TraceEnable` змушує сервер та `mod_proxy` повертати клієнту помилку 405 (метод не дозволено).

Активація `TraceEnable` створює ризик міжсайтового відстеження та потенційної крадіжки інформації cookie зловмисниками.

Рішення

Для усунення цієї загрози безпеці потрібно відключити метод TRACE HTTP у конфігураційному файлі Apache.

Ви можете це зробити, змінивши або додавши наступну директиву у ваш `httpd.conf`:

TraceEnable off

Запуск з окремим користувачем та групою

За замовчуванням Apache працює від імені користувача “nobody” та групи “daemon”.

Ніколи не запускайте Apache від імені користувача root або групи root, якщо ви не до кінця розумієте наслідки та ризики цього.

Рішення

Рекомендовано запускати Apache під окремим користувацьким обліковим записом, який не має прав root. Змініть директиви `User` та `Group` у вашому `httpd.conf`.

User apache 
Group apache

Деактивація підпису сервера

Налаштування `Off` (типове) приховує рядок нижнього колонтитула сервера.

Налаштування `On` додає рядок з інформацією про версію сервера та `ServerName` віртуального хоста.

Рішення

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

ServerSignature Off

Деактивація банера сервера

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

Рішення

ServerTokens Prod

Обмеження доступу до мережі або IP-адреси

Якщо ви хочете, щоб доступ до вашого сайту був обмежений певною мережею або IP-адресою, ви можете налаштувати відповідні директиви в `httpd.conf`.

Рішення

Вкажіть потрібну мережу в директиві `Allow`.

<Directory /yourwebsite>    
Options None    
AllowOverride None    
Order deny,allow    
Deny from all    
Allow from 10.20.0.0/24  
</Directory>

Або, вкажіть потрібну IP-адресу в директиві `Allow`.

<Directory /yourwebsite>
Options None
AllowOverride None
Order deny,allow
Deny from all
Allow from 10.20.1.56
</Directory>

Використання TLS 1.2

Протоколи SSL 2.0, 3.0, TLS 1, 1.1 мають відомі криптографічні недоліки та не рекомендуються до використання.

Потрібна допомога з налаштуванням SSL? Ознайомтесь з цим посібником.

Рішення

SSLProtocol -ALL +TLSv1.2

Деактивація перегляду вмісту каталогів

Якщо у кореневому каталозі вашого веб-сайту відсутній файл `index.html`, користувач побачить усі файли та підкаталоги у браузері (аналогічно виводу команди `ls -l`).

Рішення

Для запобігання перегляду вмісту каталогів, встановіть значення директиви `Option` на `None` або `-Indexes`.

<Directory />
Options None
Order allow,deny
Allow from all
</Directory>

АБО

<Directory />
Options -Indexes
Order allow,deny
Allow from all
</Directory>

Видалення непотрібних модулів DSO

Проаналізуйте конфігурацію, щоб відключити невикористовувані модулі DSO.

Після встановлення Apache, велика кількість модулів активована за замовчуванням. Відключіть ті, які не потрібні для вашої роботи.

Деактивація нульових та слабких шифрів

Використовуйте лише надійні шифри, щоб мінімізувати ризики небезпечних з’єднань з використанням слабких шифрів.

Рішення

SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM

Завжди оновлюйте

Оскільки Apache є відкритим програмним забезпеченням, найпростішим способом покращити його безпеку є регулярне оновлення до останньої версії. Кожен новий випуск містить виправлення та патчі безпеки. Завжди використовуйте останню стабільну версію Apache.

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

Стаття була корисною? Поділіться цією інформацією зі світом!