- Tüm IPv6 netfilter girdilerini listele
-
Kısa
Genişletilmiş
# ip6tables -n -v --line-numbers -L
- Belli bir kural kümesini listele
# ip6tables -n -v --line-numbers -L INPUT
- Gelen kural kümesine bir kayıt kuralı ekle
# ip6tables --table filter --append INPUT -j LOG --log-prefix "INPUT:"
¬ --log-level 7
- Gelen kural kümesine bir durdurma kuralı ekle
# ip6tables --table filter --append INPUT -j DROP
- Bir kuralı numarasıyla sil
# ip6tables --table filter --delete INPUT 1
- ICMPv6'ya izin ver
Eski çekirdekleri kullanarak (yamanmamış 2.4.5 çekirdek ve iptables-1.2.2) tür belirtmek mümkün değildir.
Tünelden gelen ICMPv6'yı kabul et:
# ip6tables -A INPUT -i sit+ -p icmpv6 -j ACCEPT
Tünele giden ICMPv6'ya izin ver:
# ip6tables -A OUTPUT -o sit+ -p icmpv6 -j ACCEPT
Yeni çekirdekler ICMPv6 türlerini belirtmeye izin verirler.
# ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j ACCEPT
- Hız sınırlama
ICMPv6 fırtınası olabileceğinden (yazar bunu iki kez görmüştür) en azından ICMPv6 kural seti için hız kısıtlamasını kullanmanız gerekebilir. Buna ek olarak DoS ataklarından korunmak için de kısıtlamalar kullanmanız gerekebilir. Kısıtlanmış ICMPv6 örneği aşağıdakine benzer:
# ip6tables -A INPUT --protocol icmpv6 --icmpv6-type echo-request -j ACCEPT
¬ --match limit --limit 30/minute
- SSH isteklerine izin verin
Aşağıdaki örnekte belirlenen bir IPv6 adresinden gelen SSH isteklerine izin verilmektedir.
3ffe:ffff:100::1/128 adresinden gelen SSH isteklerine izin ver:
# ip6tables -A INPUT -i sit+ -p tcp -s 3ffe:ffff:100::1/128
¬ --sport 512:65535 --dport 22 -j ACCEPT
Yanıt paketlerine izin ver (şimdilik IPv6 bağlantısının izini sürmek netfilter6 tarafından gerçekleştirilememektedir)
# ip6tables -A OUTPUT -o sit+ -p tcp -d 3ffe:ffff:100::1/128
¬ --dport 512:65535 --sport 22 ! --syn j ACCEPT
- IPv4 içinde IPv6 tünelini etkinleştir
IPv4 içinde IPv6 tünellenmiş paketleri kabul etmek için, IPv4 güvenlik duvarı yapılandırmanıza bu paketlerle ilgili kurallar eklemeniz gerekir, örneğin;
- Örnek 8.7. ppp0 arabiriminde IPv4 içinde IPv6 tünelinden gelen paketlere izin ver
# iptables -A INPUT -i ppp0 -p ipv6 -j ACCEPT
- Örnek 8.8. ppp0 arabiriminde IPv4 içinde IPv6 tünelinden giden paketlere izin ver
# iptables -A OUTPUT -o ppp0 -p ipv6 -j ACCEPT
Eğer sadece bir statik tüneliniz varsa IPv4 adresini de belirleyebilirsiniz, örneğin;
- Örnek 8.9. ppp0 arabiriminde tünel son noktası 1.2.3.4 olan IPv4 içinde IPv6 tünelinden gelen paketlere izin ver
# iptables -A INPUT -i ppp0 -p ipv6 -s 1.2.3.4 -j ACCEPT
- Örnek 8.10. ppp0 arabiriminde tünel son noktası 1.2.3.4 olan IPv4 içinde IPv6 tünelinden giden paketlere izin ver
# iptables -A OUTPUT -o ppp0 -p ipv6 -d 1.2.3.4 -j ACCEPT
- Gelen TCP bağlantı isteklerine karşı koru
MUTLAKA ÖNERİLİR! Güvenlik gerekçeleriyle gelen TCP bağlantı isteklerini durduran bir kural eklemelisiniz. Eğer başka bir arabirim kullanıyorsanız -i seçeneğiyle bunu ayarlayın.
Bu konak'a gelen TCP bağlantı isteklerini durdur:
# ip6tables -I INPUT -i sit+ -p tcp --syn -j DROP
Bu yönlendiricinin arkasındaki konaklara gelen TCP bağlantı isteklerini durdur:
# ip6tables -I FORWARD -i sit+ -p tcp --syn -j DROP
Belkide bu kurallar aşağıda başkalarıyla değiştirilecektir, ama bunun üzerinde düşünmeniz gerekir. En iyi yöntem bir betik hazırlayıp kuralları belirlenen sıra ile çalıştırmaktır.
- Gelen UDP bağlantı isteklerine karşı koru
MUTLAKA ÖNERİLİR! Güvenlik duvarı bilgisinde söylediğim gibi giden UDP/TCP oturumlarında portları kontrol etmek mümkündür. Eğer tüm yerel IPv6 sistemleriniz örneğin 32768-60999 arası portları kullanıyorsa UDP bağlantılarını aşağıdaki gibi durdurmanız mümkündür:
Bu konaktan giden isteklerin yanıtı olamayacak gelen UDP paketlerini durdur:
# ip6tables -I INPUT -i sit+ -p udp ! --dport 32768:60999 -j DROP
Bu yönlendiricinin arkasındaki konaklardan yapılan isteklerin yanıtı olamayacak gelen UDP paketlerini durdur:
# ip6tables -I FORWARD -i sit+ -p udp ! --dport 32768:60999 -j DROP