Kullanım
Önceki Güvenlik Duvarı Oluşturmak Sonraki
Kullanım
Desteğin kontrol edilmesi
Modül olarak derlenmişse, modülü yükleyin:
# modprobe ip6_tables
Yeteneklerini kontrol edin:
# [ ! -f /proc/net/ip6_tables_names ] && echo "Kullandığınız çekirdeğin
¬ 'ip6tables' güvenlik duvarı (IPv6) desteği yok!"
ip6tables nasıl kullanılır öğrenin
Tüm IPv6 netfilter girdilerini listele
  • Kısa
    # ip6tables -L
    
  • 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
Açıklayıcı örnek
Aşağıdaki satırlar daha karmaşık bir yapılandırma örneğini göstermektedir. Mutlu netfilter6 kural setleri hazırlamalar...
# # ip6tables -n -v -L
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 extIN      all      sit+   *       ::/0                 ::/0
    4   384 intIN      all      eth0   *       ::/0                 ::/0
    0     0 ACCEPT     all      *      *       ::1/128              ::1/128
    0     0 ACCEPT     all      lo     *       ::/0                 ::/0
    0     0 LOG        all      *      *       ::/0                 ::/0
¬ LOG flags 0 level 7 prefix `INPUT-default:'
    0     0 DROP       all      *      *       ::/0                 ::/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 int2ext    all      eth0   sit+    ::/0                 ::/0
    0     0 ext2int    all      sit+   eth0    ::/0                 ::/0
    0     0 LOG        all      *      *       ::/0                 ::/0
¬ LOG flags 0 level 7 prefix `FORWARD-default:'
    0     0 DROP       all      *      *       ::/0                 ::/0

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 extOUT     all      *      sit+    ::/0                 ::/0
    4   384 intOUT     all      *      eth0    ::/0                 ::/0
    0     0 ACCEPT     all      *      *       ::1/128              ::1/128
    0     0 ACCEPT     all      *      lo      ::/0                 ::/0
    0     0 LOG        all      *      *       ::/0                 ::/0
¬ LOG flags 0 level 7 prefix `OUTPUT-default:'
    0     0 DROP       all      *      *       ::/0                 ::/0

Chain ext2int (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0
    0     0 ACCEPT     tcp       *      *       ::/0                 ::/0
¬ tcp spts:1:65535 dpts:1024:65535 flags:!0x16/0x02
    0     0 LOG        all       *      *       ::/0                 ::/0
¬ LOG flags 0 level 7 prefix `ext2int-default:'
    0     0 DROP       tcp       *      *       ::/0                 ::/0
    0     0 DROP       udp       *      *       ::/0                 ::/0
    0     0 DROP       all       *      *       ::/0                 ::/0

Chain extIN (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp       *      *       3ffe:400:100::1/128  ::/0
¬ tcp spts:512:65535 dpt:22
    0     0 ACCEPT     tcp       *      *       3ffe:400:100::2/128  ::/0
¬ tcp spts:512:65535 dpt:22
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0
    0     0 ACCEPT     tcp       *      *       ::/0                 ::/0
¬ tcp spts:1:65535 dpts:1024:65535 flags:!0x16/0x02
    0     0 ACCEPT     udp       *      *       ::/0                 ::/0
¬ udp spts:1:65535 dpts:1024:65535
    0     0 LOG        all       *      *       ::/0                 ::/0
¬ limit: avg 5/min burst 5 LOG flags 0 level 7 prefix `extIN-default:'
    0     0 DROP       all       *      *       ::/0                 ::/0

Chain extOUT (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp       *      *       ::/0
¬ 3ffe:ffff:100::1/128tcp spt:22 dpts:512:65535 flags:!0x16/0x02
    0     0 ACCEPT     tcp       *      *       ::/0
¬ 3ffe:ffff:100::2/128tcp spt:22 dpts:512:65535 flags:!0x16/0x02
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0
    0     0 ACCEPT     tcp       *      *       ::/0                 ::/0
¬ tcp spts:1024:65535 dpts:1:65535
    0     0 ACCEPT     udp       *      *       ::/0                 ::/0
¬ udp spts:1024:65535 dpts:1:65535
    0     0 LOG        all       *      *       ::/0                 ::/0
¬ LOG flags 0 level 7 prefix `extOUT-default:'
    0     0 DROP       all       *      *       ::/0                 ::/0

Chain int2ext (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0
    0     0 ACCEPT     tcp       *      *       ::/0                 ::/0
¬ tcp spts:1024:65535 dpts:1:65535
    0     0 LOG        all       *      *       ::/0                 ::/0
¬ LOG flags 0 level 7 prefix `int2ext:'
    0     0 DROP       all       *      *       ::/0                 ::/0
    0     0 LOG        all       *      *       ::/0                 ::/0
¬ LOG flags 0 level 7 prefix `int2ext-default:'
    0     0 DROP       tcp       *      *       ::/0                 ::/0
    0     0 DROP       udp       *      *       ::/0                 ::/0
    0     0 DROP       all       *      *       ::/0                 ::/0

Chain intIN (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all       *       *       ::/0
¬ fe80::/ffc0::
    4   384 ACCEPT     all       *       *       ::/0                ff02::/16

Chain intOUT (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all       *      *       ::/0
¬ fe80::/ffc0::
    4   384 ACCEPT     all       *      *       ::/0                 ff02::/16
    0     0 LOG        all       *      *       ::/0                 ::/0
¬ LOG flags 0 level 7 prefix `intOUT-default:'
    0     0 DROP       all       *      *       ::/0                 ::/0
Önceki Üst Ana Başlık Sonraki
Hazırlık Başlangıç Güvenlik
Bir Linux Kitaplığı Sayfası