Mengumpulkan log Microsoft IAS/Network Policy Server (NPS)
Dokumen ini menjelaskan cara mengumpulkan log Microsoft Internet Authentication Service (IAS) / Network Policy Server (NPS) dengan menyiapkan feed Google SecOps menggunakan Microsoft Azure Blob Storage V2.
Microsoft Network Policy Server (NPS) adalah implementasi Microsoft dari server dan proxy RADIUS (Remote Authentication Dial-In User Service). NPS memungkinkan pengelolaan terpusat untuk autentikasi, otorisasi, dan akuntansi akses jaringan untuk koneksi VPN, titik akses nirkabel, switch autentikasi 802.1X, dan akses jarak jauh dial-up. NPS sebelumnya dikenal sebagai Internet Authentication Service (IAS) di Windows Server 2003 dan versi yang lebih lama. Karena NPS berjalan sebagai peran Windows Server tanpa kapabilitas ekspor cloud native, panduan ini menggunakan Azure Monitor Agent untuk mengumpulkan file log akuntansi NPS dari sistem file lokal dan merutekannya melalui ruang kerja analisis log ke Azure Blob Storage.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
Instance Google SecOps
Akses istimewa ke portal Microsoft Azure dengan izin untuk:
- Membuat Akun Penyimpanan
- Membuat dan mengelola ruang kerja Analisis Log
- Membuat Aturan Pengumpulan Data
- Membuat aturan ekspor data
- Mengelola kunci akses
Windows Server 2016 atau yang lebih baru dengan peran NPS yang diinstal
Akses administratif ke server NPS
Konektivitas jaringan dari server NPS ke Azure (HTTPS keluar di port 443)
Mengonfigurasi akuntansi dan logging NPS
Aktifkan NPS untuk mencatat permintaan autentikasi dan akuntansi ke file teks lokal dalam format IAS.
Mengaktifkan log akuntansi NPS
- Di Windows Server yang menjalankan NPS, buka Server Manager.
- Buka Tools > Network Policy Server.
- Di hierarki konsol NPS, klik Accounting.
- Di panel detail, di bagian Accounting, klik Configure Accounting.
- Di wizard Accounting Configuration, pilih Log to a text file on the local computer, lalu klik Next.
- Di halaman Configure Log File Properties, konfigurasikan hal berikut:
- Di bagian Log the following information, centang kotak untuk informasi yang ingin Anda catat ke dalam log:
- Permintaan akuntansi
- Permintaan autentikasi
- Status akuntansi berkala
- Status autentikasi berkala
- Di bagian Logging failure action, pilih If logging fails, discard connection requests jika Anda ingin NPS berhenti memproses saat file log tidak tersedia. Jangan centang jika Anda ingin NPS melanjutkan pemrosesan meskipun logging gagal.
- Di bagian Log the following information, centang kotak untuk informasi yang ingin Anda catat ke dalam log:
- Klik Berikutnya.
- Tinjau ringkasan, lalu klik Finish.
Mengonfigurasi properti file log
- Di hierarki konsol NPS, klik Accounting.
- Di panel detail, di bagian Log File Properties, klik Change Log File Properties.
- Klik tab File Log.
- Di kolom Directory, verifikasi atau ubah lokasi file log:
- Lokasi default:
%systemroot%\System32\LogFiles - Untuk pengaturan yang lebih baik, tentukan direktori khusus (misalnya,
C:\NPSLogs)
- Lokasi default:
Di dropdown Format, pilih IAS (Lama).
Di Create a new log file, pilih interval rotasi log:
- Harian (direkomendasikan untuk sebagian besar lingkungan)
- Mingguan
- Bulanan
- Never (unlimited file size)
- Saat file log mencapai ukuran ini (tentukan ukuran dalam MB)
Jika Anda ingin NPS menghapus file log lama saat kapasitas disk hampir habis, pilih When the disk is full delete older log files.
Klik OK untuk menyimpan konfigurasi.
Pastikan file log dibuat di direktori yang dikonfigurasi.
Mengonfigurasi Akun Azure Storage
Membuat Akun Penyimpanan
- Di portal Azure, telusuri Storage accounts.
- Klik + Create.
Berikan detail konfigurasi berikut:
Setelan Nilai Langganan Pilih langganan Azure Anda Grup resource Pilih yang sudah ada atau buat yang baru Nama akun penyimpanan Masukkan nama yang unik (misalnya, npsiaslogs)Region Pilih region (misalnya, East US)Performa Standar (direkomendasikan) Redundansi GRS (Geo-redundant storage) atau LRS (Locally redundant storage) Klik Review + create.
Tinjau ringkasan akun, lalu klik Buat.
Tunggu hingga deployment selesai.
Mendapatkan kredensial Akun Penyimpanan
- Buka Storage Account yang baru saja Anda buat.
- Di navigasi kiri, pilih Access keys di bagian Security + networking.
- Klik Show keys.
- Salin dan simpan hal berikut untuk digunakan nanti:
- Storage account name: Nama akun penyimpanan Anda (misalnya,
npsiaslogs) - Kunci 1 atau Kunci 2: Kunci akses bersama (string acak 512-bit dalam encoding base-64)
- Storage account name: Nama akun penyimpanan Anda (misalnya,
Mendapatkan endpoint Blob Service
- Di Akun Penyimpanan yang sama, pilih Endpoints dari navigasi kiri.
- Salin dan simpan URL endpoint Blob service.
- Contoh:
https://npsiaslogs.blob.core.windows.net/
- Contoh:
Membuat ruang kerja Analisis Log
Ruang kerja Analisis Log diperlukan untuk menerima log teks kustom dari Azure Monitor Agent sebelum mengekspornya ke Azure Blob Storage.
- Di portal Azure, telusuri ruang kerja Analisis Log.
- Klik + Create.
Berikan detail konfigurasi berikut:
Setelan Nilai Langganan Pilih langganan Azure Anda Grup resource Pilih grup resource yang sama dengan Akun Penyimpanan Anda Nama Masukkan nama yang unik (misalnya, nps-ias-workspace)Region Pilih region yang sama dengan Akun Penyimpanan Anda Klik Review + Create.
Tinjau setelan, lalu klik Create.
Tunggu hingga deployment selesai.
Membuat tabel log kustom
Buat tabel kustom di ruang kerja Analisis Log untuk menyimpan data log NPS/IAS.
- Di portal Azure, buka ruang kerja Analisis Log yang baru saja Anda buat.
- Di navigasi sebelah kiri, pilih Tabel di bagian Setelan.
- Klik + Create > New custom log (DCR-based).
- Di kolom Table name, masukkan
NpsIasLogs. Nama tabel lengkapnya adalahNpsIasLogs_CL. Klik Create.
Melakukan orientasi server NPS ke Azure Arc
Karena NPS berjalan di Windows Server lokal, Anda harus melakukan aktivasi server ke Azure Arc sebelum menginstal Azure Monitor Agent.
Mendaftarkan server NPS ke Azure Arc
- Di portal Azure, telusuri Azure Arc.
- Di navigasi kiri, pilih Machines di bagian Infrastructure.
- Klik + Tambahkan/Buat > Tambahkan mesin.
- Di bagian Add servers with Azure Arc, pilih Generate script di bagian Add a single server.
- Berikan detail konfigurasi berikut:
- Subscription: Pilih langganan Azure Anda.
- Resource group: Pilih grup resource yang sama dengan yang digunakan sebelumnya.
- Region: Pilih region yang sama dengan ruang kerja analisis log Anda.
- Sistem operasi: Pilih Windows.
- Metode konektivitas: Pilih endpoint publik (atau server proxy jika diperlukan oleh jaringan Anda).
- Klik Download and run script.
- Salin skrip PowerShell yang dihasilkan ke server NPS.
Di server NPS, buka PowerShell sebagai Administrator dan jalankan skrip:
& '.\OnboardingScript.ps1'Ikuti petunjuk di layar untuk melakukan autentikasi dengan Azure dan menyelesaikan orientasi.
Setelah skrip selesai, kembali ke portal Azure > Azure Arc > Machines dan pastikan server NPS muncul dengan status Connected.
Menginstal Azure Monitor Agent
Menginstal Azure Monitor Agent di server yang mendukung Arc
- Di portal Azure, buka Azure Arc > Machines.
- Pilih server NPS dari daftar mesin.
- Di navigasi kiri, pilih Ekstensi di bagian Setelan.
- Klik + Tambahkan.
- Pilih Azure Monitor Agent dari daftar ekstensi.
- Klik Berikutnya.
- Klik Review + create.
- Klik Create.
Tunggu hingga penginstalan ekstensi selesai. Status akan berubah menjadi Penyediaan berhasil.
Membuat Aturan Pengumpulan Data untuk file log NPS
Aturan Pengumpulan Data (DCR) menginstruksikan Agen Azure Monitor untuk mengumpulkan file log NPS IAS dan mengirimkannya ke ruang kerja analisis log.
- Di portal Azure, telusuri Monitor.
- Di navigasi kiri, pilih Aturan Pengumpulan Data di bagian Setelan.
- Klik + Create.
- Di tab Basics, berikan detail konfigurasi berikut:
- Nama Aturan: Masukkan
dcr-nps-ias-logs. - Subscription: Pilih langganan Azure Anda.
- Resource Group: Pilih grup resource yang sama dengan yang digunakan sebelumnya.
- Region: Pilih region yang sama dengan ruang kerja analisis log Anda.
- Platform Type: Pilih Windows.
- Nama Aturan: Masukkan
- Klik Next: Resources.
- Di tab Resources:
- Klik + Tambahkan materi.
- Luaskan grup resource dan pilih server NPS yang mendukung Azure Arc.
- Klik Terapkan.
- Klik Berikutnya: Pengumpulan dan pengiriman.
Di tab Pengambilan dan pengiriman:
- Klik + Tambahkan sumber data.
- Di dropdown Data source type, pilih Custom Text Logs.
Di kolom File pattern, masukkan jalur ke file log NPS:
C:\Windows\System32\LogFiles\IN*.logDi dropdown Table name, pilih
NpsIasLogs_CL.Di kolom Record delimiter, pilih End of line.
Di kolom Transform, masukkan
sourceuntuk mengirim data log mentah tanpa perubahan.Klik Tambahkan sumber data.
Di bagian Destination, pastikan ruang kerja analisis log yang Anda buat tercantum.
Klik Next: Review + create.
Tinjau konfigurasi, lalu klik Create.
Mengonfigurasi ekspor data ke Azure Blob Storage
Buat aturan ekspor data untuk terus mengekspor data log NPS/IAS dari ruang kerja Analisis Log ke Azure Blob Storage.
Membuat aturan ekspor data
- Di portal Azure, buka ruang kerja Analisis Log yang Anda buat.
- Di navigasi kiri, pilih Ekspor Data di bagian Setelan.
- Klik + Aturan ekspor baru.
- Di tab Basics, berikan detail konfigurasi berikut:
- Nama aturan: Masukkan
export-nps-ias-logs. - Destination: Pilih Storage Account.
- Nama aturan: Masukkan
- Klik Next: Source.
- Di tab Source, pilih tabel NpsIasLogs_CL.
- Klik Berikutnya: Tujuan.
- Di tab Destination:
- Subscription: Pilih langganan yang berisi Akun Penyimpanan Anda.
- Storage Account: Pilih Storage Account yang Anda buat sebelumnya (misalnya,
npsiaslogs).
- Klik Review + create.
Tinjau konfigurasi, lalu klik Create.
Mengonfigurasi feed di Google SecOps untuk menyerap log Microsoft IAS
- Buka Setelan > Pengelolaan Data > Feed. Jika Anda menggunakan platform khusus SIEM, buka Settings > Feeds.
- Klik Tambahkan Feed Berita Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
Microsoft IAS NPS Logs). - Pilih Microsoft Azure Blob Storage V2 sebagai Source type.
- Pilih Microsoft IAS sebagai Log type.
- Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
- Azure URI: Masukkan URL endpoint Blob Service dengan jalur container:
https://npsiaslogs.blob.core.windows.net/am-NpsIasLogs_CL/- Ganti kode berikut:
npsiaslogs: Nama akun penyimpanan Azure Anda.am-NpsIasLogs_CL: Nama container blob yang otomatis dibuat oleh aturan ekspor data.
- Opsi penghapusan sumber: Pilih opsi penghapusan sesuai preferensi Anda:
- Never: Tidak pernah menghapus file apa pun setelah transfer.
- Delete transferred files: Menghapus file setelah transfer berhasil.
- Delete transferred files and empty directories: Menghapus file dan direktori kosong setelah transfer berhasil.
- Usia File Maksimum: Sertakan file yang diubah dalam jumlah hari terakhir (defaultnya adalah 180 hari)
- Shared key: Masukkan nilai kunci bersama (kunci akses) yang Anda ambil dari Storage Account sebelumnya
- Namespace aset: Namespace aset
- Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini
Klik Berikutnya.
Tinjau konfigurasi feed berita baru Anda di layar Finalize, lalu klik Submit.
Mengonfigurasi firewall Azure Storage (jika diaktifkan)
Jika Akun Azure Storage Anda menggunakan firewall, Anda harus menambahkan rentang IP Google SecOps.
- Di portal Azure, buka Storage Account Anda.
- Pilih Networking di bagian Security + networking.
- Di bagian Firewalls and virtual networks, pilih Enabled from selected virtual networks and IP addresses.
- Di bagian Firewall, di bagian Address range, klik + Add IP range.
Tambahkan setiap rentang IP Google SecOps dalam notasi CIDR.
Untuk mendapatkan rentang IP saat ini:
- Lihat dokumentasi Daftar IP yang Diizinkan
- Atau ambil secara terprogram menggunakan Feed Management API
Pastikan kotak centang Allow Azure services on the trusted services list to access this storage account dicentang (diperlukan agar ekspor data analisis log berfungsi).
Klik Simpan.
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
| packet_type | additional.fields | Digabungkan dengan label untuk setiap kolom jika tidak kosong |
| auth_type | additional.fields | |
| filter_id | additional.fields | |
| framed_netmask | additional.fields | |
| framed_address | additional.fields | |
| framed_protocol | additional.fields | |
| framed_routing | additional.fields | |
| framed_mtu | additional.fields | |
| framed_compression | additional.fields | |
| reason_code | additional.fields | |
| extensible_auth_protocol | additional.fields | |
| service_type | additional.fields | |
| nas_port | additional.fields | |
| reply_message | additional.fields | |
| nas_identifier | additional.fields | |
| device-type | additional.fields | |
| coa-push | additional.fields | |
| audit-session-id | additional.fields | |
| tanggal | metadata.event_timestamp | Digabungkan dari tanggal dan waktu, lalu diuraikan dengan format MM/dd/yyyy HH:mm:ss |
| waktu | metadata.event_timestamp | |
| principal_present | metadata.event_type | Ditetapkan ke "GENERIC_EVENT", lalu "NETWORK_CONNECTION" jika principal_present dan target_present, atau "STATUS_UPDATE" jika principal_present |
| target_present | metadata.event_type | |
| ac-user-agent | network.http.parsed_user_agent | Dikonversi dari ac-user-agent jika penguraian berhasil |
| ac-user-agent | network.http.user_agent | Nilai disalin langsung |
| Durasi sesi | network.session_duration.seconds | Nilai disalin langsung, lalu dikonversi menjadi bilangan bulat |
| session_id | network.session_id | Nilai disalin langsung |
| principal_hostname | principal.asset.hostname | Nilai disalin langsung |
| principal_ip | principal.asset.ip | Nilai dari principal_ip jika IP valid, atau calling_station_id jika IP valid |
| calling_station_id | principal.asset.ip | |
| principal_hostname | principal.hostname | Nilai disalin langsung |
| principal_ip | principal.ip | Nilai dari principal_ip jika IP valid, atau calling_station_id jika IP valid |
| calling_station_id | principal.ip | |
| device-mac | principal.mac | Nilai dari device-mac jika tidak kosong (setelah mengganti - dengan :), jika tidak, device-public-mac |
| device-public-mac | principal.mac | |
| nat_ip | principal.nat_ip | Nilai disalin langsung |
| device-platform | principal.platform | Setel ke "WINDOWS" jika dalam ["Win","win"], "MAC" jika =~ "mac|iOS", "LINUX" jika =~ "lin" |
| device-platform-version | principal.platform_version | Nilai disalin langsung |
| device-uid | principal.resource.product_object_id | Nilai disalin langsung |
| user_name | principal.user.user_display_name | Nilai disalin langsung |
| userid | principal.user.userid | Nilai disalin langsung |
| service_name | target.application | Nilai disalin langsung |
| computer_name | target.asset.hostname | Nilai disalin langsung |
| target_ip | target.asset.ip | Nilai dari target_ip jika IP valid, atau called_station_id jika IP valid |
| called_station_id | target.asset.ip | |
| computer_name | target.hostname | Nilai disalin langsung |
| target_ip | target.ip | Nilai dari target_ip jika IP valid, atau called_station_id jika IP valid |
| called_station_id | target.ip | |
| target_port | target.port | Nilai disalin langsung, lalu dikonversi menjadi bilangan bulat |
| metadata.product_name | metadata.product_name | Tetapkan ke "MICROSOFT_IAS" |
| metadata.vendor_name | metadata.vendor_name | Tetapkan ke "MICROSOFT_IAS" |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.