Tout bloquer puis autoriser ensuite SEULEMENT certaines ip

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

Tout bloquer puis autoriser ensuite SEULEMENT certaines ip

Messagepar ShonGail » 25 Mars 2004 15:23

Bonjour,

selon le site d'Antolien http://antolien.nerim.net/ipcop/ , j'ai bloqué les ports sur l'interface green avec la règle suivante :

iptables -A FORWARD -i $GREEN_DEV -j DROP

Sur le même site, on explique comment ensuite autoriser certains ports avec la règle (ici les ports smtp et pop3) :

iptables -A FORWARD -i $GREEN_DEV -p tcp -m multiport --dport 110,25 -j ACCEPT

Mon but est d'autoriser certains ports pour certaines ip. Exemple : l'ip 192.168.0.253 a le droit au ftp, smtp, pop3.
l'ip 192.168.0.45 n'a le droit qu'au smtp et pop3
etc.

la bonne règle est-elle du type ? :

iptables -A FORWARD -s 192.168.0.253 -p tcp -m multiport --dport 110,25,21 -j ACCEPT

que signifie le commutateur -j ? et -m multiport ?

merci :)
Avatar de l’utilisateur
ShonGail
Lieutenant de vaisseau
Lieutenant de vaisseau
 
Messages: 207
Inscrit le: 21 Fév 2003 01:00

Messagepar samy_lg » 25 Mars 2004 16:06

le -m multiport indique que tu ouvres plusieurs ports sur la même règle (j'ai bon??) enfin c'est ce que j'ai compris.

Le -j je sais pas. j'ai pas encore eu trop le temps de me pencher sur iptables.

Un site qui a l'air pas mal(juste jeter un oeil) : http://christian.caleca.free.fr/netfilt ... ecture.htm
Avatar de l’utilisateur
samy_lg
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 147
Inscrit le: 19 Nov 2003 01:00

Messagepar Franck78 » 25 Mars 2004 16:40

Iptables est un firewall statefull. Mais pour ça il faut
l'utiliser correctement.
Ce que ne fait pas la méthode MULTIPORT qui est une
aberration a utiliser quand on connait iptables.

A lire pour s'en convaincre!

http://www.linuxsecurity.com/resource_f ... ATEMACHINE
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar ShonGail » 25 Mars 2004 17:16

Je ne voudrais point être la cause d'un débat d'expert :oops:

juste savoir si ma règle est correcte
Avatar de l’utilisateur
ShonGail
Lieutenant de vaisseau
Lieutenant de vaisseau
 
Messages: 207
Inscrit le: 21 Fév 2003 01:00

Messagepar Franck78 » 25 Mars 2004 18:14

mais si il en faut des débats (d'expert ou pas).

Ta règle elle est fausse car :

Tu laisses passer un paquet de green ver red. Ok.
Mais la réponse, elle passe de red vers green !
Et tu vois quelque part cette autorisation de passage ?
Moi non.

Si tu prends (et tout les autres aussi) le temps de lire
le rc.firewall de IPCop 1.4, tu constateras qu'il y a

Code: Tout sélectionner
       # Accept everything connected
        /sbin/iptables -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
        /sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


Mais ceci ne marche QUE SI IL Y A EU LA CONNEXION
ENREGISTREE PAR CONNTRACK



Et sa ce fait par:
Code: Tout sélectionner
## Autorise FTP, SSH et TELNET clients sur Internal
## Rem : ssh est d??autoris? cependant 21:23 remplace 2 lignes !
$IPTABLES -A INPUT_INT -p tcp --dport    21:23 -m state --state NEW -j ACCEPT

## Autorise packets to DNS servers from client
#$IPTABLES -A INPUT_INT -p tcp --dport       53 -m state --state NEW -j ACCEPT
#$IPTABLES -A INPUT_INT -p udp --dport       53 -m state --state NEW -j ACCEPT

## HTTP/HTTPS pour le serveur Apache local
$IPTABLES -A INPUT_INT -p tcp --dport       80 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT_INT -p tcp --dport      443 -m state --state NEW -j ACCEPT





J'ai dis un truc pas tout à fais exact la dedans. Il n'y pas
besoin de passer par NEW. Cependant, Je conseillerais malgré tout le NEW mais avec un tcp-flag SYN
Dernière édition par Franck78 le 25 Mars 2004 22:18, édité 1 fois au total.
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar tomtom » 25 Mars 2004 18:40

Je pense devoir te contredire franck...

Je pense (quasi sur, mais pas 100%) qu'une nouvelle connexion (un syn tcp, ou un paquet udp) genère une entrée contrack, que le new soit utilisé ou non...

Donc

iptables -A FORWARD -p tcp --sport 80 -j ESTABLISHED, RELATED -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT

Ca doit suffire...

Je pars en we, donc pas de tests ce soir, mais je pense que l'utilisation du NEW ets juste un test supplémentaire, pas une cléf de création de conntrack..

A suivre !

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar antolien » 25 Mars 2004 19:25

Franck est décidément décidé à dire que les règles qui sont sur mon site sont fausses.

Bon, alors je supprime mon site finalement, pourquoi ça fait presque un an que ce site est en ligne, et c'est maintenant que ça marche plus ?

Franck, tu as installé ipcop, as tu regardé le rc.firewall et l'ordre des règles ???

ça a tendance à m'ennerver :marre:
Avatar de l’utilisateur
antolien
Amiral
Amiral
 
Messages: 3134
Inscrit le: 31 Août 2002 00:00

Messagepar MoiCVincent » 25 Mars 2004 19:56

Mdr !! Voila Antolien qui s'enerve !!!!!! , Tout rouge !

Hum ...
D'apres ma modeste experience avec IPTABLE

le module Contrack enregistre toutes les connexions , que l'on teste l'etat NEW ou pas !

Ce meme module est ensuite interogé pour savoir si :
si un paquet proviens d'une connexion deja etablie ---> ESTABLISHED
si un paquet viens du suivi d'une connexion deja etablie ( erreur ICMP par exemple ) ---> RELATED
si un paquet proviens d'une nouvelle connexion ---> NEW

si un paquet ne peux pas etre identifié par contrack il repond a INVALID

Donc pour resumer on peux utiliser
-m state --state ESTABLISHED,RELATED
sans avoir utilisé le -m state --state NEW

le hic c'est que si on accepte jamais le NEW on risque pas de voir apparaitre de ESTABLISHED ou RELATED !
Noubliez pas , On est sur terre pour vivre !
Image
Avatar de l’utilisateur
MoiCVincent
Contre-Amiral
Contre-Amiral
 
Messages: 395
Inscrit le: 08 Jan 2004 01:00
Localisation: Normandie

Messagepar Franck78 » 25 Mars 2004 20:49

Ah opposés à 99% !!

Tu as raison et moi aussi (mais un peu moin).

En relisant bien sur le lien indiqué (assez hard),
on trouve passe en "state established"
quand l'autre correspondant a répondu. Ca dialogue
dans les deux sens. Mais initié d'un coté seulement.

Mais utilisé comme ca, la connexion n'est pas forcément
commencée par la poignée de main (en tcp).
C'est pour ca qu'il y a le state NEW qui t'informe du premier paquet de la connexion, que tu
peux rejeter si il n'est pas le "syn" de la poignée de
main par exemple.
Alors que si tu fais ACCEPT simplement, ca marche, d'accord,
mais tu ne controles pas vraiment si c'est licite.

Il y a une autre utilisation avec le cas d'un firewall
redondant avec un autre. Dans ce cas il faut utilser
sans le NEW.

Donc grace à toi et à ShonGail, tout le monde a progressé !

Il faut utiliser NEW comme ceci
Code: Tout sélectionner
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j LOG \
     --log-prefix "New not syn:"
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
ou alors des lignes comme
$IPTABLES -A INPUT -p tcp --dport 25 ! --syn -m state --state NEW -j ACCEPT
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Franck78 » 25 Mars 2004 20:57

Tiens Antolien c'est enervé pendant que je recherchais mes infos.
Ne retire pas ton site, :oops: pour si peu.
Mais tu peux sans doute l'adapter pour la 1.4 !!
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar lemoynep » 25 Mars 2004 21:28

La version 1.4 est encore en beta,, faudrait juste ajouter une section pour la version 1.4, car le site d'Antolien est une bonne source d'info..
Avatar de l’utilisateur
lemoynep
Premier-Maître
Premier-Maître
 
Messages: 47
Inscrit le: 27 Jan 2004 01:00

Messagepar MoiCVincent » 25 Mars 2004 21:29

Ca me semble beaucoup mieux comme ca !

Exellente ta Doc Franck !

Je suis en train de plancher dessus mais ya QQ pages a lire !

Je suis tout a fait d'accord avec toi sur le fait de rejeter tous les paquets que CONNTRACK enregistre comme NEW mais qui n'ont pas le drapeau syn placé !

Respect du Protocole oblige !
Pas de HandShake ---> ---> Poubelle !
Non mais !

C'est encore une sécurité de plus et il n'y en a jamais assez !
Noubliez pas , On est sur terre pour vivre !
Image
Avatar de l’utilisateur
MoiCVincent
Contre-Amiral
Contre-Amiral
 
Messages: 395
Inscrit le: 08 Jan 2004 01:00
Localisation: Normandie

Messagepar MoiCVincent » 25 Mars 2004 21:37

@ Franck !

Tu dit plus haut que le multiports n'est pas STATEFULL !
Je vois pas ce qui change entre l'ecriture de trois ligne avec trois ports differents et l'ecriture d'une ligne avec le multiport !

humm .. tu peux detailler pourquoi ?


Perso j'utilise pas , j'utilise des boucles a la place !
Noubliez pas , On est sur terre pour vivre !
Image
Avatar de l’utilisateur
MoiCVincent
Contre-Amiral
Contre-Amiral
 
Messages: 395
Inscrit le: 08 Jan 2004 01:00
Localisation: Normandie

Messagepar Franck78 » 25 Mars 2004 22:11

Jusqu'a ce que Tomtom me fasse douter, je raisonnais comme
ca:

Le fait de faire passer directement un paquet d'une connexion en cours par un ACCEPT évite à conntrack
de faire son boulot.

Seule une connexion explicitement autorisée entrait
dans la table conntrack (c'est en fait faux).

Donc puisque pas de NEW alors pas ESTABLISHED,RELATED et donc pas de statefull.

Maintenant le raccourci multiport à en peu plus de sens.
Mais je préfère quand même un ligne par protocole.

Oki ?
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar MoiCVincent » 25 Mars 2004 22:14

oki !!!

Bienvenue au club , je prefere aussi une ligne par protocole !
Noubliez pas , On est sur terre pour vivre !
Image
Avatar de l’utilisateur
MoiCVincent
Contre-Amiral
Contre-Amiral
 
Messages: 395
Inscrit le: 08 Jan 2004 01:00
Localisation: Normandie

Suivant

Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité