Regles iptables: Securiser un serveur [Topic unique] - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 15-01-2006 à 23:45:47
Un tit tuto sur la mise en place du script arrive demain (peut etre)
Marsh Posté le 16-01-2006 à 03:54:41
voila pour le tutorial de mise en place sur serveur debian pour commencer (vous m'escuserez pour le moment j'ai qu'une debian sous la main pour vérifier)
donc :
une fois le script du firewall modifier selon votre config il suffit de le copier quand un fichier nommer firewall.
Pour cela je vais donner la manière a faire en considerant que vous êtes déjà connecté via ssh au serveur.
Si vous n'êtes pas root tapez :
# su
là vous sera demandé votre mot de passe root (attention il ne s'affiche rien donc vous devez taper à l'aveuglette)
une fois en root, on peut commencer les choses sérieuse. Déjà vérifions qu'on est bien dans le répertoire de travail du super utilisateur root :
# cd
ou
# cd /root/
en effet les deux commande sont equivalante entre elle
ensuite nous allons creer notre fichier avec Vi qui est l'éditeur par défault de debian et parce qu'il est le seul installer par default (et aussi parce que nano ca suxx et qu'emacs a tellement de fonctionnalité qu'on en oubli souvent que c'est un éditeur de texte a la base) (oui il y a un troll qui s'est glisser pour le plus grand bonheur d'Anapivirtua).
commencons par créer le fichier et commencer l'édition :
# vi firewall
une fois dans Vi appuyez sur la touche "i" qui vous fera entrer dans le mode insertion
sélectionnez le texte du script et copier le. Pour le coller dans Vi il vous suffira de cliquez sur la molette de la souris dans le terminal ssh si vous êtes sous linux ou autre unix ou de cliquer sur le bouton droit de la souris dans la fenêtre de putty si vous êtes sous Microsft Windows. Une fois le texte dans Vi vous pouvez arrêter le mode insertion en appuyant sur "echap" (la touche tout en haut a gauche de votre clavier). Vous pouvez vous déplacer dans le document avec les flèches du clavier et modifier si besoin est en revenant en mode insertion avec la touche "i" ou en supprimant du texte avec la touche "x" ou les touche "suppr" et "backspace". Si vous voulez supprimer toute une ligne d'un coup, appuyez deux fois d'affiler sur la touche "d". Une fois que vous avez fini appuyez sur "echap" histoire d'être sûr de ne pas être en mode insertion puis taper :
# :w
pour enregistrer (notez que le texte s'affiche en bas de l'application Vi)
# :q
pour quitter
notez que le résultat est le même si vous tapez :
# :wq
Voila si vous n'aviez jamais utilisé Vi avant sachez que vous avez fait le plus dur de ce manuel et n'oubliez pas que malgrès l'apparance repoussante de Vi, cette outil est universel, très puissant et étudier pour le confort d'utilisation en mode texte (et oui sans souris on est bien content d'avoir un bon contrôle au clavier de l'application). Pour plus de détail sur Vi :
# man vi
pour afficher le manuel
# vimtutor
tutorial fourni avec le paquet vim a condition que celui ci soit installé.
aller fini de rigoler maintenant fesons fonctionner ce script. Pour commencer nous allons le rendre executable :
# chmod +x firewall
dès à présent, on peut lancer le script qui mettra en place instantannement le firewall en route (bon à savoir si on veut le tester).
# ./firewall
Maintenant on va toucher un peu au script d'initialisation (attention, cette section est spécifique à debian et distribution basé sur debian comme ubuntu)
Déjà copions le script dans le système d'initialisation :
# cp firewall /etc/init.d/
puis ajoutons les lien qui permettront de lancer iptables en cas de redemarrage de la machine :
# update-rc.d firewall defaults
et voila maintenant tout marche
sinon un petit tip pour pouvoir demarrer et arreter avec deux script iptables facilement :
# cp firewall /etc/network/iptable-start
et ensuite créer un script a laide de Vi de la façon suivante :
# vi /etc/network/iptable-stop
vous y insererez :
Code :
|
puis une fois le script ajouter faite :
# chmod +x /etc/network/iptable-stop
ainsi vous démarrerez iptable avec la commande :
# /etc/network/iptable-start
et arrêterez avec :
# /etc/network/iptable-stop
Si vous souhaitez profiter de iptable sur une autre distro dite le moi et je tenterai de faire une mise a jour du tutorial et si un détail vous échape ou que vous avez une erreur (ceci reste possible vu que je l'ai taper essentiellement de mémoire) veuillez me le communiquer ici afin que je le corrige en cas de besoin ou que je vous donne la solution a votre problème.
voila en esperant que ça vous aide.
ps : n'oubliez pas qu'un firewall ne fait pas tout. Faites aussi régulièrement vos mise a jour et ne laissez pas par exemple une vieille version d'un forum en php sur votre site sans le mettre a jour au risque de voir son serveur se faire pirater vulgairement a cause d'une faille idiote (non anapivirtua je ne pense pas du tout a toi en ce moment).
Marsh Posté le 16-01-2006 à 11:16:31
ty, kapouik
EDIT: nano say bieng
EDIT: pis chut pour le forum spa ma faute
Marsh Posté le 16-01-2006 à 11:51:06
Ajout d'une variable: Chemin vers iptables (comment j'ai pu l'oublier)
Marsh Posté le 16-01-2006 à 19:10:17
Et bin, rien a dire... ca attire les foules -.- aller on ce motive un peut, on lis tout ca, on comprend ce qui ce passe, on ajoute, on corrige et on securise !
Marsh Posté le 16-01-2006 à 20:16:39
Ajout d'une fonction: No synflood
Marsh Posté le 16-01-2006 à 20:34:37
Non, ça va c'est interessant
Juste par curiosité pourquoi ce passage:
local=eth0
wan=eth0
Sinon, je suis un plus "direct", surtout pour le telnet, une bête régle DROP.
Marsh Posté le 16-01-2006 à 20:50:13
ce passage:
local=eth0
wan=eth0
Sert a la definition des variables local et wan (tu verra que pour l'ouverture de certains port il est possible de desactiver leurs ouverture au wan par exemple... pour mon cas, cela ne sert pas beaucoup, vu que le wan "ce trouve sur le reseau", mais pour certaines personnes ayant de connexions type:
local=eth0
wan=ppp0
cela sert grandement )
Marsh Posté le 16-01-2006 à 20:53:23
Rah, a propos du telnet, je me suis tromper, il faut les definir sur DROP et non pas accept
Marsh Posté le 16-01-2006 à 20:54:16
Oui je suis dans le même cas que toi.
Et même quand j'étais dans l'autre cas je ne le faisais pas
Je te l'accorde ta solution est peu être plus "propre"
Marsh Posté le 16-01-2006 à 20:55:01
ReplyMarsh Posté le 16-01-2006 à 20:56:14
anapivirtua a écrit : Rah, a propos du telnet, je me suis tromper, il faut les definir sur DROP et non pas accept |
Oui, je me suis que tu en avais peut être besoin pour X ou Y raisons.
Marsh Posté le 16-01-2006 à 21:06:53
c'est bien tout ça!
noob inside qui aimerai bien apprendre, et ce tuto aide mechament bien !
thanks a lot !!
Marsh Posté le 16-01-2006 à 21:18:58
Je@nb a écrit : Le FTP passif tu le gère pas ? |
c'est en cours d'elaboration, la je corrige quelques problemes qui m'on ete sifflés (concernant le ftp en output surtout)
Marsh Posté le 16-01-2006 à 21:23:00
Donc
- corrections des regles ftp OUTPUT serveur/client
- corrections d'une faute d'orthographe
Marsh Posté le 16-01-2006 à 21:32:41
WOOOPS !
Edit: probleme corrige, merci bien jenluca
Marsh Posté le 16-01-2006 à 21:46:43
Bon, sinon pour le ftp passif...
il existe un module ip_conntrack_ftp pour le tracage des connexions ftp passivent...
La question est la suivante: je charge le module a l'aide d'un simple modprobe...
Puis dans le script partie ftp --> passif je rajoute ces regles:
Citation : $IPTABLES -A INPUT -i eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT |
non ?
Marsh Posté le 16-01-2006 à 21:56:22
Je me leve, et je confirme, c'est bien ca, donc je vais ajouter la fonction ftp passif tout de suite
Marsh Posté le 16-01-2006 à 22:38:25
anapivirtua a écrit : WOOOPS ! |
You're welcome
Par contre, ça fait un moment que je n'ai plus de ftp@home, de mémoire cela me semble être ça.
Tiens je vais essayé de faire ça cette semaine si j'ai un petit moment
Marsh Posté le 17-01-2006 à 00:14:35
iptables="/sbin/iptables"
...
iptables
ça sert à rien ton truc
Marsh Posté le 17-01-2006 à 00:52:17
Taz, heu... petite question, tu a penser au faite que:
Je veuille epurer le script, pour ca, je change la variable en fw et je remplace tout les iptables en fw...
A tu aussi penser au faite que certaines personnes n'aient pas iptables dans /sbin/iptables (bon, un cas sur mille, mais c'est pas grave) ?
Marsh Posté le 17-01-2006 à 09:22:28
mais je t'en prie, prend ton shell, et tappes
iptables="/foo/iptables"
which iptables
iptables
et reviens ensuite ...
Marsh Posté le 17-01-2006 à 18:07:49
Oo
EDIT: *Jvien de comprendre (il m'en a fallu )... ouai... ca sert a rien
donc ca va pas tarder a sauter
Marsh Posté le 17-01-2006 à 18:11:40
topic pour sécuriser sa passerelle internet : http://forum.hardware.fr/hardwaref [...] 2995-1.htm
je ne l'ai pas mis à jour depuis un bout de temps mais je pense qu'il y a pas mal de choses
sinon, pour iptables, le script arno's iptables script est vraiment pas mal
Marsh Posté le 18-01-2006 à 12:54:24
Programme de la journee: ajout de quelques regles coter clients ... ajout de quelques regles coter serveur de jeux aussi (toute commentées, a decommenteés si vous les utilisees)... d'ici 2 - 3h (faut bien que je vive un peut )
Marsh Posté le 18-01-2006 à 13:23:23
anapivirtua a écrit : EDIT: *Jvien de comprendre (il m'en a fallu )... ouai... ca sert a rien |
C'est pas que ca sert a rien, c'est que l'utilises mal.
Une fois ta variable définie, il ne faut plus utilisé iptables mais $iptables
Sinon il existe un autre topic sur exactement le même sujet...
Marsh Posté le 18-01-2006 à 13:38:02
Heu, oui topic non mis a jour
abandonando
Ps: justement, je n'ai pas utilise $iptables... donc cela ne sert a rien...
Marsh Posté le 18-01-2006 à 15:30:31
Ajout de quelques indications dans le header
Ajout de la regle: "activation du nat" (qui devrais me servire dans quelques jours )
Ajout d'une regle pour tracer les demandes de connexions en provenance de l'exterieur (local + wan)
Utilisation de la variables iptables (transformee en fw) (il etais temps )
Wala Wala
Marsh Posté le 18-01-2006 à 15:41:52
tu as regardé comme je t'ai dit le script arno's iptables ?
et mon topic aussi ?
Marsh Posté le 18-01-2006 à 15:46:36
oui tomate, j'ai regarde ton topic, oui ...
Arno's iptables, je connais de vu
Marsh Posté le 20-01-2006 à 14:33:40
ca me permettra d'ameliorer mon script que je trouve moyen
le voici si ca peut servir
#!/bin/sh |
Marsh Posté le 20-01-2006 à 19:13:11
Citation : #amule |
Merci bien, je vais rajouter ca en commente par defaut
Marsh Posté le 21-01-2006 à 11:42:26
pour msn je crois bien q c'est les ports TCP de 6891 a 6900 pour le transfert de fichier ... jsais pas si c bon a rajout ?!
Marsh Posté le 22-01-2006 à 13:43:40
Bnjour, ca a l'air interessant ton script, mais essaie de voir,sur base de ce qui se trouve plus ba, si tu as pas moyen d'en faire un pseudo démon ...
C'est pas bien compliqué, et c'est beaucoupplus propre ..
|
Marsh Posté le 15-01-2006 à 23:04:53
Tout est disponible ici !
****
Quelques liens:
- securisation d'une passerelle
EDIT 15/01: Je viens de noter que j'avais mis un flush apres la mise en place des log, modification
EDIT 16/01: Ajout de la variable "chemin vers IPTABLES"
EDIT 16/01: Ajout d'une fonction: No synflood
EDIT 16/01: Correction de la regle concernant le telnet (elle etais sous ACCEPT passage en DROP comme prevus)
EDIT 16/01: Corrections de quelques faute d'othographes dans les commentaires
EDIT 16/01: Corrections de quelques problemes concernant les regles ftp serveur/client en OUTPUT
EDIT 16/01: Sur demande, ajout de la fonction ftp passif
EDIT 16/01: La fonction ftp passif require le chargement d'un module, ajout de: modprobe ip_conntrack_ftp
EDIT 18/01: Ajout de quelques indications dans le header
EDIT 18/01: Ajout de la regle: "activation du nat" (qui devrais me servire dans quelques jours )
EDIT 18/01: Ajout d'une regle pour tracer les demandes de connexions en provenance de l'exterieur (local + wan)
EDIT 18/01: Utilisation de la variables iptables (transformee en fw)
EDIT 19/03: Daemon power (merci a trictrac pour son aide)
EDIT 19/03: Fonction nat desormee commenté... (veuillez bien lire le script si vous l'utilisez)
EDIT 27/06: Correction d'un probleme au niveau du daemon (start and stop)
EDIT 27/06: retrait de ip_conntrack (si quelqu'un a plus d'infos)
EDIT 27/06: Changement du header (epuration)
EDIT 27/06: Changement de "mise en page" pour quelque chose de plus leger au regard et a l'octet
EDIT 27/06: Retrait de tout les OUTPUT non necessaires (ACCEPT)
EDIT 27/06: Correction du bug qui arretait le nat lors d'un starting ou d'un restart
EDIT 27/06: Correction d'un bug a l'arret du firewall (les regles d'INPUT restaient les memes)
EDIT 27/06: Retrait de tout les ETABLISHED non necessaires
EDIT 27/06: Retrait de la regle concernant telnet (drop) qui ne sert a rien
EDIT 27/06: Apres verification, ip_conntrack_ftp viens d'etre remis dans le script
EDIT 24/06: Probleme d'un --state orphelin regle
Message édité par anapivirtua le 15-06-2007 à 14:15:01
---------------
Si vis pacem, para bellum.