Le mardi 17 juin 2003, 00:11:44 ou environ Laurent Vuibert <[EMAIL PROTECTED]> a écrit:
> On Mon, 16 Jun 2003 22:34:10 +0200
> Alain Barthélemy <[EMAIL PROTECTED]> wrote:
> 
> > Bonjour,
> > 
> > Au bon vieux temps où j'ai installé Roaring Pinguin sur SuSE-7.1, il
> > me reste encore le fichier avec les règles ipchains qui sont toujours
> > opérationnelles.
> > 
> > Je voudrais cependant faire des connexions ssh port 22 de l'extérieur
> > (du boulot) vers une station de mon LAN personnel. Le firewall bloque
> > tous les ports < 1024. Lorsque mon fils eu la bonne idée de commenter
> > toutes les lignes l'année passée, je pus faire des connexions
> > ssh. J'ai couru pour commenter toutes les lignes, je n'eus plus de
> > transfert ssh possible of course.
> > 
> > Je rajoutai donc la ligne (voir ci-dessous):
> > 
> > #laisser entrer requête ssh
> > ipchains -A input -l -i $EXTIF -s $ANY -p tcp ssh -j ACCEPT
> > 
> > Pour n'autoriser que le port 22 (ssh).
> > 
> > Problème: cela ne fonctionne pas. 
> > 
> > Quelqu'un a-t-il idée du problème? Je ne suis pas spécialiste
> > d'Ipchains. 
> > 
> > En y réflechissant, je mets, je mets cette ligne qui autorise la
> > connexion après le "Deny TCP connexion attempt". Intervertir les 2
> > lignes serait-il suffisant. Il faut que je ne laisse entrer que le
> > port 22 ou faut-il que je mette !22 ou équivalent sur la ligne qui
> > bloque toutes les connexions TCP du port 0 à 1023?
> > 
> > Merci pour toute suggestion.
> > 
> > #!/bin/sh
> > #
> > # firewall-masq             This script sets up firewall rules for a machine
> > #                       acting as a masquerading gateway
> > #
> > # Copyright (C) 2000 Roaring Penguin Software Inc.  This software may
> > # be distributed under the terms of the GNU General Public License, version
> > # 2 or any later version.
> > 
> > # Interface to Internet
> > EXTIF=ppp+
> > INTIF=eth1
> > 
> > ANY=0.0.0.0/0
> > OURNET=192.168.1.32/27
> > 
> > ipchains -P input ACCEPT
> > ipchains -P output ACCEPT
> > ipchains -P forward ACCEPT
> > 
> > ipchains -F forward
> > ipchains -F input
> > ipchains -F output
> > 
> > # Deny TCP and UDP packets to privileged ports
> > ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY
> > ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY
> > 
> > # Deny TCP connection attempts
> > ipchains -A input -l -i $EXTIF -p tcp -y -j DENY
> > 
> > # Deny ICMP echo-requests
> > ipchains -A input -l -i $EXTIF -s $ANY echo-request -p icmp -j DENY
> > 
> > # Laisser entrer requete ssh
> > # Ligne que je viens de rajouter mais ne marche pas
> > ipchains -A input -l -i $EXTIF -s $ANY -p tcp ssh -j ACCEPT
> > 
> > # Do masquerading
> > ipchains -A forward -p tcp -s 192.168.1.32/27 -d 192.168.1.32/27 ssh -j ACCEPT
> > ipchains -A forward -j MASQ
> > echo 1 > /proc/sys/net/ipv4/ip_forward
> > 
> 
> C'est normal que le packet de synchronisation est rejeté avant d'être accepté.
> En fait faut voir le packet décent toutes les régles de haut en bas, si il est
> rejeté il est rejeté tout de suite et les autres régles (en dessous sont ignorées)
> 
> en fait ton packet est stoppé à la 2eme requête
> "ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY"
> 
> voila.

===================================================================


Pas voilà!

Je peux comprendre que toutes les requêtes sur le port 22 soient
arrêtées par la ligne:

 "ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY"

J'ai donc rajouté en tout début (après les flush):

ipchains -A input -l -i $EXTIF -s $ANY 22 -p tcp -y -j ACCEPT
ipchains -A input -l -i $EXTIF -s $ANY 22 -p udp -y -j ACCEPT

Ces deux lignes devraient laisser entrer toute requête ssh venant de
ppp0 ou $EXTIF (modem ADSL).

Viennent les lignes suivantes qui peuvent bloquer les choses:

ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY
ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY

Ici je me dit que j'ai d'abord ACCEPT -s $ANY et maintenant DENY $ANY
Se pourrait-il que la source du paquet port 22 soit acceptée mais pas
la destination: idée stupide? Je vais corriger les lignes et mettre -s
$ANY -d $ANY partout
Ne devrai-je pas rajouter ! 22

Vient ensuite:

ipchains -A input -l -i -p tcp -y -j DENY

je devrais peut-être écrire:

ipchains -A input -l -i ! 22 -p tcp -y -j DENY

J'ai vérifier dans /var/log/messages, j'ai bien un INPUT DENY pour le
port 22.

Merci pour toute suggestion. Comment laisser passer le port 22 et
bloquer tout le reste.


-- 
Alain Barthélemy
[EMAIL PROTECTED]
http://bartydeux.be
_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/[EMAIL PROTECTED]
IRC: efnet.unixtech.be:6667 - #unixtech

Répondre à