Cara mengetahui aturan firewall windows mana yang memblokir lalu lintas

16

Saya mencoba mengatur komputer untuk menerima semua lalu lintas masuk tetapi hanya mengizinkan lalu lintas keluar ke IP tertentu. Saya telah menetapkan aturan semua izin untuk Masuk dan aturan Perbolehkan yang menentukan alamat IP sebagai satu-satunya alamat Keluar yang dapat diterima. Saya juga telah menetapkan aturan deny all Outgoing, dengan asumsi bahwa aturan lainnya akan diutamakan.

Masalah yang saya alami adalah bahwa semua lalu lintas sedang diblokir, bahkan lalu lintas ke IP yang saya tentukan diizinkan.

Saya mencari cara untuk melacak lalu lintas melalui firewall dan melihat aturan apa yang menghalangi lalu lintas. Log yang dihasilkan oleh pemantauan firewall memberi tahu saya bahwa lalu lintas dibatalkan tetapi aturan mana yang memblokirnya.

Josh
sumber
Saya sering ingin melakukan ini juga, tetapi tampaknya firewall Windows built-in tidak memiliki banyak hal untuk ditawarkan dalam hal ini. Saya tertarik untuk mengetahui apakah Anda menemukan solusi untuk mendapatkan pencatatan yang lebih rinci.
David Woodward
Firewall Windows benar-benar melindungi PC Anda dari jaringan, bukan jaringan dari PC Anda. Jaringan harus memiliki firewall sendiri untuk melindunginya.
Ron Maupin

Jawaban:

20

(Catatan: ini berlaku untuk Windows 7 dan mungkin atau mungkin tidak berfungsi dengan versi yang lebih baru.)

Langkah-langkah berikut akan mengarahkan Anda ke aturan yang memblokir koneksi Anda:

  • Buka konsol Windows (dengan hak Administrasi) untuk memasukkan perintah
  • Aktifkan audit untuk Platform Penyaringan Windows (WFP):
    • jalankan perintah:
      auditpol /set /subcategory:"Filtering Platform Packet Drop" /success:enable /failure:enable
    • jalankan perintah:
      auditpol /set /subcategory:"Filtering Platform Connection" /success:enable /failure:enable
  • (Ini dapat menenggelamkan Anda dalam data Log Kejadian - hanya mengaktifkan audit kegagalan, dan mungkin hanya kegagalan koneksi yang akan mengurangi jumlah entri log. Selektif tentang apa yang sebenarnya Anda butuhkan)
  • Reproduksi masalahnya
  • Jalankan perintah: netsh wfp show state(ini membuat file XML di folder saat ini)
  • Buka penampil acara: Jalankan ( Windows+ R)>eventvwr.msc
    • pergi ke "Log Windows"> "Keamanan"
    • dalam daftar, identifikasi log paket yang jatuh (petunjuk: gunakan fitur Pencarian di menu kanan, cari item (IP sumber, port tujuan, dll.) khusus untuk masalah Anda)
    • dalam detail log, gulir ke bawah dan catat ID filter yang digunakan untuk memblokir paket
  • Buka file XML yang dihasilkan:
    • cari filterID yang dicatat, dan periksa nama aturan (elemen "displayData> nama" pada simpul XML yang sesuai)

Ini akan memberi Anda awal yang baik untuk menemukan aturan pemblokiran.

Setelah selesai, jangan lupa mematikan audit:

  • jalankan perintah:
    auditpol /set /subcategory:"Filtering Platform Packet Drop" /success:disable /failure:disable
  • jalankan perintah:
    auditpol /set /subcategory:"Filtering Platform Connection" /success:disable /failure:disable

Catatan: tergantung pada pengaturan bahasa Windows Anda, layanan audit mungkin menggunakan nama-nama non-Inggris yang berbeda. Untuk menemukan nama subkategori, jalankan perintah: auditpol /get /category:*dan temukan subkategori yang sesuai dengan "Penyaringan Paket Drop Platform" dan "Penyaringan Koneksi Platform" dalam bahasa sistem.

Bob
sumber
1
Ini tidak akan menghasilkan apa-apa jika Anda mengaktifkan penyaringan keluar di Windows Firewall, karena dengan demikian, semua program tanpa aturan izin eksplisit akan secara default diblokir. Jadi, program Anda mungkin tidak diblokir oleh aturan firewall sama sekali.
Alexandru Dicu
2
Ini bekerja dengan Windows Server 2012 R2.
AresAvatar
Dalam kasus saya nama DisplayData mengatakan Default Outbound, jadi setidaknya saya yakin aturan izin saya diabaikan, jadi bugnya adalah firewall Microsoft.
metablaster