Salut.
J’essai d’interdire l’accès au port 3306 (de mysql) via iptables de l’extérieur.
Comme j’arrives pas à tester de l’extérieur, j’essaie de tester sur le localhost.
Mais j’y arrive pas, ça arrive encore à se connecter via: mysql --host=localhost --port=3306 -u utilisateur -p
Mon iptables basique:
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -A OUTPUT -p udp -m udp --dport 53 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A INPUT -p udp -m udp --sport 53 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A INPUT -p tcp -m multiport --sports 80,443 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT
J’ai ajouter tous ces règles:
iptables -A INPUT -p tcp --dport 3306 -j DROP
iptables -A OUTPUT -p tcp --dport 3306 -j DROP
ip6tables -A INPUT -p tcp --dport 3306 -j DROP
ip6tables -A OUTPUT -p tcp --dport 3306 -j DROP
iptables -A INPUT -p tcp -s localhost --dport 3306 -j DROP
iptables -A OUTPUT -p tcp -s localhost --dport 3306 -j DROP
ip6tables -A INPUT -p tcp -s localhost --dport 3306 -j DROP
ip6tables -A OUTPUT -p tcp -s localhost --dport 3306 -j DROP
iptables -A INPUT -p tcp --dport 3306 -s 127.0.0.1 -d 127.0.0.1 -j DROP
ip6tables -A INPUT -p tcp --dport 3306 -s ::1 -d ::1 -j DROP
Les règles sont bien sauvegarder dans iptables -L.
La connection arrive encore à s’établir sans soucis.
Je fais une erreur quelque part ?
Est-ce que la règle ci-dessous, empêche de bloquer le port 3306 ?
iptables -t filter -A OUTPUT -o lo -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT