[iptables] problème de compréhension

Applications, problèmes de configuration réseau
Avatar de l’utilisateur
kira
Daikyu
Messages : 82
Inscription : dim. 12 janv. 2014, 11:09
Localisation : Far West

[iptables] problème de compréhension

Message par kira »

Bonjour,

Je me suis exercé à configurer un firewall avec iptables pour comprendre comment tout cela fonctionne.

J'ai suivi une partie de ce guide : simple stateful firewall pour avoir cette conf :

Code : Tout sélectionner

-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
Si j'ai bien compris, l'idée de cette conf est d'examiner les nouvelles connexions pour leurs donner la permission d'entrer ou pas (ligne n°5 et 6). Et dès que cette permission est donnée, on leurs la redonne systématiquement (ligne n°1).

Pour voir si ce que je pense est vrai, je me suis amusé à supprimer les règles qui donnent les permissions à la première connexion (ligne n°5 et 6).
Mais patatra, après cette manip (suppression de ces règle+sauvegarde règle iptables+redémarrage ordi), j'arive toujours à me connecter à des sites internet (comme archlinux.fr par exemple...).

Et j'ai un second problème : httpd (apache server) ne veut plus se lancer !

Mais diantre ! Que s'est-il passé ?

Merci pour votre aide !
CPU~Dual core Intel Core i3-4005U (-HT-MCP-) speed/max~800/1600 MHz Kernel~4.7.1-1-ARCH x86_64 Up~22 min HDD~1000.2GB(18.1% used) Client~Shell

GPG fingerprint : 17B4 D924 29BC FE93 2527 B01C F8E0 3F9A 9A82 0F2F
Tox ID : 68FB11996235603E0A8EA25CC7D9570FFC0A29351C6F9976C4D74C9CF6542F5568D370BC5A6E
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [iptables] problème de compréhension

Message par benjarobin »

Bonjour,
Tu n'as pas suivi jusqu'au bout le Wiki. En effet ces 2 lignes en l'état ne servent à rien:

Code : Tout sélectionner

-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
Leurs buts étant de chaîner d'autres règles par la suite. Mais comme il n'y a rien de "connecté" à ces 2 chaînes alors elles ne servent à rien.
De plus il manque le début de la sortie de iptables-save, car sans le début il n'est pas possible de dire ce que font ces règles : C'est quoi le comportement par défaut.

Quelle est l’erreur de httpd ? Quel est sa configuration ?
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
kira
Daikyu
Messages : 82
Inscription : dim. 12 janv. 2014, 11:09
Localisation : Far West

Re: [iptables] problème de compréhension

Message par kira »

En ce moment, j'ai ceci :

Code : Tout sélectionner

*nat
:PREROUTING ACCEPT [583:177400]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [82:5075]
:POSTROUTING ACCEPT [82:5075]
COMMIT
# Completed on Mon Oct 29 10:42:35 2018
# Generated by iptables-save v1.8.0 on Mon Oct 29 10:42:35 2018
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1549:148551]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
COMMIT
Donc, normalement, le comportement par défaut est de jeter touts les paquets entrant, non ? Pourtant, j'arrive quand même à avoir accès à des pages web ! Ou alors, les paquets entrant sont considérés comme liés à une liaison déjà établie ? Mais en ce cas, ça n'a pas de sens puisque j'ai redémarré mon ordinateur ! Donc, les paquat devraient être considérés comme "NEW", non ?

Sinon, pour httpd, j'ai regardé les logs dans /var/log/httpd/. Mais je n'ai rien trouvé d'éclairant.

Merci.
CPU~Dual core Intel Core i3-4005U (-HT-MCP-) speed/max~800/1600 MHz Kernel~4.7.1-1-ARCH x86_64 Up~22 min HDD~1000.2GB(18.1% used) Client~Shell

GPG fingerprint : 17B4 D924 29BC FE93 2527 B01C F8E0 3F9A 9A82 0F2F
Tox ID : 68FB11996235603E0A8EA25CC7D9570FFC0A29351C6F9976C4D74C9CF6542F5568D370BC5A6E
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [iptables] problème de compréhension

Message par benjarobin »

C'est cette ligne qui autorise les paquets entrants que tu as généré (ils sont une réponse à un message NEW de sortie)

Code : Tout sélectionner

-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Pour httpd, il va falloir beaucoup plus d'information que cela ne marche pas... Quand tu dis que httpd n'arrive plus à se lancer tu arrives comment à cette conclusion ? Quelle est sa configuration ?
Quel est le log associé (journalctl -b -u ... et systemctl status ...)
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
kira
Daikyu
Messages : 82
Inscription : dim. 12 janv. 2014, 11:09
Localisation : Far West

Re: [iptables] problème de compréhension

Message par kira »

Ok, donc si je comprends bien, mon ordi (client pour le coup) envoi un paquet de requête considéré comme NEW. Ensuite, les paquets de réponses sont considérés comme "ESTABLISHED" et c'est comme cela qu'ils sont autorisés à entrer ?

Mais du coup, les chaines "TCP" et "UDP" ne servent à rien puisque mon ordi n'est pas un serveur web, non ?

Sinon, pour httpd, j'ai trouvé mon erreur : j'ai changé le nom du dossier root dans système de fichier mais j'ai oublié de reporter ce changement le fichier de cong de apache server !

Merci !
CPU~Dual core Intel Core i3-4005U (-HT-MCP-) speed/max~800/1600 MHz Kernel~4.7.1-1-ARCH x86_64 Up~22 min HDD~1000.2GB(18.1% used) Client~Shell

GPG fingerprint : 17B4 D924 29BC FE93 2527 B01C F8E0 3F9A 9A82 0F2F
Tox ID : 68FB11996235603E0A8EA25CC7D9570FFC0A29351C6F9976C4D74C9CF6542F5568D370BC5A6E
Avatar de l’utilisateur
kira
Daikyu
Messages : 82
Inscription : dim. 12 janv. 2014, 11:09
Localisation : Far West

Re: [iptables] problème de compréhension

Message par kira »

Et sinon, je ne comprends pas pourquoi le nombre de paquets/octets de OUTPUT ACCEPT [82:5075] de la table NAT qui est égale à POSTROUTING ACCEPT [82:5075] de la table NAT n'est pas égale à OUTPUT ACCEPT [1549:148551] de la table FILTER. Car un paquet sortant passe forcément d'après ce schéma par la chaine OUTPUT de la table NAT puis par la chaine OUTPUT de la table FILTER et enfin par la chaine POSTROUTING de la table NAT. Et comme il n'y a pas de forwarding (mon ordi n'est pas un server web), les quantités doivent être égales, non ?

Merci !
CPU~Dual core Intel Core i3-4005U (-HT-MCP-) speed/max~800/1600 MHz Kernel~4.7.1-1-ARCH x86_64 Up~22 min HDD~1000.2GB(18.1% used) Client~Shell

GPG fingerprint : 17B4 D924 29BC FE93 2527 B01C F8E0 3F9A 9A82 0F2F
Tox ID : 68FB11996235603E0A8EA25CC7D9570FFC0A29351C6F9976C4D74C9CF6542F5568D370BC5A6E
Répondre