Iptables interdire au maximum l'accès
Résolu
Vasu
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
Vasu Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Vasu Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'essai de configurer iptables pour interdire au maximum l'accès en autorisant que les services qui sont nécessaires. Voici ma configuration :
Donc j'autorise d'accéder à mes services et j'accepte que les connexions qui sont établies par moi-même pour recevoir la réponse. Mais lorsque j'essai de faire un ping ou d'accéder à une page telle que www.google.com j'ai : unknown host : www.google.com.
Autre question, j'ai vu différentes manières pour créer un script de démarrage de mon iptables, quelle est selon vous la plus simple ?
Merci de votre aide :-).
j'essai de configurer iptables pour interdire au maximum l'accès en autorisant que les services qui sont nécessaires. Voici ma configuration :
# iptables -P INPUT DROP # iptables -P OUTPUT DROP # iptables -P FORWARD DROP We authorize access to web (http) # iptables -A OUTPUT -p tcp --dport 80 (or proxy port) -j ACCEPT We authorize the icmp # iptables -A INPUT -p icmp --icmp-type any -j ACCEPT # iptables -A OUTPUT -p icmp --icmp-type any -j ACCEPT We authorize ssh # iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT We authorize https # iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT We authorize ftp (active and passive mode) # iptables -A OUTPUT -p tcp --dport 20:21 -j ACCEPT We authorize smtp # iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT We authorize pop3 # iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT We authorize dns # iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT We authorize dhcp client # iptables -A OUTPUT -p udp --dport 546 -j ACCEPT We authorize all web responses # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Donc j'autorise d'accéder à mes services et j'accepte que les connexions qui sont établies par moi-même pour recevoir la réponse. Mais lorsque j'essai de faire un ping ou d'accéder à une page telle que www.google.com j'ai : unknown host : www.google.com.
Autre question, j'ai vu différentes manières pour créer un script de démarrage de mon iptables, quelle est selon vous la plus simple ?
Merci de votre aide :-).
A voir également:
- Iptables interdire au maximum l'accès
- Acces rapide - Guide
- Accès refusé - Guide
- Trousseau d'accès iphone - Guide
- Accès presse papier - Guide
- Je n'ai plus acces a ma boite mail gmail - Guide
4 réponses
En fait j'ai mal testé et j'ai juste oublié d'ajouter :
pour que le dns fonctionne correctement.
Par contre, en ce qui concerne ma question de script au démarrage, la question vaut toujours.
# iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
pour que le dns fonctionne correctement.
Par contre, en ce qui concerne ma question de script au démarrage, la question vaut toujours.
Re,
A faire en root
1. avec rc.local
dans le fichier rc.local tu ajoutes le chemin vers ton script
2. avec un script de démarrage dans /etc/init.d
tu crées 2 fichiers dans /etc
iptables_start
iptables_stop
et un script de démarrage dans /etc/init.d que tu peux l'appeller iptables
Pas besoin d'extension .sh
le fichier /etc/iptables_start contiendra ce que tu as en firewall.sh
le fichier /etc/iptables_stop c'est pour la désactivation du firewall (des fois on a besoin pour certains tests)
et il contiendra
Le script /etc/init.d/iptables contiendra
Ensuite établi les droits
Et tu crées les liens
Au démarrage dans le runlevel 2,3,4,5 le firewall sera en état de fonction
Tu peux desactivé le firewall avec /etc/init.d/iptables stop
Si tu fait des modifications tu peux le rélancer avec /etc/init.d/iptables start
Si tu tapes /etc/init.d/iptables tu auras le message usage: /etc/init.d/iptables {start|stop}
A faire en root
1. avec rc.local
dans le fichier rc.local tu ajoutes le chemin vers ton script
/chemin/vers/firewall.sh
2. avec un script de démarrage dans /etc/init.d
tu crées 2 fichiers dans /etc
iptables_start
iptables_stop
et un script de démarrage dans /etc/init.d que tu peux l'appeller iptables
Pas besoin d'extension .sh
le fichier /etc/iptables_start contiendra ce que tu as en firewall.sh
le fichier /etc/iptables_stop c'est pour la désactivation du firewall (des fois on a besoin pour certains tests)
et il contiendra
#! /bin/sh # # Description: désactivation du firewall netfilter/iptables # # table FILTER # iptables -F iptables -X iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT # 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 # # 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
Le script /etc/init.d/iptables contiendra
#!/bin/sh case $1 in 'start' ) /etc/iptables_start ;; 'stop' ) /etc/iptables_stop ;; *) echo "usage: $0 {start|stop}" ;; esac
Ensuite établi les droits
chmod -v 0700 /etc/iptables_st* chmod -v 0700 /etc/init.d/iptables
Et tu crées les liens
update-rc.d -f iptables start 99 2 3 4 5 .
Au démarrage dans le runlevel 2,3,4,5 le firewall sera en état de fonction
Tu peux desactivé le firewall avec /etc/init.d/iptables stop
Si tu fait des modifications tu peux le rélancer avec /etc/init.d/iptables start
Si tu tapes /etc/init.d/iptables tu auras le message usage: /etc/init.d/iptables {start|stop}
Merci de cette réponse bien détaillée, mais j'ai du faire une erreur. Au lieu de tester au préalable, j'ai directement redémarrer et le chargement ce stop lors de : loading services. Ensuite l'écran noir et la flèche reste sans que rien ne se passe. Comment faire pour démarrer normalement tout de même ?
Salut,
Fait un CTRL+C quand le chargement se stoppe sinon normalement une vois après l'échec de chargement de service l'amorçage de système continuera.
D'habitude on montre d'abors ce qu'on a fait suite a une réponse.
Ca nous permettra de depister une eventuelle erreur.
Fait un CTRL+C quand le chargement se stoppe sinon normalement une vois après l'échec de chargement de service l'amorçage de système continuera.
D'habitude on montre d'abors ce qu'on a fait suite a une réponse.
Ca nous permettra de depister une eventuelle erreur.
Merci pour le script, ça fonctionne parfaitement. Mais par contre au démarrage de la machine ça prend facilement 5 minutes, ce doit être par rapport à la configuration de mon firewall qui empêche le bon fonctionnement du dhcp ou autre.
Quel est le moyen de faire en sorte qu'il ne démarre une fois l'attribution des adresses ip ou alors même de l'enlever du démarrage (grâce à ton script, ce n'est pas un grand problème de le lancer par la suite)?
Quel est le moyen de faire en sorte qu'il ne démarre une fois l'attribution des adresses ip ou alors même de l'enlever du démarrage (grâce à ton script, ce n'est pas un grand problème de le lancer par la suite)?