Archive pour mars 2009
OVH : Sécurisation du serveur Mandriva (SSH, firewall iptables, fail2ban…)
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
OVH : Installation d’un serveur FTP sous Mandriva 2009
Voici un mini tutoriel sur la configuration d’un serveur ftp.
En préambule, je vais créer un utilisation ohan avec les privilèges sudo ( si sudo ne vous intéresse pas, toutes ces manips peuvent se faire en tant que root.
Voilà, mon utilisateur ohan peut avoir les droits root.
urpmq -y proftpd
gadmin-proftpd
proftpd
proftpd-debug
proftpd-devel
proftpd-mod_autohost
proftpd-mod_ban
proftpd-mod_case
proftpd-mod_clamav
proftpd-mod_ctrls_admin
proftpd-mod_gss
proftpd-mod_ifsession
proftpd-mod_ldap
proftpd-mod_load
proftpd-mod_quotatab
proftpd-mod_quotatab_file
proftpd-mod_quotatab_ldap
proftpd-mod_quotatab_radius
proftpd-mod_quotatab_sql
proftpd-mod_radius
proftpd-mod_ratio
proftpd-mod_rewrite
proftpd-mod_shaper
proftpd-mod_site_misc
proftpd-mod_sql
proftpd-mod_sql_mysql
proftpd-mod_sql_postgres
proftpd-mod_time
proftpd-mod_tls
proftpd-mod_vroot
proftpd-mod_wrap
proftpd-mod_wrap_file
proftpd-mod_wrap_sql
Pour cet article, je vais juste installer proftpd mais gardons au chaud celui ci : proftpd-mod_sql
Et voilà, c’est installé. Pour obtenir des détails sur la configuration de ce serveur, je vous conseille le site officiel.
Pour tester :
machine ftp.mandrivakimsufi.com
login ohan
password cestsecret
Et voilà…alors, Mandriva sur votre serveur, c’est pour bientôt ?
(Prochaine leçon, le serveur de mail)
[mis à jour] OVH : The perfect Mandriva LAMP server
J’ai recu ce soir un kimsufi 2XL 64 bits (Merci Germain) fraîchement installé avec Mandriva 2009.0 Free.
J’ai bien envie, si le temps me le permet, de vous proposer une série de mini tutoriels sur l’installation de divers stacks serveur.
Le premier est sur Apache/Php et Mysql…
Le serveur est configuré avec les sources Mandriva par défaut. Il n’y a donc rien à faire de plus pour commencer l’installation de ma brique LAMP.
Occupons nous de mysql (car le méta-package task-lamp ne semble pas installer mysqld comme le confirme ce bug ouvert depuis mai 2008 ou le svn ) :
urpmi MySQL MySQL-client libmysql15-devel
Après quelques secondes, mysql est installé. N’oublions pas d’ajouter un mot de passe pour le compte root :
/usr/bin/mysqladmin -u root password 'NEW_PASSWORD'
On peut maintenant démarrer son serveur mysql
/etc/init.d/mysqld start
et tester si ca fonctionne :
mysql -uroot -p -hlocalhost
et voilà, mysql-server est installé.
Occupons nous de apache et php
Je profite de ce billet pour un petit rappel sur urpmi et ses dérivées…
[root@serv ~]# urpmq -y php | grep task
task-lamp-php
Cette commande nous permet de savoir quel meta paquet contient php !
Il ne nous reste plus qu’à l’installer
# urpmi task-lamp-php
Une fois installé, on démarre apache
/etc/init.d/httpd start
Je vais terminer par l’installation de phpmyadmin et de wordpress (moteur de blog)
urpmi phpmyadmin
installé vers http://IPserveur/phpmyadmin
L’installation et la première connexion se déroulent sans aucun problème. Passons à wordpress
urpmi wordpress
installé vers http://IPserveur/wordpress
Et là, c’est le drame !
Sorry, I can’t write to the directory. You’ll have to either change the permissions on your WordPress directory or create your wp-config.php manually.
Pas de panique, il faut juste changer des droits du répertoire d’install de WP ! Mais où sont installés les fichiers ???
La commande rpm -ql wordpress nous permet d’identifier les fichiers installés contenu dans le paquet wordpress.
En peut voir que WP est copié dans
/var/www/wordpress
Donc chown -R apache /var/www/wordpress pour changer le proprio du dossier et le tour est joué…
Vos commentaires sont les bienvenus !
La prochaine leçon : Le serveur de mails et un webmail !
(Edit : explication du pourquoi de l’installation du serveur mysql en plus de task-lamp)
Un serveur dédié (dédié ou kimsufi) chez OVH avec Mandriva 2009 à partir de 19 Euros/mois
Vous en avez rêvé, OVH l’a fait !
Depuis peu, vous pouvez commander vos dédiés avec Mandriva 2009 pré-installé.
Les peintures sont encore un peu fraîche (marketing/communication autour de cette nouvelle offre en cours de rédaction) comme l’indique cette page:
On attend tous vos retours sur http://forum.ovh.com/showthread.php?t=45116