iptables firewall Nasıl ?

Hosting’den bunaldınız.Bir VPS kiralamak istediniz.Linux bir VPS kiraladınız. Bir kontrol paneli istemediniz (cpanel, vesta, ispconfig vb…) Sonra ? Nasıl olacak bu kucağımıza verilen VPS ? Hani bunun güvenlik duvarı ? Nasıl aktif edeceğiz ? Kuralları nasıl oluşturacağız ?

Hadi yapalım…

Kiraladınız bir VPS Linux sunucu, bunun hangi linux dağıtımı olduğu benim için önemsiz ama en çok kullanılan ve son kullanıcı dostu Ubuntu için birşeyler yazalım çizelim burada…

Tipik bazı önemli güvenlik duvarı politikalarını paylaşayım sizlerle, sizde aynılarını uygulayın en azından bir güvenliğiniz olsun, hiç olmamasından iyidir…

Eğer Ubuntu kullanıyor iseniz “ufw” sistemden kaldırmayı unutmayın, kaldırmak için ;(Ben sevmiyorum bu arkadasi)

  • sudo ufw disable
  • sudo apt-get remove ufw
  • sudo apt-get purge ufw

Eğer sistemde iptables kurulu değil ise kurmak için ;

  • sudo apt-get update
  • sudo apt-get install iptables-persistent

Var ise mevcut kuralları silmek için ;

  • iptables -F

Varsayılan olarak Gelen ve Giden trafiği engellemek (VPS sizin ise gideni engellemekle uğraşmayın sonra nete çıkmak isteyen uygulamalarınız ile sorun yaşayabilirsiniz)

  • iptables -P INPUT DROP
  • iptables -P FORWARD DROP
  • iptables -P OUTPUT ACCEPT

Bundan sonrasını paragrafsız yacağım teker teker uygularsınız.Aşağıdaki kurallar sizi DDOS, SSH atakları vb tip ataklara karşı koruma altına alacaktır.Aynı zamanda size lazım olan olması gereken portlarıda serbest bırakacaktır.(SSH ile sunucunuza bağlanabilmek, web sayfanızın görülebilmesi gibi 🙂 )

HTTP ATTACK RULES (DDOS)

iptables -A INPUT -p tcp -m tcp –dport 80 -m limit –limit 25/min –limit-burst 100 -j ACCEPT

SSH ATTACK RULES

iptables -A INPUT -p tcp -m tcp –dport 22 -m conntrack –ctstate NEW -m recent –set –name DEFAULT –mask 255.255.255.255 –rsource

iptables -A INPUT -p tcp -m tcp –dport 22 -m conntrack –ctstate NEW -m recent –update –seconds 60 –hitcount 10 –name DEFAULT –mask 255.255.255.255 –rsource -j DROP

Limit connections per source IP

iptables -A INPUT -p tcp -m connlimit –connlimit-above 111 -j REJECT –reject-with tcp-reset

Limit RST packets

iptables -A INPUT -p tcp –tcp-flags RST RST -m limit –limit 2/s –limit-burst 2 -j ACCEPT
iptables -A INPUT -p tcp –tcp-flags RST RST -j DROP

Limit new TCP connections per second per source IP

iptables -A INPUT -p tcp -m conntrack –ctstate NEW -m limit –limit 60/s –limit-burst 20 -j ACCEPT
iptables -A INPUT -p tcp -m conntrack –ctstate NEW -j DROP

PORT Scanners

iptables -A INPUT -m state –state NEW -p tcp –tcp-flags ALL ALL -j DROP
iptables -A INPUT -m state –state NEW -p tcp –tcp-flags ALL NONE -j DROP

FTP RULES (ACTIVE PASSIVE SSL)

Proftp ve vsftp ayarlarından passive portları 2121:2142 arası yapmayı unutmayın veya istediğiniz port aralığı (Port aralıklarını kendi ayarlarınıza göre aşağıda değiştirmeyi unutmayın…)

iptables -A INPUT -p tcp -m tcp –dport 20 -m conntrack –ctstate RELATED,ESTABLISHED -m comment –comment “Allow ftp connections on port 20” -j ACCEPT

iptables -A INPUT -p tcp -m tcp –dport 21 -m conntrack –ctstate NEW,ESTABLISHED -m comment –comment “Allow ftp connections on port 21” -j ACCEPT

iptables -A INPUT -p tcp -m state –state NEW -m tcp -m multiport –dports 2121:2142 -j ACCEPT

STANDART RULES

Kullandığınız başka portlar varsa ekleyiniz (webmin tcp 10.000 portu gibi…)

iptables -A INPUT -p tcp -m tcp –dport 22 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 53 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m udp –dport 53 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 80 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 443 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 3306 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPT

Hepsini yaptınız bunu her açılışta aktif etmek için ;
(Ayarlari yaptik yaptik her restart’da sifirliyor diyorsaniz)

  • sudo apt-get install iptables-persistent netfilter-persistent
  • sudo netfilter-persistent save
  • sudo netfilter-persistent reload

Girdiğiniz kuralları görmek için ;

  • sudo iptables -L
  • sudo iptables -L -v
  • sudo iptables -L –line-numbers

Kuralların kaydolduğu yer ;

/etc/iptables/rules.v4
/etc/iptables/rules.v6

Kuralları görmek için ;

  • sudo nano /etc/iptables/rules.v4
  • sudo nano /etc/iptables/rules.v6

iptables wiki sayfası : https://en.wikipedia.org/wiki/Iptables ,
En çok kullanılan 25 tipik kural için kaynak :
https://www.thegeekstuff.com/2011/06/iptables-rules-examples/?utm_source=feedburner

Onu unutmuşsun, bunu unutmuşsun, oraya şu kuralda gelmeli, yanlış olmuş diye teeeeee en başından sırf eleştirmiş olmak için gelecek arkadaşlar… iptables kernel kısmına kadar girersek sabaha çıkamayız bu yazıdan, ha girelim abi derseniz onada gireriz…Bu yazı sadece yeni başlayan, meraklı olan, öğrenme isteği olan arkadaşlara en baz yol gösterme yazısıdır.

Haydi kolay gele…

iptables