К усилению защиты Jenkins применяются те же правила, что и для всех других веб-приложений:
Что касается аутентификации/аутентификации клиента – это довольно просто; Для этого у Дженкинса есть много вариантов. Например, я использую плагин, который подключается к экземпляру Active Directory моей организации.
Что касается SSL: хотя Jenkins можно настроить для обслуживания контента через HTTPS, а не через HTTP (документация здесь), я не считаю, что это самый простой способ настройки SSL. Я думаю, что использование обратного прокси-сервера, как вы упомянули, — лучший выбор. Nginx и Apache — два популярных варианта здесь. Некоторые причины для выбора одного из этих обратных прокси-серверов: можно использовать существующие инструменты/ресурсы для управления конфигурацией и сертификатами; проще и гибче настроить, чтобы обеспечить общие функции, такие как перенаправление всего HTTP-трафика на HTTPS, ограничение скорости или другие функции QoS; и т. д.
Что касается контроля доступа на уровне сети — это сильно зависит от инфраструктуры, на которой вы используете Jenkins, но может состоять из правил брандмауэра на уровне хоста, списков ACL на уровне сети, NAT, групп безопасности AWS и т. д. и т. п. Вообще говоря, стандартный все здесь - ничего особенного в Дженкинсе в этом отношении.
Помимо транспортного уровня, вам прежде всего следует включить
Контроль доступа