Windows Firewall dan aplikasi bisnis — daftarkan aturan masuk dari penginstal

· · Windows, Firewall, Jaringan, Keamanan, Aplikasi bisnis, Penginstal, PowerShell, Sistem informasi

“Di mesin pengembangan berjalan tanpa masalah, tetapi setelah dipasang di pelanggan, klien tidak tersambung ke server.” “Saat peluncuran pertama ada semacam peringatan, dan orang di lapangan tampaknya membatalkannya.” “netstat menunjukkan port sedang menunggu, tetapi dari PC sebelah tidak sampai” — di lapangan penerapan aplikasi bisnis, pertanyaan “tidak bisa berkomunikasi” jenis ini adalah yang paling klasik. Dan yang terus duduk di peringkat atas penyebabnya adalah Windows Firewall (Windows Defender Firewall).

Yang merepotkan, di mesin pengembangan masalahnya tidak terlihat. Di mesin pengembangan, Anda sendiri menekan izinkan saat debug Visual Studio, atau Anda sendiri administrator, jadi produk dikirim tanpa menyadari blok masuk default. Sementara di pelanggan, yang mengoperasikan adalah pengguna umum tanpa hak administrator, dan jaringan dikelola dengan GPO. Bukan “yang seharusnya jalan tidak jalan”, melainkan «mesin pengembangan kebetulan jalan» yang merupakan kenyataannya.

Artikel ini ditujukan kepada pengembang aplikasi bisnis yang menghadapi “tidak bisa berkomunikasi di pelanggan” pada aplikasi buatan sendiri, dan staf TI usaha kecil dan menengah yang menerima pertanyaan itu. Setelah menguasai setidaknya perilaku default Windows Firewall dan mekanisme profil, artikel ini menata desain aturan masuk, praktik pendaftaran dari penginstal, langkah pemilahan, dan poin perhatian di bawah pengelolaan GPO/Intune, berdasarkan informasi primer per Agustus 2026.

1. Intinya dulu

  • Default Windows Firewall adalah «masuk diblokir, keluar diizinkan». Lalu lintas masuk yang bukan respons terhadap permintaan dibuang kecuali cocok dengan aturan.1
  • Aturan masuk hanya diperlukan untuk aplikasi bertipe server yang menunggu port. Aplikasi klien yang hanya tersambung sendiri dapat berkomunikasi dengan default. Pilah di sini dulu.1
  • Ada tiga profil (domain/privat/publik). Domain diterapkan otomatis saat pengontrol domain terdeteksi; publik adalah default jaringan yang tidak dikenali. Aturan aktif atau tidak diputuskan per profil.1
  • Jangan serahkan produksi pada dialog «Peringatan penting» itu. Jika administrator membatalkan, aturan blok dibuat; bagi pengguna tanpa hak administrator, aturan blok dibuat apa pun tombol yang ditekan. Sampai aturan yang dibuat dihapus, dialog tidak ditampilkan ulang.2
  • Kesimpulannya: «daftarkan aturan masuk aplikasi bisnis dari penginstal». Microsoft sendiri merekomendasikan menempatkan aturan sebelum peluncuran pertama, dan menonaktifkan notifikasi masuk.2
  • Rancang aturan dengan hak minimum. Berporos pada program + protokol + port, batasi profil ke domain/privat, dan sempitkan IP jarak jauh ke subnet yang diperlukan. Wildcard tidak dapat dipakai pada jalur program.23
  • Pemilahan dalam urutan Test-NetConnection → Get-NetFirewallRule → pfirewall.log. Log firewall secara default tidak ditulis; baru muncul setelah pencatatan paket yang dibuang diaktifkan.456
  • Penonaktifan keseluruhan dengan menghentikan layanan di luar dukungan. Di bawah pengelolaan GPO/Intune, «penggabungan aturan lokal» kadang dinonaktifkan, dan saat itu aturan lokal tidak berlaku. Ajukan distribusi terpusat aturan ke staf TI.12

Peta pengetahuan artikel ini

Default Windows Firewall adalah blok masuk dan izinkan keluar, dan aturan masuk hanya diperlukan untuk aplikasi bisnis bertipe server yang menunggu port. Jika aplikasi tanpa aturan mulai menunggu, dialog «Peringatan penting» ditampilkan, tetapi tergantung operasi, aturan blok dapat terbakar dan menjadi penyebab gangguan tidak bisa berkomunikasi, jadi prinsipnya daftarkan aturan masuk dari penginstal. Di bawah pengelolaan GPO/Intune, penggabungan aturan lokal dinonaktifkan, dan aturan yang didaftarkan secara lokal kadang tidak diterapkan.

Peta pengetahuan Windows Firewall dan aplikasi bisnisDiagram yang menunjukkan hubungan Windows Firewall, aturan masuk, aplikasi yang menunggu, dialog «Peringatan penting», penginstal dan hak administrator, penyempitan aturan (penetapan program, pembatasan IP jarak jauh), penggabungan aturan lokal, gangguan tidak bisa berkomunikasi, dan perintah pemilahanmensyaratkandisarankan untukdapat menyebabkandapat menyebabkandapat menyebabkandiverifikasi dengandikonfigurasi dengandikonfigurasi denganmensyaratkanmengimplementasikanmenggunakandapat menyebabkandapat menyebabkandikonfigurasi dengandiverifikasi dengandiverifikasi denganmencegahdikonfigurasi dengandikonfigurasi denganmensyaratkanmengurangimengurangitidak disarankantidak disarankandisarankan untukdisarankan untukmenggunakandiverifikasi dengandapat menyebabkandapat menyebabkanmencegahmengurangimengurangidisarankan untukdiverifikasi denganWindows Firewallaturan masukaplikasi bisnis yang menunggupenginstalprofil jaringangangguan «tidak bisa berkomunikasi»dialog «Peringatan penting»perubahan jalur berkas eksekusilog firewall (pfirewall.log)Kebijakan GrupMicrosoft Intunepenggabungan aturan lokallayanan firewall (MpsSvc)aturan berbasis portizin berlebih pada aturanTest-NetConnectionGet-NetFirewallRulelalu lintas masuk yang tidak dimintanetsh advfirewallNew-NetFirewallRulehak administratorpembatasan IP jarak jauhaturan berbasis programpenghentian layanan MpsSvcmenonaktifkan firewallnamed pipeSMB (TCP 445)Get-NetConnectionProfileaturan blokmenonaktifkan notifikasi masukaturan berbasis layananpembatasan profilpendaftaran ulang aturan saat pembaruannetstat

Pada diagram, garis utuh menunjukkan relasi yang selalu berlaku dan garis putus-putus menunjukkan relasi bersyarat (syaratnya ada pada penjelasan masing-masing relasi di halaman rincian). Daftar lengkap relasi (total 35, beserta bukti dan tingkat kepastian) serta definisi konsep utama dikumpulkan di halaman rincian peta pengetahuan (dalam bahasa Jepang). Data: JSON-LD / Turtle

2. Perilaku default dengan tepat — masuk diblokir secara default, keluar diizinkan secara default

Pertama, kuasai fondasinya dengan tepat. Windows Firewall adalah firewall berbasis host yang aktif secara default di semua edisi, dan perilaku defaultnya habis dalam dua baris ini.1

  • Masuk (inbound): semua diblokir kecuali merupakan respons terhadap permintaan (solicited) atau cocok dengan aturan
  • Keluar (outbound): semua diizinkan kecuali cocok dengan aturan

Dari dua baris ini muncul pemilahan paling penting bagi aplikasi bisnis. Aturan masuk hanya diperlukan di «sisi yang menunggu».

  • Aplikasi klien yang hanya tersambung sendiri ke server web, server DB, atau sistem inti internal → pada prinsipnya aturan tidak perlu. Paket balik sambungan adalah «respons terhadap permintaan» jadi lolos secara default.
  • Aplikasi bertipe server atau layanan Windows yang membuka port dan menunggu sambungan dengan TCP, gRPC, protokol sendiri, dll. → aturan masuk wajib.
  • Selain itu, konfigurasi yang memakai named pipe dari jarak jauh adalah pengecualian. Named pipe jarak jauh tidak lewat port aplikasi sendiri melainkan lewat SMB (TCP 445), jadi yang diperlukan bukan aturan aplikasi melainkan aturan sisi berbagi berkas (SMB).
  • Pengecualiannya adalah lingkungan berkeamanan tinggi yang secara eksplisit mengubah default keluar menjadi blok. Konfigurasi ini hanya ada di sebagian organisasi, tetapi dalam kasus itu aplikasi klien juga perlu mengajukan aturan keluar.2
Aturan masuk hanya diperlukan di sisi yang menungguJika hanya tersambung sebagai klien, aturan masuk pada prinsipnya tidak perlu; jika membuka port dan menunggu, daftarkan aturan masuk dari penginstaltidak menunggu(hanya tersambung sebagai klien)menunggu(tipe server, penerimaan callback)inventaris komunikasi aplikasi sendiriapakah membuka port danmenunggu sambungan?aturan masuk pada prinsipnya tidak perlubalik sambungan lolos sebagai «respons»aturan masuk wajib→ daftarkan dari penginstal (bab 5)pengecualian: di lingkungan berkeamanan tinggidengan blok keluar default, ajukan aturan keluar

Gambar 1: Jika port menunggu, aturan masuk wajib; sambungan hanya sebagai klien pada prinsipnya tidak memerlukan aturan.

Kasus «aplikasi yang seharusnya klien ternyata juga menunggu» (penerimaan callback hasil, tempat menerima notifikasi dari proses lain, dll.) mudah terlewat. Jika cara komunikasi yang dipakai aplikasi buatan sendiri untuk menunggu masih kabur, konfirmasi juga “cara memilih komunikasi antardalam proses” sebagai penataan di tahap desain.

2.1. Profil dan «lokasi jaringan»

Aturan diterapkan per profil jaringan. Ada tiga profil.1

Profil Syarat penerapan Tempat yang diasumsikan
Domain Diterapkan otomatis saat PC domain-joined AD mendeteksi pengontrol domain. Pengaturan manual tidak mungkin Jaringan domain internal
Privat Ditetapkan secara manual oleh administrator pada antarmuka jaringan LAN rumah / kantor kecil
Publik Default jaringan yang tidak dikenali. Dirancang dengan prasyarat paling ketat Wi-Fi publik, hotel, bandara

Profil mana yang sedang diterapkan dapat dikonfirmasi dengan Get-NetConnectionProfile, dan peralihan privat/publik dilakukan dengan Set-NetConnectionProfile.1 Insiden yang sering di lapangan: di lingkungan workgroup pelanggan, jaringan dinilai «publik», dan aturan masuk yang dibuat terbatas domain/privat tidak diterapkan. Saat «aturan ada tetapi tidak lolos», curigai kecocokan profil sebelum isi aturan.

2.2. Prioritas aturan

Evaluasi saat ada beberapa aturan bukan daftar urutan berbobot, melainkan diputuskan oleh prinsip konsisten berikut.2

  1. Aturan izinkan eksplisit mengalahkan blok default
  2. Aturan blok eksplisit mengalahkan aturan izinkan yang berkonflik
  3. Dalam rentang yang tidak bertentangan dengan 2 di atas, aturan yang lebih spesifik diutamakan

Implikasi praktisnya: «jika ada satu aturan blok di suatu tempat, menambahkan aturan izinkan sebanyak apa pun kemudian tidak menang». Seperti terlihat di bab berikutnya, justru aturan blok inilah yang dibuat diam-diam oleh dialog itu.

3. Identitas dialog «Peringatan penting» — alasan tidak boleh diandalkan

Ketika aplikasi pertama kali mulai menunggu (listen) port, jika tidak ada aturan izinkan maupun aturan yang ditetapkan administrator untuk aplikasi itu, Windows menampilkan dialog «Peringatan penting Keamanan Windows» yang familiar: “Beberapa fitur aplikasi ini diblokir oleh Windows Defender Firewall”. Spesifikasi perilakunya jelas.2

  • Jika ditampilkan kepada pengguna dengan hak administrator: aturan izinkan dibuat dengan «Izinkan akses». Namun jika «Batal» ditekan, aturan blok dibuat. Biasanya dua: untuk TCP dan UDP.
  • Jika ditampilkan kepada pengguna tanpa hak administrator: aturan blok dibuat apa pun pilihan yang dipilih.
  • Dalam kedua kasus, sampai aturan yang dibuat dihapus, dialog tidak pernah ditampilkan lagi, dan komunikasi terus diblokir.
Percabangan dialog «Peringatan penting»Jika tidak ada aturan dan notifikasi masuk aktif, dialog muncul, dan jika Batal atau pengguna umum mengoperasikan, aturan blok dibuat dan dialog tidak pernah muncul lagiadatidaknonaktifaktifadministrator «Izinkan akses»administrator «Batal»pengguna tanpa hak administrator(operasi apa pun)aplikasi mulai menunggu portapakah ada aturan yang cocokuntuk aplikasi itu?mengikuti aturan(dialog tidak muncul)apakah notifikasi masukaktif?diblokir diam-diam(aturan tidak dibuat)dialog «Peringatan penting»aturan izinkan dibuataturan blok dibuataturan blok dibuatsampai aturan dihapus,dialog tidak pernah muncul lagi

Gambar 2: Membatalkan dialog atau operasi pengguna tanpa hak membakar aturan blok; dialog tidak muncul lagi sampai aturan dihapus.

Artinya, dialog ini tampak sebagai «mekanisme meminta izin kepada pengguna», tetapi di lapangan aplikasi bisnis ia bekerja sebagai «mekanisme yang membakar aturan blok begitu pengguna umum menyentuhnya». Jika petugas penerapan meluncurkan pertama kali dengan akun administrator dan mengizinkan di dialog, aturan izinkan yang dibuat berlaku untuk seluruh PC, jadi pengguna umum keesokan harinya untuk sementara dapat berkomunikasi. Meski begitu insiden tetap ada — ketika pengguna umum pertama kali menginjak menunggu yang tidak diinjak saat konfirmasi penerapan, ketika profil jaringan yang diterapkan berbeda dari saat penerapan, dan ketika jalur exe berubah karena pembaruan (bab 4 dan 5).

Microsoft sendiri secara eksplisit menyatakan praktik terbaik berikut untuk perangkat yang dipakai orang selain administrator.2

  1. Tempatkan aturan yang diperlukan sebelum peluncuran pertama aplikasi (penginstal atau distribusi sisi pengelolaan)
  2. Nonaktifkan notifikasi masuk (jika notifikasi diputus, pembuatan aturan otomatis saat runtime sendiri tidak dilakukan)

Penonaktifan notifikasi dapat dilakukan dengan Set-NetFirewallProfile -NotifyOnListen False, atau dengan Group Policy.7 «Jika dialog muncul, minta orang di lapangan menekan izinkan» bukan prosedur operasi, melainkan reservasi insiden. Daftarkan aturan masuk saat pemasangan — ini kesimpulan artikel ini, dan sejalan dengan rekomendasi Microsoft.

4. Desain aturan masuk — penetapan program, penetapan port, penetapan layanan

Isi aturan yang didaftarkan dirancang. Ada tiga sistem besar cara penetapan, dan Anda memutuskan dipakai sendiri atau dikombinasikan.

Cara penetapan Cocok jika Kelemahan / perhatian
Penetapan program (program= / -Program) Port menunggu dinamis atau banyak. Konfigurasi tubuh aplikasi desktop yang menunggu Hanya penetapan jalur penuh exe, wildcard tidak boleh2. Jika jalur berubah karena pembaruan, aturan kehilangan sasaran (pasal 5.4)
Penetapan port (localport= / -LocalPort) Port tetap. Mudah diselaraskan dengan pengajuan ke staf TI dan pengaturan sisi perangkat jaringan Juga melewatkan proses lain yang menunggu di port yang sama. Buku besar pengelolaan nomor port diperlukan
Penetapan layanan (-Service) Proses menunggu yang berjalan sebagai layanan Windows Menyempitkan sasaran dengan nama layanan (nama pendek)3. Tidak dapat dipakai untuk bentuk peluncuran exe langsung
Kombinasi (program + protokol + port) Bentuk dasar aplikasi bisnis produksi Semakin banyak syarat, semakin rapuh terhadap perubahan lingkungan (perubahan jalur/port), jadi dokumentasikan isi aturan2

Di atas itu, tumpuk pembatasan cakupan. Rekomendasi desain Microsoft juga “buat aturan masuk sespesifik mungkin”.2

  • Pembatasan profil: aturan masuk aplikasi bisnis yang hanya dipakai internal dibatasi ke domain/privat, dan tidak diaktifkan di publik. Mencegah insiden port menunggu terbuka ke dunia begitu notebook tersambung ke Wi-Fi di luar.
  • Pembatasan IP jarak jauh: jika sumber sambungan sudah ditentukan, sempitkan -RemoteAddress ke subnet itu. Untuk jaringan rumah/kecil, pembatasan dengan kata kunci LocalSubnet direkomendasikan.23
  • Arah dan jumlah: jika menunggu hanya TCP, satu aturan TCP cukup. Jangan membuat aturan TCP/UDP keduanya secara inersia seperti yang dibuat otomatis dialog.

«Hanya dari pihak yang diperlukan, ke port yang diperlukan, hanya program yang diperlukan» — desain aturan masuk habis dalam satu kalimat hak minimum ini.

5. Praktik pendaftaran dari penginstal — netsh dan New-NetFirewallRule

5.1. Prasyarat: hak administrator diperlukan

Penambahan dan penghapusan aturan firewall adalah perubahan pengaturan seluruh komputer, jadi perlu dijalankan dengan hak administrator (proses yang ditingkatkan).8 Penginstal biasanya berjalan dengan hak administrator, jadi masuk akal menempatkan pendaftaran aturan di dalam pemrosesan pemasangan. Ini bukan alasan menjalankan tubuh aplikasi sebagai administrator. Cara berpikir garis ini dibahas secara rinci di “kapan hak administrator diperlukan”.

5.2. Pendaftaran dengan netsh advfirewall

Klasik, tetapi yang mudah dipanggil dari penginstal mana pun adalah netsh advfirewall firewall add rule.8

rem add rule menambahkan meski aturan bernama sama sudah ada, jadi untuk
rem eksekusi ulang pada pemasangan ulang, perbaikan, dan pembaruan, hapus
rem aturan bernama sama dulu lalu daftarkan ulang
netsh advfirewall firewall delete rule name="MyCompany OrderServer"

rem aturan izinkan masuk penetapan program + penetapan port + pembatasan profil
netsh advfirewall firewall add rule name="MyCompany OrderServer" dir=in action=allow program="C:\Program Files\MyCompany\OrderServer\OrderServer.exe" protocol=TCP localport=50051 profile=domain enable=yes

rem saat copot: hapus menurut nama
netsh advfirewall firewall delete rule name="MyCompany OrderServer"

add rule menambahkan dengan nama yang sama tanpa mengganti aturan bernama sama yang ada, jadi jika delete rule tidak dijalankan dulu, aturan berkembang biak setiap eksekusi ulang, dan aturan izinkan lama tetap hidup setelah pembaruan yang mengubah jalur atau cakupan (pada eksekusi pertama, delete rule di depan mengembalikan bahwa “tidak ada aturan yang cocok”, tetapi eksekusi batch berlanjut, jadi urutan ini tidak masalah. Jika penginstal menilai berhasil/gagal dengan kode keluar, lihat hasil add rule di akhir). Sumber sambungan juga dapat disempitkan seperti remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet.8 Penghapusan menghapus sekaligus aturan yang cocok menurut nama, jadi jadikan nama aturan unik dengan awalan perusahaan sendiri lebih aman.

5.3. Pendaftaran dengan PowerShell (New-NetFirewallRule)

Untuk pengendalian lebih rinci, modul NetSecurity. -DisplayName wajib; -Profile dapat menetapkan beberapa dengan dipisah koma (tanpa spasi).3

# Pendaftaran (jalankan dari penginstal dalam keadaan ditingkatkan). -Name adalah
# pengidentifikasi unik, jadi eksekusi ulang pada pemasangan ulang, perbaikan,
# dan pembaruan error jika aturan bernama sama dibuat. Jadikan idempoten
# dengan menghapus aturan bernama sama yang ada lalu membuat ulang
Remove-NetFirewallRule -Name "MyCompany-OrderServer-In" -ErrorAction SilentlyContinue
New-NetFirewallRule -Name "MyCompany-OrderServer-In" `
    -DisplayName "MyCompany OrderServer (TCP 50051 masuk)" `
    -Direction Inbound -Action Allow `
    -Program "C:\Program Files\MyCompany\OrderServer\OrderServer.exe" `
    -Protocol TCP -LocalPort 50051 `
    -Profile Domain,Private -RemoteAddress LocalSubnet

# Saat copot: jangan error meski tidak ada
Remove-NetFirewallRule -Name "MyCompany-OrderServer-In" -ErrorAction SilentlyContinue

Ada alasan -Name dinyatakan di sini. -Name adalah pengidentifikasi unik aturan; jika dihilangkan, nilai acak diberikan. Nama tampilan (-DisplayName) dapat berubah tergantung lokal, jadi kunci untuk mengidentifikasi aturan dari skrip memakai -Name, menurut panduan Microsoft.3 Agar pencopot pasti hanya menghapus aturannya sendiri, anggap penetapan -Name wajib.

5.4. Jika jalur exe berubah karena pembaruan

Aturan penetapan program mengunci sasaran dengan jalur penuh. Artinya, jika lokasi pemasangan atau nama exe berubah karena pembaruan, aturan tetap ada tetapi kehilangan sasaran, dan menunggu diblokir lagi. Saat itu, exe jalur baru diperlakukan sebagai «aplikasi tanpa aturan», jadi di lingkungan notifikasi aktif dialog bab 3 muncul lagi, dan jika pengguna umum mengoperasikan, aturan blok terbakar. Di lingkungan yang menonaktifkan notifikasi sesuai rekomendasi bab 3, gagal diam-diam tanpa dialog pun. Insiden ini mudah terjadi terutama pada cara penempatan ke folder berisi nomor versi, atau cara penempatan yang bergerak dengan pembaruan sendiri.

Jika jalur exe berubah karena pembaruan, aturan kehilangan sasaranAturan penetapan program mengunci jalur penuh, jadi jika lokasi pemasangan berubah sasaran hilang, dan menurut ada tidaknya notifikasi dialog ditampilkan ulang atau diblokir diam-diamaktifnonaktiftindakanpasang v1.0aturan menunjuk exe di folder v1.0pembaruan menempatkan ke folder v1.1jalur exe yang dijalankan berubahaturan jalur lama kehilangan sasaran(aturan ada tetapi tidak berlaku)apakah notifikasi masukaktif?dialog ditampilkan ulangjika pengguna umum menyentuh, aturan blokdiblokir diam-diamtanpa dialog punkunci jalur lintas pembaruanatau hapus aturan lama lalu daftarkan ulang dalam pemrosesan pembaruan

Gambar 3: Jika jalur exe berubah karena pembaruan, aturan lama kehilangan sasaran; kunci jalurnya atau daftarkan ulang saat pembaruan.

Tindakannya sederhana, salah satu berikut.

  • Kunci lokasi pemasangan, dan jadikan penempatan di mana jalur penuh exe tidak berubah lintas pembaruan
  • Pada pembaruan yang jalur berubah, updater menghapus aturan lama dan mendaftarkan ulang dengan jalur baru (jalankan juga perintah 5.2/5.3 dalam pemrosesan pembaruan)

Jika MSI, pendaftaran aturan sebagai custom action yang dijalankan setelah penempatan berkas (saat copot, custom action sisi penghapusan) adalah praktik baku. Toolset seperti WiX juga punya perluasan yang mendeskripsikan aturan firewall secara deklaratif. Lokasi implementasi berubah menurut cara distribusi yang dipilih, jadi lihat juga “cara memilih cara distribusi aplikasi Windows”. Selain itu, deteksi keliru antivirus — gangguan klasik lain saat penerapan di pelanggan — dibahas di “penanganan deteksi keliru Microsoft Defender”.

6. Pemecahan masalah — alur pemilahan «tidak bisa berkomunikasi»

Langkah saat menerima pertanyaan dipakukan secara berurutan. Alur keseluruhan sebagai berikut.

Pemilahan «tidak bisa berkomunikasi»Konfirmasi berurutan menunggu sisi server, keterjangkauan sisi klien, kecocokan profil, aturan di ActiveStore, dan DROP di logtidak menungguLISTENINGTcpTestSucceeded=TrueFalsetidak cocok dengan sasaran aturancocok«klien tidak bisa berkomunikasi»sisi server: netstat -anomasalah sebelum firewallselidiki sisi aplikasi/layanansisi klien: Test-NetConnectionketerjangkauan normalselidiki lapisan aplikasi (autentikasi, protokol)sisi server: Get-NetConnectionProfilekonfirmasi profil yang diterapkantinjau penetapan profil aturanGet-NetFirewallRule -PolicyStore ActiveStorekonfirmasi ada/tidaknya aturan izinkan dan masuknya aturan blokukur pembuangan (DROP) di pfirewall.log

Gambar 4: Pemilahan mekanis: netstat → Test-NetConnection → profil → aturan ActiveStore → pfirewall.log.

Langkah Perintah / operasi Yang dikonfirmasi
1. Konfirmasi menunggu (sisi server) netstat -ano Apakah port sasaran LISTENING. Jika tidak menunggu sama sekali, masalah sebelum firewall
2. Konfirmasi keterjangkauan (sisi klien) Test-NetConnection -ComputerName sv01 -Port 50051 Apakah TcpTestSucceeded True4
3. Konfirmasi profil (sisi server) Get-NetConnectionProfile Apakah profil yang sedang diterapkan cocok dengan profil yang mengaktifkan aturan1
4. Konfirmasi aturan yang berlaku (sisi server) Get-NetFirewallRule -PolicyStore ActiveStore Apakah aturan izinkan yang dituju ada di antara aturan «yang benar-benar berlaku» termasuk yang berasal dari GPO. Apakah aturan blok dari dialog tercampur5
5. Konfirmasi di log (sisi server) pfirewall.log Apakah paket ke port sasaran dibuang (DROP)6

Catatan langkah 4. Syarat port dan program ada di sisi objek filter, bukan tubuh aturan, jadi untuk menelusuri aturan dari port, kueri lewat filter.57

# Telusuri aturan terkait port 50051
Get-NetFirewallPortFilter | Where-Object { $_.LocalPort -eq 50051 } | Get-NetFirewallRule

# Lacak asal aturan (lokal atau GPO)
Get-NetFirewallRule -PolicyStore ActiveStore -TracePolicyStore |
    Select-Object Name, DisplayName, PolicyStoreSourceType, PolicyStoreSource

Log firewall (pfirewall.log) langkah 5 secara default tidak mencatat apa pun. Jalur default adalah %windir%\system32\logfiles\firewall\pfirewall.log, ukuran maksimum default 4.096 KB, dan baru ditulis setelah salah satu «catat paket yang dibuang ke log» atau «catat sambungan yang berhasil ke log» diaktifkan.6 Di mesin tunggal, dapat diaktifkan sebagai berikut.6

netsh advfirewall set allprofiles logging droppedconnections enable
netsh advfirewall set allprofiles logging allowedconnections enable

Log adalah berkas teks, dan per baris mencatat apakah dibuang (DROP) atau diizinkan (ALLOW), protokol, IP dan port sumber/tujuan, jadi di sini dapat dipastikan “apakah SYN dari klien sampai lalu dibuang, atau tidak sampai sama sekali”. Selain itu, di lingkungan yang mengonfigurasi log dengan kebijakan, hak tulis ke folder log (FullControl layanan mpssvc) kadang kurang sehingga berkas tidak dibuat; dalam kasus itu pembuatan folder dan pemberian ACL diperlukan.6

Jika menggali lebih dalam, mengaktifkan kebijakan audit «Packet Drop pada Filtering Platform» mencatat peristiwa keamanan 5152 setiap kali pembuangan. Namun volume peristiwa sangat besar, jadi Microsoft menganjurkan memakai peristiwa 5157 (sambungan Filtering Platform) yang dicatat per sambungan. Ini alat yang diaktifkan hanya selama pemilahan, bukan pemakaian sehari-hari.9

Terakhir, perjelas pemilahan yang tidak boleh dilakukan. Penonaktifan keseluruhan dengan menghentikan layanan firewall (MpsSvc) di luar dukungan, dan menimbulkan masalah sisi OS seperti menu Mulai yang tidak bergerak atau pembaruan aplikasi Store yang gagal. Jika tetap ingin menonaktifkan untuk memastikan, nonaktifkan profil dengan Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False sambil layanan tetap berjalan, dan segera kembalikan setelah konfirmasi.17 Dan jika sudah dipastikan penyebabnya firewall, penanganannya bukan menonaktifkan secara permanen melainkan menambah satu aturan yang benar.

7. Perhatian di bawah pengelolaan organisasi — lingkungan di mana aturan lokal tidak berlaku, dan tata cara pengajuan

Meski aturan didaftarkan dari penginstal, ada lingkungan di mana ia tidak berlaku. Di organisasi yang mengelola firewall secara terpusat dengan GPO atau Intune (CSP), «penggabungan aturan lokal» (AllowLocalPolicyMerge) dapat dinonaktifkan per profil. Jika pengaturan ini nonaktif, aturan yang dibuat administrator lokal (termasuk penginstal) tidak diterapkan, dan aturan aplikasi yang memerlukan sambungan masuk wajib didistribusikan terpusat dari GPO/CSP.2

Jika penggabungan aturan lokal nonaktif, pendaftaran penginstal tidak berlakuDi lingkungan AllowLocalPolicyMerge nonaktif, aturan lokal ada tetapi tidak diterapkan, jadi beralih ke distribusi terpusat GPO atau CSPaktif (default)nonaktifaturan yang didistribusikan dengan GPO/Intunehimpunan aturan yang benar-benar berlaku(ActiveStore)aturan yang dibuat secara lokal(termasuk pendaftaran penginstal)penggabungan aturan lokal(AllowLocalPolicyMerge)aturan ada tetapi tidak diterapkan→ beralih ke distribusi terpusat GPO/CSP

Gambar 5: Jika penggabungan aturan lokal nonaktif, aturan penginstal tidak berlaku; distribusi terpusat lewat GPO/CSP diperlukan.

Kesiapan realistis sisi pengembangan dan penerapan sebagai berikut.

  • Jadikan pendaftaran aturan penginstal desain yang «tidak gagal» (pendaftaran itu sendiri berhasil, jadi tidak terdeteksi sebagai error. Sertakan konfirmasi konektivitas setelah penerapan ke prosedur)
  • Dengan langkah 4 bab 6 (-TracePolicyStore), konfirmasi apakah asal aturan yang berlaku lokal atau GPO5
  • Jika diketahui aturan lokal tidak berlaku, beralih ke pengajuan distribusi aturan ke departemen TI

Serahkan informasi berikut sebagai satu set pada pengajuan. Aturan firewall baru dapat dibuat setelah arah, program, port, dan cakupan lengkap, jadi ini langsung menjadi «spesifikasi jaringan aplikasi bisnis».

Butir Contoh isian
Nama aturan (pengidentifikasi) MyCompany-OrderServer-In
Arah Masuk
Jalur program C:\Program Files\MyCompany\OrderServer\OrderServer.exe
Protokol / port TCP 50051
Rentang IP jarak jauh 172.16.10.0/24 (segmen penempatan klien pemesanan)
Profil Hanya domain
Kegunaan / dasar Penerimaan sambungan dari klien input pesanan (nama sistem bisnis)
Syarat penghapusan Hapus saat sistem ini dibongkar

Dari sisi staf TI, volume kerja sangat berbeda antara pengajuan yang punya tabel ini dan yang tidak. Sebaliknya, «tolong buka» hanya dengan nomor port cenderung menjadi izin berlebih seperti terlihat di bab 4. Selain itu, persyaratan komunikasi seputar berbagi berkas dan autentikasi di lingkungan domain juga berubah dengan pengencangan terpisah dari firewall (keharusan penandatanganan, dll.). Lihat juga “SMB signing dan LDAP channel binding”.

8. Ringkasan

  • Default Windows Firewall adalah blok masuk, izinkan keluar. Aturan masuk hanya diperlukan untuk aplikasi bertipe server yang menunggu; jika hanya tersambung sebagai klien, pada prinsipnya tidak perlu.
  • Aturan diterapkan per profil (domain/privat/publik). Tersangka pertama «aturan ada tetapi tidak lolos» adalah ketidakcocokan profil.
  • Dialog «Peringatan penting» membuat aturan blok saat batal atau operasi pengguna tanpa hak, dan setelah itu tidak ditampilkan ulang. Jangan serahkan operasi produksi pada dialog ini.
  • Daftarkan aturan masuk aplikasi bisnis dari penginstal — ini satu-satunya prinsip. Pendaftaran dengan hak administrator, dan implementasikan termasuk penghapusan dengan -Name yang dikunci.
  • Aturan berporos pada program + protokol + port, lalu disempitkan dengan profil dan IP jarak jauh. Jika jalur exe berubah karena pembaruan, jangan lupa pendaftaran ulang aturan.
  • Pemilahan secara mekanis dalam urutan netstat → Test-NetConnection → konfirmasi profil → Get-NetFirewallRule (ActiveStore) → pfirewall.log. Penonaktifan dengan menghentikan layanan di luar dukungan.
  • Di bawah pengelolaan GPO/Intune, penggabungan aturan lokal kadang dinonaktifkan. Saat itu, ajukan distribusi ke staf TI dengan nama aturan, arah, program, port, IP jarak jauh, dan profil yang lengkap.

Artikel terkait

Area konsultasi terkait

KomuraSoft LLC menangani desain penginstal aplikasi bisnis bertipe server (termasuk pendaftaran dan penghapusan aturan firewall), investigasi penyebab «tidak bisa berkomunikasi» di lingkungan pelanggan, dan penataan persyaratan jaringan yang mengantisipasi penerapan di bawah pengelolaan GPO. Tidak apa-apa memulai dari pemilahan «jalan di mesin pengembangan tetapi tidak di pelanggan».

Tautan referensi

  1. Microsoft Learn, Windows Firewall overview. Tentang Windows Firewall sebagai firewall berbasis host yang aktif secara default di semua edisi; perilaku default «masuk diblokir kecuali respons terhadap permintaan atau cocok aturan, keluar diizinkan kecuali cocok aturan»; tiga profil (domain=diterapkan otomatis saat pengontrol domain terdeteksi, pengaturan manual tidak mungkin; privat=ditetapkan manual administrator; publik=default jaringan yang tidak dikenali); konfirmasi dan perubahan kategori jaringan dengan Get-NetConnectionProfile / Set-NetConnectionProfile; penonaktifan dengan menghentikan layanan firewall (MpsSvc) yang di luar dukungan dan menimbulkan menu Mulai berhenti atau pembaruan aplikasi Store gagal; dan cara penonaktifan yang benar adalah menonaktifkan profil sambil layanan tetap berjalan.  2 3 4 5 6 7 8 9

  2. Microsoft Learn, Windows Firewall rules. Tentang prioritas aturan (izinkan eksplisit mengalahkan blok default, blok eksplisit mengalahkan izinkan, aturan lebih spesifik diutamakan, tidak ada urutan berbobot); dialog yang ditampilkan jika tidak ada aturan saat aplikasi mulai menunggu; aturan blok (biasanya dua TCP/UDP) yang dibuat jika pengguna administrator memilih «Tidak» atau batal; aturan blok yang dibuat apa pun pilihan bagi pengguna yang bukan administrator lokal; dialog yang tidak ditampilkan ulang dan komunikasi terus diblokir sampai aturan yang dibuat dihapus; bahwa aplikasi atau penginstal sendiri yang menambahkan aturan adalah hal biasa; rekomendasi menempatkan aturan sebelum peluncuran pertama dan menonaktifkan notifikasi masuk; wildcard (C:*\teams.exe, dll.) yang tidak dapat dipakai pada aturan program, hanya penetapan jalur penuh; penggabungan aturan lokal (AllowLocalPolicyMerge) yang dapat dinonaktifkan per profil, dan saat nonaktif distribusi terpusat aturan aplikasi yang memerlukan sambungan masuk menjadi wajib; rekomendasi membuat aturan masuk sespesifik mungkin dan untuk jaringan rumah/kecil membatasi alamat jarak jauh ke LocalSubnet; dan bahwa blok keluar default adalah pilihan lingkungan berkeamanan tinggi tetapi default masuk tidak boleh diubah menjadi izinkan.  2 3 4 5 6 7 8 9 10 11 12 13

  3. Microsoft Learn, New-NetFirewallRule (NetSecurity). Tentang -DisplayName yang wajib saat pembuatan aturan; -Name sebagai pengidentifikasi unik dengan default nilai acak, dan panduan memakai -Name di skrip; spesifikasi tiap parameter -Direction (Inbound/Outbound), -Action (Allow/Block), -Program (jalur penuh), -Protocol (TCP/UDP/ICMPv4/ICMPv6/nomor), -LocalPort, -RemoteAddress (kata kunci IP/subnet/rentang/LocalSubnet, dll.), -Service, -Profile (Any/Domain/Private/Public, beberapa dengan dipisah koma tanpa spasi); dan contoh pembuatan aturan yang menggabungkan penetapan program + protokol + port.  2 3 4 5

  4. Microsoft Learn, Test-NetConnection (NetTCPIP). Tentang Test-NetConnection sebagai cmdlet yang menampilkan informasi diagnostik ping, sambungan TCP, dan rute; menguji sambungan TCP ke port yang ditetapkan dengan -ComputerName dan -Port; dan hasil yang dikembalikan sebagai TcpTestSucceeded.  2

  5. Microsoft Learn, Get-NetFirewallRule (NetSecurity). Tentang -PolicyStore ActiveStore yang dapat mengambil aturan dari semua toko kebijakan yang diterapkan (himpunan kebijakan hasil termasuk yang berasal dari GPO); syarat port dan alamat yang ada di sisi objek filter, bukan tubuh aturan, dan dikueri lewat Get-NetFirewallPortFilter / Get-NetFirewallApplicationFilter; dan konfirmasi asal aturan (PolicyStoreSource / PolicyStoreSourceType Local/GroupPolicy) dengan -TracePolicyStore.  2 3 4

  6. Microsoft Learn, Configure Windows Firewall logging. Tentang jalur default log %windir%\system32\logfiles\firewall\pfirewall.log; ukuran maksimum default 4.096 KB dengan entri lama dihapus saat batas tercapai; log yang tidak dicatat sampai «paket yang dibuang» atau «sambungan yang berhasil» diaktifkan; pengaktifan dengan netsh advfirewall set allprofiles logging droppedconnections/allowedconnections enable; dan tentang kasus berkas log tidak dibuat jika folder log tidak punya hak FullControl layanan mpssvc, sehingga pembuatan folder dan pemberian ACL secara manual diperlukan.  2 3 4 5

  7. Microsoft Learn, Manage Windows Firewall with the command line. Tentang konfigurasi perilaku default, notifikasi (-NotifyOnListen False), dan pengaturan log dengan Set-NetFirewallProfile; contoh pembuatan aturan program dengan New-NetFirewallRule dan contoh penghapusan dengan Remove-NetFirewallRule / netsh advfirewall firewall delete rule; pola menekan error saat aturan tidak ada dengan -ErrorAction SilentlyContinue; contoh kueri menelusuri aturan dari syarat port dengan Get-NetFirewallPortFilter; dan tentang menonaktifkan profil dengan Set-NetFirewallProfile -Enabled False sebagai cara penonaktifan yang benar.  2 3

  8. Microsoft Learn, Use netsh advfirewall firewall context to control Windows Firewall behavior (KB947709). Tentang contoh penambahan aturan program dan aturan port dengan sintaks netsh advfirewall firewall add rule (name= / dir=in / action=allow / program= / enable=yes / remoteip= / profile= / protocol= / localport=); contoh penghapusan dengan delete rule; tentang anggota grup administrator yang di lingkungan UAC aktif perlu menjalankannya dari command prompt yang ditingkatkan; dan tentang pengaturan log dengan netsh advfirewall set currentprofile logging.  2 3

  9. Microsoft Learn, Audit Filtering Platform Packet Drop. Tentang peristiwa 5152 (dan 5153) yang dicatat saat Windows Filtering Platform membuang paket jika subkategori audit «Packet Drop pada Filtering Platform» diaktifkan; volume peristiwa subkategori ini yang sangat besar; dan rekomendasi memakai peristiwa 5157 yang dicatat per sambungan, bukan per paket, untuk memantau sambungan yang diblokir. 

Artikel terbaru dengan tag yang sama untuk mendalami topik-topik terdekat.

Halaman-halaman ini menempatkan topik dalam konteks layanan dan keputusan yang lebih luas.

Artikel ini berkaitan langsung dengan layanan berikut.

Pertanyaan yang sering diajukan

Pertanyaan yang sering muncul dalam konsultasi tentang topik artikel ini.

Apakah aplikasi yang hanya tersambung ke server sebagai klien juga memerlukan aturan firewall?
Pada prinsipnya tidak. Default Windows Firewall adalah «masuk diblokir, keluar diizinkan», jadi aplikasi klien yang hanya tersambung sendiri dapat berkomunikasi dengan default. Aturan masuk diperlukan hanya di sisi yang membuka port dan menunggu sambungan, yaitu aplikasi bertipe server. Namun ada dua pengecualian. Di lingkungan berkeamanan tinggi, keluar juga kadang diubah menjadi blok default, dan dalam kasus itu pengajuan aturan keluar diperlukan. Selain itu, jika aplikasi klien sendiri dirancang menunggu port sebagai tempat menerima notifikasi hasil, bagian itu memerlukan aturan masuk.
Bukankah cukup menekan «Izinkan akses» pada dialog «Peringatan penting Keamanan Windows»?
Untuk saat itu cukup, tetapi operasi produksi tidak dapat diserahkan padanya. Dialog ini, jika pengguna dengan hak administrator membatalkan, membuat aturan blok. Lebih jauh, bagi pengguna tanpa hak administrator, aturan blok dibuat apa pun tombol yang ditekan. Sampai aturan yang sudah dibuat dihapus, dialog tidak pernah ditampilkan lagi, dan komunikasi terus gagal. Pada aplikasi bisnis yang dioperasikan pengguna umum di PC lapangan, keadaan «seseorang sekali membatalkan lalu komunikasi tidak bisa selamanya» mudah terjadi. Microsoft juga merekomendasikan menempatkan aturan sebelum peluncuran pertama aplikasi.
Haruskah aturan masuk dibuat dengan penetapan port atau penetapan program?
Dasarnya bukan salah satu, melainkan kombinasi. Penetapan program dapat menyempitkan sasaran dengan jalur penuh exe, tetapi jika jalur berubah karena pembaruan, aturan kehilangan sasarannya (wildcard tidak dapat dipakai). Penetapan port membuat pengajuan ke staf TI jelas, tetapi juga melewatkan proses lain yang menunggu di port yang sama. Pada aplikasi bisnis produksi, bentuk hak minimum adalah berporos pada «program + protokol + port», membatasi profil ke domain/privat, dan menyempitkan IP jarak jauh ke subnet tempat klien berada. Hanya jika port dinamis, pakai penetapan program saja.
Aturan yang didaftarkan penginstal tampaknya tidak berlaku di PC pelanggan. Mengapa?
Kemungkinan besar firewall pelanggan dikelola terpusat dengan GPO atau Intune, dan «penggabungan aturan lokal» (AllowLocalPolicyMerge) dinonaktifkan. Jika pengaturan ini nonaktif, aturan yang dibuat secara lokal ada di profil tetapi tidak diterapkan, dan satu-satunya cara adalah mendistribusikan aturan secara terpusat dari sisi GPO/CSP. Konfirmasi keseluruhan aturan yang berlaku dengan Get-NetFirewallRule -PolicyStore ActiveStore, lalu ajukan distribusi aturan ke departemen TI. Pengajuan yang sekali lolos menyertakan nama aturan, arah, jalur program, protokol dan port, rentang IP jarak jauh, dan profil.
Bolehkah menonaktifkan firewall sementara untuk memilah komunikasi?
Penonaktifan dengan menghentikan layanan (MpsSvc) mutlak dihindari. Ini operasi di luar dukungan Microsoft, dan menimbulkan masalah sisi OS seperti menu Mulai yang tidak bergerak atau pembaruan aplikasi Store yang gagal. Jika tetap ingin menonaktifkan untuk pemilahan, cara yang benar adalah menonaktifkan profil dengan Set-NetFirewallProfile -Enabled False sambil layanan tetap berjalan. Namun ini pun dibatasi untuk memastikan dalam beberapa menit apakah penyebabnya firewall, dan segera dikembalikan setelah konfirmasi. Operasi yang dibiarkan nonaktif adalah menukar masalah yang selesai dengan menambah satu aturan dengan ketelanjangan seluruh PC.

Profil penulis

Halaman perkenalan penulis artikel.

Go Komura

Direktur KomuraSoft LLC

Berspesialisasi dalam pengembangan perangkat lunak Windows, konsultasi teknis, dan investigasi bug, terutama pada proyek dengan sistem yang sudah ada dan bug yang sulit direproduksi.

Kembali ke blog