david hannequin a écrit :
La machine ne posséde qu'un interface réseau eth0Quelles sont les activités réseau prévues en entrée et en sortie ?juste un serveur web et ssh.Où sont situés les miroirs Debian configurés dans /etc/apt/sources.list ?En france http://ftp.fr.debian.org/Je crois comprendre ce qui suit sur la machine qui a ces règles : - elle appartient à un réseau local 192.168.0.0/24 - elle accepte et retransmet tout le trafic venant de ce réseau - elle peut émettre tout type de trafic vers ce réseau - elle peut émettre des requêtes DNS - elle héberge un serveur web et un serveur SSH.Mais : - elle ne peut émettre de requête vers des serveurs situés en dehors du réseau local, ni en recevoir les réponses - elle ne peut retransmettre les réponses aux requêtes qu'elles a laissé passer.C'est exactement ce que je pensai avoir écrit.
Ça implique qu'apt-get ne peut se connecter à un miroir Debian situé à l'extérieur du LAN. Je suppose que ce n'est pas tout à fait ce que tu souhaitais.
J'ai ajouté ses les lignes ci-dessous et les apt-get update fonctionnent : Merci à Julien Poszywal pour ses deux lignes. iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p udp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Ça doit marcher, certes, mais c'est à la fois trop permissif (autorise toute connexion TCP ou UDP sortante) et pas assez (bloque ce qui n'est pas TCP ni UDP, donc tous les ICMP utiles). Voici un jeu de règles relativement simple qui ne devrait autoriser que le trafic prévu.
LAN=192.168.0.0/24 # plage d'adresses du LAN DEB=ftp.fr.debian.org # miroir Debian # autorise le trafic E/S sur l'interface de loopback iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # autorise le trafic E/S appartenant ou relatif aux connexions etablies iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # chaines utilisateur pour les nouvelles connexions sur eth0 iptables -N in_new iptables -N out_new iptables -A INPUT -i eth0 -m state --state NEW -j in_new iptables -A OUTPUT -o eth0 -m state --state NEW -j out_new # autorise le trafic E/S avec le LAN iptables -A in_new -s $LAN -j ACCEPT iptables -A out_new -d $LAN -j ACCEPT # autorise les connexions HTTP(S) en entree iptables -A in_new -p tcp --dport 80 -j ACCEPT iptables -A in_new -p tcp --dport 443 -j ACCEPT # autorise les connexions SSH en entree iptables -A in_new -p tcp --dport 22 -j ACCEPT # autorise le ping en entree avec limite a 5/s iptables -A in_new -p icmp --icmp-type echo-request \ -m limit --limit 5/s -j ACCEPT # autorise les requêtes DNS en sortie iptables -A out_new -p udp --dport 53 -j ACCEPT iptables -A out_new -p tcp --syn --dport 53 -j ACCEPT # autorise les connexions HTTP en sortie vers le miroir Debian iptables -A out_new -d $DEB -p tcp --syn --dport 80 -j ACCEPT # rejette les autres paquets NEW en entree avec limite a 5/s iptables -A in_new -m limit --limit 5/s -j REJECT # bloque le reste (paquets invalides ou depassant la limite) iptables -A INPUT -j DROP iptables -A OUTPUT -j DROP