Aller au contenu
Couillaman le site une demo bientot ! ×

part 4 Guide sur l’installation d’un serveur sous Debian 7 (Wheezy)


dokuro
 Share

Messages recommandés

Guide Debian 7 (partie 4/8) : gérer le trafic entrant et sortant avec Iptables

 

Introduction

 

Nous avons vu dans un article précédent comment sécuriser la porte d’entrée de notre serveur, c’est-à-dire l’accès SSH. C’est un début, mais n’oubliez pas que les fenêtres, elles, sont toujours ouvertes…

Dans l’état actuel, tout le trafic devrait être autorisé en entrée et sortie sur votre serveur (j’utilise le conditionnel, car parfois, les prestataires mettent à disposition un pare-feu intermédiaire).

Pour réguler ces entrées/sorties, nous allons utiliser Iptablesun logiciel qui permet de configurer les règles du pare-feu, le tout en ligne de commandes. Il faut savoir que les règles Iptables sont réinitialisées à chaque reboot du serveur. La meilleure solution consiste donc à les placer dans un petit script qui s’occupera de mettre en place vos règles au démarrage de la machine.

Le script

Bonne nouvelle, nul besoin de réinventer la roue, car il existe sur le net une multitude de scripts pour gérer le firewall. Nous allons utiliser le script de Nicolargo (qui au passage tient un excellent blog: http://blog.nicolargo.com/ ).

J’ai forké le script pour mes propres besoins et pour être sûr que celui-ci reste accessible. On commence donc par le récupérer depuis Github :

 
1
2
wget --no-check-certificate https://raw.github.com/robinparisi/debian-scripts-autoinstall/master/firewall.sh
mv firewall.sh /etc/init.d/firewall.sh

On rend le script exécutable :

 
1
chmod +x /etc/init.d/firewall.sh

 

Configuration

 

 
1
vim /etc/init.d/firewall.sh

La configuration du script est rapide :

 
 
# Services that the system will offer to the network
TCP_SERVICES="22" # SSH
UDP_SERVICES=""
# Services the system will use from the network
REMOTE_TCP_SERVICES="80 443 25" # web browsing
REMOTE_UDP_SERVICES="53" # DNS
# FTP backups
# Allow backups to an external FTP
FTP_BACKUPS=""

Attention : le port SSH est ici le 22, mais n’oubliez pas que nous l’avons changé. Adaptez donc la conf au port choisi !

Pour l’envoi de mail, il faut ajouter le port 25 dans REMOTE_TCP_SERVICES.

Il est possible de tester la configuration en appliquant les règles pendant 30 secondes pour s’assurer que tout va bien :

 
1
/etc/init.d/firewall.sh test

Essayez de vous reconnecter au serveur avec SSH durant ce laps de temps. Si tout se passe bien, vous pouvez alors activer les règles en lançant la commande suivante :

 
1
/etc/init.d/firewall.sh start

Si un jour vous avez besoin d’effacer les règles (tout autoriser en entrée et sortie), lancez la commande suivante :

 
1
/etc/init.d/firewall.sh clear

Warning !!! : ne lancez jamais la commande stop sur une connexion distante, car elle aurait pour effet de couper totalement l’accès au serveur (refuser tout le trafic entrant). J’ai modifié le script pour faire en sorte que cette action requiert une confirmation de votre part, mais je préfère le redire ici icon_smile.gif

Ajouter le script au démarrage

 

 
1
update-rc.d firewall.sh defaults

pour l’enlever  :

 
1
update-rc.d -f firewall.sh remove

 

Pour aller plus loin

Il faut l’avouer, ce genre de script est bien pratique, mais il ne vous dispense pas de comprendre les règles Iptables qui s’appliquent sur votre serveur.

Pour rappel, vous pouvez obtenir à tout moment la liste des règles grâce à la commande suivante :

 
1
iptables -L

Renseignez-vous sur le sujet, et surtout, évitez à tout prix de faire des copier/coller de règles en provenance d’internet que vous ne comprenez pas, car c’est en général le meilleur moyen pour se retrouver sur le pas de la porte à tambouriner comme un couillon après s’être enfermé dehors (j’en connais qui se remémorent des soirées sympathiques  :P).

J’ai bloqué ma connexion SSH…

Et voilà, on fait l’idiot dans le fond depuis le début des explications… mais maintenant, qui a l’air malin ?! icon_razz.gif

Ne vous inquiétez pas, tout n’est pas perdu icon_smile.gif

Deux cas peuvent se présenter :

  • Vous avez joué avec des règles Iptables mais sans éditer le script. Dans ce cas un reboot du serveur depuis son interface suffira à rétablir les bonnes règles.
  • Vous avez édité ou mal configuré le script puis appliqué directement les règles. Ici, il faudra passer par la console de récupération de votre prestataire. En montant la partition de votre serveur, vous serez capable d’éditer le script puis de rebooter le serveur.
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

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.

 Share

×
×
  • Créer...