iptables + state RELATED,ESTABLISHED - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 08-02-2007 à 15:28:15
ReplyMarsh Posté le 08-02-2007 à 15:31:11
nORKy a écrit : Bonjour, J'ai une question au sujet du module state. J'ai un comportement "bizarre". Est ce que cette bizarrerie peut venir de mon module state ?? |
il te manque le new !
tu autorise les connexion deja étable et celle qui sont en relation avec tes connexion mais tu n'autorise pas les nouvelle connexion
Marsh Posté le 08-02-2007 à 15:35:04
l0ky a écrit : parce que ta connection est encore valide |
c'est a dire ?? je comprends pas
Ce que je veux, c'est lorsque je supprime un etat NEW, beh, que ca supprime l'accès
carot0 : je crois qu'on c'est pas compris. Lorsque je mets le NEW, ca marche, mais quand je le supprime, ca continue de fonctionner sur les domaines ou j'ai été ! (alors que d'avant mettre le NEW, ca bloquait correctement
Marsh Posté le 08-02-2007 à 15:45:13
Une fois que ta connection TCP a été validée par ton entrée NEW, il rajoute une entrée dans sa table de connection TCP valide. Cette entrée reste valide tant que les timers n'ont pas expirés, où que la session TCP aient été fini proprement ou sauvagement (FYN->FYN/ACK ou RST), ou que les modules conntrack aient été déloadé.
Tant que cette entrée est valide, la connection est en l'état ESTABLISHED, donc ton trafic passe ton firewall. Il existe petit utilitaire pour couper les connections en regardant dans le fichier de connection dans le /proc. Me rappelle plus de leurs noms mais on en discute fréquemment sur les ML de netfilter
Marsh Posté le 08-02-2007 à 15:47:00
oki, donc , vaut mieux que je trouve un autre système alors, je vais rajouter un prog en +...
Marsh Posté le 31-03-2009 à 20:30:33
Bonjour/soir, il y a un truc que je voudrais savoir et je suis dans le doute
ma question concerne l'etat related pour une connexion :
Quelle difference entre ces deux regles, au niveau de la sécurité :
Code :
|
Pour la 2ieme qui a mon sens est plus sécurisée, l'etat related en général utilisé par le service FTP est il nécessaire dans le cas du http ainsi que pour d'autre service ? car je ne comprend pas pourquoi sur le net certains laisse l'etat related quand il ne s'agit pas de FTP !
Y'a t il un risque d'intrusion si l'on met related ou non sur une régle qui n'utilise pas le procotole FTP, je veut dire par la est ce que c'est cohérent sur du HTTP, SMTP etc... ? sans risque ?
Merci de votre aide
Marsh Posté le 31-03-2009 à 20:57:59
L'état RELATED sert à autoriser un paquet d'une nouvelle session TCP (à ma connaissance pas UDP, de toute manière les sessions et UDP, c'est un poil spécial) liée à une autre session dans l'état ESTABLISHED.
L'exemple le plus concret est pour le protocole FTP. Nous avons 2 sessions TCP différentes, l'une pour les commandes, l'autre pour la data. La session de commande permet de négocier les ports de la seconde. Le module de suivi de connexion de Netfilter adéquat analyse la première session et quand elle détecte une négociation de port crée une nouvelle connexion autorisée dans l'état RELATED.
Ce n'est pas restreint à FTP, tous les protocoles où il y a ce type d'échange (négociation de port) peut, en théorie, utilisé l'état RELATED (à partir du moment où il y a un module pour analyser le protocole).
Pour le HTTP, HTTPS, cet état n'est pas utilisé, ni pour le DNS, ni pour le SMTP.
Marsh Posté le 31-03-2009 à 21:05:34
o'gure a écrit : L'état RELATED sert à autoriser un paquet d'une nouvelle session TCP (à ma connaissance pas UDP, de toute manière les sessions et UDP, c'est un poil spécial) liée à une autre session dans l'état ESTABLISHED. |
Donc l'etat related inutile, pour une simple consultation d'un server web par un réseau :
# iptables -t filter -A FORWARD -s 192.168.x.0/24 -d 192.168.x.x -p tcp --dport 80 -m state --state NEW -j ACCEPT
# iptables -t filter -A FORWARD -s 192.168.x.x -d 192.168.x.0/24 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
Cela suffit pour que ca marche dans les deux sens : Requete du client et reponse du serveur ?
Je te remercie o'gure de ta reponse
Marsh Posté le 01-04-2009 à 08:46:08
shurik84 a écrit : Donc l'etat related inutile, pour une simple consultation d'un server web par un réseau : |
oui
shurik84 a écrit :
Cela suffit pour que ca marche dans les deux sens : Requete du client et reponse du serveur ? |
Non.
La tu autorise le premier paquet dans le sens client -> serveur (en l'état NEW)
Puis tu autorises tous les paquets en ESTABLISHED dans le serveur -> client.
Les paquets en l'état ESTABLISHED dans le sens client->serveur seront supprimés si ta politique par défaut est à DROP. Donc ça ne fonctionnera pas.
Marsh Posté le 01-04-2009 à 09:16:31
o'gure a écrit :
Les paquets en l'état ESTABLISHED dans le sens client->serveur seront supprimés si ta politique par défaut est à DROP. Donc ça ne fonctionnera pas. |
Actuellement je ne peut plus tester car je ne suis plus en entreprise, mais je me reinstalle la config chez moi
La politique par default est effectivement à drop
donc je pense que le plus approprié est :
NEW,ETABLISHED dans le sens client => serveur
ESTABLISHED dans le sens serveur => client
Pour une simple consultation HTTP d'un ou plusieur client vers un serveur !
Marsh Posté le 01-04-2009 à 09:20:19
Celle là :
shurik84 a écrit : |
Mais dans tes règles au dessus, tu n'avais pas mis ESTABLISHED pour le sens client -> serveur.
Marsh Posté le 01-04-2009 à 10:09:16
o'gure a écrit :
|
Si j'ai juste enlevé l'etat related sur mes règles en faite :
ce qui me donne au final ceci
Code :
|
Si je me trompe pas et pour bien comprendre, l'etat
- Toute connexion qui effectue une requete en direction du serveur web j'associe ,l'etat NEW, puis ETABLISHED pour les réponses qui vont arrivés du serveur WEB
- Tout ce qui est lié à la réponse du serveur est associé l'etat ETABLISHED car elle est en relation avec celle du dessus
Correct o'gure ?
Si les deux lignes sont correctes
Merci de tes réponses
Marsh Posté le 08-02-2007 à 15:26:02
Bonjour,
J'ai une question au sujet du module state.
J'ai un comportement "bizarre".
J'autorise tout ce qui est RELATED,ESTABLISHED et c'est le reste que je restreint.
Lorsque que j'active le port 80, biensur, mon navigateur fonctionne. Mais lorsque je le supprime (mais je laisse l'etat related, established accepté), je peux continuer de surfer uniquement sur le domaine ou j'étais !
Par exemple, je peux continuer de faire des recherche (mais que ca) sur google, mais si je cherche à aller ailleurs, biensur, ca ne fonctionne pas.
Est ce que cette bizarrerie peut venir de mon module state ??
merci