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 !

  1. 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.
  2. 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

  3. 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 ACCEPT

    chmod +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)

  4. 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 fail2ban

    Configuration

    vim /etc/fail2ban/fail2ban.conf
    vim /etc/fail2ban/jail.local

    Attention, si vous souhaitez surveiller ssh, attention à bien changer le port dans jail.local !
    Pour relancer le service /etc/init.d/fail2ban restart

  5. Rkhunter

    Rootkit Hunter est un programme de détection de rootkits. Vous pouvez l’installer grâce à :

    urpmi rkhunter

    Les 2 fichiers principaux de configuration sont /etc/default/rkhunter et /etc/rkhunter.conf

  6. Voilà…La suite au prochain épisode ;)

Pas de commentaire

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.

  • urpmi sudo
  • adduser ohan
  • passwd ohan
  • echo « ohan ALL=(ALL) ALL » >> /etc/sudoers
  • Voilà, mon utilisateur ohan peut avoir les droits root.

  • Pour lister les paquetages relatifs à proftpd (c’est le serveur que je veux installer
  • 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

  • urpmi proftp pour lancer l’installation
  • /etc/init.d/proftpd start pour le démarrer
  • Et voilà, c’est installé. Pour obtenir des détails sur la configuration de ce serveur, je vous conseille le site officiel.

    Pour tester :

  • ftp « URL du Serveur »
  • Répondre au question de login et password (pour éviter de taper ces informations, vous pouvez compléter le fichier ~/.netrc (Ce fichier contient des séquences de connexions automatiques à des sites distants pour transfert de fichiers)

  • 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)

    Pas de commentaire

    [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)

    , ,

    Pas de commentaire

    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

    2 commentaires

    Installer KDE 4.2.0 sur Mandriva 2009.0

    Voici comment installer kde 4.2.0 sur une distribution Mandriva 2009.0

    J’avais kde sur la machine upgradée :

  • kde 3.5.10
  • compiz activé
  • Ce que j’ai fait :

  • Désactiver les effets 3D
  • Ajouter les 2 mirroirs

  • # urpmi.addmedia kde42-20090 ftp://ftp.lip6.fr/pub/X11/kde/stable/4.2.0/Mandriva/2009.0/RPMS/i586
    # urpmi.addmedia kde42-20090-noarch ftp://ftp.lip6.fr/pub/X11/kde/stable/4.2.0/Mandriva/2009.0/RPMS/noarch

  • urpmi --auto-update
  • Si tout se passe bien,il faut redémarrer la session
  • Pour obtenir de l’aide :

  • forum.mandriva.com
  • le README de Helio, le packageur et mainteneur de KDE pour Mandriva
  • Pas de commentaire

    SSHFS, montage de systèmes de fichiers via ssh

    Un petit article pour vous montrer comment en 3 commandes, il est possible de monter un système de fichiers distant par sshfs.

    Pré-requis :

  • le serveur distant doit être accessible par ssh
  • Toutes les commandes sont exécutées en utilisateur root
  • Installation :

  • installer sshfs

    # urpmi sshfs
    Pour satisfaire les dépendances, les paquetages suivants vont être installés
    Paquetage Version Révision Arch
    (média « Main »)
    fuse 2.7.4 2mdv2009.0 i586
    (média « Contrib »)
    sshfs-fuse 2.1 1mdv2009.0 i586
    un espace additionnel de 352Ko sera utilisé.
    124Ko de paquets seront récupérés.
    Procéder à l'installation des 2 paquetages ? (O/n) o
    ftp://ftp.free.fr/mirrors/ftp.mandriva.com/MandrivaLinux/official/2009.0/i586/media/main/release/fuse-2.7.4-2mdv2009.0.i586.rpm
    ftp://ftp.free.fr/mirrors/ftp.mandriva.com/MandrivaLinux/official/2009.0/i586/media/contrib/release/sshfs-fuse-2.1-1mdv2009.0.i586.rpm
    installation de fuse-2.7.4-2mdv2009.0.i586.rpm sshfs-fuse-2.1-1mdv2009.0.i586.rpm depuis /var/cache/urpmi/rpms
    Préparation ... ###########################################
    1/2: fuse ###########################################
    2/2: sshfs-fuse ###########################################

  • Charger le module fuse # modprobe fuse
  • Créer le répertoire de destination # mkdir /mnt/distant
  • monter le répertoire distant : #sshfs Moi@MonServeur.com:/home/Moi /mnt/dist
  • Vérifier que ca marche : #cd /mnt/dist
  • A suivre :

  • Monter ce répertoire au démarrage et le rendre accessible à un groupe d’utilisateur défini
  • Un commentaire

    Sortie officielle du liveCD Mandriva MLO

    L’équipe de Mandriva Linux Online vient de sortir son CD-live basé sur Mandriva 2009.0.
    Ce dernier contient toutes les dernières mises à jour officielles. Il est orienté débutant et vise principalement l’initiation et l’intégration des utilisateurs migrant du système Windows. Il est disponible uniquement en français.

    Bon téléchargement, http://www.freetorrent.fr/details.php?id=7eec7876d574eca9f979a77d8408d2972194bc1c

    L’annonce officielle : http://news.mandrivalinux-online.eu/mlo-la-vie-du-site/76-sortieofficielle-du-livecd-mlo

    Un commentaire

    Bon anniversaire Léa !

    Léa-linux à 10 ans aujourd’hui. J’ai ,comme beaucoup de monde, débuté linux en visitant Léa-linux à l’époque où il n’était pas très simple de trouver de la doc lisible et compréhensible pour les newbies !
    Je vous propose de revisiter ce site qui vient de se refaire une toilette, plutôt de la chirurgie esthétique vue la profondeur du relookage.
    En première page, un très bel article de Benji (et repasse quand tu veux au bureau) qui retrace l’historique du site, de sa mise en place jusqu’à la création de l’assoce qui lui est dédiée.

    http://www.lea-linux.org/

    Pas de commentaire

    Atelier pour la création de RPMs

    L’Association des Utilisateurs Francophones de Mandriva Linux (AUFML) vient de mettre en place une liste de diffusion ayant pour objectif de développer une communauté Mandriva de développeurs de Rpms.

    Pourquoi ? Pour que chacun puisse apprendre facilement à créer des RPMs, les diffuser mais surtout, pour faire grossir la communauté d’utilisateurs Mandriva. Je pense aussi que c’est pour standardiser le standard RPMS !!! (et oui, pourquoi certains RPMS issus d’un mirroir non-officiel ne sont pas compatibles avec ceux de Mandriva, de PLF et d’autres !

    Si votre logiciel préféré n’est pas encore packagé et il y a en malheureusement beaucoup, je vous propose de le faire connaitre sur la liste et de vous proposer à le faire. L’idéal sera qu’au fil des échanges, un petit tutorial puisse voir le jour ;)

    Rendez-vous sur http://www.mandrivafr.org/mailman/listinfo/rpm

    Pas de commentaire

    Mandriva 2009 Spring Alpha 2 est sortie

    La seconde pre-version de Mandriva Linux 2009 Spring est disponible. Dans cette seconde alpha , l’accent a été mis sur les composants majeurs de la distribution comme kde4.2, gnome 2.25.4, Xfce 4.6, X.org 1.5 et python 2.6.1.

    Le framework de sécurité Msec a été réécrit et permet désormais aux débutants de configurer facilement la sécurité de leur système. Notons également l’apparition du format ext4 dans diskdrake.

    Pour la télécharger : ftp://ftp.free.fr/mirrors/ftp.mandriva.com/MandrivaLinux/devel/iso/2009.1/alpha2/
    Pour reporter des bugs : http://qa.mandriva.com
    Pour faire entendre votre vos et donner vos idées sur cette version : http://ideas.mandriva.com/fr/

    Bons tests

    Pas de commentaire