Hinweis:

Zed Attack Proxy in Oracle Cloud Infrastructure DevOps Build Pipeline integrieren

Einführung

Der Oracle Cloud Infrastructure (OCI) DevOps-Service ist eine vollständige Continuous Integration/Continuous Delivery-(CI/CD-)Plattform für Entwickler, mit der sie ihren Softwareentwicklungslebenszyklus vereinfachen und automatisieren können. Mit dem OCI DevOps-Service können Entwickler und Operatoren gemeinsam Software entwickeln, erstellen, testen und bereitstellen. DevSecOps ist die Übung, bei der Sicherheitstests im Automatisierungsprozess der Softwareentwicklung und -bereitstellung hinzugefügt werden.

Zed Attack Proxy (ZAP), früher als Open Web Application Security Project Zed Attack Proxy (OWASP ZAP) bekannt, ist ein Open-Source-Sicherheitsscanner für Webanwendungen. Es hilft Entwicklern und Sicherheitsexperten, Schwachstellen in Webanwendungen zu erkennen und zu finden. ZAP liefert einen Bericht, der über die Sicherheitslücken und Warnungen informiert, die beim Scannen von Sicherheitslücken gefunden wurden.

Ziele

Voraussetzungen

Aufgabe 1: Erstellungsphase für ZAP-Scan einrichten

  1. Erstellen Sie eine Build-Spezifikationsdatei mit der folgenden Konfiguration für die ZAP-Integrationsphase namens zap_build_spec.yaml. Ersetzen Sie application-url im Build-Spezifikationsbefehl durch die bereitgestellte Anwendungs-URL. Sie können die Erstellungsparameter auch verwenden, um sie dynamischer zu gestalten. Laden Sie die Build-Spezifikationsdatei in das Repository hoch.

    version: 0.1
    component: build
    timeoutInSeconds: 10000
    runAs: root
    shell: bash
    
    steps:
      - type: Command
        timeoutInSeconds: 1200
        name: "Zap Scan"
        command: |
          docker run -v /docker-vol/agent-dir/ext/${OCI_PRIMARY_SOURCE_NAME}:/zap/wrk/:rw --user root ghcr.io/zaproxy/zaproxy:stable zap-baseline.py -t <application-url> -g gen.conf -d -r report.xml
    
    outputArtifacts:
      - name: zap-report
        type: BINARY
        location: ${OCI_PRIMARY_SOURCE_DIR}/report.xml
    
  2. Build-Phase für ZAP-Integration hinzufügen.

    1. Klicken Sie unter der Build-Pipeline auf Phase hinzufügen, und wählen Sie Build-Phase verwalten aus.

    2. Geben Sie unter Pfad der Build-Spezifikationsdatei zap_build_spec.yaml ein.

    3. Geben Sie den Phasennamen ein, und fügen Sie das primäre Code-Repository hinzu.

    4. Wählen Sie den Verbindungstyp als OCI-Code-Repository aus, und wählen Sie das Code-Repository aus, in dem zap_build_spec.yaml vorhanden ist.

      ZAP-Build-Phase

  3. Artefakt hinzufügen.

    1. Klicken Sie auf Artefakt hinzufügen.

    2. Geben Sie als Typ Allgemeines Artefakt an.

    3. Wählen Sie das Artefakt-Registry-Repository aus, in dem der ZAP-Bericht gespeichert wird.

    4. Wählen Sie Artefakt im Repository aus.

    5. Klicken Sie auf Hinzufügen.

      Zap-Artefakt hinzufügen

  4. In dieser Phase wird der ZAP-Bericht in die Artefakt-Registry übertragen. Fügen Sie in der zuvor erstellten Build-Pipeline eine weitere Phase des Typs Artefakte übermitteln hinzu.

    1. Klicken Sie auf Artefakte auswählen, und wählen Sie das erstellte Artefakt aus.

    2. Geben Sie Konfigurations-/Ergebnisartefaktnamen erstellen als zap-report an, da dieser Artefaktname in der Datei zap_build_spec.yaml angegeben wurde.

    3. Klicken Sie auf Hinzufügen.

      Zap-Artefakt übermitteln

  5. Die Build-Pipeline wird im folgenden Image angezeigt. Klicken Sie auf Manuelle Ausführung starten, um die Pipeline auszuführen.

    Manuelle Ausführung starten

  6. Nachdem die Pipeline erfolgreich ausgeführt wurde, können Sie den ZAP-Bericht aus der Artefakt-Registry herunterladen.

    ZAP-Bericht herunterladen

Nächste Schritte

Der generierte ZAP-Bericht hilft beim Verständnis der Sicherheitslücken und Warnungen, die während des ZAP-Scans gefunden werden. Diese Build-Spezifikationskonfiguration führt einen Baseline-Scan durch. Sie können auch den ZAP - Full Scan ausführen, der tatsächliche "Angriffe" ausführt und möglicherweise über einen langen Zeitraum ausgeführt werden kann.

ZAP-Scan kann zuerst in einer Testumgebung durchgeführt werden. Wenn keine Sicherheitslücken in der Testumgebung gefunden werden, kann die Anwendung in "Produktion" eingeführt werden.

Danksagungen

Weitere Lernressourcen

Lernen Sie andere Übungen auf docs.oracle.com/learn kennen, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube Channel zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Produktdokumentation finden Sie im Oracle Help Center.