Voici les règles mises pour mon DNS dans iptable. est-ce bon ?
Voici les règles mises pour mon DNS dans iptable. est-ce bon ?
Voici les règles mises pour mon DNS dans iptable. est-ce bon ?
Voici les règles mises pour mon DNS dans iptable. est-ce bon ?
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
Voici les règles mises pour mon DNS dans iptable. est-ce bon ?
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
Voici les règles mises pour mon DNS dans iptable. est-ce bon ?
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
Salut,
Troumad a écrit :
Voici les règles mises pour mon DNS dans iptable. est-ce bon ?
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
P'têt ben qu'oui, p'têt ben qu'non. C'est impossible à dire avec aussi
peu d'information. Une règle n'a de signification que si on la replace
dans le contexte global de toutes les autres règles. Comment savoir
par exemple s'il n'y a pas un règle placée avant qui bloque les
paquets concernés ? Quelles sont les politiques par défaut, et où sont
les règles qui autorisent les paquets de réponse correspondants en
sortie ?
Bref, sans connaître l'ensemble de tes règles et leur ordre, on ne
peut rien dire. La sortie de iptables-save ou une copie du script
*complet* serait la bienvenue.
Salut,
Troumad a écrit :
Voici les règles mises pour mon DNS dans iptable. est-ce bon ?
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
P'têt ben qu'oui, p'têt ben qu'non. C'est impossible à dire avec aussi
peu d'information. Une règle n'a de signification que si on la replace
dans le contexte global de toutes les autres règles. Comment savoir
par exemple s'il n'y a pas un règle placée avant qui bloque les
paquets concernés ? Quelles sont les politiques par défaut, et où sont
les règles qui autorisent les paquets de réponse correspondants en
sortie ?
Bref, sans connaître l'ensemble de tes règles et leur ordre, on ne
peut rien dire. La sortie de iptables-save ou une copie du script
*complet* serait la bienvenue.
Salut,
Troumad a écrit :
Voici les règles mises pour mon DNS dans iptable. est-ce bon ?
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
P'têt ben qu'oui, p'têt ben qu'non. C'est impossible à dire avec aussi
peu d'information. Une règle n'a de signification que si on la replace
dans le contexte global de toutes les autres règles. Comment savoir
par exemple s'il n'y a pas un règle placée avant qui bloque les
paquets concernés ? Quelles sont les politiques par défaut, et où sont
les règles qui autorisent les paquets de réponse correspondants en
sortie ?
Bref, sans connaître l'ensemble de tes règles et leur ordre, on ne
peut rien dire. La sortie de iptables-save ou une copie du script
*complet* serait la bienvenue.
Tu peux placer : iptables -A INPUT -j LOG juste avant iptables -A
INPUT -j DROP
Il manque : iptables -A OUTPUT -i lo -j ACCEPT vers iptables -A
INPUT -i lo -j ACCEPT
Tu peux aussi lancer un tcpdump -nv, ensuite dans une autre fenêtre
(ou sur une autre console), tu fais un nslookup ou un host www.free.fr
par exemple. Tu vois si les trames ont bien un retour ou pas.
Tu peux placer : iptables -A INPUT -j LOG juste avant iptables -A
INPUT -j DROP
Il manque : iptables -A OUTPUT -i lo -j ACCEPT vers iptables -A
INPUT -i lo -j ACCEPT
Tu peux aussi lancer un tcpdump -nv, ensuite dans une autre fenêtre
(ou sur une autre console), tu fais un nslookup ou un host www.free.fr
par exemple. Tu vois si les trames ont bien un retour ou pas.
Tu peux placer : iptables -A INPUT -j LOG juste avant iptables -A
INPUT -j DROP
Il manque : iptables -A OUTPUT -i lo -j ACCEPT vers iptables -A
INPUT -i lo -j ACCEPT
Tu peux aussi lancer un tcpdump -nv, ensuite dans une autre fenêtre
(ou sur une autre console), tu fais un nslookup ou un host www.free.fr
par exemple. Tu vois si les trames ont bien un retour ou pas.
Troumad a écrit :Patrice OLIVER a écrit :
Tu peux placer : iptables -A INPUT -j LOG juste avant iptables
-A INPUT -j DROP
Si je comprends bien, c'est pour faire des log. C'est ça ?
Oui.Il manque : iptables -A OUTPUT -i lo -j ACCEPT vers iptables -A
INPUT -i lo -j ACCEPT
Ça fait quoi exactement.
Il est bon que ton localhost puisse entrer et sortir, c'est la règle
de base de iptables. Sans celà, dans certains cas, tu peux ne pas
réussir à sortir de la boîte.
Tu peux aussi lancer un tcpdump -nv, ensuite dans une autre fenêtre
(ou sur une autre console), tu fais un nslookup ou un host
www.free.fr par exemple. Tu vois si les trames ont bien un retour ou
pas.
nb : je commente un maximum pour mettre ça dans mon cours et le
donner au plus de gens possibles.
Troumad a écrit :
Patrice OLIVER a écrit :
Tu peux placer : iptables -A INPUT -j LOG juste avant iptables
-A INPUT -j DROP
Si je comprends bien, c'est pour faire des log. C'est ça ?
Oui.
Il manque : iptables -A OUTPUT -i lo -j ACCEPT vers iptables -A
INPUT -i lo -j ACCEPT
Ça fait quoi exactement.
Il est bon que ton localhost puisse entrer et sortir, c'est la règle
de base de iptables. Sans celà, dans certains cas, tu peux ne pas
réussir à sortir de la boîte.
Tu peux aussi lancer un tcpdump -nv, ensuite dans une autre fenêtre
(ou sur une autre console), tu fais un nslookup ou un host
www.free.fr par exemple. Tu vois si les trames ont bien un retour ou
pas.
nb : je commente un maximum pour mettre ça dans mon cours et le
donner au plus de gens possibles.
Troumad a écrit :Patrice OLIVER a écrit :
Tu peux placer : iptables -A INPUT -j LOG juste avant iptables
-A INPUT -j DROP
Si je comprends bien, c'est pour faire des log. C'est ça ?
Oui.Il manque : iptables -A OUTPUT -i lo -j ACCEPT vers iptables -A
INPUT -i lo -j ACCEPT
Ça fait quoi exactement.
Il est bon que ton localhost puisse entrer et sortir, c'est la règle
de base de iptables. Sans celà, dans certains cas, tu peux ne pas
réussir à sortir de la boîte.
Tu peux aussi lancer un tcpdump -nv, ensuite dans une autre fenêtre
(ou sur une autre console), tu fais un nslookup ou un host
www.free.fr par exemple. Tu vois si les trames ont bien un retour ou
pas.
nb : je commente un maximum pour mettre ça dans mon cours et le
donner au plus de gens possibles.
> Patrice OLIVER a écrit :Troumad a écrit :Il manque : iptables -A OUTPUT -i lo -j ACCEPT vers iptables -A
INPUT -i lo -j ACCEPT
Ça fait quoi exactement.
Il est bon que ton localhost puisse entrer et sortir, c'est la règle
de base de iptables. Sans celà, dans certains cas, tu peux ne pas
réussir à sortir de la boîte.
> Patrice OLIVER a écrit :
Troumad a écrit :
Il manque : iptables -A OUTPUT -i lo -j ACCEPT vers iptables -A
INPUT -i lo -j ACCEPT
Ça fait quoi exactement.
Il est bon que ton localhost puisse entrer et sortir, c'est la règle
de base de iptables. Sans celà, dans certains cas, tu peux ne pas
réussir à sortir de la boîte.
> Patrice OLIVER a écrit :Troumad a écrit :Il manque : iptables -A OUTPUT -i lo -j ACCEPT vers iptables -A
INPUT -i lo -j ACCEPT
Ça fait quoi exactement.
Il est bon que ton localhost puisse entrer et sortir, c'est la règle
de base de iptables. Sans celà, dans certains cas, tu peux ne pas
réussir à sortir de la boîte.
Voilà, c'est long... et ça doit mériter des améliorations !
LOCAL="eth0"
NET="eth1"
case "$1" in
start)
echo "Mise en place du mur de feu"
# /etc/network/if-pre-up.d/iptables-start
# Script qui démarre les règles de filtrage "iptables"
# MISE à ZERO des règles de filtrage
iptables -F
iptables -t nat -F
# Je veux que les connexions entrantes soient bloquées par défaut
iptables -P INPUT DROP
# Je veux accepter les connexions qui entrent par
# une interface et sortent par l'autre (ex. de eth1 vers ppp0)
# appelé aussi Forwarding
iptables -P FORWARD ACCEPT
# Je veux que les connexions sortantes soient acceptées par défaut
iptables -P OUTPUT ACCEPT
# Pas de filtrage sur l'interface de "loopback"
iptables -A INPUT -i lo -j ACCEPT
# Je veux permettre tous les paquets sortants provenant de mon
ordinateur
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j
ACCEPT
# accepter le protocole ICMP (ex.ping)
iptables -A INPUT -p icmp -j ACCEPT
# J'accepte les packets entrants relatifs à des connexions déjà
établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Décommentez les deux lignes suivantes pour que le serveur FTP
éventuel
# soit joignable de l'extérieur
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# Décommentez la ligne suivante pour que Imap soit
# accéssible sur le réseau interne
iptables -A INPUT -i $LOCAL -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4003 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4003 -j ACCEPT
# La règle par défaut pour la chaine INPUT devient DROP
# pour des raisons de sécurité
iptables -A INPUT -j DROP
# FIN des règles de filtrage
# DEBUT des règles pour le partage de connexion (i.e. le NAT)
# Décommentez la ligne suivante pour que le système fasse office de
# "serveur NAT" et ainsi cacher les machines forwardées par le
firewall
iptables -t nat -A POSTROUTING -o $NET -j MASQUERADE
restart)
$0 stop
/bin/sleep 1
#/usr/bin/sleep 1
$0 start
Voilà, c'est long... et ça doit mériter des améliorations !
LOCAL="eth0"
NET="eth1"
case "$1" in
start)
echo "Mise en place du mur de feu"
# /etc/network/if-pre-up.d/iptables-start
# Script qui démarre les règles de filtrage "iptables"
# MISE à ZERO des règles de filtrage
iptables -F
iptables -t nat -F
# Je veux que les connexions entrantes soient bloquées par défaut
iptables -P INPUT DROP
# Je veux accepter les connexions qui entrent par
# une interface et sortent par l'autre (ex. de eth1 vers ppp0)
# appelé aussi Forwarding
iptables -P FORWARD ACCEPT
# Je veux que les connexions sortantes soient acceptées par défaut
iptables -P OUTPUT ACCEPT
# Pas de filtrage sur l'interface de "loopback"
iptables -A INPUT -i lo -j ACCEPT
# Je veux permettre tous les paquets sortants provenant de mon
ordinateur
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j
ACCEPT
# accepter le protocole ICMP (ex.ping)
iptables -A INPUT -p icmp -j ACCEPT
# J'accepte les packets entrants relatifs à des connexions déjà
établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Décommentez les deux lignes suivantes pour que le serveur FTP
éventuel
# soit joignable de l'extérieur
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# Décommentez la ligne suivante pour que Imap soit
# accéssible sur le réseau interne
iptables -A INPUT -i $LOCAL -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4003 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4003 -j ACCEPT
# La règle par défaut pour la chaine INPUT devient DROP
# pour des raisons de sécurité
iptables -A INPUT -j DROP
# FIN des règles de filtrage
# DEBUT des règles pour le partage de connexion (i.e. le NAT)
# Décommentez la ligne suivante pour que le système fasse office de
# "serveur NAT" et ainsi cacher les machines forwardées par le
firewall
iptables -t nat -A POSTROUTING -o $NET -j MASQUERADE
restart)
$0 stop
/bin/sleep 1
#/usr/bin/sleep 1
$0 start
Voilà, c'est long... et ça doit mériter des améliorations !
LOCAL="eth0"
NET="eth1"
case "$1" in
start)
echo "Mise en place du mur de feu"
# /etc/network/if-pre-up.d/iptables-start
# Script qui démarre les règles de filtrage "iptables"
# MISE à ZERO des règles de filtrage
iptables -F
iptables -t nat -F
# Je veux que les connexions entrantes soient bloquées par défaut
iptables -P INPUT DROP
# Je veux accepter les connexions qui entrent par
# une interface et sortent par l'autre (ex. de eth1 vers ppp0)
# appelé aussi Forwarding
iptables -P FORWARD ACCEPT
# Je veux que les connexions sortantes soient acceptées par défaut
iptables -P OUTPUT ACCEPT
# Pas de filtrage sur l'interface de "loopback"
iptables -A INPUT -i lo -j ACCEPT
# Je veux permettre tous les paquets sortants provenant de mon
ordinateur
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j
ACCEPT
# accepter le protocole ICMP (ex.ping)
iptables -A INPUT -p icmp -j ACCEPT
# J'accepte les packets entrants relatifs à des connexions déjà
établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Décommentez les deux lignes suivantes pour que le serveur FTP
éventuel
# soit joignable de l'extérieur
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# Décommentez la ligne suivante pour que Imap soit
# accéssible sur le réseau interne
iptables -A INPUT -i $LOCAL -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4003 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4003 -j ACCEPT
# La règle par défaut pour la chaine INPUT devient DROP
# pour des raisons de sécurité
iptables -A INPUT -j DROP
# FIN des règles de filtrage
# DEBUT des règles pour le partage de connexion (i.e. le NAT)
# Décommentez la ligne suivante pour que le système fasse office de
# "serveur NAT" et ainsi cacher les machines forwardées par le
firewall
iptables -t nat -A POSTROUTING -o $NET -j MASQUERADE
restart)
$0 stop
/bin/sleep 1
#/usr/bin/sleep 1
$0 start
Troumad a écrit :Voilà, c'est long... et ça doit mériter des améliorations !
Certes, mais je n'ai rien vu qui soit susceptible de bloquer le trafic
DNS entrant ou sortant sur le réseau local.
[...]
# MISE à ZERO des règles de filtrage
iptables -F
iptables -t nat -F
Ajoute une commande -X pour chaque table pour supprimer les
éventuelles chaînes utilisateur comme dans le choix stop.
iptables -P INPUT DROP
# Je veux que les connexions entrantes soient bloquées par défaut# Je veux accepter les connexions qui entrent par
# une interface et sortent par l'autre (ex. de eth1 vers ppp0)
# appelé aussi Forwarding
iptables -P FORWARD ACCEPT
Tu n'as peur de rien, dis ! Donc le firewall protège la passerelle
mais pas le réseau local.
iptables -P OUTPUT ACCEPT
[...]iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j
ACCEPT
Règle redondante avec la politique par défaut ACCEPT de la chaîne OUTPUT.
iptables -A INPUT -p icmp -j ACCEPT
# accepter le protocole ICMP (ex.ping)
AMA il vaut mieux gérer explicitement les différents types de requêtes
ICMP et laisser la règle suivante s'occuper des ICMP qui sont des
réponses ou des messages d'erreur relatifs à des connexions existantes.
[...]# Décommentez les deux lignes suivantes pour que le serveur
FTP éventuel
# soit joignable de l'extérieur
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
La première règle pour le port 20 est inutile quand on utilise le
suivi de connexion. Le port 20 est utilisé uniquement comme port
source par un serveur FTP en mode actif pour établir une connexion
ftp-data _sortante_ vers le client.
[...]# Décommentez la ligne suivante pour que Imap soit
# accéssible sur le réseau interne
iptables -A INPUT -i $LOCAL -p tcp --dport 110 -j ACCEPT
110 c'est le port pour POP3, et le port IMAP est plutôt le 143.
[...]iptables -A INPUT -i $LOCAL -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4003 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4003 -j ACCEPT
Quelle horreur, que c'est lourd. Essaie de regrouper autant que
possible les ports par intervalles et le reste avec la correspondance
multiport, ou mieux mport si ton noyau et ta version d'iptables le
supportent. Par exemple en TCP :
iptables [...] -p tcp -m multiport --dports 111,2049 -j [...]
iptables [...] -p tcp --dports 4000:4003 -j [...]
ou encore plus simplement :
iptables [...] -p tcp -m mport --dport 111,2049,4000:4003 -j [...]
et la même chose en UDP.
Suggestion : regrouper les règles INPUT concernant l'interface locale
dans une chaîne utilisateur pour éviter de répéter -i $LOCAL à chaque
fois.# La règle par défaut pour la chaine INPUT devient DROP
# pour des raisons de sécurité
iptables -A INPUT -j DROP
Conseil : préfère REJECT au lieu de DROP, c'est plus propre.
Eventuellement avec une limitation (-m limit) en cas de flood.
# DEBUT des règles pour le partage de connexion (i.e. le NAT)
# Décommentez la ligne suivante pour que le système fasse
office de
# "serveur NAT" et ainsi cacher les machines forwardées par le
firewall
iptables -t nat -A POSTROUTING -o $NET -j MASQUERADE
# FIN des règles de filtrage
Une correspondance -s sur la plage d'adresses source du réseau local
ne ferait pas de mal.
[...]restart)
$0 stop
Pourquoi faire puisque le $0 start qui suit vide aussi les chaînes et
redéfinit les politiques par défaut ?
Troumad a écrit :
Voilà, c'est long... et ça doit mériter des améliorations !
Certes, mais je n'ai rien vu qui soit susceptible de bloquer le trafic
DNS entrant ou sortant sur le réseau local.
[...]
# MISE à ZERO des règles de filtrage
iptables -F
iptables -t nat -F
Ajoute une commande -X pour chaque table pour supprimer les
éventuelles chaînes utilisateur comme dans le choix stop.
iptables -P INPUT DROP
# Je veux que les connexions entrantes soient bloquées par défaut
# Je veux accepter les connexions qui entrent par
# une interface et sortent par l'autre (ex. de eth1 vers ppp0)
# appelé aussi Forwarding
iptables -P FORWARD ACCEPT
Tu n'as peur de rien, dis ! Donc le firewall protège la passerelle
mais pas le réseau local.
iptables -P OUTPUT ACCEPT
[...]
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j
ACCEPT
Règle redondante avec la politique par défaut ACCEPT de la chaîne OUTPUT.
iptables -A INPUT -p icmp -j ACCEPT
# accepter le protocole ICMP (ex.ping)
AMA il vaut mieux gérer explicitement les différents types de requêtes
ICMP et laisser la règle suivante s'occuper des ICMP qui sont des
réponses ou des messages d'erreur relatifs à des connexions existantes.
[...]
# Décommentez les deux lignes suivantes pour que le serveur
FTP éventuel
# soit joignable de l'extérieur
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
La première règle pour le port 20 est inutile quand on utilise le
suivi de connexion. Le port 20 est utilisé uniquement comme port
source par un serveur FTP en mode actif pour établir une connexion
ftp-data _sortante_ vers le client.
[...]
# Décommentez la ligne suivante pour que Imap soit
# accéssible sur le réseau interne
iptables -A INPUT -i $LOCAL -p tcp --dport 110 -j ACCEPT
110 c'est le port pour POP3, et le port IMAP est plutôt le 143.
[...]
iptables -A INPUT -i $LOCAL -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4003 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4003 -j ACCEPT
Quelle horreur, que c'est lourd. Essaie de regrouper autant que
possible les ports par intervalles et le reste avec la correspondance
multiport, ou mieux mport si ton noyau et ta version d'iptables le
supportent. Par exemple en TCP :
iptables [...] -p tcp -m multiport --dports 111,2049 -j [...]
iptables [...] -p tcp --dports 4000:4003 -j [...]
ou encore plus simplement :
iptables [...] -p tcp -m mport --dport 111,2049,4000:4003 -j [...]
et la même chose en UDP.
Suggestion : regrouper les règles INPUT concernant l'interface locale
dans une chaîne utilisateur pour éviter de répéter -i $LOCAL à chaque
fois.
# La règle par défaut pour la chaine INPUT devient DROP
# pour des raisons de sécurité
iptables -A INPUT -j DROP
Conseil : préfère REJECT au lieu de DROP, c'est plus propre.
Eventuellement avec une limitation (-m limit) en cas de flood.
# DEBUT des règles pour le partage de connexion (i.e. le NAT)
# Décommentez la ligne suivante pour que le système fasse
office de
# "serveur NAT" et ainsi cacher les machines forwardées par le
firewall
iptables -t nat -A POSTROUTING -o $NET -j MASQUERADE
# FIN des règles de filtrage
Une correspondance -s sur la plage d'adresses source du réseau local
ne ferait pas de mal.
[...]
restart)
$0 stop
Pourquoi faire puisque le $0 start qui suit vide aussi les chaînes et
redéfinit les politiques par défaut ?
Troumad a écrit :Voilà, c'est long... et ça doit mériter des améliorations !
Certes, mais je n'ai rien vu qui soit susceptible de bloquer le trafic
DNS entrant ou sortant sur le réseau local.
[...]
# MISE à ZERO des règles de filtrage
iptables -F
iptables -t nat -F
Ajoute une commande -X pour chaque table pour supprimer les
éventuelles chaînes utilisateur comme dans le choix stop.
iptables -P INPUT DROP
# Je veux que les connexions entrantes soient bloquées par défaut# Je veux accepter les connexions qui entrent par
# une interface et sortent par l'autre (ex. de eth1 vers ppp0)
# appelé aussi Forwarding
iptables -P FORWARD ACCEPT
Tu n'as peur de rien, dis ! Donc le firewall protège la passerelle
mais pas le réseau local.
iptables -P OUTPUT ACCEPT
[...]iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j
ACCEPT
Règle redondante avec la politique par défaut ACCEPT de la chaîne OUTPUT.
iptables -A INPUT -p icmp -j ACCEPT
# accepter le protocole ICMP (ex.ping)
AMA il vaut mieux gérer explicitement les différents types de requêtes
ICMP et laisser la règle suivante s'occuper des ICMP qui sont des
réponses ou des messages d'erreur relatifs à des connexions existantes.
[...]# Décommentez les deux lignes suivantes pour que le serveur
FTP éventuel
# soit joignable de l'extérieur
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
La première règle pour le port 20 est inutile quand on utilise le
suivi de connexion. Le port 20 est utilisé uniquement comme port
source par un serveur FTP en mode actif pour établir une connexion
ftp-data _sortante_ vers le client.
[...]# Décommentez la ligne suivante pour que Imap soit
# accéssible sur le réseau interne
iptables -A INPUT -i $LOCAL -p tcp --dport 110 -j ACCEPT
110 c'est le port pour POP3, et le port IMAP est plutôt le 143.
[...]iptables -A INPUT -i $LOCAL -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p tcp --dport 4003 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 111 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4000 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4001 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4002 -j ACCEPT
iptables -A INPUT -i $LOCAL -p udp --dport 4003 -j ACCEPT
Quelle horreur, que c'est lourd. Essaie de regrouper autant que
possible les ports par intervalles et le reste avec la correspondance
multiport, ou mieux mport si ton noyau et ta version d'iptables le
supportent. Par exemple en TCP :
iptables [...] -p tcp -m multiport --dports 111,2049 -j [...]
iptables [...] -p tcp --dports 4000:4003 -j [...]
ou encore plus simplement :
iptables [...] -p tcp -m mport --dport 111,2049,4000:4003 -j [...]
et la même chose en UDP.
Suggestion : regrouper les règles INPUT concernant l'interface locale
dans une chaîne utilisateur pour éviter de répéter -i $LOCAL à chaque
fois.# La règle par défaut pour la chaine INPUT devient DROP
# pour des raisons de sécurité
iptables -A INPUT -j DROP
Conseil : préfère REJECT au lieu de DROP, c'est plus propre.
Eventuellement avec une limitation (-m limit) en cas de flood.
# DEBUT des règles pour le partage de connexion (i.e. le NAT)
# Décommentez la ligne suivante pour que le système fasse
office de
# "serveur NAT" et ainsi cacher les machines forwardées par le
firewall
iptables -t nat -A POSTROUTING -o $NET -j MASQUERADE
# FIN des règles de filtrage
Une correspondance -s sur la plage d'adresses source du réseau local
ne ferait pas de mal.
[...]restart)
$0 stop
Pourquoi faire puisque le $0 start qui suit vide aussi les chaînes et
redéfinit les politiques par défaut ?
>Une correspondance -s sur la plage d'adresses source du réseau local
>ne ferait pas de mal.
Ça veut dire quoi ? Il va falloir que je cherche !
>Une correspondance -s sur la plage d'adresses source du réseau local
>ne ferait pas de mal.
Ça veut dire quoi ? Il va falloir que je cherche !
>Une correspondance -s sur la plage d'adresses source du réseau local
>ne ferait pas de mal.
Ça veut dire quoi ? Il va falloir que je cherche !
> # accepter le protocole ICMP (ex.ping)
> iptables -A INPUT -p icmp -j ACCEPT
AMA il vaut mieux gérer explicitement les différents types de requêtes
ICMP et laisser la règle suivante s'occuper des ICMP qui sont des
réponses ou des messages d'erreur relatifs à des connexions existantes.
> # accepter le protocole ICMP (ex.ping)
> iptables -A INPUT -p icmp -j ACCEPT
AMA il vaut mieux gérer explicitement les différents types de requêtes
ICMP et laisser la règle suivante s'occuper des ICMP qui sont des
réponses ou des messages d'erreur relatifs à des connexions existantes.
> # accepter le protocole ICMP (ex.ping)
> iptables -A INPUT -p icmp -j ACCEPT
AMA il vaut mieux gérer explicitement les différents types de requêtes
ICMP et laisser la règle suivante s'occuper des ICMP qui sont des
réponses ou des messages d'erreur relatifs à des connexions existantes.