Mengumpulkan log Progress MOVEit Transfer

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 modifikasi, 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 kredensial Google SecOps untuk agen Bindplane

Untuk mengautentikasi agen Bindplane ke Google SecOps, pilih salah satu metode berikut:

  • Deployment baru: Gunakan Chronicle API (Opsi 1).
  • Deployment lama: Terus menggunakan file autentikasi penyerapan (Opsi 2) hingga Ingestion API dihentikan pada 20 Juli 2027.
  1. Login ke konsolGoogle Cloud dan pilih project Google Cloud yang ditautkan ke instance Google SecOps Anda.
  2. Buka IAM & Admin > Service Accounts.
  3. Klik Create service account.
  4. Berikan detail konfigurasi berikut:
    • Service account name: Masukkan nama akun (misalnya, bindplane-ingest).
    • Deskripsi akun layanan: Masukkan deskripsi (misalnya, Bindplane agent log ingestion).
  5. Klik Create and continue.
  6. Di bagian Grant this service account access to project, klik Select a role, lalu pilih Chronicle Editor.
  7. Klik Continue lalu klik Done.
  8. Klik akun layanan yang Anda buat, lalu buka tab Keys.
  9. Klik Add key > Create new key.
  10. Pilih JSON, lalu klik Create. File kunci didownload ke komputer Anda.
  11. Simpan file kunci sebagai ingestion-auth.json di direktori Bindplane collector (/opt/observiq-otel-collector/ingestion-auth.json di Linux atau C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json di Windows), atau perbarui creds_file_path di config.yaml agar sesuai dengan jalur tempat Anda menyimpannya.
  12. Buka IAM & Admin > Settings dan salin Project number. Anda akan memerlukannya untuk konfigurasi pengekspor.

Opsi 2: Mendownload file autentikasi penyerapan (lama)

  1. Login ke konsol Google SecOps.
  2. Buka SIEM Settings > Collection Agents.
  3. Download file autentikasi penyerapan.
  4. Simpan file dengan aman di sistem tempat agen Bindplane akan diinstal.

Mendapatkan ID pelanggan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka SIEM Settings > Profile.
  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 active (running).

Referensi penginstalan tambahan

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

Mengonfigurasi agen Bindplane untuk menyerap syslog dan mengirimkannya ke Google SecOps

Menemukan file konfigurasi

  • Linux:

    sudo nano /opt/observiq-otel-collector/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:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '<CREDS_FILE_PATH>'
        customer_id: '<CUSTOMER_ID>'
        endpoint: chronicle.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
    

Parameter konfigurasi

Ganti placeholder berikut.

Konfigurasi pengekspor:

  • <CREDS_FILE_PATH>: Jalur lengkap ke file kunci JSON akun layanan (Opsi 1):
    • Linux: /opt/observiq-otel-collector/ingestion-auth.json
    • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
  • <CUSTOMER_ID>: ID pelanggan Google SecOps yang disalin sebelumnya
  • location: Ganti <LOCATION> dengan region instance Google SecOps Anda (misalnya, us, europe, atau asia-southeast1). Pengekspor akan menambahkan awalan chronicle.googleapis.com dengan nilai ini. Lihat Endpoint Regional untuk mengetahui daftar lengkapnya.
  • project: Ganti <PROJECT_NUMBER> dengan nomor project dari IAM & Admin > Settings.
  • endpoint: Tetap tetapkan ke chronicle.googleapis.com.

  • Contoh konfigurasi

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/moveit_transfer:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6'
        endpoint: chronicle.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
    

Pengekspor API penyerapan lama

  • Jika Anda menggunakan file autentikasi penyerapan dari Opsi 2, ganti blok exporters dengan kode berikut. Tetapkan creds_file_path ke jalur file autentikasi penyerapan, dan jika instance Anda berada di luar Amerika Serikat, ganti malachiteingestion-pa.googleapis.com dengan endpoint regional Anda (misalnya, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/moveit_transfer:
        compression: gzip
        creds_file_path: '<CREDS_FILE_PATH>'
        customer_id: '<CUSTOMER_ID>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: IPSWITCH_MOVEIT_TRANSFER
        raw_log_field: body
        ingestion_labels:
          log_source: 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 hal 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. Cari 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 Progress MOVEit Transfer

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, port akan kembali ke port default 514.

  6. Di dropdown Syslog Facility, pilih fasilitas tempat pesan syslog MOVEit Transfer akan muncul 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 pencocokan 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 pencocokan 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 kolom3
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 langsung
column11 metadata.product_event_type Nilai disalin 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 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 langsung
company_name principal.user.company_name Nilai disalin langsung
ID target.process.pid Nilai disalin secara langsung
InstID metadata.product_log_id Nilai disalin 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 langsung
log_level security_result.severity Tetapkan 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 langsung
srcip principal.ip, principal.asset.ip Nilai disalin secara langsung
nama pengguna principal.user.userid Nilai disalin 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 langsung
ringkasan security_result.summary Nilai disalin secara langsung
security_result security_result Digabungkan secara langsung
tgtip target.ip, target.asset.ip Nilai disalin langsung
application_proto network.application_protocol Ditulis dalam huruf besar dan disalin 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 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 key 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 Setel ke FILE_DELETION jika FolderPath dan action_performed cocok dengan Delete 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, jika tidak, 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 Tetapkan 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.