# nginx PMI test stand Воспроизводимый стенд для практических проверок из каталога [`docs/`](../docs/). ## Требования - Docker Desktop (Windows) - Свободные порты **8080** (HTTP) и **8443** (HTTPS) ## Быстрый запуск ```bat cd c:\work\astro\nginx\results run.bat ``` Скрипт: 1. Генерирует TLS-сертификаты и `htpasswd` (user / password) 2. Поднимает Docker Compose стенд 3. Выполняет 24 мероприятия ПМИ 4. Запускает аудиты полномочий, поверхности атаки и контроля кода 5. Проверяет целостность (SHA256 baseline вместо afick) 6. Сохраняет отчёты в `reports/` ## Структура | Путь | Назначение | |------|------------| | `docker-compose.yml` | nginx, mock-backend, auth, syslog, test-runner | | `nginx/` | Конфигурация стенда | | `scripts/` | Генерация, тесты, аудит | | `reports/` | Результаты прогонов (`YYYY-MM-DD_HH-MM-SS_*.log`) | | `run.bat` | Оркестратор для Windows cmd | ## Ручной запуск ```bat docker compose up -d docker compose exec test-runner sh /scripts/run-pmi-tests.sh docker compose exec nginx sh /scripts/run-audit-permissions.sh docker compose down ``` ## Ограничения стенда - **FIM (п. 24):** checksum-скрипт, не afick - **Syslog (п. 14):** локальный syslog-ng в Compose - **mTLS/TLS:** самоподписанные сертификаты в `ssl/` - **П. 1 (IP):** два интерфейса test-runner (`172.28.x` / `172.29.x`) вместо двух физических хостов ## Учётные данные - Basic Auth: `user` / `password` - HTTPS: самоподписанный сертификат (для curl используйте `-k`) ## Документация Методика проверок: [`docs/Проверочные_мероприятия_для_ПМИ_—_проверка.md`](../docs/Проверочные_мероприятия_для_ПМИ_—_проверка.md)