Setara dengan Windows iptables?


58

Pertanyaan bodoh:

Apakah ada yang setara dengan iptables di Windows? Bisakah saya menginstalnya melalui cygwin?

Pertanyaan sebenarnya: bagaimana saya bisa menyelesaikan di Windows apa yang bisa saya capai melalui iptables? Hanya mencari fungsionalitas firewall dasar (mis. Memblokir alamat IP tertentu)


6
Tidak ada yang namanya pertanyaan bodoh
— Mark Henderson

4
Tentu saja ada yang namanya pertanyaan bodoh, ini bukan satu.
— Tugas

Jawaban:


37

Salah satu caranya adalah dengan netshperintah:


8
+1 - netsh advfirewalladalah aturan mutlak yang harus dipelajari untuk siapa pun yang menuliskan keamanan apa pun yang terkait dengan Windows Server
— Mark Henderson

Apakah netsh advfirewallmendukung URL, atau hanya alamat IP?
— Parker

Hanya alamat IP dan semacamnya, meskipun itu juga dapat memfilter berdasarkan pengiriman atau penerimaan lalu lintas jaringan yang dapat dieksekusi, atau kredensial AD dari pengguna / grup / komputer yang terlibat. Untuk pemfilteran URL, Anda ingin mencari semacam proxy pemfilteran .
— James Sneeringer

6

Di bawah ini dari: https://support.microsoft.com/en-us/kb/947709

Contoh 1: Mengaktifkan program

Perintah lama Perintah baru

netsh firewall add allowedprogram C:\MyApp\MyApp.exe "My Application" ENABLE    
netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=Domain   netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=ALL  

Jalankan perintah berikut:

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=private

Untuk informasi lebih lanjut tentang cara menambahkan aturan firewall, jalankan perintah berikut:

netsh advfirewall firewall add rule ?

Contoh 2: Mengaktifkan port

Perintah lama Perintah baru

netsh firewall add portopening TCP 80 "Open Port 80"    
netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80

Untuk informasi lebih lanjut tentang cara menambahkan aturan firewall, jalankan perintah berikut:

netsh advfirewall firewall add rule ?

Contoh 3: Hapus program atau port yang diaktifkan

Perintah lama Perintah baru

netsh firewall delete allowedprogram C:\MyApp\MyApp.exe netsh advfirewall firewall delete rule name=rule name program="C:\MyApp\MyApp.exe"
delete portopening protocol=UDP port=500    netsh advfirewall firewall delete rule name=rule name protocol=udp localport=500

Untuk informasi lebih lanjut tentang cara menghapus aturan firewall, jalankan perintah berikut:

netsh advfirewall firewall delete rule ?

Contoh 4: Konfigurasikan pengaturan ICMP

Perintah lama Perintah baru

netsh firewall set icmpsetting 8    netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
netsh firewall set icmpsetting type=ALL mode=enable netsh advfirewall firewall add rule name="All ICMP V4" protocol=icmpv4:any,any dir=in action=allow
netsh firewall set icmpsetting 13 disable all   netsh advfirewall firewall add rule name="Block Type 13 ICMP V4" protocol=icmpv4:13,any dir=in action=block

Untuk informasi lebih lanjut tentang cara mengkonfigurasi pengaturan ICMP, jalankan perintah berikut:

netsh advfirewall firewall add rule ?

Contoh 5: Atur logging

Perintah lama Perintah baru netsh firewall set logging %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096 ENABLE ENABLE Jalankan perintah berikut:

netsh advfirewall set currentprofile logging filename %systemroot%\system32\LogFiles\Firewall\pfirewall.log

netsh advfirewall set currentprofile logging maxfilesize 4096
netsh advfirewall set currentprofile logging droppedconnections enable

netsh advfirewall set currentprofile logging allowedconnections enable

Untuk informasi lebih lanjut, jalankan perintah berikut:

netsh advfirewall set currentprofile ?

Jika Anda ingin mengatur pencatatan untuk profil tertentu, gunakan salah satu dari opsi berikut alih-alih opsi "profil saat ini":
Domainprofile
Privateprofile
Publicprofile

Contoh 6: Aktifkan Windows Firewall

Perintah lama Perintah baru

netsh firewall set opmode ENABLE    netsh advfirewall set currentprofile state on
netsh firewall set opmode mode=ENABLE exceptions=enable 

Jalankan perintah berikut:

Netsh advfirewall set currentprofile state on 

netsh advfirewall set currentprofile firewallpolicy blockinboundalways,allowoutbound
netsh firewall set opmode mode=enable exceptions=disable profile=domain 

Jalankan perintah berikut:

Netsh advfirewall set domainprofile state on 

netsh advfirewall set domainprofile firewallpolicy blockinbound,allowoutbound
netsh firewall set opmode mode=enable profile=ALL   Run the following commands:

netsh advfirewall set domainprofile state on 

netsh advfirewall set privateprofile state on

Untuk informasi lebih lanjut, jalankan perintah berikut:

netsh advfirewall set currentprofile ?

Jika Anda ingin mengatur keadaan firewall untuk profil tertentu, gunakan salah satu opsi berikut daripada opsi "profil saat ini": Domainprofile
Privateprofile
Publicprofile

Contoh 7: Kembalikan default kebijakan

Perintah lama Perintah baru

netsh firewall reset
netsh advfirewall reset

Untuk informasi lebih lanjut, jalankan perintah berikut: netsh advfirewall reset? Contoh 8: Mengaktifkan layanan spesifik

Perintah lama Perintah baru netsh firewall mengatur layanan FileAndPrint netsh firewall advfirewall mengatur grup aturan = "Berbagi File dan Printer" baru mengaktifkan = Ya firewall set layanan netsh RemoteDesktop mengaktifkan netsh firewall advfirewall mengatur aturan grup = "remote desktop" baru aktifkan = Ya firewall netsh ditetapkan service RemoteDesktop enable profile = ALL Jalankan perintah berikut:

firewall netsh advfirewall mengatur grup aturan = "remote desktop" baru aktifkan = Ya profil = domain

firewall netsh advfirewall mengatur grup aturan = "remote desktop" baru aktifkan = Ya profil = pribadi


3
Anda mungkin ingin mengerjakan pemformatan. Saat ini mengerikan untuk dibaca, mengundang downvotes.
— Gerald Schneider



3

Ada firewall bawaan di XP, Server 2003 dan yang lebih baru rilis.

Ini memiliki API di mana Anda dapat mengubah, mengaktifkan, dan menonaktifkan aturan secara terprogram.


1
Saya ingin sesuatu yang dapat saya akses secara program - tambahkan alamat IP ke firewall dari dalam skrip atau modul perangkat lunak.
— Aaron F.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.