Bonjour, j'ai suivi ce tutoriel sur la sécurité : http://fr.openclassrooms.com/informatique/cours/securiser-son-serveur-linux et je rencontre un petit souci, une fois le script créé, toute les commandes à l'intérieur, lorsque je l'exécute en étant connecté par SSH, je ne suis pas déconnecté, du coup je ne suis pas sûr que le script fonctionne.
A l'étape des tests, lorsque j'affiche la liste des ports avec la commande nmap -v adresse-ip-serveur, j'ai ceci d'affiché :
Voici le code que j'utilise :
#!/bin/sh
# Réinitialise les règles
sudo iptables -t filter -F
sudo iptables -t filter -X
# Bloque tout le trafic
sudo iptables -t filter -P INPUT DROP
sudo iptables -t filter -P FORWARD DROP
sudo iptables -t filter -P OUTPUT DROP
# Autorise les connexions déjà établies et localhost
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t filter -A INPUT -i lo -j ACCEPT
sudo iptables -t filter -A OUTPUT -o lo -j ACCEPT
# ICMP (Ping)
sudo iptables -t filter -A INPUT -p icmp -j ACCEPT
sudo iptables -t filter -A OUTPUT -p icmp -j ACCEPT
# SSH
sudo iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
# DNS
sudo iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
# HTTP
sudo iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
# FTP
sudo iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT
# Mail SMTP
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
# Mail POP3
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT
# Mail IMAP
iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
# NTP (horloge du serveur)
sudo iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
Savez vous m'indiquer si tout est bon svp ? Sa m'étonne de ne pas voir les ports pour les email ne pas s'afficher lorsque je tape nmap -v adresse-ip-serveur. alors que j'ai lancé le script avec ./firewall une fois dans le dossier ou il est stoqué.
Merci
- Edité par Axel.B 27 octobre 2014 à 21:32:01
DigitalOcean - Heberger vos sites sur le cloud à partir de 5$ par mois.
il n'y'a pas de raison que ça ne fonctionne pas, si tu n'est pas déconnecter c'est parce qu'une règle est définit pour laisser passé les connexions en cours, c'est même spécifier en commentaire.
Le principe d'iptables est de filtrer le trafic, le fait d'autoriser une connexion sur les ports mails ne veut pas dire que le port sera ouvert, le port est ouvert seulement quand un programme est utilisé sur le serveur, s'il n'y en à pas, le port est tout simplement fermé et la sortie de nmap est correcte.
Si tu veux vérifier que les règles sont bien ajoutée : iptables -L
D'après ton iptables -L, aucune règle n'est défini, enfin a part celle de fail2ban.
A tu redémarré ta machine depuis le lancement de ton script ?
Normalement tu devrais avoir Chain INPUT (policy DROP), idem pour FORWARD et OUTPUT.
Relance ton script et revérifie avec iptables -L.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème
Ouvrir et fermer ses ports
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.