Owasp Zap Это очень популярный инструмент, используемый для поиска уязвимостей в вашей кодовой базе и в вашей настройке экземпляра/сервера.
OWASP Zap Logo
То, что он в основном делает, это ползает по вашему веб -сайту, а затем сканирует на наличие уязвимостей по всем URL -адресам, которые он нашел во время ползания.
A сессия это экземпляр теста. Внутри сеанса вы можете иметь несколько контекстов.
Контексты Помогите ZAP сканировать только URL -адреса, которые вы хотите.
Например, если вы включаете напрямую начальную загрузку на страницы с:
Zap неизбежно найдет этот URL. А так как вы наверняка не хотите, чтобы Zap сканировал https://maxcdn.bootstrapcdn.com Для уязвимостей вы исключаете это в контексте. Таким образом, вы включаете или исключаете URL -адреса из контекста, основанном на том, что вы хотите, чтобы он сканировал.
Прежде чем следовать этому руководству, вы, вероятно, должны воспроизводить клиента OWASP ZAP на вашем компьютере, чтобы понять основные понятия Анкет
Приготовьте себя, это будет долгий путь, чтобы настроить плагин Owasp Zap Jenkins!
Загрузите и установите OWASP ZAP на экземпляр Jenkins
Перейти к https://github.com/zaproxy/zaproxy/wiki/downloads и загрузите версию клиента для вашей платформы.
Разанизируйте его и переместите папку в/usr/local/bin, например.
Затем установите переменную среды zaproxy_home на путь вашей папки установки ZAP Proxy:
vim /etc/environment
и вставьте следующий контент:
ZAPROXY\_HOME=/usr/local/bin/ZAP\_2.x.x/
Установите плагин OWASP ZAP
Чтобы установить официальный плагин OWASP ZAP на ваш экземпляр Jenkins Go Tomanage Jenkins -> Управление плагинами -> Доступно (Это вкладка) -> Ищите OWASP Zap.
плагин для установки
Установите его.
Настройте плагин, собираясь управлять Jenkins -> Configure System и заполнить следующие поля.
Порт 8089 является примером, вы можете выбрать нужный порт здесь
Создайте новую работу Jenkins
Создайте новый проект Freestyle и заполните следующие поля:
- Отбросьте старые сборки
Чтобы наш проект не использовал слишком много места
- Строить триггер (необязательно)
Запустить работу каждое воскресенье в 2 часа ночи
- Добавьте шаг Execute ZAP сборки
Внутри этапа exepute ZAP строительство:
Он должен отражать значения полей, заполненные на шаге, на котором вы установили плагин
Определяет, где установлен банк Owasp Zap в нашем экземпляре Jenkins
Должен быть путь к каталогу работы Дженкинса Вы создаете
Помните, когда мы говорили о контексте? Здесь вы указываете, какие URL должны быть включены и исключены. Здесь http://10.0.40.3 Я хочу проверить веб -сайт. * Означает, что я хочу, чтобы Zap включил в контекст все URL -адреса, начиная с http://10.0.40.3
Скажите Zap сначала ползти для URL -адресов, а затем сканируйте URL -адреса он нашел
Скажите Zap, какие отчеты генерируются и где их разместить
Наконец возвращайтесь в раздел управления сеансом, который требует большего объяснения, чем другие:
Если вы отметите флажок Persist Session Zap создаст для вас новый сеанс. Это самый простой вариант для настройки, но и наименее тщательный.
Вы увидите, есть ли у вашего веб -приложения страница входа, Zap не узнает учетные данные, которые можно использовать, чтобы получить доступ к частной зоне вашего веб -приложения. Таким образом, Zap будет атаковать только публичную часть вашего сайта и пропустит большую часть его.
Чтобы помочь ZAP узнать учетные данные, вам нужно было использовать клиент GUI на вашем компьютере для создания сеанса ZAP, в котором вы назначаете, например, действительный сеанс cookie. Затем вы будете экспортировать и загрузить созданный вами сеанс в свою новую папку заданий Jenkins, а затем отметьте флажок Session Boad и выберите свой сеанс в списке SELECT.
Для нашего основного примера мы будем отмечать флажок с сеансом.
- Добавить публикацию HTML Reports Post-Build Step
Вот и все! Либо вручную построите работу, либо дождитесь выполнения своего расписания Cron, и вы должны увидеть HTML -отчет о тестах ZAP на вашей панели работы Jenkins.
Нажмите на отчет об уязвимости, чтобы увидеть результаты тестов безопасности
Дайте мне знать, если я что -то пропустил!
Оригинал: «https://dev.to/gwllmnn/automatic-security-tests-in-jenkins-with-owasp-zap-2f6b»