Besoin d'avis concernant iptables

[code]

Chargement des differents modules

Activation du routage dans le kernel Lnx

Initialisation de la table FILTER

Par defaut, tout les paquets sont détruits

Initialisation de la table NAT

Initialisation de la table MANGLE

#Aucun filtrage sur la boucle locale
iptables -t filter -A OUTPUT -o lo -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT

#Autorise la translation d’adresse ( Accés Lan vers internet )
iptables -t nat -A POSTROUTING -o eth4 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.102.0/24 -j MASQUERADE

#Autorise l’accés a internet
iptables -t filter -A OUTPUT -s 192.168.247.100 -d 0.0.0.0/0 -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -s 0.0.0.0/0 -d 192.168.247.100 -p tcp --sport 80 -j ACCEPT

#Autorise les requêtes DNS
iptables -t filter -A OUTPUT -o eth4 -p udp --sport 1024: --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -i eth4 -p udp --sport 53 --dport 1024: -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#Autorise tout trafic entre le réseau LAN et SBO
iptables -t filter -A FORWARD -i eth1 -o eth3 -s 192.168.102.0/24 -d 192.168.147.0/24 -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -i eth3 -o eth1 -s 192.168.147.0/24 -d 192.168.102.0/24 -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#Autorise 2 accès au serveur web Internet :
#Accés Internet autorisé du réseau LAN
#Accés Internet autorisé du reseau SBO

iptables -t filter -A FORWARD -s 192.168.102.0/24 -d 192.168.0.10 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -s 192.168.0.10 -d 192.168.102.0/24 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -t filter -A FORWARD -s 192.168.147.0/24 -d 192.168.0.10 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -s 192.168.0.10 -d 192.168.147.0/24 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT

#J’autorise l’accés au serveur FTP entre le Lan et Internet
#Mode actif
iptables -t filter -A FORWARD -p tcp --dport 21 -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 21 -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -t filter -A FORWARD -p tcp --sport 20 -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -p tcp --dport 20 -i eth1 -o eth0 -m state --state ESTABLISHED -j ACCEPT

#Mode passif
iptables -t filter -A FORWARD -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

#J’autorise les connexions TCP sur le port 22

pour que le protocole SFTP/SSH soit utilisable

iptables -A FORWARD -s 0.0.0.0 -d 192.168.0.10 -i eth3 -o eth1 -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 192.168.0.10 -d 0.0.0.0-i eth1 -o eth3 -p tcp --sport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#Autorise le routage du serveur relais SMTP
iptables -A FORWARD -s 192.168.102.20 -d 192.168.147.10 -i eth3 -o eth1 -p tcp --dport 25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 192.168.147.10 -d 192.168.102.10 -i eth1 -o eth3 -p tcp --sport 25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Autorise la consultation des messages

iptables -A FORWARD -i eth3 -o eth1 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth3 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT [/code]

Voila comme indiqué j’aimerais savoir si il y a des incohérence au niveau des régles plus particuliérement sur les états !
J’aimerais savoir comment modifier/simplifier un peu les états pour que ca ne soit pas rebarbatif !

Merci de vos avis

Ce jeu de règles est une vraie passoire.

je crois deviner qu’il veut en plus d’un avis quelques explications concrètes.

Probablement, mais il était tard, j’étais fatigué…
J’ai jugé que le plus important était de prévenir du faible niveau de protection de ce jeu de règles.

Exemple :

iptables -t filter -A OUTPUT -s 192.168.247.100 -d 0.0.0.0/0 -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -s 0.0.0.0/0 -d 192.168.247.100 -p tcp --sport 80 -j ACCEPT

#Autorise les requêtes DNS
iptables -t filter -A OUTPUT -o eth4 -p udp --sport 1024: --dport 53 -m state --state NEW,ESTABLISHED,RELATED  -j ACCEPT
iptables -t filter -A INPUT -i eth4 -p udp --sport 53 --dport 1024: -m state --state NEW,ESTABLISHED,RELATED  -j ACCEPT

Grâce à ces règles, on peut se connecter à n’importe quel port TCP ou n’importe quel port UDP non privilégié du moment qu’on utilise le port source 80 en TCP ou 53 en UDP.

C’est bien pour ca que je demande l’avis d’un maximum de personne et si possible la maniére dont vous effecturiez les modifications ou de quelle façon !!!

Genre comment vous feriez pour sécurisé au mieux ces regles ? sachant que tout ce qui passe par la chaine FORWARD c’est du test local only!

Il y a juste ces 2 lignes qui sortent vers internet

je crois deviner qu’il veut en plus d’un avis quelques explications concrètes.[/quote]

Et la façon surtout svp dont vous modifieriez au moins ce jeu de régles
A la limite je peut même les enlever car elles permettent juste a mon server de ce connecter sur internet pour les MAJ et la navigation mais bon si je peut les garder tout en pouvant les sécurisés au mieux ca m’arrangerai !

[code]#Autorise l’accés HTTP
iptables -t filter -A OUTPUT -s 192.168.247.100 -d 0.0.0.0/0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -s 0.0.0.0/0 -d 192.168.247.100 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT

#Autorise les requêtes DNS
iptables -t filter -A OUTPUT -o eth4 -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -i eth4 -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT[/code]

Mieux ? Avis ? Propositions ?

[quote]Code:
#Autorise l’accés HTTP
iptables -t filter -A OUTPUT -s 192.168.247.100 -d 0.0.0.0/0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -s 0.0.0.0/0 -d 192.168.247.100 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT

#Autorise les requêtes DNS
iptables -t filter -A OUTPUT -o eth4 -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -i eth4 -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

Mieux ? Avis ? Propositions ?[/quote]
Je dirais mieux.
Tu pourrais ajouter pour l’accès HTTP, la spécification de l’interface réseau utilisé.
Pour gagner quelques secondes de frappes clavier, tu peux mettre “!INVALID” au lieu de “NEW,ESTABLISHED,RELATED”.

[quote=“homeostasie”][quote]Code:

Mieux ? Avis ? Propositions ?[/quote]
Je dirais mieux.
Tu pourrais ajouter pour l’accès HTTP, la spécification de l’interface réseau utilisé.
Pour gagner quelques secondes de frappes clavier, tu peux mettre “!INVALID” au lieu de “NEW,ESTABLISHED,RELATED”.[/quote]

!Invalid pour les deux HTTP+DNS ou juste pour le HTTP ? Dans le doute j’ai modifier pour le HTTP et DNS
Merci de vos réponses, si il y a d’autres suggestions je suis tout ouie !

[quote]!Invalid pour les deux HTTP+DNS ou juste pour le HTTP ? Dans le doute j’ai modifier pour le HTTP et DNS
Merci de vos réponses, si il y a d’autres suggestions je suis tout ouie ![/quote]
En fait, “!INVALID” n’ajoute rien de plus qu’une commodité d’écriture. C’est strictement la même chose que faire “NEW, ESTABLISHED, RELATED”. :wink:

[quote=“homeostasie”][quote]
En fait, “!INVALID” n’ajoute rien de plus qu’une commodité d’écriture. C’est strictement la même chose que faire “NEW, ESTABLISHED, RELATED”. :wink:[/quote][/quote]

oki cela indique que l’on accepte uniquement les connexions qui ne sont pas invalides, donc qui sont N,E,R :smt003

si vous voyez autre chose, tout les avis sont a prendre
Merci de tes reponses homeo :smt004