Mengumpulkan log Microsoft IIS

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log Microsoft Internet Information Services (IIS) ke Google Security Operations menggunakan Bindplane. Parser pertama-tama mencoba membersihkan dan menormalisasi data input dengan menghapus karakter yang tidak perlu dan menstandardisasi nama kolom. Kemudian, parser ini menggunakan serangkaian pola grok untuk mengekstrak kolom yang relevan dari berbagai format log Microsoft IIS dan memetakannya ke model data terpadu (UDM).

Sebelum memulai

  • Pastikan Anda memiliki instance Google SecOps.
  • Pastikan Anda memiliki Windows 2016 atau yang lebih baru.
  • Jika berjalan di belakang proxy, pastikan port firewall terbuka.

Mendapatkan file autentikasi penyerapan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat BindPlane akan diinstal.

Mendapatkan ID pelanggan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Profil.
  3. Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.

Menginstal agen BindPlane di Windows

  1. Buka Command Prompt atau PowerShell sebagai administrator.
  2. Jalankan perintah berikut:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Referensi penginstalan tambahan

Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya ke Google SecOps

  1. Sebelum mengonfigurasi file YAML, hentikan observIQ Distro for Open Telemetry Collector Service di Panel Layanan.
  2. Akses file konfigurasi:

    1. Cari file config.yaml. Biasanya, file ini berada di direktori /etc/bindplane-agent/ di Linux atau di direktori penginstalan di Windows.
    2. Buka file menggunakan editor teks (misalnya, nano, vi, atau Notepad).
  3. Edit file config.yaml sebagai berikut:

    receivers:
      iis:
        collection_interval: 60s
    
    processors:
      # Resourcedetection is used to add a unique (host.name) to the metric resource(s), allowing users to filter between multiple agent systems.
      resourcedetection:
        detectors: ["system"]
        system:
          hostname_sources: ["os"]
    
      normalizesums:
    
      batch:
    
    exporters:
      chronicle/powershell:
        endpoint: malachiteingestion-pa.googleapis.com
        # Adjust the path to the credentials file you downloaded in Step 1
        creds: '/path/to/ingestion-authentication-file.json'
        log_type: 'IIS'
        override_log_type: false
        raw_log_field: body
        customer_id: '<customer_id>'
    
    service:
      pipelines:
        logs/winpowershell:
          receivers:
            - iis
          processors:
            - resourcedetection
            - normalizesums
            - batch
          exporters: [chronicle/iis]
    
  4. Ganti <customer_id> dengan ID pelanggan yang sebenarnya.

  5. Perbarui /path/to/ingestion-authentication-file.json ke jalur tempat file autentikasi disimpan di bagian Dapatkan file autentikasi penyerapan Google SecOps.

  6. Setelah menyimpan file config.yaml, mulai Layanan observIQ Distro for Open Telemetry Collector.

Mulai ulang agen Bindplane untuk menerapkan perubahan

  • Untuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Tabel Pemetaan UDM

Kolom log Pemetaan UDM Logika
@timestamp metadata.event_timestamp Stempel waktu peristiwa seperti yang dicatat dalam log mentah.
@version metadata.product_version Versi server IIS.
AgentDevice additional.fields.AgentDevice.value.string_value Perangkat yang menghasilkan log.
AgentLogFile additional.fields.AgentLogFile.value.string_value Nama file log.
ASP.NET_SessionId network.session_id ID sesi pengguna.
c-ip principal.ip Alamat IP klien.
Saluran security_result.about.resource.attribute.labels.Channel.value Saluran tempat peristiwa dicatat dalam log.
ChannelID security_result.about.resource.attribute.labels.ChannelID.value ID channel tempat peristiwa dicatat dalam log.
Komputer target.hostname Nama host mesin target.
cs-bytes network.received_bytes Jumlah byte yang diterima dari klien.
cs-host principal.hostname, principal.asset.hostname Nama host klien.
cs-method network.http.method Metode HTTP yang digunakan oleh klien.
cs-uri-query target.url String kueri URL yang diminta oleh klien.
cs-uri-stem target.url Jalur URL yang diminta oleh klien.
cs-username principal.user.user_display_name Nama pengguna klien.
cs-version network.tls.version_protocol Versi HTTP yang digunakan oleh klien.
cs(Cookie) Digunakan untuk mengekstrak informasi cookie.
cs(Referer) network.http.referral_url URL yang mengarahkan klien ke halaman saat ini.
cs(User-Agent) network.http.user_agent Agen pengguna klien.
csbyte network.received_bytes Jumlah byte yang diterima dari klien.
cshost principal.hostname, principal.asset.hostname Nama host klien.
csip principal.ip, principal.asset.ip Alamat IP klien.
csmethod network.http.method Metode HTTP yang digunakan oleh klien.
csreferer network.http.referral_url URL yang mengarahkan klien ke halaman saat ini.
csuseragent network.http.user_agent Agen pengguna klien.
csusername principal.user.user_display_name Nama pengguna klien.
csversion network.tls.version_protocol Versi HTTP yang digunakan oleh klien.
tanggal Digunakan untuk membuat stempel waktu peristiwa jika stempel waktu log mentah tidak valid.
deskripsi security_result.description Deskripsi acara.
devicename target.hostname Nama host mesin target.
dst_ip target.ip, target.asset.ip Alamat IP mesin target.
dst_port target.port Nomor port mesin target.
durasi Durasi permintaan dalam milidetik.
EventEnqueuedUtcTime additional.fields.EventEnqueuedUtcTime.value.string_value Waktu saat peristiwa dimasukkan dalam antrean di UTC.
EventID metadata.product_log_id ID acara.
EventProcessedUtcTime additional.fields.EventProcessedUtcTime.value.string_value Waktu saat peristiwa diproses dalam UTC.
EventTime metadata.event_timestamp Stempel waktu acara.
EventType metadata.product_event_type Jenis peristiwa.
file_path target.file.full_path Jalur lengkap file yang terlibat dalam acara.
FilterId security_result.about.resource.attribute.labels.FilterId.value ID filter.
FilterKey security_result.about.resource.attribute.labels.FilterKey.value Kunci filter.
FilterName security_result.about.resource.attribute.labels.FilterName.value Nama filter.
FilterType security_result.about.resource.attribute.labels.FilterType.value Jenis filter.
host target.hostname Nama host mesin target.
host.architecture principal.asset.hardware.cpu_platform Arsitektur mesin host.
host.geo.name additional.fields.geo_name.value.string_value Lokasi geografis mesin host.
host.hostname target.hostname, target.asset.hostname Nama host mesin host.
host.id observer.asset_id ID mesin host.
host.ip principal.ip, principal.asset.ip Alamat IP mesin host.
host.mac principal.mac Alamat MAC mesin host.
host.os.build additional.fields.os_build.value.string_value Nomor build sistem operasi di mesin host.
host.os.kernel principal.platform_patch_level Versi kernel sistem operasi di mesin host.
host.os.name additional.fields.os_name.value.string_value Nama sistem operasi di mesin host.
host.os.platform principal.platform Platform sistem operasi di mesin host.
host.os.version principal.platform_version Versi sistem operasi di mesin host.
http_method network.http.method Metode HTTP yang digunakan oleh klien.
http_response network.http.response_code Kode respons HTTP.
http_status_code network.http.response_code Kode status HTTP respons.
http_substatus additional.fields.sc_substatus.value.string_value Kode substatus HTTP respons.
instance additional.fields.instance.value.string_value ID instance tugas.
intermediary_devicename intermediary.hostname, intermediary.asset.hostname Nama host perangkat perantara.
json_message Pesan log mentah dalam format JSON.
kv_fields Digunakan untuk mengekstrak pasangan nilai kunci dari pesan log mentah.
LayerKey security_result.about.resource.attribute.labels.LayerKey.value Kunci lapisan.
LayerName security_result.about.resource.attribute.labels.LayerName.value Nama lapisan.
LayerId security_result.about.resource.attribute.labels.LayerId.value ID lapisan.
log.file.path target.file.full_path Jalur lengkap file log.
log.offset metadata.product_log_id Offset peristiwa dalam file log.
logstash.collect.host observer.hostname Nama host perangkat yang mengumpulkan log.
logstash.process.host intermediary.hostname Nama host perangkat yang memproses log.
logstash_json_message Pesan log mentah dalam format JSON.
pesan security_result.description Pesan log mentah.
pelayanan additional.fields.ministry.value.string_value Kementerian yang terkait dengan acara.
nama Nama entity.
NewValue additional.fields.NewValue.value.string_value Nilai baru setelan konfigurasi.
OldValue additional.fields.OldValue.value.string_value Nilai lama setelan konfigurasi.
port principal.port Nomor port klien.
priority_code Kode prioritas pesan syslog.
ProcessID principal.process.pid ID proses dari proses yang menghasilkan peristiwa.
ProviderGuid security_result.about.resource.attribute.labels.ProviderGuid.value GUID penyedia.
ProviderKey security_result.about.resource.attribute.labels.ProviderKey.value Kunci penyedia.
ProviderName security_result.about.resource.attribute.labels.ProviderName.value Nama penyedia.
referrer_url network.http.referral_url URL yang mengarahkan klien ke halaman saat ini.
request_url target.url URL yang diminta oleh klien.
s-computername target.hostname Nama host mesin target.
s-ip target.ip, target.asset.ip Alamat IP mesin target.
s-port target.port Nomor port mesin target.
s-sitename additional.fields.sitename.value.string_value Nama situs.
sc-bytes network.sent_bytes Jumlah byte yang dikirim ke klien.
sc-status network.http.response_code Kode status HTTP respons.
sc-substatus additional.fields.sc_substatus.value.string_value Kode substatus HTTP respons.
sc-win32-status Kode status Windows dari respons.
scbyte network.sent_bytes Jumlah byte yang dikirim ke klien.
scstatus network.http.response_code Kode status HTTP respons.
tingkat keseriusan, security_result.severity Tingkat keparahan peristiwa.
service.type additional.fields.service_type.value.string_value Jenis layanan.
sIP principal.ip, principal.asset.ip Alamat IP klien.
sPort principal.port Nomor port klien.
sSiteName additional.fields.sitename.value.string_value Nama situs.
src_ip principal.ip, principal.asset.ip, observer.ip Alamat IP klien.
src_port principal.port Nomor port klien.
sysdate Tanggal dan waktu pesan syslog.
syslog_facility security_result.severity_details Fasilitas pesan syslog.
syslog_pri Prioritas pesan syslog.
syslog_severity security_result.severity_details Tingkat keparahan pesan syslog.
syslog_severity_code Kode tingkat keparahan pesan syslog.
tags security_result.rule_name Tag yang terkait dengan peristiwa.
task additional.fields.task.value.string_value Nama tugas.
waktu Digunakan untuk membuat stempel waktu peristiwa jika stempel waktu log mentah tidak valid.
waktu yang diperlukan Durasi permintaan dalam milidetik.
uri_query target.url String kueri URL yang diminta oleh klien.
user_agent network.http.user_agent Agen pengguna klien.
NamaPengguna target.user.userid Nama pengguna pengguna.
UserSid target.user.windows_sid SID Windows pengguna.
Bobot security_result.about.resource.attribute.labels.Weight.value Bobot filter.
win32_status Kode status Windows dari respons.
xforwardedfor Header X-Forwarded-For, yang berisi daftar alamat IP yang dipisahkan koma.
metadata.log_type IIS
network.direction INBOUND
metadata.vendor_name Microsoft
metadata.product_name Internet Information Server
metadata.event_type NETWORK_HTTP, USER_UNCATEGORIZED, GENERIC_EVENT, STATUS_UPDATE, USER_LOGOUT, USER_LOGIN
extensions.auth.type MACHINE

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