Забезпечте надійний захист та підвищіть стійкість вашого веб-сервера 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.
Вище перераховані лише деякі важливі параметри конфігурації. Для більш детальної інформації, скористайтесь моїм посібником з безпеки та зміцнення.
Стаття була корисною? Поділіться цією інформацією зі світом!