Веб-сервер Apache является одним из самых популярных веб-серверов в мире, однако, как и любой другой веб-сервер, он подвержен различным угрозам безопасности.
Настройка безопасности Apache на Ubuntu 22.04 требует внедрения ряда мер для защиты от несанкционированного доступа, атак и утечек данных.
В этой статье рассмотрим шаги по настройке безопасной конфигурации Apache, приводя конкретные примеры на каждом этапе.
Обновление системы и пакетов
Первый и самый важный шаг в защите любого сервера - это поддержание системы и установленных пакетов в актуальном состоянии. Это помогает устранить известные уязвимости и баги.
- Обновление списка пакетов и обновление системы:
bash
sudo apt update sudo apt upgrade -y
- Установка и настройка автоматического обновления пакетов:
bash
sudo apt install unattended-upgrades -y sudo dpkg-reconfigure --priority=low unattended-upgrades
Ограничение доступа через брандмауэр (UFW)
Настройка брандмауэра UFW (Uncomplicated Firewall) позволяет контролировать доступ к вашему серверу, разрешая только необходимый трафик.
- Разрешение SSH и Apache трафика:
bash
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full'
- Включение брандмауэра:
bash
sudo ufw enable sudo ufw status
Настройка прав доступа к файлам и каталогам
Корректная настройка прав доступа к файлам и каталогам веб-сервера помогает предотвратить несанкционированное изменение или чтение данных.
- Изменение владельца и группы для корневого каталога веб-сервера:
bash
sudo chown -R www-data:www-data /var/www/html
- Настройка разрешений для файлов и каталогов:
bash
sudo find /var/www/html -type d -exec chmod 755 {} \; sudo find /var/www/html -type f -exec chmod 644 {} \;
Отключение ненужных модулей
Отключение всех ненужных модулей Apache снижает поверхность атаки и уменьшает количество потенциальных уязвимостей.
- Отключение модуля
status
:bashsudo a2dismod status
- Отключение модуля
autoindex
:bashsudo a2dismod autoindex
Защита конфигурационных файлов
Убедитесь, что права доступа к конфигурационным файлам Apache настроены правильно для предотвращения несанкционированных изменений.
- Настройка владельца и группы для конфигурационного файла:
bash
sudo chown root:root /etc/apache2/apache2.conf
- Настройка разрешений для конфигурационного файла:
bash
sudo chmod 644 /etc/apache2/apache2.conf
Использование HTTPS
Для защиты данных, передаваемых между сервером и клиентами, настройте HTTPS с помощью Let's Encrypt.
- Установка Certbot и плагина для Apache:
bash
sudo apt install certbot python3-certbot-apache -y
- Получение и настройка SSL-сертификата:
bash
sudo certbot --apache
Настройка параметров безопасности в конфигурации Apache
Обновите настройки конфигурации Apache для повышения уровня безопасности.
- Редактирование файла
/etc/apache2/conf-available/security.conf
:confServerTokens Prod ServerSignature Off TraceEnable Off Header always set X-Frame-Options "DENY" Header always set X-Content-Type-Options "nosniff" Header always set X-XSS-Protection "1; mode=block"
bashsudo systemctl restart apache2
Ограничение размера запросов
Ограничение размера загружаемых файлов и других параметров помогает предотвратить атаки типа DoS.
- Добавление ограничения размера запроса в файл
/etc/apache2/apache2.conf
:confLimitRequestBody 10485760
bashsudo systemctl restart apache2
Включение модулей безопасности
Установите и настройте модули безопасности, такие как ModSecurity и mod_evasive, для защиты от различных типов атак.
-
Установка и настройка ModSecurity:
bashsudo apt install libapache2-mod-security2 -y sudo a2enmod security2 sudo systemctl restart apache2
Настройка ModSecurity в файле
/etc/modsecurity/modsecurity.conf
:confSecRuleEngine On
-
Установка и настройка mod_evasive:
bashsudo apt install libapache2-mod-evasive -y sudo a2enmod evasive sudo systemctl restart apache2
Настройка mod_evasive в файле
/etc/apache2/mods-available/evasive.conf
:conf<IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 DOSEmailNotify
Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript. DOSSystemCommand "sudo /sbin/iptables -A INPUT -s %s -j DROP" DOSLogDir "/var/log/mod_evasive" </IfModule>
Ведение логов
Настройка ведения логов и мониторинга позволяет отслеживать подозрительную активность и своевременно реагировать на потенциальные угрозы.
- Установка GoAccess для анализа логов:
bash
sudo apt install goaccess -y
- Анализ логов Apache и генерация отчета:
bash
sudo goaccess /var/log/apache2/access.log /var/log/apache2/error.log -o /var/www/html/report.html --log-format=COMBINED
Ограничение методов HTTP
Ограничьте используемые методы HTTP для уменьшения поверхности атаки, оставив только необходимые.
- Добавление ограничения методов HTTP в файл
/etc/apache2/apache2.conf
:conf<Directory /var/www/> <LimitExcept GET POST HEAD> Deny from all </LimitExcept> </Directory>
bashsudo systemctl restart apache2
Включение защиты от Clickjacking
Настройте заголовки HTTP для защиты от Clickjacking, редактируя файл /etc/apache2/conf-available/security.conf
:
- Добавление заголовка X-Frame-Options:
conf
Header always set X-Frame-Options "SAMEORIGIN"
Защита от кэширования конфиденциальных данных
Настройте заголовки HTTP для предотвращения кэширования конфиденциальных данных, добавив следующие строки в файл /etc/apache2/conf-available/security.conf
:
- Добавление заголовков для контроля кэширования:
conf
Header set Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0" Header set Pragma "no-cache" Header set Expires "0"
Заключение
Настройка безопасности веб-сервера Apache на Ubuntu 22.04 включает в себя множество аспектов, начиная от регулярного обновления системы и заканчивая настройкой модулей безопасности и ведением логов.
Следуя этим рекомендациям, вы сможете значительно повысить уровень безопасности вашего веб-сервера и защитить его от большинства известных угроз.
Реклама Google |
|
Внимание! Данная статья не является официальной документацией.Использование информации необходимо выполнять с осторожностью, используя для этого тестовую среду.
Если у вас есть вопросы о построении современных систем резервного копирования, репликации, синхронизации данных и защиты от программ вымогателей обратитесь в нашу компанию для получения консультации о современных технологиях резервного копирования и восстановления данных. Наша компания имеет более чем 20-летний опыт в этой области. |
Десять лучших практик резервного копирования в Казахстане
- Защита гипервизора oVirt — глубокое погружение
- Перенос виртуальной машины из oVirt в Proxmox
- Как перенести виртуальную машину из Proxmox в oVirt
- Защита контейнеров Kubernetes — глубокое погружение
- Как защитить гипервизор Proxmox от взлома - Глубокое погружение
- Использование Fail2Ban для защиты oVirt - Глубокое погружение
- Организация резервного копирования гипервизора oVirt — Глубокое погружение
- Перенос виртуальной машины между гипервизорами Proxmox
- Конфигурация гипервизора Proxmox для оптимальной работы виртуальных машин
- Защита root после взлома SSH на Proxmox - глубокое погружение