ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

7 основных советов для повышения безопасности Apache на CentOS

7 основных советов для повышения безопасности Apache на CentOS

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

1. Держите обновленным Apache до настоящего времени
Самый важный совет безопасности, а не только для Apache, но и для всех сервисов, приложений и скриптов, чтобы держать их в актуальном состоянии путем обновления каждый раз, когда выходит новая версия. Apache активно развивается и вопросы безопасности фиксируются в новых версиях.

Чтобы обновить веб-сервер Apache до последней доступной версии выполните следующую команду

yum -y update httpd

 

2. Скрыть версию Apache и OS
Директива ServerSignature включена по умолчанию и отображает версию Apache, установленный на вашем сервере и на операционной системе, которую вы используете. Злоумышленники могут легко использовать эту информацию против вашего сервера. Для того, чтобы скрыть эту важную информацию, нужно изменить две директивы в файле конфигурации Apache.

Откройте конфигурационный файл Apache, найти директивы и внести следующие изменения.

vi /etc/httpd/conf/httpd.conf

ServerSignature Off
ServerTokens Prod

 

3. Отключить список каталогов
Если список каталогов не отключен, все желающие смогут перечислить содержимое каталогов в корневом каталоге документов. Перечень каталогов можно отключить с помощью директивы “Options” в конфигурационном файле Apache.

Откройте конфигурационный файл с помощью текстового редактора и добавьте следующую директиву

<Directory /your/document/root>
Options -Indexes
</Directory>

 

Заменить путь  ‘/your/document/root’ на фактическую корневую директорию.

4. Установить и использовать модуль mod_security
mod_security очень полезный модуль Apache. Он укрепляет безопасность веб – сервера Apache и защитить ваш сайт от различных атак, блокируя почти все общеизвестные эксплойты.

Для установки и настройки mod_security на сервере CentOS, пожалуйста, ознакомьтесь с руководством по установке: Установить mod_security с основным правилом OWASP на CentOS VPS.

5. Отключить все ненужные модули
В Apache есть много модулей и некоторые из них включены в установке Apache по умолчанию. Не все они необходимы, и рекомендуется отключить неиспользуемые модули. Вы можете использовать следующую команду , чтобы получить список всех включенных модулей Apache

httpd -M
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
auth_digest_module (shared)
authn_file_module (shared)
authn_alias_module (shared)
authn_anon_module (shared)
....

 

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

Все ненужные модули могут быть отключены, добавив символ ‘#’ в начале строки LoadModule в файле конфигурации веб-сервера. Например:

vi /etc/httpd/conf/httpd.conf
# LoadModule auth_basic_module modules/mod_auth_basic.so
# LoadModule auth_digest_module modules/mod_auth_digest.so

 

6. Ограничение размера запроса
Директива ‘LimitRequestBody‘ Apache может быть использована, чтобы ограничить число байтов, которые разрешены в теле запроса. Предел во многом зависит от ваших потребностей веб – сайта. По умолчанию лимит ‘LimitRequestBody‘ установлен на неограниченное и это может сделать вас жертвой атак отказа в обслуживании (DOS).

Предел этой директивы Apache может быть установлен от 0 (без ограничений) до 2147483647 (2 Гб). Например, если вы хотите разрешить загрузку файлов с размером 100К в каталоге загрузки /var/www/html/upload, вы можете добавить следующую директиву в файле конфигурации Apache.

<Directory "/var/www/html/upload directory">
LimitRequestBody 102400
</Directory>

 

7. Включить ведение журнала
Файлы журнала всегда очень полезны, чтобы получить более подробную информацию о событиях, которые происходят на вашем сервере. Таким образом, это хорошая практика, чтобы включить протоколирование в Apache. Он предоставит вам более подробную информацию и сведения о всех клиентских запросов, сделанных на вашем веб – сервере. Для этого, вы должны убедиться , что модуль ‘log_config_module‘ включен на вашем сервере.

httpd -M |grep log_config_module
Syntax OK
log_config_module (shared)

 

Модуль Apache ‘Log_config_module‘ обеспечивает функциональные возможности директив TransferLog, LogFormat и CustomLog, которые могут быть использованы для создания файла журнала.

Exit mobile version