it-swarm-id.com

iptables: memungkinkan ips tertentu dan memblokir semua koneksi lainnya

Bagaimana saya mengizinkan ips tertentu dan memblokir semua koneksi lain di iptables?

27
David

Saya menulis posting blog tentang aturan dasar Iptables untuk pengguna desktop sejak lama dan Anda mungkin harus membacanya, dan artikel tertautnya di desain firewall Stateful . Tetapi sebelum kernel 2.6.39 (yang termasuk ipset dan Anda mungkin ingin menggunakannya untuk IP daftar putih jika Anda memiliki lebih dari 10 untuk daftar putih (di mana 10 adalah arbitrer)).

Pegangan pertama menyatakan bahwa kita tahu kita ingin menerima atau menjatuhkan, dan antarmuka.

iptables -P FORWARD DROP # we aren't a router
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -j ACCEPT
iptables -P INPUT DROP # Drop everything we don't accept

Jika Anda hanya ingin melakukan izin dengan IP saja, tanpa status

iptables -A INPUT -s 192.168.1.1 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.1 -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP

anda cenderung mengalami masalah dalam melakukan hal ini, dan saya sarankan menggunakan keadaan untuk membuat hidup Anda lebih mudah. Misalnya, tidak mengizinkan -i lo dan -o lo pasti akan menyebabkan masalah untuk aplikasi tertentu.

29
xenoterracide

Inilah contoh (belum diuji!) Yang memblokir masuk hanya koneksi. Koneksi melalui antarmuka loopback, yang berasal dari 192.168.3.x, ICMP, atau ke port SSH diizinkan. Semua koneksi lain ditolak.

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.3.0/24 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j REJECT

Aturan di bawah ini hanya akan memungkinkan IP Anda dan Blokir semua IP lain melalui port 22 atau ssh. Uji dengan terminal baru sebelum memutuskan koneksi.

iptables -I INPUT -p tcp ! -s yourIPaddress --dport 22 -j DROP
7
Ishtiyaque Noori

Ini adalah contoh lengkapnya.
Juga membuat aplikasi berfungsi (re: komentar saya tentang keepass tidak memulai)

https://github.com/skironDotNet/linux-allow-only-single-ip

0
Pawel Cioch