Mengumpulkan log MOVEit Transfer Progres

Didukung di:

Dokumen ini menjelaskan cara menyerap log Progress MOVEit Transfer ke Google Security Operations menggunakan Bindplane.

Progress MOVEit Transfer adalah solusi transfer file terkelola (MFT) yang menyediakan transfer file terenkripsi yang aman menggunakan protokol seperti HTTPS, FTPS, dan SFTP. Layanan ini menawarkan logging audit yang tahan terhadap gangguan, kontrol akses berbasis peran, dan dukungan kepatuhan untuk peraturan termasuk HIPAA, PCI DSS, dan GDPR. MOVEit Transfer mencatat semua aktivitas transfer file, peristiwa autentikasi pengguna, dan tindakan administratif dalam database auditnya.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Windows Server 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Konektivitas jaringan antara agen Bindplane dan server Progress MOVEit Transfer
  • Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
  • Akses tingkat SysAdmin ke konsol administrasi web Progress MOVEit Transfer
  • Port UDP 514 (atau port syslog yang Anda pilih) terbuka dari server MOVEit Transfer ke host agen Bindplane

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

Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.

Penginstalan 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
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sc query observiq-otel-collector
    

    Layanan akan ditampilkan sebagai RUNNING.

Penginstalan Linux

  1. Buka terminal dengan hak istimewa root atau sudo.
  2. Jalankan perintah berikut:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sudo systemctl status observiq-otel-collector
    

    Layanan akan ditampilkan sebagai aktif (berjalan).

Referensi penginstalan tambahan

Untuk opsi penginstalan dan pemecahan masalah tambahan, lihat Panduan penginstalan agen BindPlane.

Mengonfigurasi agen BindPlane untuk menyerap syslog dan mengirimkannya ke Google SecOps

Cari file konfigurasi

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Edit file konfigurasi

  • Ganti seluruh konten config.yaml dengan konfigurasi berikut:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/moveit_transfer:
            compression: gzip
            creds_file_path: '<CREDS_FILE_PATH>'
            customer_id: '<CUSTOMER_ID>'
            endpoint: <REGION_ENDPOINT>
            log_type: IPSWITCH_MOVEIT_TRANSFER
            raw_log_field: body
            ingestion_labels:
                log_source: moveit_transfer
    
    service:
        pipelines:
            logs/moveit_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/moveit_transfer
    

Parameter konfigurasi

Ganti placeholder berikut.

Konfigurasi eksportir:

  • <CREDS_FILE_PATH>: Jalur lengkap ke file autentikasi penyerapan:
    • Linux: /etc/bindplane-agent/ingestion-auth.json
    • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
  • <CUSTOMER_ID>: ID pelanggan Google SecOps yang disalin sebelumnya
  • <REGION_ENDPOINT>: URL endpoint regional:

    • Amerika Serikat: malachiteingestion-pa.googleapis.com
    • Eropa: europe-malachiteingestion-pa.googleapis.com
    • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
    • Lihat Endpoint Regional untuk mengetahui daftar lengkapnya
  • Contoh konfigurasi

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/moveit_transfer:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: IPSWITCH_MOVEIT_TRANSFER
            raw_log_field: body
            ingestion_labels:
                log_source: moveit_transfer
    
    service:
        pipelines:
            logs/moveit_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/moveit_transfer
    

Simpan file konfigurasi

Setelah mengedit, simpan file: * Linux: Tekan Ctrl+O, lalu Enter, lalu Ctrl+X * Windows: Klik File > Simpan

Mulai ulang agen Bindplane untuk menerapkan perubahan

Untuk memulai ulang agen Bindplane di Linux, lakukan hal berikut:

  1. Jalankan perintah berikut:

    sudo systemctl restart observiq-otel-collector
    
  2. Pastikan layanan sedang berjalan:

    sudo systemctl status observiq-otel-collector
    
  3. Periksa log untuk mengetahui error:

    sudo journalctl -u observiq-otel-collector -f
    

Untuk memulai ulang agen Bindplane di Windows, lakukan langkah berikut:

  1. Pilih salah satu opsi berikut:

    • Command Prompt atau PowerShell sebagai administrator:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Konsol layanan:

      1. Tekan Win+R, ketik services.msc, lalu tekan Enter.
      2. Temukan observIQ OpenTelemetry Collector.
      3. Klik kanan, lalu pilih Mulai Ulang.
      4. Pastikan layanan sedang berjalan:

        sc query observiq-otel-collector
        
      5. Periksa log untuk mengetahui error:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Mengonfigurasi penerusan syslog MOVEit Transfer Progress

Untuk mengonfigurasi MOVEit Transfer agar meneruskan entri log audit ke agen BindPlane melalui syslog:

  1. Login ke konsol administrasi web MOVEit Transfer sebagai pengguna dengan izin SysAdmin.
  2. Buka SETELAN > Sistem > Audit > Syslog. Halaman Configure Syslog Settings akan ditampilkan.
  3. Di bagian Syslog Logging, pilih Enabled. Jika diaktifkan, setiap entri log audit akan dikirim ke host syslog yang ditentukan serta ke database audit MOVEit Transfer.
  4. Di kolom Syslog Host, masukkan alamat IP atau nama host dari host agen Bindplane (misalnya, 192.168.1.100).
  5. Di kolom Syslog Port, masukkan 514. Jika kolom ini dibiarkan kosong, kolom ini akan kembali ke port default 514.

  6. Di dropdown Syslog Facility, pilih fasilitas yang akan menampilkan pesan syslog MOVEit Transfer di host syslog jarak jauh. Nilai defaultnya adalah FTP. Fasilitas syslog standar berikut tersedia:

    • KERN
    • PENGGUNA
    • MAIL
    • DAEMON
    • AUTH
    • SYSLOG
    • LPR
    • BERITA
    • UUCP
    • CRON
    • AUTHPRIV
    • FTP (default)
    • LOCAL0 hingga LOCAL7
  7. Klik Ubah Setelan Logging untuk menyimpan konfigurasi.

  8. Klik Send Test Syslog Message untuk mengirim pesan pengujian ke host agen Bindplane yang ditentukan. Karena penerapan BSD Syslog didasarkan pada UDP, verifikasi secara manual bahwa pesan pengujian telah tiba dengan memeriksa log agen Bindplane.

  9. Pastikan pesan pengujian diterima oleh agen BindPlane:

    • Linux:

      sudo journalctl -u observiq-otel-collector -f
      
    • Windows:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      

Persyaratan firewall

Pastikan aturan firewall berikut diterapkan untuk mengizinkan traffic syslog dari MOVEit Transfer ke agen Bindplane:

Arah Protokol Sumber Tujuan Port
Keluar dari MOVEit Transfer UDP IP server MOVEit Transfer IP host agen Bindplane 514

Tabel pemetaan UDM

Kolom log Pemetaan UDM Logika
kolom1 metadata.collected_timestamp Dikonversi menggunakan pola kecocokan tanggal: d/M/yyyy H:mm:ss A, M/d/yyyy H:mm:ss A, MM/dd/yyyy HH:mm:ss A
kolom1 metadata.event_timestamp Dikonversi menggunakan pola kecocokan tanggal: d/M/yyyy H:mm:ss A, M/d/yyyy H:mm:ss A, MM/dd/yyyy HH:mm:ss A
kolom2 security_result.action_details Nilai disalin secara langsung
kolom3 target.hostname, target.asset.hostname Nilai disalin langsung dari column3
column4 principal.ip, principal.asset.ip Diekstrak dari column4 menggunakan pola grok untuk IP
column6 target.file.full_path Digabungkan dari folderPath dan fileName jika keduanya ada, atau dari fileName saja
column7 target.file.full_path
column15 target.file.full_path
column7 target.user.email_addresses Digabungkan jika column2 == file_sentemail
column10 metadata.description Nilai disalin secara langsung
column11 metadata.product_event_type Nilai disalin secara langsung jika bukan None
column12 target.ip, target.asset.ip Diekstrak dari column12 menggunakan pola grok untuk IP
column16 target.file.full_path Digabungkan dari folderPath dan fileName jika keduanya ada, atau dari fileName saja
column23 target.file.full_path
column19 target.user.user_display_name Nilai disalin langsung jika column2 == file_sentemail dan column8 == sender, atau untuk pengguna target
event_received_time metadata.collected_timestamp Dikonversi menggunakan pola kecocokan tanggal: UNIX_MS, dd/MM/yyyy HH:mm:ss, yyyy-MM-dd HH:mm:ss, MM/dd/yyyy HH:mm:ss A, yyyy/MM/dd HH:mm:ss, RFC 3339, yyyy-MM-ddTHH:mm:ss
timestamp metadata.event_timestamp Dikonversi menggunakan pola pencocokan tanggal: MMM d HH:mm:ss, MMM dd HH:mm:ss, ISO8601, yyyy-MM-dd HH:mm:ss, yyyy-MM-dd HH:mm:ss Z, MM/dd/yyyy HH:mm:ss A, yy-MM-dd HH:mm:ss, RFC 3339, yyyy-MM-ddTHH:mm:ss
prin_ip principal.ip, principal.asset.ip Nilai disalin secara langsung
AgentVersion metadata.product_version Nilai disalin secara langsung
principal_host principal.hostname, principal.asset.hostname Nilai disalin secara langsung
Nama pengguna principal.user.userid Nilai disalin secara langsung
company_name principal.user.company_name Nilai disalin secara langsung
ID target.process.pid Nilai disalin secara langsung
InstID metadata.product_log_id Nilai disalin secara langsung
FileID target.resource.attribute.labels Digabungkan sebagai additional_id_2 dengan kunci FileID dan nilai dari FileID
FolderID target.resource.attribute.labels Digabungkan sebagai additional_id_3 dengan kunci FolderID dan nilai dari FolderID
FolderPath target.file.full_path Digabungkan dari FolderPath dan FileName jika keduanya ada, atau dari FolderPath
FileName target.file.full_path
FileName target.resource.attribute.labels Digabungkan sebagai nama file dengan kunci FileName dan nilai dari FileName
host principal.hostname, principal.asset.hostname Nilai disalin secara langsung
log_level security_result.severity Ditetapkan ke INFORMATIONAL jika INFO atau DEBUG, ERROR jika ERROR
source_module_name observer.resource.attribute.labels Digabungkan sebagai source_module_label dengan kunci source_module_name dan nilai dari source_module_name
source_module_type observer.application Nilai disalin secara langsung
log_msg metadata.description Nilai dari log_msg jika http_method != GET dan file_path kosong, atau log_desc, atau description, atau Message
log_desc metadata.description
deskripsi metadata.description
Pesan metadata.description
port principal.port Nilai disalin langsung, dikonversi menjadi bilangan bulat
tgtport target.port Nilai disalin langsung, dikonversi menjadi bilangan bulat
paket principal.process.command_line Nilai disalin secara langsung
srcip principal.ip, principal.asset.ip Nilai disalin secara langsung
nama pengguna principal.user.userid Nilai disalin secara langsung
versi metadata.product_version Nilai disalin secara langsung
http_method network.http.method Nilai disalin secara langsung
tindakan security_result.action_details Nilai disalin secara langsung
ringkasan security_result.summary Nilai disalin secara langsung
security_result security_result Digabungkan secara langsung
tgtip target.ip, target.asset.ip Nilai disalin secara langsung
application_proto network.application_protocol Huruf kapital dan disalin secara langsung
url network.http.referral_url Nilai disalin secara langsung
status_code network.http.response_code Nilai disalin langsung, dikonversi menjadi bilangan bulat
file_path principal.process.file.full_path Nilai disalin secara langsung
file_size principal.process.file.size Dikonversi menjadi uinteger jika bukan 0
process_id principal.process.pid Nilai disalin secara langsung
session_id network.session_id Nilai disalin secara langsung
task_id additional.fields Digabungkan sebagai additional_field dengan key TASK_ID dan string_value dari task_id
AgentBrand metadata.product_event_type Nilai disalin secara langsung
Parm1 additional.fields Digabungkan sebagai additional_field_3 dengan kunci Parm1 dan string_value dari Parm1
Parm2 additional.fields Digabungkan sebagai additional_field_4 dengan kunci Parm2 dan string_value dari Parm2
Error additional.fields Digabungkan sebagai additional_field_5 dengan kunci Error dan string_value dari Error
XFerSize target.resource.attribute.labels Digabungkan sebagai additional_field_1 dengan kunci XFerSize dan nilai dari XFerSize
FolderPath metadata.event_type Disetel ke FILE_DELETION jika FolderPath dan action_performed cocok dengan Hapus File, NETWORK_HTTP jika tgtip atau host dan application_proto == HTTP, USER_LOGIN jika Username atau username, STATUS_UPDATE jika tgtip atau host atau principal_host atau IPAddress, atau GENERIC_EVENT
tgtip metadata.event_type
host metadata.event_type
principal_host metadata.event_type
IPAddress metadata.event_type
Nama pengguna metadata.event_type
nama pengguna metadata.event_type
tgtip metadata.event_type Disetel ke USER_LOGIN jika column2 == sec_signon dan tgtip atau tar_host, USER_LOGOUT jika sec_signoff dan tgtip atau tar_host, FILE_UNCATEGORIZED jika folder_add, FILE_CREATION jika file_upload atau download dan tgtip dan is_tgt_file_present, FILE_DELETION jika file_delete dan srcip dan is_tgt_file_present, FILE_MODIFICATION jika file_rename, FILE_UNCATEGORIZED jika file_dlhashchk, EMAIL_TRANSACTION jika file_sentemail dan useremail, STATUS_UPDATE jika srcip, atau GENERIC_EVENT
tar_host metadata.event_type
srcip metadata.event_type
is_tgt_file_present metadata.event_type
kolom2 metadata.event_type
useremail metadata.event_type
security_result metadata.event_type
extensions.auth.type extensions.auth.type Disetel ke MACHINE untuk peristiwa login/logout
metadata.vendor_name metadata.vendor_name Disetel ke "IPS"
metadata.product_name metadata.product_name Tetapkan ke "IPSWITCH MOVEIT TRANSFER"
target_application event.idm.read_only_udm.target.application Dipetakan dari log perubahan
product_event event.idm.read_only_udm.metadata.product_event_type Dipetakan dari log perubahan
dstip event.idm.read_only_udm.target.ip dan event.idm.read_only_udm.target.asset.ip Dipetakan dari log perubahan
AdminTrust event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
Permission event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
log_status event.idm.read_only_udm.security_result.action.details Dipetakan dari log perubahan
srcip event.idm.read_only_udm.principal.ip dan event.idm.read_only_udm.principal.asset.ip Dipetakan dari log perubahan
EventReceivedTime event.timestamp Dipetakan dari log perubahan
SourceModuleName observer.resource.attribute.labels Dipetakan dari log perubahan
SourceModuleType observer.application Dipetakan dari log perubahan
SourceName metadata.product_event_type Dipetakan dari log perubahan
Severity security_result. Dipetakan dari log perubahan
Hostname principal.hostname Dipetakan dari log perubahan
Channel security_result.about.resource.attribute.labels Dipetakan dari log perubahan
AgentVersion metadata.version Dipetakan dari log perubahan

Log Perubahan

Melihat Log Perubahan untuk parser ini

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