Pages : 1
#1 Le 21/09/2015, à 19:51
- corvuscorax
IPTables - De débutant à... moins débutant
Bien le bonsoir !
Sous Debian ou Xubuntu selon mes machines depuis une 10aine d'années, je me penche ces temps ci sur l'aspect sécurité. Et donc bien sûr, IPtables. Je comprend les règles de bases, du niveau de la doc ubuntu fr et de celle en.
#!/bin/bash
# Bloque tout le trafic
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
## On drop les scans XMAS et NULL.
iptables -A INPUT -p tcp --tcp-flags FIN,URG,PSH FIN,URG,PSH -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
# Droping all invalid packets
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
# Autorise les connexions déjà établies et localhost
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# ICMP (Ping)
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
# SSH
#iptables -A INPUT -p tcp --dport 666 -j ACCEPT
#iptables -A OUTPUT -p tcp –dport 666 -j ACCEPT
# DNS
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
# HTTP
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#HTTPS
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# FTP
iptables -A OUTPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
# Mail SMTP
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 587 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 587 -j ACCEPT
# Mail POP3
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT
# Mail IMAP
iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 143 -j ACCEPT
# NTP (horloge du serveur)
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
Je tourne donc avec les règles ci-dessus depuis quelques années. Cherchant des améliorations un peu partout sur le net, j'ai essayé d'en appliquer sans forcement tout comprendre (oui, je sais, pas très intelligent...). Entre autre (après les lignes ci dessus) :
#Flood ou déni de service : ça je pige
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
#Scan de ports : ça je pige beaucoup moins
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A port-scan -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j RETURN
iptables -A port-scan -j DROP --log-level 6
iptables -A specific-rule-set -p tcp --syn -j syn-flood
iptables -A specific-rule-set -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j port-scan
iptables -A INPUT -p icmp -m icmp --icmp-type address-mask-request -j DROP
iptables -A INPUT -p icmp -m icmp --icmp-type timestamp-request -j DROP
iptables -A INPUT -p icmp -m icmp -m limit --limit 1/second -j ACCEPT
iptables -A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/second --limit-burst 2 -j ACCEPT
exit 0
J'ai fais mes recherches, sans trouver grand chose, ou encore plus complexe. De fait, je souhaitais :
1) avoir confirmation que je n'ai rien zappé sur la partie 1
2) quelques explications ou liens pour la partie 2
3) de ce que je comprend, il n'y a ni conflits ni redondances. J'ai bon ?
Merci d'avance !
Dernière modification par corvuscorax (Le 21/09/2015, à 20:34)
Hors ligne
#2 Le 30/09/2015, à 10:13
- E.D.209
Re : IPTables - De débutant à... moins débutant
Bonjour,
Déjà une question pour la première partie de tes règles, je peux me tromper mais as-tu un serveur Web qui tourne sur ta machine? Un serveur Mail? Un serveur DNS?
Car si ce n'est pas le cas toutes tes règles en INPUT ne servent à rien. Si c'est le cas désolé, mais moi j'avais du mal à piger cette notion de trafic sortant et rentrant selon que tu sois serveur ou client.
Hors ligne
#3 Le 08/10/2015, à 23:36
- Alex_babtist
Re : IPTables - De débutant à... moins débutant
Salut
vous trouverez ici la configuration complète de iptables
http://heights-net.blogspot.com/2015/05/iptables.html
Dernière modification par Alex_babtist (Le 08/10/2015, à 23:37)
Hors ligne
#4 Le 09/10/2015, à 09:35
- pires57
Re : IPTables - De débutant à... moins débutant
Pourrais tu expliquer ce que tu cherches a faire exactement?
Iptables est un outil puissant qui fait presque tout (j'ai pas encore réussi a lui faire faire le café ) mais c'est aussi un casse tête sans nom pour un débutant.
Expliques ce que tu as déjà en place, les services qui tournent sur ta / tes machines, l'infra actuelle de ton réseau ...
Dernière modification par pires57 (Le 09/10/2015, à 09:35)
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
Pages : 1