Техническое задание: Настройка защищенного обратного прокси
Цель проекта
Создать безопасный шлюз для доступа к внутреннему веб-ресурсу. При переходе на заданный домен пользователь должен перенаправляться на этот ресурс, но доступ будет предоставлен только после успешной проверки валидного SSL-сертификата, выданного конкретному пользователю.
Стек технологий
- Операционная система: Debian
- Веб-сервер: nginx (в роли обратного прокси)
- Инфраструктура открытых ключей: easy-rsa
Ключевые требования
1. Развертывание и базовая настройка
- Установить и настроить ОС Debian на сервере.
- Установить и запустить nginx.
2. Настройка центра сертификации (CA)
- Установить и настроить easy-rsa для создания корневого и промежуточных сертификатов.
- Сгенерировать корневой сертификат центра сертификации.
3. Конфигурация nginx как обратного прокси
- Настроить виртуальный хост в nginx, который слушает на заданном домене.
- Настроить проксирование запросов на внутренний ресурс (указать его адрес).
4. Внедрение авторизации по клиентскому SSL-сертификату
- Настроить в конфигурации nginx обязательную проверку клиентского SSL-сертификата.
- Указать путь к корневому сертификату CA для проверки подлинности клиентских сертификатов.
- Обеспечить, чтобы доступ к проксируемому ресурсу был возможен только при предъявлении валидного сертификата, подписанного нашим CA.
5. Выпуск клиентских сертификатов
- Создать скрипт или инструкцию для генерации индивидуальных клиентских сертификатов (пары ключ/сертификат) для пользователей.
- Обеспечить безопасный способ передачи сертификатов и ключей пользователям.
6. Безопасность и сроки
- Обеспечить корректную работу всей связки.
- Предоставить краткую документацию по управлению сертификатами (выпуск, отзыв).
- Срок выполнения всех работ: 1 день.