Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

Posté(e) (modifié)

Bon j'ai supprimé la partie -m mac --mac-source XX:XX:XX:XX:XX:XX de mon script ( les XX étaient bien remplacés par l'adresse mac de ma carte réseau ), je n'ai plus le Segmentation fault.

 

L'adresse du site sur lequel je veux aller est du style : www_le_site/toto.asp.

 

La partie /toto.asp est rejetée ( erreur de synthaxe ).

 

Si je l'enlève du script, ça passe ( le ./firewall.klb) mais ca ne m'autorise pas l'accès.

 

Pourtant dans la table br0-ppp0 je trouve bien l'adresse ip de ma banque avec un iptables -L br0-ppp0.

 

La meme adresse entrée dans le tableau de gestion des sorties ( 1er post) m'autorise l'accès.

 

Je retrouve cette règle dans une table nommée block dans laquelle il y a également les autres règles correspondant au tableau du post1.

 

La table br0-ppp0 disparait à chaque arrêt/marche du routeur.

 

Puis-je cumuler deux commandes dans le script de façon à la recréer au démarrage ?

 

iptables -N br0-ppp0
iptables -A br0-ppp0 -s 192.168.1.201 -p tcp -d etc....etc....

Modifié par berfizan

Posté(e)
La partie /toto.asp est rejetée ( erreur de synthaxe ).

 

normal, ceci fait partie de l'url et non du nom de domaine => erreur de syntaxe comme tu l'écris.

Cependant, il est étrange qu'en ne donnant que le nom de domaine, le script passe bien mais que la connexion soit refusée..... :P

 

 

Le script est appelé à chaque démarrage du routeur en dernière position et devrait donc être actif (je n'ai plus de DWB sous la main pour tester :-/); la première partie du script réinitialise les tables, crée les tables perso br0-ppp0, ppp0-br0 et log-and-drop (bien que cette dernière ne soit pas utilisée) et les appels aux tables perso se font via les premières lignes de la table FORWARD en fonction du sens des paquets.

 

Si, en effet, tu n'utilisais que la ligne pour le port https et pas l'intégralité du script (donc br0-ppp0 n'était pas créée), il faut voir la structure de la table FORWARD pour y insérer la ligne pour la gestion de https. (iptables -L FORWARD)

Posté(e)
Le script est appelé à chaque démarrage du routeur en dernière position et devrait donc être actif (je n'ai plus de DWB sous la main pour tester :-/); la première partie du script réinitialise les tables, crée les tables perso br0-ppp0, ppp0-br0 et log-and-drop (bien que cette dernière ne soit pas utilisée) et les appels aux tables perso se font via les premières lignes de la table FORWARD en fonction du sens des paquets.

 

Pour l'instant je travaille en manuel.

 

J'ai créé la table br0-ppp0 par la commande iptables -N br0-ppp0

 

J'ai lancé le fichier firewall par la commande ./firewall.klb

 

Je ne comprends pas très bien comment le routeur utilise la table br0-ppp0

 

Est-ce simplement le fait de la créer qui fait qu'elle est exploitée ?

 

Pour l'instant je fais MANUELLEMENT :

iptables -N br0-ppp0

 

 

./firewall.klb

 

Dans le fichier firewall.klb

iptables -A br0-ppp0 -s 192.168.1.201 -p tcp -d adresse_de_ma_banque --dport 443 -j ACCEPT

 

Si je comprends à peu près ce que tu écris il me manque au moins :

 

iptables -N ppp0-br0

 

iptables -A FORWARD -i br0 -o ppp0 -j br0-ppp0

 

Est-ce ok ?

Posté(e)
Est-ce ok ?

 

oui, tu as compris le principe* mais si tu n'as que la règle pour le https dans la chaine br0-ppp0, tu n'iras pas loin (il manque au moins les requêtes DNS et l'acceptation des réponses aux requêtes dans une chaine ppp0-br0). Je pensais que tu avais recopié l'intégralité du script?

 

* déclaration d"une chaine utilisateur

iptables -N truc

redirection vers la chaine utilisateur à partir des chaines de base avec un motif particulier

iptables -A FORWARD -i eth0 -o ppp0 -j truc

définition des différents filtrages applicables dans la chaine utilisateur

iptables -A truc -p tcp -j accept
iptables -A truc -p udp -j deny

 

si aucune règle de la chaine utilisateur ne matche le paquet, celui ci est renvoyé dans la chaine de base à l'endroit à partir duquel il est parti.

Posté(e)

Bon j'ai fait ce que j'ai pu, cherché un maximun d'info un peu partout, là je ne suis plus..

 

J'ai rajouté les opérations qui semblaient manquer..toujours pas d'accès.

 

Ton dernier post m'a plongé dans la perplexité..rien compris

 

Pourrais-tu me dire clairement une bonne fois ce que je dois faire ..?

 

Je te rappelle que je n'y connais rien en Linux..et en parefeu ... :P

Posté(e)

Le plus simple serait alors de recopier l'intégralité du script que j'avais laissé sur wlan-fr.net en modifiant uniquement la ligne pour https dans un fichier firewall.klb si tu veux.

 

Une fois dans le répertoire contenant ce fichier (/etc/init.d en toute rigueur),

Il faut le rendre exécutable

chmod +x firewall.klb

 

et le lancer

./firewall.klb

 

vérification de l'existence de la chaine br0-ppp0

iptables -L br0-ppp0

Posté(e) (modifié)

Ok mais pourquoi dans /etc/init.d .Sur wlan-fr.net, tu parles de le créer dans /etc.Cela a-t'il une importantce ?

 

Si je prends l'ensemble du script cela va-t'il remplacer l'intégralité des reglages actuels de mon parefeu ou s'ajouter ? ( car j'ai deja des règles NAT définies que je vourais bien sur conserver. )

 

Quand tu dit en modifiant uniquement la ligne pour https tu parles bien de celle là ?

 

 

#Les connexions HTTP et HTTPS sont admises

iptables -A br0-ppp0 -p tcp --dport www -j ACCEPT

iptables -A br0-ppp0 -p tcp --dport 443 -j ACCEPT

 

Edit : Je viens d'essayer avec le script entier,dans un fichier nommé klb.fw, en ayant modifié la ligne https et fait le chmod +x klb.fw.

 

Erreur :

 

sh-2.05# ./klb.fw

sh: ./klb.fw: bad interpreter: No such file or directory

 

 

#! /bin/sh

#Initialisation des tables

iptables -F

iptables -F INPUT

iptables -F OUTPUT

iptables -F FORWARD

 

#Politiques par defaut

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

 

#Activation du masquerading

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

 

#Creation des regles utilisateurs pour le FORWARD

iptables -X ppp0-br0

iptables -N ppp0-br0

iptables -X br0-ppp0

iptables -N br0-ppp0

 

#Creation des regles utilisateurs pour l'ICMP et le logging/drop

iptables -X icmp-acc

iptables -N icmp-acc

iptables -X log-and-drop

iptables -N log-and-drop

 

#On ne logge rien,tout est jete

iptables -A log-and-drop -j DROP

 

#les scans XMAS et NULL sont envoyes a log-and-drop

iptables -A FORWARD -p tcp --tcp-flags ALL ALL -j log-and-drop

iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j log-and-drop

 

#les paquets invalides sont detruits, les paquets appartenant a une

#connexion etablie sont acceptes

iptables -A FORWARD -m state --state INVALID -j log-and-drop

iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT

 

#les paquets en provenance du WAN avec une source_IP privee sont jetes

iptables -A FORWARD -i ppp0 -s 224.0.0.0/4 -j log-and-drop

iptables -A FORWARD -i ppp0 -s 192.168.0.0/16 -j log-and-drop

iptables -A FORWARD -i ppp0 -s 10.0.0.0/8 -j log-and-drop

 

#On dirige les paquets en provenance du LAN a destination du WAN vers

#la chaine utilisateur specifique

iptables -A FORWARD -i br0 -o ppp0 -j br0-ppp0

#On dirige les paquets en provenance du WAN a destination du LAN vers

#la chaine utilisateur specifique

iptables -A FORWARD -i ppp0 -o br0 -j ppp0-br0

 

#le reste est jete

iptables -A FORWARD -j log-and-drop

 

#table des ICMP, tout est accepte

iptables -A icmp-acc -j ACCEPT

 

 

#Table des paquets entrants (WAN->LAN)

#Les requetes icmp sont transmises a la chaine speciale

iptables -A ppp0-br0 -p icmp -j icmp-acc

#mode FTP actif (PORT) consolider avec --sport

iptables -A ppp0-br0 -p tcp -m state --state RELATED -j ACCEPT

#le reste est envoye a la chaine log-and-drop

iptables -A ppp0-br0 -j log-and-drop

 

#Table des paquets sortants

#les requetes DNS sont acceptes

iptables -A br0-ppp0 -p udp --dport domain -j ACCEPT

iptables -A br0-ppp0 -p tcp --dport domain -j ACCEPT

 

#On envoie (smtp) et on interroge les serveurs de mails (pop)

iptables -A br0-ppp0 -p tcp --dport smtp -j ACCEPT

iptables -A br0-ppp0 -p tcp --dport 110 -j ACCEPT

 

#Les connexions FTP sont admises (PASV)

iptables -A br0-ppp0 -p tcp -m state --state NEW --dport ftp -j ACCEPT

iptables -A br0-ppp0 -p tcp -m state --state RELATED,ESTABLISHED --dport 1024: -j ACCEPT

 

#Les connexions HTTP et HTTPS sont admises

iptables -A br0-ppp0 -p tcp --dport www -j ACCEPT

iptables -A br0-ppp0 -s 192.168.1.201 -p tcp -d adresse de ma banque --dport 443 -j ACCEPT

#Les connexions telnet sont admises

iptables -A br0-ppp0 -p tcp --dport telnet -j ACCEPT

 

#Les requetes icmp sont envoyees a la chaine speciale

iptables -A br0-ppp0 -p icmp -j icmp-acc

 

#Le reste est envoye a la chaine log-and-drop

iptables -A br0-ppp0 -j log-and-drop

 

#Creation des chaines utilisateurs pour l'acces au routeur

#en provenance du WAN

iptables -X ppp0-if

iptables -N ppp0-if

#en provenance du LAN

iptables -X br0-if

iptables -N br0-if

#On redirige en fonction des interfaces impliquees

iptables -A INPUT -i ppp0 -j ppp0-if

iptables -A INPUT -i br0 -j br0-if

 

#Autorisation de lo

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

 

#Tout ce qui sort par l'interface LAN est accepte

iptables -A OUTPUT -o br0 -j ACCEPT

 

#Les connexions entrantes sur l'interface WAN sont interdites

iptables -A ppp0-if -j log-and-drop

 

#Les connexions entrantes sur l'interface LAN sont autorisees

iptables -A br0-if -p icmp -j icmp-acc

iptables -A br0-if -j ACCEPT

 

#On active l'ip_forwarding

echo "1" > /proc/sys/net/ipv4/ip_forward

Modifié par berfizan
Posté(e)
Ok mais pourquoi dans /etc/init.d .Sur wlan-fr.net, tu parles de le créer dans /etc.Cela a-t'il une importantce ?

 

 

ah oui, en effet. Peut être est-ce du au partitionnement du DWB, certaines partitions étaient en lecture seule et on pouvait écrire sur d'autres (mais pas beaucoup car peu de place). Peut-être que /etc/init.d est placée dans une partition read-only et que je ne m'en souvienne plus.

 

Pour ton erreur, je ne vais pas te faire l'affront de te demander si tu étais bien dans le répertoire contenant klb.fw avant d'essayer de le lancer.

Comment as-tu fait pour créer le fichier, j e me souviens avoir galéré à cause de retour à la ligne intempestifs qui faisaient planter le script.

 

Chaque ligne iptables .... ne doit tenir que sur une seule ligne (ou on rajoute un \ avant de faire retour chariot)

Posté(e) (modifié)

J'ai créé le fichier dans etc et j'étais bien dans etc quand j'ai lancé ./klb.fw.Ce n'est pas une injure que de vérifier, ca va vite de se planter .

Un récap ci-dessous :

 

erreur0bw.jpg

 

J'ai crée le fichier avec le notepad en ayant désactivé le retour ligne automatique.

Je l'ai vérifié avec un éditeur hexa, les retours ligne sont tels qu'à lécran.

 

En tous cas merci de ces échanges .. pas simple :P

 

Edit : Puis-je virer tout ce qui est précédé d'un # ? ( Y compris la première ligne #! /bin/sh ) Ce sont des commentaires non ?

Modifié par berfizan
Posté(e)

#! /bin/sh indique l'interpréteur à utiliser: en l'occurence /bin/sh qui est un lien vers le shell du sytème (bash, csh, zsh,.....) => ne pas enlever

 

les autres commentaires sont superflus mais aident à la compréhension du script.

 

Si tu as créé ton fichier sous notepad (windows), il est fort probable que celui-ci ai placé des caractères ^LF et ^CR. Il faudrait convertir ce fichier avec dos2unix pour n'avoir que le carriage return (ou le line feed je sais plus):

http://www.iconv.com/dos2unix.htm

 

ou sinon utiliser l'éditeur de texte du shell du DWB-200 (vi ou pico je ne sais plus)

Rejoindre la conversation

Vous publiez en tant qu’invité. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...