Гайд: Настройка Apache2 в Astra Linux: установка, конфигурация виртуальных хостов и безопасность
Представлен подробный, пошаговый гайд по установке и настройке веб-сервера Apache2 в Astra Linux без декоративных элементов. Руководство учитывает архитектуру дистрибьютива (Debian-based), особенности пакетного менеджера и специфику безопасности, особенно для редакции Special Edition (СН).
1. Подготовка системы
Перед установкой обновите списки пакетов и систему:
sudo apt update
sudo apt upgrade -y
В Astra Linux СН убедитесь, что подключены лицензионные репозитории. Для CE обычно достаточно стандартных зеркал Astra.
2. Установка Apache2
sudo apt install apache2 -y
Проверьте версию:
apache2 -v
В Astra Linux пакеты собираются с учётом требований безопасности, поэтому версии могут отличаться от upstream Debian.
3. Запуск и добавление в автозагрузку
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl status apache2
Если служба активна (active (running)), Apache готов к базовой работе.
4. Базовая конфигурация
Основные пути (Debian-совместимые):
- Главный конфиг:
/etc/apache2/apache2.conf - Порты:
/etc/apache2/ports.conf - Доступные модули:
/etc/apache2/mods-available/ - Включённые модули:
/etc/apache2/mods-enabled/ - Сайты:
/etc/apache2/sites-available/→/etc/apache2/sites-enabled/
Включение полезных модулей
sudo a2enmod rewrite ssl headers expires
sudo systemctl reload apache2
Скрытие версии Apache (безопасность)
Откройте /etc/apache2/apache2.conf и добавьте в конец:
ServerTokens Prod
ServerSignature Off
TraceEnable Off
Перезапустите: sudo systemctl reload apache2
5. Настройка виртуальных хостов
Создадим тестовый сайт mysite.local:
1. Директория и права
sudo mkdir -p /var/www/mysite/public_html
sudo chown -R www-data:www-data /var/www/mysite
sudo chmod -R 755 /var/www/mysite
2. Тестовая страница
echo "<h1>Apache2 работает на Astra Linux</h1>" | sudo tee /var/www/mysite/public_html/index.html
3. Конфиг виртуального хоста
sudo nano /etc/apache2/sites-available/mysite.conf
Вставьте:
<VirtualHost *:80>
ServerName mysite.local
ServerAdmin admin@mysite.local
DocumentRoot /var/www/mysite/public_html
<Directory /var/www/mysite/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/mysite-error.log
CustomLog ${APACHE_LOG_DIR}/mysite-access.log combined
</VirtualHost>
4. Активация и перезагрузка
sudo a2ensite mysite.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
5. Локальная проверка
echo "127.0.0.1 mysite.local" | sudo tee -a /etc/hosts
curl http://mysite.local
6. Настройка брандмауэра
В Astra Linux обычно используется ufw или iptables. Пример с ufw:
sudo apt install ufw -y
sudo ufw allow 'Apache Full'
sudo ufw enable
sudo ufw status
В Astra Linux СН брандмауэр может управляться через astra-firewall или политики безопасности. Убедитесь, что правила не перезаписываются централизованной политикой.
7. Особенности Astra Linux (CE vs СН)
| Аспект | Common Edition (CE) | Special Edition (СН) |
|---|---|---|
| Пакеты | Стандартные Astra/Debian | Только сертифицированные репозитории |
| MAC | Отсутствует или опционально | Включён по умолчанию (Parsec/СМЭЛ) |
| Запуск служб | systemctl без ограничений |
Требует разрешения в политике безопасности |
| Сетевые порты | Открыты по умолчанию firewall | Могут блокироваться мандатными правилами |
Для ОС СН:
- Проверьте статус политики:
sudo pdp-statusили через графическийastra-security. - Если Apache не стартует, проверьте журналы безопасности:
sudo journalctl -u apache2 -fи/var/log/audit/audit.log. - Для разрешения работы веб-сервера может потребоваться назначение контекста безопасности или редактирование профиля через
pdp-admin(требуется роль администратора безопасности). - Для использования TLS с ГОСТ-алгоритмами потребуется
apache2-mod-gostили интеграция с КриптоПро CSP +mod_ssl. Это отдельная процедура сертификации.
8. Тестирование и диагностика
- Проверка синтаксиса:
sudo apache2ctl configtest - Прослушиваемые порты:
sudo ss -tulpn | grep :80 - Логи Apache:
sudo tail -f /var/log/apache2/error.log - Проверка загрузки модулей:
apache2ctl -M
9. Частые ошибки и решения
| Ошибка | Причина | Решение |
|---|---|---|
Job for apache2.service failed |
Ошибка в конфиге или занят порт | apache2ctl configtest, ss -tulpn | grep :80 |
403 Forbidden |
Нет прав на директорию или Require |
chown www-data:www-data, проверьте <Directory> блок |
AH00558: Could not reliably determine the server's fully qualified domain name |
Не указан ServerName | Добавьте ServerName localhost в apache2.conf |
| В СН: служба не запускается без ошибок в syslog | Блокировка MAC | Проверьте политики через pdp-admin, обратитесь к админу безопасности |
10. Рекомендации для production
- HTTPS обязательно: используйте Let's Encrypt (
certbot) или внутренние CA. Для СН — только сертифицированные УЦ. - Регулярные обновления:
sudo apt update && sudo apt upgrade apache2 - Мониторинг: настройте
logrotate(по умолчанию включён), подключитеfail2banдля защиты от брутфорса. - Резервные копии:
/etc/apache2/,/var/www/, SSL-сертификаты. - Аудит: в СН используйте
auditdи встроенные средства контроля целостности.
Заключение
Настройка Apache2 в Astra Linux технически идентична Debian-системам, но требует внимания к политикам безопасности, особенно в редакции СН. Для большинства задач достаточно стандартных команд a2enmod, a2ensite и systemctl. При работе в защищённом контуре всегда согласовывайте конфигурацию с администратором информационной безопасности.
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.