Vos avis sur mon script iptables
Résolu/Fermé
A voir également:
- Vos avis sur mon script iptables
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
- Microsoft activation script - Accueil - Windows
- Executeur de script - Télécharger - Édition & Programmation
12 réponses
kmf31
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
501
4 oct. 2005 à 23:21
4 oct. 2005 à 23:21
Tu as essaye ce script ? Pour ca il suffit de l'executer mais a l'etat actuel ca ne fonctionne pas:
Il y a deux erreurs directes:
1) Cette regle:
# on rejette toutes les connexions entrantes (remplace le DROP par defaut)
iptables -A INPUT -j REJECT
doit etre mise tout a la fin, sinon elle fermera completement la chaine INPUT avant que les regles suivantes pour accepter certaines choses peuvent marcher. A l'etat actuel ca bloque tout simplement ta connexion internet et reseau.
2) Il y a une faute de syntax: Dans les trois regles avec "-P" il faut enlever le "-j", par exemple:
iptables -P INPUT -j DROP
=> iptables -P INPUT DROP
et pareil pour OUTPUT, FORWARD.
Avec ca, ca va fonctionner, c.-a-d. tu ouvres la direction sortant (OUTPUT) et en Linux on peut en effet bien faire ca (contrairement a Windows a cause des spyware :lol:).
Tu fermes la direction INPUT sauf pour les requetes qui sont de reponses a tes propres demandes (par exemple: affichage html quand tu demande ca dans un navigateur). Pour ca il y a correctement la regle avec le "RELATED,ESTABLISHED" et ca ferme les requetes non-sollicite, donc pare feu. Apres tu ouvres certains ports 20, 21 (ftp), 22 (ssh), 10000 (???) et aussi le reseau local.
Si ces regles sont bonnes ou pas ca depend de ce que tu veux, c'est plutot une question de choix. Pour avoir un pc qui ne fait que client mais avec internet normal, passif (html, ftp, ssh sous forme client mais pas serveur) il suffit de cette regle "RELATED,ESTABLISHED".
Par contre ton pc ne fait pas de routeur NAT ce qui ne semble de toute facon pas ton intention, sinon il faudrait completer par de regles FORWARD et activer le NAT par un truc special.
Apres il y a difference entre REJECT et DROP, les deux bloquent mais le 1er donne potentiellement l'info que ton numero IP existe quand il y a de scans depuis l'exterieur. Avec DROP tu es vraiement invisible. Moi, je prefere le DROP, mais bon c'est un choix.
Complement: Pour demarrer le script au boot il y a de fichiers boot.local ou rc.local dans /etc/rc.d/ ou /etc/rc.d/init.d/
Je crois en Suse c'est peut-etre /etc/rc.d/boot.local.
Tu copies ton script dans /usr/sbin/, tu le rends executables avec "chmod +x /usr/sbin/script_parefeu" et tu ajoutes dans boot.local une ligne pour appeler le script: "/usr/sbin/script_parefeu".
Pour tester avant boot, tu le lances comme ca.
Si tu veux tester ton pare feu tu peux regarder ici:
https://www.grc.com/x/ne.dll?bh0bkyd2
Ici tu veras exactement les ports que tu as ouverts.
Il y a deux erreurs directes:
1) Cette regle:
# on rejette toutes les connexions entrantes (remplace le DROP par defaut)
iptables -A INPUT -j REJECT
doit etre mise tout a la fin, sinon elle fermera completement la chaine INPUT avant que les regles suivantes pour accepter certaines choses peuvent marcher. A l'etat actuel ca bloque tout simplement ta connexion internet et reseau.
2) Il y a une faute de syntax: Dans les trois regles avec "-P" il faut enlever le "-j", par exemple:
iptables -P INPUT -j DROP
=> iptables -P INPUT DROP
et pareil pour OUTPUT, FORWARD.
Avec ca, ca va fonctionner, c.-a-d. tu ouvres la direction sortant (OUTPUT) et en Linux on peut en effet bien faire ca (contrairement a Windows a cause des spyware :lol:).
Tu fermes la direction INPUT sauf pour les requetes qui sont de reponses a tes propres demandes (par exemple: affichage html quand tu demande ca dans un navigateur). Pour ca il y a correctement la regle avec le "RELATED,ESTABLISHED" et ca ferme les requetes non-sollicite, donc pare feu. Apres tu ouvres certains ports 20, 21 (ftp), 22 (ssh), 10000 (???) et aussi le reseau local.
Si ces regles sont bonnes ou pas ca depend de ce que tu veux, c'est plutot une question de choix. Pour avoir un pc qui ne fait que client mais avec internet normal, passif (html, ftp, ssh sous forme client mais pas serveur) il suffit de cette regle "RELATED,ESTABLISHED".
Par contre ton pc ne fait pas de routeur NAT ce qui ne semble de toute facon pas ton intention, sinon il faudrait completer par de regles FORWARD et activer le NAT par un truc special.
Apres il y a difference entre REJECT et DROP, les deux bloquent mais le 1er donne potentiellement l'info que ton numero IP existe quand il y a de scans depuis l'exterieur. Avec DROP tu es vraiement invisible. Moi, je prefere le DROP, mais bon c'est un choix.
Complement: Pour demarrer le script au boot il y a de fichiers boot.local ou rc.local dans /etc/rc.d/ ou /etc/rc.d/init.d/
Je crois en Suse c'est peut-etre /etc/rc.d/boot.local.
Tu copies ton script dans /usr/sbin/, tu le rends executables avec "chmod +x /usr/sbin/script_parefeu" et tu ajoutes dans boot.local une ligne pour appeler le script: "/usr/sbin/script_parefeu".
Pour tester avant boot, tu le lances comme ca.
Si tu veux tester ton pare feu tu peux regarder ici:
https://www.grc.com/x/ne.dll?bh0bkyd2
Ici tu veras exactement les ports que tu as ouverts.
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
507
5 oct. 2005 à 05:55
5 oct. 2005 à 05:55
salut,
Il faut protéger ton poste contre les attaques du réseau local
Si ton réseau local est géré par la freebox, concerve la notion d'adresse IP
privée pour tes règles et pas de nom d'interface. Attention ta freebox se
retrouve avec une adresse privé sur ton réseau local. Elle pourra donc
connecter sans blocage tous les ports ouvert de ta machine. J'ai pas encore
entendu parler de compromission de la freebox, mais ça reste du soft
embarqué téléchargeable au démarage (du linux il me semble).
Les routeurs ne doivent pas relayer les trames indiquant une adresse de
destinataire dans un résau privé. donc pas trop de risque à utiliser des adresses
privée (ou des plages d'adresse).
Perso je suis pas adepte d'une policy ACCEPT sur l'OUPUT, je préfère mettre
des règles qui autorise certains SYN (tcp-flags) ou NEW (state) sur
des ports bien définis. Le suivi de connexion d'iptables faisant le nécessaire pour que ça se passe bien.
Si tu veux faire du ftp entrant, le port 21 suffit. il faudra charger par la suite
le module de suivi de connection ftp (ip_conntrack_ftp).
Perso je fait pas de REJECT ca envoit des trames icmp pour rien, je reste
en DROP...
A+, crabs
Il faut protéger ton poste contre les attaques du réseau local
Si ton réseau local est géré par la freebox, concerve la notion d'adresse IP
privée pour tes règles et pas de nom d'interface. Attention ta freebox se
retrouve avec une adresse privé sur ton réseau local. Elle pourra donc
connecter sans blocage tous les ports ouvert de ta machine. J'ai pas encore
entendu parler de compromission de la freebox, mais ça reste du soft
embarqué téléchargeable au démarage (du linux il me semble).
Les routeurs ne doivent pas relayer les trames indiquant une adresse de
destinataire dans un résau privé. donc pas trop de risque à utiliser des adresses
privée (ou des plages d'adresse).
Perso je suis pas adepte d'une policy ACCEPT sur l'OUPUT, je préfère mettre
des règles qui autorise certains SYN (tcp-flags) ou NEW (state) sur
des ports bien définis. Le suivi de connexion d'iptables faisant le nécessaire pour que ça se passe bien.
Si tu veux faire du ftp entrant, le port 21 suffit. il faudra charger par la suite
le module de suivi de connection ftp (ip_conntrack_ftp).
Perso je fait pas de REJECT ca envoit des trames icmp pour rien, je reste
en DROP...
A+, crabs
kmf31
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
501
4 oct. 2005 à 23:40
4 oct. 2005 à 23:40
Complement: Si tu veux utiliser le Freeplayer pour la Freebox ajoutes parmis les regels ACCEPT aussi:
En principe il faudrait aussi ouvrir le port UDP 1234, mais seulement en direction OUTPUT, donc c'est deja bon.
Un autre point auquel il faut faire attention:
Dans de scripts executes au boot il est mieux de mettre de chemins absolus, par exemple: "/sbin/iptables ...." au lieu de "iptables" parce qu'on n'est peut-etre pas sur si a l'execution du script le PATH est correctement initialise!
iptables -A INPUT -p tcp -s 212.27.38.253 --dport 8080 -j ACCEPT
En principe il faudrait aussi ouvrir le port UDP 1234, mais seulement en direction OUTPUT, donc c'est deja bon.
Un autre point auquel il faut faire attention:
Dans de scripts executes au boot il est mieux de mettre de chemins absolus, par exemple: "/sbin/iptables ...." au lieu de "iptables" parce qu'on n'est peut-etre pas sur si a l'execution du script le PATH est correctement initialise!
Xenor
Messages postés
3312
Date d'inscription
dimanche 11 août 2002
Statut
Contributeur
Dernière intervention
22 juin 2015
51
5 oct. 2005 à 04:36
5 oct. 2005 à 04:36
Salutatousse,
Après la bonne analyse de kmf, je passe ajouter un quelque chose :
Concernant les différences entre réseau internet/local, je te conseille plutôt d'utiliser le filtrage par périphérique (eth0, eth1, ppp0... utiliser les options -i et -o pour ça) ça me semble plus efficace. Depuis l'internet, on peut toujours t'envoyer des paquets faisant croire que ça vient de l'adresse 192.168.0.XX, si tu vois ce que je veux dire...
Et comme l'a dit kmf, l'ordre est important. Il vaut mieux placer ces règles au début de la liste, ou bien utiliser "-I" (Insert) au lieu de "-A" (Append).
C'est tout ce que j'ai à l'esprit pour l'instant... Vu l'heure, c'est pas si mal :-)
Après la bonne analyse de kmf, je passe ajouter un quelque chose :
# on autorise tout sur le réseau local iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
Concernant les différences entre réseau internet/local, je te conseille plutôt d'utiliser le filtrage par périphérique (eth0, eth1, ppp0... utiliser les options -i et -o pour ça) ça me semble plus efficace. Depuis l'internet, on peut toujours t'envoyer des paquets faisant croire que ça vient de l'adresse 192.168.0.XX, si tu vois ce que je veux dire...
Et comme l'a dit kmf, l'ordre est important. Il vaut mieux placer ces règles au début de la liste, ou bien utiliser "-I" (Insert) au lieu de "-A" (Append).
C'est tout ce que j'ai à l'esprit pour l'instant... Vu l'heure, c'est pas si mal :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bon merci beaucoup pour votre aide
j'ai donc fait deux trois modifs
1- j'ai mis le chemin complet pour iptables ...
2- j'ai viré la ligne qui interdit l'icmp entrant
de toute façon je drop tout ce qui rentre ? ça faisait doublon non ?
3- j'ai remonté les lignes concernant le réseau local
petite question : si je remplace 192.168.0.0/24 par eth0 ça ne risque pas de poser problème ? ma freebox elle aussi arrive sur eth0 ! à moins d'avoir deux cartes
#!/bin/sh
#script de configuration /sbin/iptables
#SERGIO 04-10-2005
#Remise à zero
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -X
/sbin/iptables -t nat -X
#Regles par fedaut
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
# Interface locale
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
# on autorise tout sur le réseau local
/sbin/iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
/sbin/iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
# on accepte les packets entrants relatifs à des connexions déjà établies
/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# on accepte webmin sur le port 10000
/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 10000 -j ACCEPT
# on autorise les connexions FTP
/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 20:21 -j ACCEPT
# on autorise les connexions en SSH
/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
#fin du fichier
j'ai donc fait deux trois modifs
1- j'ai mis le chemin complet pour iptables ...
2- j'ai viré la ligne qui interdit l'icmp entrant
de toute façon je drop tout ce qui rentre ? ça faisait doublon non ?
3- j'ai remonté les lignes concernant le réseau local
petite question : si je remplace 192.168.0.0/24 par eth0 ça ne risque pas de poser problème ? ma freebox elle aussi arrive sur eth0 ! à moins d'avoir deux cartes
#!/bin/sh
#script de configuration /sbin/iptables
#SERGIO 04-10-2005
#Remise à zero
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -X
/sbin/iptables -t nat -X
#Regles par fedaut
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
# Interface locale
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
# on autorise tout sur le réseau local
/sbin/iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
/sbin/iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
# on accepte les packets entrants relatifs à des connexions déjà établies
/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# on accepte webmin sur le port 10000
/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 10000 -j ACCEPT
# on autorise les connexions FTP
/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 20:21 -j ACCEPT
# on autorise les connexions en SSH
/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
#fin du fichier
kmf31
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
501
5 oct. 2005 à 14:09
5 oct. 2005 à 14:09
2- j'ai viré la ligne qui interdit l'icmp entrant
de toute façon je drop tout ce qui rentre ? ça faisait doublon non ?
Oui, ca fait doublon avec la regle "RELATED, ...".
petite question : si je remplace 192.168.0.0/24 par eth0 ça ne risque pas de poser problème ? ma freebox elle aussi arrive sur eth0 ! à moins d'avoir deux cartes
En efft, il y a deux cas de figures:
1) Ton pc fait lui meme routeur NAT, donc avec deux cartes reseau:
eth0 => reseau local
et:
eth1 => internet
(ou a l'inverse), dans ce cas tu peux en effet remplacer le reseau local par le machin avec eth0, mais le mieux c'est garder le 192.168.0.0/24 et simplement ajouter la condition pour eth0.
2) Tu as un autre routeur comme la Freebox et ici tout sort par un device, par exemple eth0. Dans ce cas tu as raison que ca pose de problemes.
Je crois Xenor a pense a la situation 1 qui ne s'applique pas a toi.
De facon generale et independant de ca, je crois c'est une bonne idee de preciser en plus des autres conditions (numeros IP et/ou ports tcp/udp) aussi le device mais bien sur en gardant les autres conditions.
Par exemple, au lieu de:
/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
de mettre:
/sbin/iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Donc de specifier les devices eth0, eth1, ppp0 etc. parrait plus propre. Cependant, il y a aussi un (tout petit) inconvenient de ca: Supposons tu utilises de temps en temps une connexion 56 K (par exemple la connexion de secour chez Free). Dans ce cas le device eth0 sera remplace par ppp0 et le pare feu peut bloquer ca si tu as mis partout eth0. En fait sans specifier le device, comme tu le fais maintenant, ca va bien marcher. Si on specifie le device on a interet de faire un deuxieme script pour ppp0 ou d'ajouter de regles specifiques pour ppp0. Par exemple la regle RELATED, ... devrait aussi y etre pour ppp0 (c.-a-d. => deuxieme regle comme ca avec ppp0) par contre pour les autres regles reseau local et meme l'ouverture des ports 20, 21, 22, ... je ne mettrais que l'eth0 et pas ppp0. En ppp0 avec 56 K le reseau local ne fait pas de sens et probablement tu ne souhaites pas accepter de connexions ftp, ssh sur ton pc avec une bande passante tellement faible.
Par rapport a tes dernieres modifs: tu peux quand-meme garder une regle qui fait un DROP ou REJECT general a la fin, meme si ca fait un doublon avec la politique de defaut (le machin avec "-P").
Pour le reseau local une variante interessante serait aussi de mettre le numero MAC d'une carte reseau des autres PCs, par exemple tu mettrais plutot:
ou NUMMAC represente le numero mac de la carte reseau d'un autre PC (c'est un numero hardware pour la carte reseau, la valeur ci-dessus n'est qu'un exemple). Pour chaque PC dans ton sous-reseau auquel tu souhaites donner l'access il faudrait mettre une telle ligne avec le bon numero Mac de pc (visible avec /sbin/ifconfig en Linux ou "ipconfig" dans une fenetre dos en Windows). Si les pcs sont tous relies par ethernet et par un switch a la Freebox ca fonctionnera tres bien. Je suis moins sur pour l'USB ou Wifi si ca passe par la Freebox en tant que routeur, dans ce cas il se peut que ca met seulement le numero Mac de la Freebox et pas des pcs derrieres qui se connectent en USB ou Wifi. Il faut essayer.
Pour finir: Si ta Freebox marche en mode routeur elle fait deja (une bonne partie) des choses que tu souhaites realiser:
1) Faire pare feu par defaut pour la direction entrant.
2) Ouvrir la direction sortant.
3) Ouvrir pour le sous-reseau.
4) Pour ouvrir de ports ssh, ftp, etc. il faut de toute facon aussi rediriger ces ports dans la config du mode routeur (sur la page web de Free). Cette redirection est necessaire en plus de l'ouverture sur ton pc, sinon ca reste limite au reseau local, que tu ouvres de toute facon.
Cependant ca ne fait pas de mal de faire une deuxieme couche pare feu et avec ton propre script tu peux faire de choses plus subtiles, impossibles avec le mode routeur de la Freebox, par exemple limiter ssh pour certains numeros IP sur l'internet.
de toute façon je drop tout ce qui rentre ? ça faisait doublon non ?
Oui, ca fait doublon avec la regle "RELATED, ...".
petite question : si je remplace 192.168.0.0/24 par eth0 ça ne risque pas de poser problème ? ma freebox elle aussi arrive sur eth0 ! à moins d'avoir deux cartes
En efft, il y a deux cas de figures:
1) Ton pc fait lui meme routeur NAT, donc avec deux cartes reseau:
eth0 => reseau local
et:
eth1 => internet
(ou a l'inverse), dans ce cas tu peux en effet remplacer le reseau local par le machin avec eth0, mais le mieux c'est garder le 192.168.0.0/24 et simplement ajouter la condition pour eth0.
2) Tu as un autre routeur comme la Freebox et ici tout sort par un device, par exemple eth0. Dans ce cas tu as raison que ca pose de problemes.
Je crois Xenor a pense a la situation 1 qui ne s'applique pas a toi.
De facon generale et independant de ca, je crois c'est une bonne idee de preciser en plus des autres conditions (numeros IP et/ou ports tcp/udp) aussi le device mais bien sur en gardant les autres conditions.
Par exemple, au lieu de:
/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
de mettre:
/sbin/iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Donc de specifier les devices eth0, eth1, ppp0 etc. parrait plus propre. Cependant, il y a aussi un (tout petit) inconvenient de ca: Supposons tu utilises de temps en temps une connexion 56 K (par exemple la connexion de secour chez Free). Dans ce cas le device eth0 sera remplace par ppp0 et le pare feu peut bloquer ca si tu as mis partout eth0. En fait sans specifier le device, comme tu le fais maintenant, ca va bien marcher. Si on specifie le device on a interet de faire un deuxieme script pour ppp0 ou d'ajouter de regles specifiques pour ppp0. Par exemple la regle RELATED, ... devrait aussi y etre pour ppp0 (c.-a-d. => deuxieme regle comme ca avec ppp0) par contre pour les autres regles reseau local et meme l'ouverture des ports 20, 21, 22, ... je ne mettrais que l'eth0 et pas ppp0. En ppp0 avec 56 K le reseau local ne fait pas de sens et probablement tu ne souhaites pas accepter de connexions ftp, ssh sur ton pc avec une bande passante tellement faible.
Par rapport a tes dernieres modifs: tu peux quand-meme garder une regle qui fait un DROP ou REJECT general a la fin, meme si ca fait un doublon avec la politique de defaut (le machin avec "-P").
Pour le reseau local une variante interessante serait aussi de mettre le numero MAC d'une carte reseau des autres PCs, par exemple tu mettrais plutot:
NUMMAC=00:0E:12:34:56:CD /sbin/iptables -A INPUT -i eth0 -m mac --mac-source $NUMMAC -s 192.168.0.0/24 -j ACCEPT
ou NUMMAC represente le numero mac de la carte reseau d'un autre PC (c'est un numero hardware pour la carte reseau, la valeur ci-dessus n'est qu'un exemple). Pour chaque PC dans ton sous-reseau auquel tu souhaites donner l'access il faudrait mettre une telle ligne avec le bon numero Mac de pc (visible avec /sbin/ifconfig en Linux ou "ipconfig" dans une fenetre dos en Windows). Si les pcs sont tous relies par ethernet et par un switch a la Freebox ca fonctionnera tres bien. Je suis moins sur pour l'USB ou Wifi si ca passe par la Freebox en tant que routeur, dans ce cas il se peut que ca met seulement le numero Mac de la Freebox et pas des pcs derrieres qui se connectent en USB ou Wifi. Il faut essayer.
Pour finir: Si ta Freebox marche en mode routeur elle fait deja (une bonne partie) des choses que tu souhaites realiser:
1) Faire pare feu par defaut pour la direction entrant.
2) Ouvrir la direction sortant.
3) Ouvrir pour le sous-reseau.
4) Pour ouvrir de ports ssh, ftp, etc. il faut de toute facon aussi rediriger ces ports dans la config du mode routeur (sur la page web de Free). Cette redirection est necessaire en plus de l'ouverture sur ton pc, sinon ca reste limite au reseau local, que tu ouvres de toute facon.
Cependant ca ne fait pas de mal de faire une deuxieme couche pare feu et avec ton propre script tu peux faire de choses plus subtiles, impossibles avec le mode routeur de la Freebox, par exemple limiter ssh pour certains numeros IP sur l'internet.
je test ça ce soir et je vous dis ce qu'il en est !
merci
merci
ce script est bien finis
# on autorise les connexions en SSH
/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
je serais plus selectif en ajoutant
/sbin/iptables -t filter -A INPUT -p tcp --dport 22 -d 192.168.1.100 -j ACCEPT
#ICI 192.168.1.100 EST LE PC AVEC LEQUEL TU TE CONNECTES PAR SSH=LIMITATION D'UN PC AUTORISER À SE CONNECTER VIA SSH
# on autorise les connexions en SSH
/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
je serais plus selectif en ajoutant
/sbin/iptables -t filter -A INPUT -p tcp --dport 22 -d 192.168.1.100 -j ACCEPT
#ICI 192.168.1.100 EST LE PC AVEC LEQUEL TU TE CONNECTES PAR SSH=LIMITATION D'UN PC AUTORISER À SE CONNECTER VIA SSH
Bon, après des soucis avec mon serveur X ... je me suis enfin occupé du FW
ça marche impécable
petite précision : j'ai mis deux cartes réseau
1 pour pour communiquer avec le net et une autre pour le cas ou je voudrais rajouter une machine sur mon reseau (pour le moment la machine est seule)
du coup j'ai put affiner mes règles
j'ai du aussi comme dit plus haut charger le module ip_conntrack_ftp
j'ai fait testé par un pote qui me dis qu'en se connectant sur mon ftp (proftpd) il voyait mon IP privée 192.168.0.x c'est normal ?
Sergio
ça marche impécable
petite précision : j'ai mis deux cartes réseau
1 pour pour communiquer avec le net et une autre pour le cas ou je voudrais rajouter une machine sur mon reseau (pour le moment la machine est seule)
du coup j'ai put affiner mes règles
j'ai du aussi comme dit plus haut charger le module ip_conntrack_ftp
j'ai fait testé par un pote qui me dis qu'en se connectant sur mon ftp (proftpd) il voyait mon IP privée 192.168.0.x c'est normal ?
Sergio
kmf31
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
501
5 oct. 2005 à 22:28
5 oct. 2005 à 22:28
j'ai fait testé par un pote qui me dis qu'en se connectant sur mon ftp (proftpd) il voyait mon IP privée 192.168.0.x c'est normal ?
Il est venu chez toi et il a branche son pc sur ta Freebox (par switch ou wifi) dans le meme sous-reseau que toi ? Si oui, c'est parfaitement normal.
Cependant s'il est ailleur avec son propre numeros IP internet c'est en principe impossible. Il devrait voir ton numero IP publique et dans ce cas tu dois aussi activer la redirection des ports ftp sur la Freebox pour que ca marche.
Il est venu chez toi et il a branche son pc sur ta Freebox (par switch ou wifi) dans le meme sous-reseau que toi ? Si oui, c'est parfaitement normal.
Cependant s'il est ailleur avec son propre numeros IP internet c'est en principe impossible. Il devrait voir ton numero IP publique et dans ce cas tu dois aussi activer la redirection des ports ftp sur la Freebox pour que ca marche.
--> j'ai fait testé par un pote qui me dis qu'en se connectant sur mon ftp (proftpd) il voyait mon IP privée 192.168.0.x c'est normal ?
Oui c'est normal. La véritable solution pour proftpd c'est :
MasqueradeAddress
Ajoute ça dans ton fichier de config en faisant suivre de l'adresse que tu souhaites afficher a la connexion :
.
MasqueradeAddress ftp.monftp.com
.
Oui c'est normal. La véritable solution pour proftpd c'est :
MasqueradeAddress
Ajoute ça dans ton fichier de config en faisant suivre de l'adresse que tu souhaites afficher a la connexion :
.
MasqueradeAddress ftp.monftp.com
.
j'ai rajouté un message de bienvenue à la connexion avec l'option AccessGrantMsg dans proftpd.conf
du coup on ne vois plus mon IP privée ...
voila
du coup on ne vois plus mon IP privée ...
voila
kmf31
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
501
6 oct. 2005 à 00:49
6 oct. 2005 à 00:49
Si le numero IP n'est apparu que dans le 1er message du ftp ca ne compte pas et c'est en effet normal. En fait pour la difference entre IP prive et publique c'est plutot pour l'inverse, si toi tu te connectes par ftp, ssh, ... ailleur on verra dans les logs du serveurs ton IP publique de Free et si tu te connectes sur un autre PC dans ton reseau-local ce sera l'IP prive.
Y a juste un truc qui m'intrigue dans tous ces échanges :
quelqu'un d'entre vous a suggéré d'utiliser la fontion --mac-source dans les règles iptables. J'ai testé ça sur une SuSE 10.1, no problem, ça fcontionne impc. Par contre, la version 9.3 ne semble pas fournir ce genre de fonctionalité (message pas de chaine avec ce nom).
iptables -A INPUT -i eth1 -m mac --mac XX:XX:XX:XX:XX -j ACCEPT
Quelqu'un confirme ?
quelqu'un d'entre vous a suggéré d'utiliser la fontion --mac-source dans les règles iptables. J'ai testé ça sur une SuSE 10.1, no problem, ça fcontionne impc. Par contre, la version 9.3 ne semble pas fournir ce genre de fonctionalité (message pas de chaine avec ce nom).
iptables -A INPUT -i eth1 -m mac --mac XX:XX:XX:XX:XX -j ACCEPT
Quelqu'un confirme ?
lio
ce script est bien finis
# on autorise les connexions en SSH
/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
je serais plus selectif en ajoutant
/sbin/iptables -t filter -A INPUT -p tcp --dport 22 -d 192.168.1.100 -j ACCEPT
#ICI 192.168.1.100 EST LE PC AVEC LEQUEL TU TE CONNECTES PAR SSH=LIMITATION D'UN PC AUTORISER À SE CONNECTER VIA SSH
ce script est bien finis
# on autorise les connexions en SSH
/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
je serais plus selectif en ajoutant
/sbin/iptables -t filter -A INPUT -p tcp --dport 22 -d 192.168.1.100 -j ACCEPT
#ICI 192.168.1.100 EST LE PC AVEC LEQUEL TU TE CONNECTES PAR SSH=LIMITATION D'UN PC AUTORISER À SE CONNECTER VIA SSH
bonjour jai slackware 10.2 comme firewall et jaimerai le configurer qq peut maider? une fois qu'on a taper les regles dans le fichier /etc/rc.d/rc.local
on fait quoi pour executer ces regles?? jai pas le fichier rc.firewall est ce que je dois le creer ou pas? svp aidez moi c tres important
merci d'avance.
on fait quoi pour executer ces regles?? jai pas le fichier rc.firewall est ce que je dois le creer ou pas? svp aidez moi c tres important
merci d'avance.