![]() |
|
ForumFri Apr 20 10:48:52 2018 UTC Hors-Sujet: Discussions généralesThierry ![]() Fri Apr 20 10:05:04 2018 UTC Hors-Sujet: Discussions généralesdania5583 ![]() Wed Apr 18 19:29:04 2018 UTC Hors-Sujet: Discussions généralesThierry ![]() Tue Apr 17 21:09:58 2018 UTC Hors-Sujet: Discussions généralesrems ![]() Mon Apr 16 16:17:27 2018 UTC Hors-Sujet: Discussions généralesThierry ![]() Mon Apr 16 16:09:59 2018 UTC Hors-Sujet: Discussions généralescdrw ![]() Fri Apr 13 09:22:25 2018 UTC Hors-Sujet: Discussions généralesThierry ![]() Thu Apr 12 18:50:11 2018 UTC Hors-Sujet: Discussions généralescobalt ![]() Tue Apr 10 10:22:26 2018 UTC CONFIGURER: Vos exemplesSURVIVOR_BELGIAN ![]() Thu Apr 5 20:27:10 2018 UTC INSTALLER: Depuis ISOfanch ![]() |
Fri Mar 16 17:45:39 2018 UTC Mise en place d'un parefeu simple avec IptablesSommaireIntroductionCe petit guide explique la mise en place d'un pare-feu "de base" sur NuTyX. Il devrait vous permettre d'avoir un pare-feu qui démarre et s'éteint automatiquement avec votre réseau tout en protégeant votre machine. Les règles du pare-feu seront statiques dans un script, donc sans l'utilisation des fonctions 'iptables-save' et 'iptables-restore'. Il s'agit de règles simples et destinées à servir de base à la construction de son propre pare-feu. A vous de l'adapter en fonction de vos besoins et de votre exigence en terme de sécurité. InstallationOn installe Iptables 1.4.21 depuis les dépôts: check search iptables get iptables Création du scriptPour configurer votre pare-feu, créez ce fichier nommé parefeu dans /etc/rc.d/init.d/ #!/bin/sh ## Fichier /etc/rc.d/init.d/parefeu ##------------------------------## parefeu_start() { echo "Démarrage du pare-feu .." # Politiques par défaut iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # Autoriser loopback iptables -A INPUT -i lo -j ACCEPT # Autoriser les connections établies iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # Autoriser ssh en local iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT # Autoriser transmission iptables -A INPUT -p tcp --dport 51413 -j ACCEPT iptables -A INPUT -p tcp --dport 56969 -j ACCEPT } ##------------------------------## parefeu_stop () { echo "Arrêt du pare-feu .." # Suppression des règles iptables -F iptables -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT } ##------------------------------## parefeu_restart() { parefeu_stop; sleep 2; parefeu_start; } case "$1" in 'start') parefeu_start ;; 'stop') parefeu_stop ;; 'restart') parefeu_restart ;; 'status') iptables -nvL ;; *) echo "Usage: parefeu {start|stop|restart|status}" ;; esac Puis rendez-le exécutable et avec les bonnes permissions: sudo chmod 700 /etc/rc.d/init.d/parefeu Quelques explicationsLes règlesIptables -P permet de définir la politique par défaut d'une chaine. On peut voir que dans cette configuration on DROP (Refuser silencieusement) tout ce qui arrive (INPUT) et tout ce qui transite (FORWARD). On remarque que tout ce qui est émis depuis le pare-feu (OUTPUT) est accepté. Note : Il est courant de lire sur le net que la meilleure façon de procéder et de tout interdire puis d'autoriser au cas par cas selon les besoins dans la chaine OUTPUT. Cependant cette méthode complique la configuration du pare-feu et dépasse le cadre de ce guide. Plus loin on autorise l'interface du loopback et surtout les connexions déjà établies. Cette règle est très importante lorsqu'on configure un pare-feu sur une machine distante, via ssh par exemple, et permet de ne pas se retrouver enfermé en dehors du pare-feu. A titre d'exemple, j'ai ajouté des autorisations pour les connexions ssh provenant du réseau local, et une autorisation pour l'utilisation du torrent. FonctionnementComme vous pouvez le voir en parcourant le script, le pare-feu possède les fonctions: allumer, éteindre, état et redémarrer. Pour les utiliser: sudo /etc/rc.d/init.d/parefeu start (ou stop/status/restart) Mise en routeNotre script avec la configuration du pare-feu est prêt, maintenant il faudrait qu'il démarre automatiquement! Rendez vous dans /etc/rc.d/. On va configurer le script pour démarrer juste avant le réseau et s'éteindre juste après. On remarque plusieurs dossiers nommés rc0.d/ rc1.d/ etc... Ils correspondent aux différents niveaux de init : voir /etc/inittab Commençons par rc0.d/ : cd /etc/rc.d/rc0.d/ && l rwxr-xr-x 2 root root 4,0K mai 9 12:02 . drwxr-xr-x 11 root root 115 févr. 14 20:33 .. lrwxrwxrwx 1 root root 14 févr. 14 20:33 K00cups -> ../init.d/cups lrwxrwxrwx 1 root root 18 mai 9 11:20 K40setclock -> ../init.d/setclock lrwxrwxrwx 1 root root 16 mai 9 11:20 K45random -> ../init.d/random lrwxrwxrwx 1 root root 17 mai 9 11:20 K80network -> ../init.d/network lrwxrwxrwx 1 root root 14 oct. 29 2014 K85dbus -> ../init.d/dbus lrwxrwxrwx 1 root root 18 mai 9 11:20 K90sysklogd -> ../init.d/sysklogd lrwxrwxrwx 1 root root 21 mai 9 11:20 S60sendsignals -> ../init.d/sendsignals lrwxrwxrwx 1 root root 18 mai 9 11:20 S90localnet -> ../init.d/localnet lrwxrwxrwx 1 root root 14 mai 9 11:20 S99halt -> ../init.d/halt Dans ce dossier correspondant à l'init 0, c'est à dire l'arrêt de la machine, on va se calquer sur network. On peut voir : K80network -> ../init.d/network Ce lien symbolique permet d’éteindre (Kill) le réseau. Le nombre détermine l'ordre d’exécution. On veut donc éteindre notre parefeu juste après le réseau, donc: sudo ln -s ../init.d/parefeu K81parefeu Il faut ensuite répéter cette opération dans les répertoires rc0.d/ jusqu'au rc6.d/ Dans chaque répertoire, quand network est réglé sur K80, on règle parefeu sur K81 Si network est réglé sur S20, on souhaite démarrer (Start) le pare-feu avant le réseau, donc: sudo ln -s ../init.d/parefeu S19parefeu Voilà, vérifiez les 6 dossiers, les S et K, et le chiffre juste avant network au démarrage, juste après pour l'arrêt. Il ne nous reste plus qu'à démarrer le pare-feu: sudo /etc/rc.d/init.d/parefeu start Pour faire simple, créez vous un alias dans ~./bashrc: alias parefeu='sudo /etc/rc.d/init.d/parefeu' On peut alors démarrer le pare-feu de cette manière: parefeu start et vérifier les règles: parefeu status Sources- https://wiki.archlinux.org/index.php/Simple_stateful_firewall - http://www.octetmalin.net/linux/scripts/iptables-demarrer-arret-redemarrage-start-stop-restart-pare-feu-firewall.php Pour aller plus loiniptables -h - http://www.delafond.org/traducmanfr/man/man8/iptables.8.html Tester son pare-feu- https://www.grc.com/x/ne.dll?bh0bkyd2 (si vous êtes derrière une box, vous allez tester la box...) nmap -Pn votre_IP depuis une autre machine --> voir http://www.cyberciti.biz/networking/nmap-command-examples-tutorials/ |