Update file 07-proxy-ssl.md
This commit is contained in:
parent
a702ba4f97
commit
1978136531
@ -8,6 +8,10 @@ Nginx Proxy Manager (NPM) работает на хосте `gateway` (192.168.1.
|
|||||||
- **Порты**: 80 (HTTP), 443 (HTTPS), 81 (админка)
|
- **Порты**: 80 (HTTP), 443 (HTTPS), 81 (админка)
|
||||||
- **Хранилище данных**: `/opt/npm/data`, `/opt/npm/letsencrypt`
|
- **Хранилище данных**: `/opt/npm/data`, `/opt/npm/letsencrypt`
|
||||||
|
|
||||||
|
## Доступ к админке NPM
|
||||||
|
|
||||||
|
Административный интерфейс доступен по адресу `https://192.168.1.201:81` (только локально). Учётные данные хранятся в зашифрованном виде во встроенной базе данных SQLite.
|
||||||
|
|
||||||
## Проксируемые домены
|
## Проксируемые домены
|
||||||
|
|
||||||
| Домен | Назначение | Бэкенд | SSL (Let's Encrypt) |
|
| Домен | Назначение | Бэкенд | SSL (Let's Encrypt) |
|
||||||
@ -49,4 +53,42 @@ add_header X-Content-Type-Options nosniff always;
|
|||||||
add_header X-Frame-Options SAMEORIGIN always;
|
add_header X-Frame-Options SAMEORIGIN always;
|
||||||
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
|
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
|
||||||
add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;
|
add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;
|
||||||
```
|
```
|
||||||
|
| Заголовок | Назначение |
|
||||||
|
|-----------|------------|
|
||||||
|
| **Strict-Transport-Security (HSTS)** | Заставляет браузер всегда использовать HTTPS, предотвращая атаки понижения протокола. |
|
||||||
|
| **X-Content-Type-Options** | Запрещает браузеру выполнять MIME-sniffing, снижая риск атак типа XSS. |
|
||||||
|
| **X-Frame-Options** | Защищает от clickjacking, разрешая встраивание только в страницы того же источника. |
|
||||||
|
| **Referrer-Policy** | Контролирует, какая информация о referer передаётся при переходе на другие сайты. |
|
||||||
|
| **Permissions-Policy** | Отключает ненужные API (геолокация, камера, микрофон) для всех страниц. |
|
||||||
|
|
||||||
|
## Мониторинг NPM
|
||||||
|
|
||||||
|
- Логи NPM собираются **Promtail** (на gateway) и отправляются в **Loki**.
|
||||||
|
- В Grafana настроены дашборды для отслеживания ошибок и статистики запросов.
|
||||||
|
- Ключевые метрики: количество запросов, коды ответов (4xx, 5xx), загрузка сертификатов.
|
||||||
|
|
||||||
|
## Проблемы и рекомендации
|
||||||
|
|
||||||
|
### 🔴 Отсутствие заголовков безопасности
|
||||||
|
Большинство прокси не имеют настроенных заголовков HSTS, X-Content-Type-Options и других. Это повышает риски атак. **Рекомендуется** добавить заголовки для всех публичных доменов через интерфейс NPM (вкладка Advanced).
|
||||||
|
|
||||||
|
### 🟡 Использование тега `latest`
|
||||||
|
Образ NPM (`jc21/nginx-proxy-manager:latest`) обновляется неконтролируемо. **Рекомендуется** зафиксировать версию в `docker-compose.yml` (например, `jc21/nginx-proxy-manager:2.12.3`).
|
||||||
|
|
||||||
|
### 🟠 Прокси с Offline статусом
|
||||||
|
`qb.zailon.ru` недоступен. Проверьте:
|
||||||
|
- Запущен ли контейнер qBittorrent на хосте `torrent`?
|
||||||
|
- Слушает ли он порт 8080 (`ss -tulnwp | grep 8080`)?
|
||||||
|
- Корректно ли правило прокси (IP и порт)?
|
||||||
|
|
||||||
|
### 🟢 Мониторинг
|
||||||
|
Убедитесь, что логи NPM попадают в Loki. Проверьте конфигурацию Promtail на gateway. В Grafana создайте дашборд для отслеживания ошибок 5xx и истечения сертификатов.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Связанные разделы:**
|
||||||
|
- [Сервисы и порты](06-services.md)
|
||||||
|
- [Сеть и доступ](04-network.md)
|
||||||
|
- [Мониторинг и логирование](08-monitoring.md)
|
||||||
|
- [Безопасность](10-security.md)
|
||||||
Loading…
Reference in New Issue
Block a user