Mengumpulkan log IOC Palo Alto Networks

Didukung di:

Dokumen ini menjelaskan cara menyerap indikator penyusupan (IOC) Palo Alto Networks ke Google Security Operations menggunakan STIX melalui TAXII. Skrip penyerapan stix_taxii (fungsi Cloud Run) menarik indikator dari server TAXII 2.1 Palo Alto secara terjadwal dan mengirimkannya ke Google SecOps menggunakan jenis log STIX.

Palo Alto Networks mengekspos IOC sebagai feed STIX 2.1 melalui TAXII dari Cortex XSOAR atau XSIAM Threat Intelligence Management (TIM). Parser STIX di Google SecOps memetakan jenis indikator umum (alamat IPv4, domain, URL, hash file, dan alamat email) ke UDM.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps, serta file autentikasi penyerapan Google SecOps (JSON akun layanan) dan ID Pelanggan.
  • Project Google Cloud dengan penagihan diaktifkan dan izin untuk membuat akun layanan, secret Secret Manager, Cloud Run Functions, dan tugas Cloud Scheduler.
  • Palo Alto Cortex XSOAR atau XSIAM dengan lisensi Threat Intelligence Management (TIM), dan akses istimewa untuk mengonfigurasi integrasi.

Menyiapkan feed Palo Alto TAXII 2.1 di Cortex TIM

Integrasi Server TAXII2 memublikasikan indikator Cortex XSOAR atau XSIAM Anda sebagai feed TAXII 2.1 keluar yang ditarik oleh skrip penyerapan.

  1. Di Cortex XSOAR atau XSIAM, instal paket konten TAXII Server dari Settings & Info > Settings > Integrations > Marketplace.
  2. Buka Settings > Integrations > Instances, telusuri TAXII2 Server, lalu klik Add instance.
  3. Berikan detail konfigurasi berikut:
    • Name: Masukkan nama untuk instance (misalnya, SecOps-TAXII).
    • Long Running Instance: Aktifkan opsi ini.
    • Versi Server TAXII2: Pilih 2.1.
    • Kredensial: Tetapkan nama pengguna dan sandi yang digunakan skrip penyerapan untuk autentikasi HTTP Basic.
  4. Di kolom Collection JSON, tempelkan kode berikut. API ini memublikasikan satu koleksi bernama SecOpsIOCs yang berisi jenis indikator yang didukung parser STIX:

    {
        "SecOpsIOCs": {
            "query": "type:IP or type:Domain or type:URL or type:File or type:Email",
            "description": "Indicators exported to Google SecOps"
        }
    }
    
  5. Klik Simpan & keluar, lalu aktifkan instance. Pastikan status instance ditampilkan sebagai berjalan.

  6. Di playground Google SecOps atau panel perintah integrasi, jalankan perintah berikut dan simpan outputnya:

    !taxii-server-info
    !taxii-server-list-collections
    
  7. Dari output perintah, simpan nilai berikut untuk langkah deployment:

    • URL Discovery: URL root API yang ditampilkan oleh !taxii-server-info (misalnya, https://ext-TENANT.crtx.REGION.paloaltonetworks.com/xsoar/instance/execute/SecOps-TAXII/threatintel/).
    • Nama koleksi: SecOpsIOCs.
    • Nama pengguna dan Sandi: Kredensial autentikasi Dasar yang Anda tetapkan.

Aktifkan Google Cloud API yang diperlukan

  1. Di konsol Google Cloud , buka Cloud Shell dan jalankan:

    gcloud services enable \
        cloudfunctions.googleapis.com \
        cloudbuild.googleapis.com \
        cloudscheduler.googleapis.com \
        secretmanager.googleapis.com
    

Menyimpan kredensial di Secret Manager

Skrip ini membaca JSON akun layanan Google SecOps dan sandi TAXII dari Secret Manager.

  1. Buat secret akun layanan penyerapan Google SecOps dari file autentikasi penyerapan Anda:

    gcloud secrets create secops-ingestion-sa --data-file=./ingestion-auth.json
    
  2. Buat secret sandi TAXII:

    printf '%s' 'YOUR_TAXII_PASSWORD' | gcloud secrets create taxii-password --data-file=-
    
  3. Simpan kedua nama resource dalam bentuk projects/PROJECT_ID/secrets/SECRET_NAME/versions/latest. Anda menggunakannya di .env.yml.

Buat akun layanan untuk fungsi

  1. Buat akun layanan runtime untuk fungsi Cloud Run:

    gcloud iam service-accounts create stix-taxii-sa \
        --display-name="STIX/TAXII ingestion function"
    
  2. Beri akses ke dua secret:

    gcloud secrets add-iam-policy-binding secops-ingestion-sa \
        --member="serviceAccount:stix-taxii-sa@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/secretmanager.secretAccessor"
    gcloud secrets add-iam-policy-binding taxii-password \
        --member="serviceAccount:stix-taxii-sa@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/secretmanager.secretAccessor"
    

Men-deploy skrip penyerapan

Skrip penyerapan stix_taxii adalah fungsi Cloud Run yang menarik indikator dari server TAXII dan menyalurkannya ke Google SecOps menggunakan Ingestion API. Log ini selalu di-ingest menggunakan jenis log STIX.

  1. Di Cloud Shell, clone repositori skrip penyerapan:

    git clone https://github.com/chronicle/ingestion-scripts.git
    cp -r ingestion-scripts/common ingestion-scripts/stix_taxii/common
    cd ingestion-scripts/stix_taxii
    
  2. Buat file bernama .env.yml dengan konten berikut. Ganti nilai placeholder dengan nilai yang Anda simpan sebelumnya:

    CHRONICLE_CUSTOMER_ID: "YOUR_CUSTOMER_ID"
    CHRONICLE_REGION: "us"
    CHRONICLE_SERVICE_ACCOUNT: "projects/PROJECT_ID/secrets/secops-ingestion-sa/versions/latest"
    TAXII_VERSION: "2.1"
    TAXII_DISCOVERY_URL: "https://ext-TENANT.crtx.REGION.paloaltonetworks.com/xsoar/instance/execute/SecOps-TAXII/threatintel/"
    TAXII_COLLECTION_NAMES: "SecOpsIOCs"
    TAXII_USERNAME: "YOUR_TAXII_USERNAME"
    TAXII_PASSWORD_SECRET_PATH: "projects/PROJECT_ID/secrets/taxii-password/versions/latest"
    POLL_INTERVAL: "60"
    
  3. Deploy fungsi tersebut:

    gcloud functions deploy stix-taxii-ingestion \
        --gen2 \
        --entry-point main \
        --trigger-http \
        --runtime python312 \
        --region us-central1 \
        --service-account stix-taxii-sa@PROJECT_ID.iam.gserviceaccount.com \
        --timeout 540 \
        --memory 512MB \
        --no-allow-unauthenticated \
        --env-vars-file .env.yml
    
  4. Simpan URL pemicu fungsi dari output deployment (misalnya, https://us-central1-PROJECT_ID.cloudfunctions.net/stix-taxii-ingestion).

Menjadwalkan fungsi dengan Cloud Scheduler

  1. Beri akun layanan izin untuk memanggil fungsi:

    gcloud functions add-invoker-policy-binding stix-taxii-ingestion \
        --region=us-central1 \
        --member="serviceAccount:stix-taxii-sa@PROJECT_ID.iam.gserviceaccount.com"
    
  2. Buat tugas penjadwal yang memanggil fungsi setiap jam (sesuaikan frekuensi dengan POLL_INTERVAL):

    gcloud scheduler jobs create http stix-taxii-scheduler \
        --location=us-central1 \
        --schedule="0 */1 * * *" \
        --uri="FUNCTION_TRIGGER_URL" \
        --http-method=POST \
        --oidc-service-account-email="stix-taxii-sa@PROJECT_ID.iam.gserviceaccount.com" \
        --oidc-token-audience="FUNCTION_TRIGGER_URL"
    

Memverifikasi deployment

  1. Memicu sesi awal:

    gcloud scheduler jobs run stix-taxii-scheduler --location=us-central1
    
  2. Tinjau log fungsi:

    gcloud functions logs read stix-taxii-ingestion --region=us-central1 --gen2 --limit=50
    
  3. Di Google SecOps, telusuri peristiwa dengan jenis log STIX untuk mengonfirmasi bahwa indikator telah di-ingest.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
observable.object.properties.type categorization Dipetakan secara langsung
type categorization Dipetakan secara langsung
x_ctix_confidence_score confidence_score Diganti nama/dipetakan
name domain_and_ports.domain Dipetakan secara langsung
observable.object.properties.value domain_and_ports.domain Dipetakan secara langsung
value domain_and_ports.domain Dipetakan secara langsung
type feed_name Dipetakan: "ipv4","ipv4-addr", "scan_ip", "mal_ip" → STIX-IOC, `"phish_domain", "domain", "...
src_ip ip_and_ports.ip_address Dipetakan secara langsung
value ip_and_ports.ip_address Dipetakan secara langsung
src_port ip_and_ports.ports Digabung
type ip_and_ports.ports Dipetakan: "ipv4","ipv4-addr", "scan_ip", "mal_ip" → src_port, ipv4-addr → src_port
created metadata.event_timestamp Diurai sebagai ISO8601
modified metadata.event_timestamp Diuraikan sebagai ISO8601
timestamp metadata.event_timestamp Diuraikan sebagai ISO8601
valid_from metadata.event_timestamp Diuraikan sebagai ISO8601
valid_until metadata.event_timestamp Diuraikan sebagai ISO8601
T/A feed_name Konstanta: STIX-IOC

Log Perubahan

Melihat Log Perubahan untuk parser ini

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.