[iptable] j'en ai besoin rapidement svp [Résolu/Fermé]

Signaler
Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
-
 Eley -
Bonjour
Est-ce que quelqu'un pourrai me faire un script iptable en m'acceptant que le port 80,22 après les autres ports je peux les rajouter moi même en prenant sur ces deux conditions.
Mais je voudrai des explications je tape quoi sous ssh pour faire telle chose et telle chose.
Je suis près à vous l'acheter contre des codes allopass.
Merci d'avance

54 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 467
Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
59
Salut
Le pb c'est que je ne connais toujours pas mon interface ! as-tu une commande pour que je puiss le voir.
Merci
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 467
Salut,

Pour savoir les interfaces existantes
cat /proc/net/dev

Pour savoir la configuration d'interfaces
ifconfig


lami20j
Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
59
Mon interface est une eth0.
Donc peux-tu me redire tout ce que je dois faire avec le code dans chaque fichier (tu m'autorise le port 22 et 80 je rajouterai les autres.
Merci après quand ça sera bon je t'embête plus.
Merci encore
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 467
Re,

J'utilise xxx.xxx.xxx.xxx comme IP pour le serveur
Et yyy.yyy.yyy.yyy pour un client quelconque

Voilà la marche à suivre :

1. création de fichier iptables_start sur ton poste local
Dédans tu écrit
#! /bin/sh
#
# Description: configuration de firewall netfilter/iptables
#
# Initialization de la table FILTER
#
iptables -F
iptables -X
iptables -P INPUT   DROP 
iptables -P OUTPUT  DROP
iptables -P FORWARD DROP # les 3 cmd = debranchement des cables

# Initialization de la table NAT
#
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING    ACCEPT
iptables -t nat -P POSTROUTING   ACCEPT
iptables -t nat -P OUTPUT        ACCEPT
#
# Initialisation de la table MANGLE
#
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING    ACCEPT
iptables -t mangle -P INPUT         ACCEPT
iptables -t mangle -P OUTPUT        ACCEPT
iptables -t mangle -P FORWARD       ACCEPT
iptables -t mangle -P POSTROUTING   ACCEPT

# interface lo
iptables -A INPUT -i lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT
iptables -A OUTPUT -o lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT

#                            table FILTER
#
# chaque commande est sur une seule ligne
#
# remplace eth0 avec ton interface
# et xxx.xxx.xxx.xxx avec IP de ton interface
iptables -A INPUT -i eth0 -d xxx.xxx.xxx.xxx -m state --state ESTABLISHED,RELATED -j ACCEPT

# accepter l'accès pour IP yyy.yyy.yyy.yyy aux ports 22 et 80
iptables -A INPUT -i eth0 -p tcp -s yyy.yyy.yyy.yyy -d xxx.xxx.xxx.xxx --dport 22:80 -j ACCEPT

#
iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT


2. création de fichier iptables_stop sur ton poste local

Dédans tu écrit
#! /bin/sh
#
# Description:  firewall netfilter/iptables est maintenant ouvert
#
# Initialization de la table FILTER
#
iptables -F
iptables -X
iptables -P INPUT   ACCEPT
iptables -P OUTPUT  ACCEPT
iptables -P FORWARD ACCEPT

# Initialization de la table NAT
#
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING    ACCEPT
iptables -t nat -P POSTROUTING   ACCEPT
iptables -t nat -P OUTPUT        ACCEPT
#
# Initialisation de la table MANGLE
#
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING    ACCEPT
iptables -t mangle -P INPUT         ACCEPT
iptables -t mangle -P OUTPUT        ACCEPT
iptables -t mangle -P FORWARD       ACCEPT
iptables -t mangle -P POSTROUTING   ACCEPT


3. Création de fichier iptables en local
#! /bin/sh

case $1 in

'start')
           /etc/iptables_start
          ;;
'stop')
          /etc/iptables_stop
          ;;
'*')
          echo "Usage : /etc/init.d/iptables {start|stop}
          ;;
esac


4. copier les fichiers sur le serveur
scp /chemin/local/iptables_start user@xxx.xxx.xxx.xxx:/etc/
scp /chemin/local/iptables_stop user@xxx.xxx.xxx.xxx:/etc/
scp /chemin/local/iptables user@xxx.xxx.xxx.xxx:/etc/init.d/


5. Connexion sur serveur
ssh user@xxx.xxx.xxx.xxx

5. se connecter en root sur le serveur (si tu n'es pas déjà) avec su ou su -

6. Mettre les droits sur les fichiers
chmod -v 0744 /etc/iptables_stop
chmod -v 0744 /etc/iptables_start
chmod -v 0744 /etc/init.d/iptables


6. création des liens

update-rc.d iptables start 99 2 3 4 5 .
lami20j
Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
59
Salut et merci beaucoup
Alors par contre je ne veux pas autorisé le ssh que pour une ip car moi chez moi je n'ai pas une ip fixe le serveur en a une lui par contre dans le datacenter.
Je vois une ligne ou tu autorise dport22-80 ça veut dire que tu autorise tous les ports entre 22 et 80 non?
Moi je veux juste autoriser le port 22 et 80 pour tout le monde pas pour une ip tu comprend?
et update-rc ne marche pas error
merci
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 467
Re,

Je vois une ligne ou tu autorise dport22-80 ça veut dire que tu autorise tous les ports entre 22 et 80 non?

Non. Lit attentivement. Je n'ai pas écrit 22-80 mais 22:80

22:80 veut dire 22 et 80

Moi je veux juste autoriser le port 22 et 80 pour tout le monde pas pour une ip tu comprend?

Je ne savais pas.

Alors mets au lieu de

iptables -A INPUT -i eth0 -p tcp -s yyy.yyy.yyy.yyy -d xxx.xxx.xxx.xxx --dport 22:80 -j ACCEPT

cette règle
iptables -A INPUT -i eth0 -p tcp -d xxx.xxx.xxx.xxx --dport 22:80 -j ACCEPT
tout le monde à accès maintenant sur les port 22 et 80

update-rc ne marche pas error

Tu veux affichier l'erreur? Merci

Il faut comprendre ce que fait la commande update-rc.d (pas update-rc)

Elle crée des liens symboliques dans les scripts de démarrage (par exempl pour le runlevel 2 /etc/rc2.d/)

Les liens on la forme SNNservice

Tu peux les créer à la main avec la command ln
ln -s /etc/init.d/iptables /etc/rc2.d/S99iptables
lami20j
Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
59
erreur :
update-rc.d: error : expected run1eve1 [o-9S] (did you for get)
usage : update-rc.d [-n] [-f] "basename" remove
update-rc.d [-n] "basename" defaults [NN / sNN knn ]
update-rc.d [-n] "basename"" start /stop nn run 1eve1 [run1eve1] [...].
-n:not really
-f : force

merci de me dire exactement ce que je dois faire pour réaliser ça
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 467
Pour te dire affiche ici ce qu tu tapes. Peut être tu fait une erreur de saisie.

lami20j
Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
59
je fais :
update-rc.d iptables_start start 99 2 3 4 5 après avoir fais le chmod qui lui marche
merci
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 467
Re,

ben, tu as oublié le point ( . ) à la fin

Regarde bien l'étape 6. création des liens iptable j en ai besoin rapidement svp#25

lami20j
Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
59
quand tu dis ip de ton interface (xxx) c l'ip publique de mon serveur? (88.191.xx.xx)? ou c'est autre chose et si c autre chose comment je fais pour le connaitre
merci
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 467
La commande ifconfig sur le serveur doit te donner l'IP de l'interface eth0

lami20j
Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
59
ben j'ai i net 88.191.xx.xx eth0 mais ça dois ressembler à quoi normalement?
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 467
quand tu te connecte sur ton serveur tu utilise (je suppose) la commande ssh user@88.191.x.x

C'est celui-là l'IP que tu dois mettre dans iptables_start

lami20j
Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
59
voici un imprime écran de ifconfig :
http://www.freeonthecity.com/image.jpg
si tu la trouve...
Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
59
donc l'ip de mon serveur ok
Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
59
donc j'ai tout fais
j'obtiens le message :
ading system startup for /etc/init.d/iptables...
/etc/rc2.d/s99iptables (flèche qui va vers la droite) /init.d/iptables
(le rc fais 3,4,5 mais les phrases sont tout le temps pareille)
donc, là c'est bon? le firewall est directement lancé?
Pour l'arrêter le démarrer c /etc/init.d/iptables start ou stop par ex?
merci

Messages postés
790
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
59
je viens de faire /etc/init.d/iptables start et il me dit erreur de sintaxe à la ligne 12 et 15
merci
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 467
Alors affiche le résultat de
for i in  12 15;do sed -n ${i}p /etc/init.d/iptables;done
lami20j