it-swarm-tr.com

iptables: belirli ips'lere izin ver ve diğer tüm bağlantıları engelle

Belirli ips'lere nasıl izin verebilirim ve iptables'daki diğer tüm bağlantıları nasıl engelleyebilirim?

27
David

Uzun bir süre önce masaüstü kullanıcısı için temel Iptables kurallarına ilişkin blog yazısı yazdım ve muhtemelen okumalısınız ve Stateful firewall design ile bağlantılı makalesi. Ancak ön çekirdek 2.6.39 (ipset içerir ve beyaz listeye 10'dan fazla (10 isteğe bağlı) sahipseniz beyaz listeyi IP'ler için kullanmak isteyebilirsiniz.

İlk olarak kabul etmek veya bırakmak istediğimizi bildiğimiz devletler ve arayüzler.

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

Sadece IP ile izin vermek istiyorsanız, durum olmadan

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

yine de bunu yaparken sorunla karşılaşırsınız ve hayatınızı kolaylaştırmak için devleti kullanmanızı öneririm. Örneğin, -i lo ve -o lo kesinlikle bazı uygulamalar için sorunlara neden olacaktır.

29
xenoterracide

Aşağıda gelen bağlantılarını engelleyen (denenmemiş!) Bir örnek verilmiştir. 192.168.3.x, ICMP veya SSH bağlantı noktasına gelen geridöngü arabirimi üzerinden bağlantılara izin verilir. Diğer tüm bağlantılar reddedilir.

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

Aşağıdaki kural yalnızca IP'nize izin verir ve bağlantı noktası 22 veya ssh üzerinden diğer tüm IP'leri engeller. Bağlantıyı kesmeden önce yeni bir terminal ile test edin.

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

İşte tam çalışma örneği.
Ayrıca uygulamaların çalışmasını sağlar (yeniden: keepass ile ilgili yorumum başlamıyor)

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

0
Pawel Cioch