Bonsoir à tous
Je fais appel à vous car je penche sur ce problème depuis quelques temps et malgré la lecture de beaucoup de sites et/ou tuto et je ne comprend toujours pas certains petit détails.
Tout d’abord je suis sur Debian noyau 2.6.26-2-686, j’ai déjà installé squid ainsi que squidguard pour tester le module de filtrage dont je suis d’ailleurs parfaitement satisfait.
C’est à partir d’ici que viens les quelques soucis, puisque je me suis penché sur iptables, afin de sécuriser correctement le serveur, la configuration réseau de ce dernier est la suivante (en entreprise mais pas sur le vrai réseau local, c’est une configuration de test) :
- eth0 interface lan adresse 192.168.10.102 netmask 255.255.255.0 tout ça connecté sur un petit switch.
- eth1 interface externe adresse 192.168.201.4 netmask 255.255.255.248 gw 192.168.201.1 connectée sur une box speedtouch qui est le routeur internet, le serveur sort donc grâce a eth1.
Voici une copie de mon script iptables tel quel en ce moment :
etc/firewall-start
On vide la table FILTRE
iptables -F
iptables -t nat -F
#On vire tout par défaut dans la table FILTRE
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
#On met les tables NAT et MANGLE par defaut sur ACCEPT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
#On active la translation d’adresse
#noyau
echo 1 > /proc/sys/net/ipv4/ip_forward
##################################################
Traffic vers le proxy-firewall
##################################################
on autorise les ping
#iptables -A OUTPUT -p icmp -j ACCEPT
#iptables -A INPUT -p icmp -j ACCEPT
on autorise les requêtes DNS
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
#on autorise le ssh (interface eth0 et eth1)
iptables -A INPUT -p tcp --dport 21000 -i eth0 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 21000 -o eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 21000 -i eth1 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 21000 -o eth1 -j ACCEPT
#http, https, ftp
iptables -A OUTPUT -p tcp -m multiport --dport 80,443,20,21 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --sport 80,443,20,21 -j ACCEPT
#On autorise le lan a se connecter a Webmin
iptables -A OUTPUT -p tcp --sport 10000 -o eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 10000 -i eth0 -j ACCEPT
#on autorise les clients à se connecter au proxy
iptables -A OUTPUT -p tcp --sport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
###################################################
Traffic vers internet
#On ajoute nos règles pour autoriser le trafic vers internet
##################################################
#DNS
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
#ping
iptables -A FORWARD -p icmp -j ACCEPT
#On accetpte les relation déja établies ou en relation avec celles déjà établies depuis le net
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
###################################################
Traffic depuis internet
#On ajoute nos règles pour autoriser le trafic depuis internet
##################################################
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG
–log-prefix '[IPTABLES DROP] : '
iptables -A LOG_DROP -j DROP
Il y a surement déjà des erreurs, n’hésitez d’ailleurs pas à les mettre en avant ! Je voudrais maintenant pourvoir accéder à ce serveur depuis l’extérieur, depuis l’adresse 80.***.***.*** qui est l’adresse du routeur @ fixe au passage). J’ai donc penché sur les redirections des requêtes, ici mon serveur ssh écoute sur l’adresse 192.168.10.102:21000 (j’ai préféré changer de port), il faut donc rediriger les requêtes provenant d’internet vers l’adresse 192.168.10.102:21000 en local (si j’ai bien compris).
Ce que je ne comprend pas : J’ai vu sur beaucoup de site expliquant la configuration d’iptables que l’interface externe possédait directement une @ip publique, or moi j’ai une privée mais qui me permet de sortir sur internet. J’ai aussi vu le terme “ppp0”, après m’être renseigné un peu dessus, j’ai du mal a comprendre son utilisation. Du coup je n’arrive pas trop à m’y retrouver au niveau des règles iptables pour arriver à attaquer le serveur ssh de l’extérieur.
Je précise que ssh fonctionne parfaitement en local sur le port 21000 ainsi que webmin (qui ne restera pas très longtemps, juste pour tester iptables).
Voila j’espère avoir été assez clair et vous remercie d’avance de vos réponses !