Sur ma passerelle, j'ai ajouté des règles Iptables pour améliorer la
sécurité, en empêchant par exemple les trames venant d'Internet qui ont
comme source des IP de classes A, B, C et D.
iptables -t nat -A PREROUTING -i $WAN_INTERFACE -s 10.0.0.0/8 -j DROP
Dans ce cas, je sais quelles fonctionnent avec "iptables -t nat -L -n
- -v" et le nb de paquets donné.
J'ai voulu ajouté des règles pour l'accès à POP3 (tcp/110) où seules les
IP des serveurs POP3 choisis seront accessibles (en fait je drop les
trames qui ne corresponde pas).
iptables -t nat -A PREROUTING -i $LAN_INTERFACE -s $LAN_NETWORK -p tcp
- --dport 110 -d ! $ipPopServer -j DROP
Pour les tests j'ai mis "-j ACCEPT"
Mais dans ce cas, même en allant relever mes mails, je n'ai pas d'info
sur le nb de paquets pris par la règle.
Une erreur de ma part, c'est sûr, mais je ne vois pas où.
Une petite idée ??
Sur ma passerelle, j'ai ajouté des règles Iptables pour améliorer la
sécurité, en empêchant par exemple les trames venant d'Internet qui ont
comme source des IP de classes A, B, C et D.
iptables -t nat -A PREROUTING -i $WAN_INTERFACE -s 10.0.0.0/8 -j DROP
Dans ce cas, je sais quelles fonctionnent avec "iptables -t nat -L -n
- -v" et le nb de paquets donné.
J'ai voulu ajouté des règles pour l'accès à POP3 (tcp/110) où seules les
IP des serveurs POP3 choisis seront accessibles (en fait je drop les
trames qui ne corresponde pas).
iptables -t nat -A PREROUTING -i $LAN_INTERFACE -s $LAN_NETWORK -p tcp
- --dport 110 -d ! $ipPopServer -j DROP
Pour les tests j'ai mis "-j ACCEPT"
Mais dans ce cas, même en allant relever mes mails, je n'ai pas d'info
sur le nb de paquets pris par la règle.
Une erreur de ma part, c'est sûr, mais je ne vois pas où.
Une petite idée ??
Sur ma passerelle, j'ai ajouté des règles Iptables pour améliorer la
sécurité, en empêchant par exemple les trames venant d'Internet qui ont
comme source des IP de classes A, B, C et D.
iptables -t nat -A PREROUTING -i $WAN_INTERFACE -s 10.0.0.0/8 -j DROP
Dans ce cas, je sais quelles fonctionnent avec "iptables -t nat -L -n
- -v" et le nb de paquets donné.
J'ai voulu ajouté des règles pour l'accès à POP3 (tcp/110) où seules les
IP des serveurs POP3 choisis seront accessibles (en fait je drop les
trames qui ne corresponde pas).
iptables -t nat -A PREROUTING -i $LAN_INTERFACE -s $LAN_NETWORK -p tcp
- --dport 110 -d ! $ipPopServer -j DROP
Pour les tests j'ai mis "-j ACCEPT"
Mais dans ce cas, même en allant relever mes mails, je n'ai pas d'info
sur le nb de paquets pris par la règle.
Une erreur de ma part, c'est sûr, mais je ne vois pas où.
Une petite idée ??
Salut,
Seb a écrit :
Sur ma passerelle, j'ai ajouté des règles Iptables pour améliorer la
sécurité, en empêchant par exemple les trames venant d'Internet qui ont
comme source des IP de classes A, B, C et D.
Alors tes règles ne doivent pas laisser passer grand chose, dans la
mesure ou la plupart des adresses internet appartiennent à ces anciennes
classes. Classes qui sont désormais obsolètes depuis l'adoption de CIDR,
c'est-à-dire un bon moment.iptables -t nat -A PREROUTING -i $WAN_INTERFACE -s 10.0.0.0/8 -j DROP
Dans ce cas, je sais quelles fonctionnent avec "iptables -t nat -L -n
- -v" et le nb de paquets donné.
Remarque : bien que supportant les cibles ACCEPT et DROP, les chaînes
PREROUTING, OUTPUT et POSTROUTING de la table nat ne sont pas prévues
pour faire du filtrage mais uniquement du NAT (SNAT, DNAT, MASQUERADE,
REDIRECT, NETMAP...), à cause de leur fonctionnement particulier en
relation avec le suivi de connexion : seul le premier paquet d'une
connexion est examiné par les règles des chaînes de la table nat, et le
résultat détermine également le traitement des paquets suivants dans les
deux sens.
Le filtrage (ACCEPT, REJECT, DROP...) doit avoir lieu dans les chaînes
INPUT, OUTPUT et FORWARD de la table filter (table par défaut) qui sont
prévues pour ça. A la limite, si on a besoin de filtrer sur des critères
qui peuvent être altérés après la traversée de la chaîne PREROUTING
(comme par exemple l'adresse destination en cas de port forwarding), il
vaut mieux le faire dans la table mangle (toujours traversée avant la
table nat) que dans la table nat. Mais une solution plus élégante
consiste à marquer les paquets à filtrer dans la table mangle avec la
cible MARK et à les filtrer dans la table filter avec la correspondance
mark.
Exemple pour rejeter l'accès aux adresses privées du LAN depuis
l'extérieur :
iptables -t mangle -A PREROUTING -i $WAN_INTERFACE -d $LAN_NETWORK
-j MARK --set-mark 0x1234
iptables -A INPUT -i $WAN_INTERFACE -m mark --mark 0x1234
-j REJECT --reject-with network unreachable
iptables -A FORWARD -i $WAN_INTERFACE -m mark --mark 0x1234
-j REJECT --reject-with network unreachableJ'ai voulu ajouté des règles pour l'accès à POP3 (tcp/110) où seules les
IP des serveurs POP3 choisis seront accessibles (en fait je drop les
trames qui ne corresponde pas).
iptables -t nat -A PREROUTING -i $LAN_INTERFACE -s $LAN_NETWORK -p tcp
- --dport 110 -d ! $ipPopServer -j DROP
Remarque 1: comme expliqué plus haut, ce filtrage devrait avoir lieu
dans la chaîne FORWARD de la table filter.
Remarque 2: pour ce genre de filtrage il vaut mieux utiliser la cible
REJECT avec émission d'un RST (option --reject-with tcp-reset) pour
signaler immédiatement à l'émetteur que la connexion est refusée au lieu
de le laisser réessayer plusieurs fois et attendre en vain une réponse
avant d'abandonner finalement.
Remarque 3: tu fais comment s'il y a plusieurs adresses de serveurs POP3 autorisées ?Pour les tests j'ai mis "-j ACCEPT"
Si c'est pour compter on peut aussi ne pas spécifier de cible, ainsi le
paquet continue à traverser les règles suivantes.Mais dans ce cas, même en allant relever mes mails, je n'ai pas d'info
sur le nb de paquets pris par la règle.
Mais encore ? Le compteur de paquets reste à zéro ?
Le serveur POP interrogé est-il celui autorisé ou un autre ?Une erreur de ma part, c'est sûr, mais je ne vois pas où.
Une petite idée ??
Il faudrait voir les règles précédentes. Mais la première erreur est
déjà d'avoir fait du filtrage dans la table nat.
Salut,
Seb a écrit :
Sur ma passerelle, j'ai ajouté des règles Iptables pour améliorer la
sécurité, en empêchant par exemple les trames venant d'Internet qui ont
comme source des IP de classes A, B, C et D.
Alors tes règles ne doivent pas laisser passer grand chose, dans la
mesure ou la plupart des adresses internet appartiennent à ces anciennes
classes. Classes qui sont désormais obsolètes depuis l'adoption de CIDR,
c'est-à-dire un bon moment.
iptables -t nat -A PREROUTING -i $WAN_INTERFACE -s 10.0.0.0/8 -j DROP
Dans ce cas, je sais quelles fonctionnent avec "iptables -t nat -L -n
- -v" et le nb de paquets donné.
Remarque : bien que supportant les cibles ACCEPT et DROP, les chaînes
PREROUTING, OUTPUT et POSTROUTING de la table nat ne sont pas prévues
pour faire du filtrage mais uniquement du NAT (SNAT, DNAT, MASQUERADE,
REDIRECT, NETMAP...), à cause de leur fonctionnement particulier en
relation avec le suivi de connexion : seul le premier paquet d'une
connexion est examiné par les règles des chaînes de la table nat, et le
résultat détermine également le traitement des paquets suivants dans les
deux sens.
Le filtrage (ACCEPT, REJECT, DROP...) doit avoir lieu dans les chaînes
INPUT, OUTPUT et FORWARD de la table filter (table par défaut) qui sont
prévues pour ça. A la limite, si on a besoin de filtrer sur des critères
qui peuvent être altérés après la traversée de la chaîne PREROUTING
(comme par exemple l'adresse destination en cas de port forwarding), il
vaut mieux le faire dans la table mangle (toujours traversée avant la
table nat) que dans la table nat. Mais une solution plus élégante
consiste à marquer les paquets à filtrer dans la table mangle avec la
cible MARK et à les filtrer dans la table filter avec la correspondance
mark.
Exemple pour rejeter l'accès aux adresses privées du LAN depuis
l'extérieur :
iptables -t mangle -A PREROUTING -i $WAN_INTERFACE -d $LAN_NETWORK
-j MARK --set-mark 0x1234
iptables -A INPUT -i $WAN_INTERFACE -m mark --mark 0x1234
-j REJECT --reject-with network unreachable
iptables -A FORWARD -i $WAN_INTERFACE -m mark --mark 0x1234
-j REJECT --reject-with network unreachable
J'ai voulu ajouté des règles pour l'accès à POP3 (tcp/110) où seules les
IP des serveurs POP3 choisis seront accessibles (en fait je drop les
trames qui ne corresponde pas).
iptables -t nat -A PREROUTING -i $LAN_INTERFACE -s $LAN_NETWORK -p tcp
- --dport 110 -d ! $ipPopServer -j DROP
Remarque 1: comme expliqué plus haut, ce filtrage devrait avoir lieu
dans la chaîne FORWARD de la table filter.
Remarque 2: pour ce genre de filtrage il vaut mieux utiliser la cible
REJECT avec émission d'un RST (option --reject-with tcp-reset) pour
signaler immédiatement à l'émetteur que la connexion est refusée au lieu
de le laisser réessayer plusieurs fois et attendre en vain une réponse
avant d'abandonner finalement.
Remarque 3: tu fais comment s'il y a plusieurs adresses de serveurs POP3 autorisées ?
Pour les tests j'ai mis "-j ACCEPT"
Si c'est pour compter on peut aussi ne pas spécifier de cible, ainsi le
paquet continue à traverser les règles suivantes.
Mais dans ce cas, même en allant relever mes mails, je n'ai pas d'info
sur le nb de paquets pris par la règle.
Mais encore ? Le compteur de paquets reste à zéro ?
Le serveur POP interrogé est-il celui autorisé ou un autre ?
Une erreur de ma part, c'est sûr, mais je ne vois pas où.
Une petite idée ??
Il faudrait voir les règles précédentes. Mais la première erreur est
déjà d'avoir fait du filtrage dans la table nat.
Salut,
Seb a écrit :
Sur ma passerelle, j'ai ajouté des règles Iptables pour améliorer la
sécurité, en empêchant par exemple les trames venant d'Internet qui ont
comme source des IP de classes A, B, C et D.
Alors tes règles ne doivent pas laisser passer grand chose, dans la
mesure ou la plupart des adresses internet appartiennent à ces anciennes
classes. Classes qui sont désormais obsolètes depuis l'adoption de CIDR,
c'est-à-dire un bon moment.iptables -t nat -A PREROUTING -i $WAN_INTERFACE -s 10.0.0.0/8 -j DROP
Dans ce cas, je sais quelles fonctionnent avec "iptables -t nat -L -n
- -v" et le nb de paquets donné.
Remarque : bien que supportant les cibles ACCEPT et DROP, les chaînes
PREROUTING, OUTPUT et POSTROUTING de la table nat ne sont pas prévues
pour faire du filtrage mais uniquement du NAT (SNAT, DNAT, MASQUERADE,
REDIRECT, NETMAP...), à cause de leur fonctionnement particulier en
relation avec le suivi de connexion : seul le premier paquet d'une
connexion est examiné par les règles des chaînes de la table nat, et le
résultat détermine également le traitement des paquets suivants dans les
deux sens.
Le filtrage (ACCEPT, REJECT, DROP...) doit avoir lieu dans les chaînes
INPUT, OUTPUT et FORWARD de la table filter (table par défaut) qui sont
prévues pour ça. A la limite, si on a besoin de filtrer sur des critères
qui peuvent être altérés après la traversée de la chaîne PREROUTING
(comme par exemple l'adresse destination en cas de port forwarding), il
vaut mieux le faire dans la table mangle (toujours traversée avant la
table nat) que dans la table nat. Mais une solution plus élégante
consiste à marquer les paquets à filtrer dans la table mangle avec la
cible MARK et à les filtrer dans la table filter avec la correspondance
mark.
Exemple pour rejeter l'accès aux adresses privées du LAN depuis
l'extérieur :
iptables -t mangle -A PREROUTING -i $WAN_INTERFACE -d $LAN_NETWORK
-j MARK --set-mark 0x1234
iptables -A INPUT -i $WAN_INTERFACE -m mark --mark 0x1234
-j REJECT --reject-with network unreachable
iptables -A FORWARD -i $WAN_INTERFACE -m mark --mark 0x1234
-j REJECT --reject-with network unreachableJ'ai voulu ajouté des règles pour l'accès à POP3 (tcp/110) où seules les
IP des serveurs POP3 choisis seront accessibles (en fait je drop les
trames qui ne corresponde pas).
iptables -t nat -A PREROUTING -i $LAN_INTERFACE -s $LAN_NETWORK -p tcp
- --dport 110 -d ! $ipPopServer -j DROP
Remarque 1: comme expliqué plus haut, ce filtrage devrait avoir lieu
dans la chaîne FORWARD de la table filter.
Remarque 2: pour ce genre de filtrage il vaut mieux utiliser la cible
REJECT avec émission d'un RST (option --reject-with tcp-reset) pour
signaler immédiatement à l'émetteur que la connexion est refusée au lieu
de le laisser réessayer plusieurs fois et attendre en vain une réponse
avant d'abandonner finalement.
Remarque 3: tu fais comment s'il y a plusieurs adresses de serveurs POP3 autorisées ?Pour les tests j'ai mis "-j ACCEPT"
Si c'est pour compter on peut aussi ne pas spécifier de cible, ainsi le
paquet continue à traverser les règles suivantes.Mais dans ce cas, même en allant relever mes mails, je n'ai pas d'info
sur le nb de paquets pris par la règle.
Mais encore ? Le compteur de paquets reste à zéro ?
Le serveur POP interrogé est-il celui autorisé ou un autre ?Une erreur de ma part, c'est sûr, mais je ne vois pas où.
Une petite idée ??
Il faudrait voir les règles précédentes. Mais la première erreur est
déjà d'avoir fait du filtrage dans la table nat.
Je ne refuse pas toutes les IP de classes A, B, C et D, mais seulement
les réseaux 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 224.0.0.0/4 et
240.0.0.0/5 arrivant sur la pate Internet de ma passerelle.
Pour la table MANGLE, je m'étais arrêté à son utilisation pour le QOS,
mais je vais m'y intéresser maintenant.
Comme les communications viennent du LAN, je peux donner un minimum
d'infos, et ajouter " --reject-with tcp-reset" ne fait pas de mal..
Sur ma passerelle, j'ai aussi un serveur DNS, il est donc facile de
récupérer les IP du serveur POP3 et de les utiliser dans une règle IPTABLES.
Pour mes tests sur ces règles, j'ai fait 2 erreurs.
J'ai oublié de supprimer le ! dans la règle avec le "-j ACCEPT" pour
matcher les connexions aux serveurs POP3.
Et surtout j'ai oublié que l'ordre des règles était important (juste
avant ces règles une autre règle matchait les communications vers POP3
(p3scan pour vérifier les virus) )
Je ne refuse pas toutes les IP de classes A, B, C et D, mais seulement
les réseaux 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 224.0.0.0/4 et
240.0.0.0/5 arrivant sur la pate Internet de ma passerelle.
Pour la table MANGLE, je m'étais arrêté à son utilisation pour le QOS,
mais je vais m'y intéresser maintenant.
Comme les communications viennent du LAN, je peux donner un minimum
d'infos, et ajouter " --reject-with tcp-reset" ne fait pas de mal..
Sur ma passerelle, j'ai aussi un serveur DNS, il est donc facile de
récupérer les IP du serveur POP3 et de les utiliser dans une règle IPTABLES.
Pour mes tests sur ces règles, j'ai fait 2 erreurs.
J'ai oublié de supprimer le ! dans la règle avec le "-j ACCEPT" pour
matcher les connexions aux serveurs POP3.
Et surtout j'ai oublié que l'ordre des règles était important (juste
avant ces règles une autre règle matchait les communications vers POP3
(p3scan pour vérifier les virus) )
Je ne refuse pas toutes les IP de classes A, B, C et D, mais seulement
les réseaux 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 224.0.0.0/4 et
240.0.0.0/5 arrivant sur la pate Internet de ma passerelle.
Pour la table MANGLE, je m'étais arrêté à son utilisation pour le QOS,
mais je vais m'y intéresser maintenant.
Comme les communications viennent du LAN, je peux donner un minimum
d'infos, et ajouter " --reject-with tcp-reset" ne fait pas de mal..
Sur ma passerelle, j'ai aussi un serveur DNS, il est donc facile de
récupérer les IP du serveur POP3 et de les utiliser dans une règle IPTABLES.
Pour mes tests sur ces règles, j'ai fait 2 erreurs.
J'ai oublié de supprimer le ! dans la règle avec le "-j ACCEPT" pour
matcher les connexions aux serveurs POP3.
Et surtout j'ai oublié que l'ordre des règles était important (juste
avant ces règles une autre règle matchait les communications vers POP3
(p3scan pour vérifier les virus) )
Seb a écrit :
>Sur ma passerelle, j'ai aussi un serveur DNS, il est donc facile de
>récupérer les IP du serveur POP3 et de les utiliser dans une règle
>IPTABLES.
S'il y a plusieurs serveurs, il faudra plusieurs règles.
Seb a écrit :
>Sur ma passerelle, j'ai aussi un serveur DNS, il est donc facile de
>récupérer les IP du serveur POP3 et de les utiliser dans une règle
>IPTABLES.
S'il y a plusieurs serveurs, il faudra plusieurs règles.
Seb a écrit :
>Sur ma passerelle, j'ai aussi un serveur DNS, il est donc facile de
>récupérer les IP du serveur POP3 et de les utiliser dans une règle
>IPTABLES.
S'il y a plusieurs serveurs, il faudra plusieurs règles.