# Настройка авторизации для мониторинга ## Обзор Добавлена HTTP Basic Authentication для следующих сервисов: - **Prometheus** (`/prometheus/`) - метрики и мониторинг - **Alertmanager** (`/alerts/` и `/api/v1/`) - управление алертами ## Управление паролями ### Автоматическая настройка через Ansible При развертывании через Ansible пароли настраиваются автоматически: ```bash # Использовать пароли по умолчанию ansible-playbook -i inventory.ini playbook.yml # Задать свои пароли ansible-playbook -i inventory.ini playbook.yml \ -e monitoring_username=myuser \ -e monitoring_password=mypassword ``` ### Ручная настройка 1. **Создать файл паролей:** ```bash sudo mkdir -p /etc/nginx/passwords sudo htpasswd -c /etc/nginx/passwords/monitoring.htpasswd admin ``` 2. **Добавить дополнительных пользователей:** ```bash sudo htpasswd /etc/nginx/passwords/monitoring.htpasswd username ``` 3. **Установить правильные права:** ```bash sudo chown root:www-data /etc/nginx/passwords/monitoring.htpasswd sudo chmod 640 /etc/nginx/passwords/monitoring.htpasswd ``` 4. **Перезапустить nginx:** ```bash sudo systemctl reload nginx ``` ### Использование скрипта генерации ```bash # Сгенерировать пароль для пользователя admin sudo /usr/local/bin/generate_auth_passwords.sh admin # Сгенерировать пароль для другого пользователя sudo /usr/local/bin/generate_auth_passwords.sh myuser ``` ## Доступ к сервисам После настройки авторизации доступ к сервисам: - **Prometheus**: `https://your-server/prometheus/` - **Alertmanager**: `https://your-server/alerts/` - **Alertmanager API**: `https://your-server/api/v1/` При первом обращении браузер запросит логин и пароль. ## Health Check endpoints Следующие endpoints остаются доступными без авторизации для мониторинга: - `https://your-server/prometheus/-/healthy` - проверка состояния Prometheus - `https://your-server/nginx-health` - проверка состояния nginx ## Безопасность - Пароли хранятся в зашифрованном виде в файле `/etc/nginx/passwords/monitoring.htpasswd` - Файл доступен только для чтения пользователю root и группе www-data - Используется HTTPS для всех соединений - Настроена защита от брутфорса через fail2ban ## Устранение проблем ### Проверка конфигурации nginx ```bash sudo nginx -t ``` ### Проверка файла паролей ```bash sudo cat /etc/nginx/passwords/monitoring.htpasswd ``` ### Проверка логов nginx ```bash sudo tail -f /var/log/nginx/error.log sudo tail -f /var/log/nginx/access.log ``` ### Сброс пароля ```bash sudo htpasswd /etc/nginx/passwords/monitoring.htpasswd admin ```