Avant d’aller plus loin dans l’ajout de services (mail par exemple), je vous propose un petit article sur la sécurisation d’un serveur.
Mon article est tiré du très bon site alsacration que nous connaissons tous !
- SSH
Ce service est installé par défaut avec votre distribution Mandriva sur les serveurs OVH. Par mesure de sécurité, il est conseillé de changer le port d’écoute. Par défaut, on est sur le port 22. Pour la suite de ce tutoriel, je vais configurer ssh sur le port 2222. Ceci est modifiable dans le fichier etc/ssh/sshd_config . Rechercher le paramètre port et modifier 22 en 2222. - IPtables / Netfilter
Iptables est le module qui fournit à Linux les fonctions de pare-feu, de traduction d’adresse et d’historisation du trafic réseau. Netfilter fonctionne en mode noyau. Il intercepte et manipule les paquets IP avant et après le routage.iptables est la commande qui permet à un administrateur réseaux de configurer Netfilter en espace utilisateur. iptables configure la gestion des paquets réseaux IPv4. Pour la gestion des paquets réseaux IPv6, on utilise la commande ip6tables.
Nous allons créer un script qui sera lancé à chaque démarrage pour mettre en place des règles de base.
vi /etc/init.d/firewall
#!/bin/sh# Vider les tables actuelles
iptables -t filter -F# Vider les règles personnelles
iptables -t filter -X# Interdire toute connexion entrante et sortante
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP# —
# Ne pas casser les connexions etablies
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT# ICMP (Ping)
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT# —
# SSH In
iptables -t filter -A INPUT -p tcp –dport 2222 -j ACCEPT# SSH Out
iptables -t filter -A OUTPUT -p tcp –dport 2222 -j ACCEPT# DNS In/Out
iptables -t filter -A OUTPUT -p tcp –dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp –dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp –dport 53 -j ACCEPT# NTP Out
iptables -t filter -A OUTPUT -p udp –dport 123 -j ACCEPT# HTTP + HTTPS Out
iptables -t filter -A OUTPUT -p tcp –dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 443 -j ACCEPT# SERVEUR Web
# HTTP + HTTPS In
iptables -t filter -A INPUT -p tcp –dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 8443 -j ACCEPT# FTP Out
iptables -t filter -A OUTPUT -p tcp –dport 20:21 -j ACCEPT# serveur FTP
# FTP In
iptables -t filter -A INPUT -p tcp –dport 20:21 -j ACCEPT
iptables -t filter -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT# Mail SMTP:25
iptables -t filter -A INPUT -p tcp –dport 25 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 25 -j ACCEPT# Mail POP3:110
iptables -t filter -A INPUT -p tcp –dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 110 -j ACCEPT# Mail IMAP:143
iptables -t filter -A INPUT -p tcp –dport 143 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 143 -j ACCEPT# Mail POP3S:995
iptables -t filter -A INPUT -p tcp –dport 995 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 995 -j ACCEPTchmod +x /etc/init.d/firewall pour rendre ce fichier exécutable
puis /etc/init.d/firewall pour le lancer.
(au prochain reboot, toutes vos règles seront perdues…l’article de référence vous explique comment lancer ces règles au démarrage) - Fail2ban
Fail2ban est un script surveillant les accès réseau grâce aux logs des serveurs. Lorsqu’il détecte des erreurs d’authentification répétées, il prend des contre-mesures en bannissant l’adresse IP grâce à iptables. Cela permet d’éviter nombre d’attaques bruteforce et/ou par dictionnaire.Installation
urpmi fail2banConfiguration
vim /etc/fail2ban/fail2ban.conf
vim /etc/fail2ban/jail.localAttention, si vous souhaitez surveiller ssh, attention à bien changer le port dans jail.local !
Pour relancer le service /etc/init.d/fail2ban restart -
Rkhunter
Rootkit Hunter est un programme de détection de rootkits. Vous pouvez l’installer grâce à :
urpmi rkhunterLes 2 fichiers principaux de configuration sont
/etc/default/rkhunter et/etc/rkhunter.conf - Voilà …La suite au prochain épisode
vi /etc/ssh/sshd_config
Port 2222 # Changer le port par défaut
PermitRootLogin no # Ne pas permettre de login en root
Protocol 2 # Protocole v2
#AllowUsers MONUSER # N'autoriser qu'un utilisateur précis
Redémarrez le service SSH après ces modifications :
/etc/init.d/ssh restart