Blog GlobalSign

03 févr. 2017

Comment configurer correctement votre serveur

Si vous envisagez de prendre un serveur LAMP (Linux, Apache, MySQL et PHP), qu’il s’agisse d’un serveur privé virtuel (VPS) ou d’un serveur dédié, la première chose à faire est de le sécuriser.

Ce guide vous expose dans les grandes lignes la procédure à suivre pour configurer correctement votre serveur. Je passerai en revue les points essentiels à connaître et vous présenterai d’excellents outils que vous pourrez utiliser.

Étape no1 : Configurer le pare-feu

La première chose à faire pour sécuriser votre serveur est de mettre en place un pare-feu. Un pare-feu fait barrière entre votre serveur et le monde extérieur ; il vérifie que tout ce qui entre est sûr et bloque tout trafic malveillant. Il existe un vaste choix de solutions de pare-feu, mais nous nous concentrerons sur les deux plus connues :

UFW

Pare-feu simple, UFW est une bonne solution qui ne requiert qu’une configuration minimale. La solution offre un moyen intuitif de créer des règles de pare-feu personnalisées et fonctionne avec les réseaux IPv4 et IPv6. Le pare-feu UFW étant désactivé par défaut, n’oubliez pas de l’activer pour le configurer. Le pare-feu UFW est également doté d’une interface utilisateur accessible sous le nom Gufw.

Iptables

Iptables est un pare-feu connu fourni avec le noyau Linux ; il est activé par défaut sous Linux. Comme UFW, il fonctionne à la fois avec les réseaux IPv4 et IPv6. Il existe une autre version d’iptables appelée ip6tables pour gérer l’IPv6.

Contrairement à UFW, la syntaxe iptables est assez difficile à maîtriser. Son atout : il permet de créer des configurations de sécurité de granularité supérieure. C’est par conséquent un outil puissant pour sécuriser votre serveur.

Étape no2 : Sécuriser la configuration de la connexion à distance

En tant qu’administrateur de serveur, vous aurez souvent besoin de vous connecter à votre serveur via Internet. Cette connexion à distance doit donc être sécurisée et chiffrée. Pour cela, vous devez mettre en place une connexion SSH sécurisée vers votre serveur.

Il existe deux méthodes pour se connecter en SSH :

Connexion par mot de passe

Comme son nom l’indique, ce type de connexion exige de saisir un mot de passe chaque fois que vous voulez vous connecter en SSH. Bien que cette méthode nécessite moins de configuration, elle est moins sécurisée et plus exposée aux attaques par force brute.

Connexion avec certificat

Pour ce type de connexion, le serveur et la machine client doivent échanger leur clé publique utilisée pour chiffrer la connexion. Ils doivent aussi s’authentifier mutuellement. Plus complexe à configurer que la méthode avec mot de passe, ce type de connexion a l’avantage d’être beaucoup plus sûr pour se connecter à votre serveur.

Étape no3 : Installer un outil d’analyse de malwares

L’utilisation d’un outil d’analyse de malwares pour surveiller votre serveur permet de détecter les intrusions par des logiciels malveillants. Vous trouverez ci-après les deux outils de détection de rootkits gratuits les plus connus pour effectuer une analyse de malwares sur votre serveur :

Chkrootkit

Ce célèbre scanner d’outils de dissimulation d’activité — ou rootkits — recherche les processus de rootkits suspects sur un serveur Linux. Même si chkrootkit ne peut détecter tous les types de malwares possibles, c’est indéniablement un bon point de départ. Cependant, ne comptez pas uniquement sur chkrootkit pour effectuer une analyse de malwares exhaustive sur votre serveur ; il s’agit avant tout d’une solution d’entrée de gamme.

Rkhunter

Comme chkrootkit, Rkhunter recherche les rootkits dissimulés sur le système. Il est également capable d’identifier les fichiers cachés, les mauvaises autorisations et les chaînes suspectes. Il peut fonctionner sur n’importe quel système basé sur Unix. Pour une détection correcte des logiciels malveillants les plus courants, vous pouvez combiner rkhunter avec chkrootkit.

Étape no4 : Configurer la détection d’intrusion

Prenez la détection d’intrusion comme un système d’alarme capable de détecter les accès non autorisés sur votre serveur. Deux des systèmes de détection d’intrusion les plus connus figurent ci-après.

Aide

Aide est un système gratuit de vérification de l’intégrité d’annuaires et de fichiers qui fonctionne à la manière d’un piège. Il crée tout d’abord une base de données de l’état actuel du système. Il vérifie ensuite l’intégrité de tout fichier présent dans le système en le comparant avec la base de données connue. L’administrateur du serveur est alors prévenu en cas de changements importants risquant de porter atteinte à l’intégrité du système.

Bro

Bro est un système de détection des intrusions réseau qui surveille toute activité inhabituelle sur votre réseau. Bro fonctionne de la manière suivante : il crée initialement des règles en fonction des événements générés sur le réseau, de l’état du réseau ou des règles en place. S’il détecte quelque chose d’inhabituel, il crée une alerte, modifie les règles du pare-feu, actualise les journaux d’incidents. Le revers de cet outil extrêmement polyvalent est sa courbe d’apprentissage qui peut rebuter les débutants.

Étape no5 : Remplacer le FTP par un SFTP

En tant qu’administrateur, vous allez avoir besoin de télécharger des fichiers vers ou depuis votre serveur de temps à autre. Le protocole de transfert de fichiers (FTP) le plus connu est sujet à des failles de sécurité, l’authentification de la connexion s’effectuant en texte brut — format susceptible d’être intercepté. En optant pour le protocole de transfert sécurisé de fichiers SFTP, vous choisissez une solution plus sûre, facile à installer et configurer sur votre serveur.

Étape no6 : Effectuer les mises à jour et appliquer régulièrement les correctifs sur votre serveur

Si votre serveur est basé sur Linux ou UNIX, n’oubliez pas de mettre à jour et à niveau votre noyau, car les distributeurs mettent régulièrement à jour leur noyau. La mise à jour du noyau permet de stabiliser votre système en le faisant bénéficier des derniers correctifs de sécurité et des éventuelles nouvelles fonctionnalités du noyau. Ne pas appliquer de correctifs sur un serveur revient à inviter les hackers à entrer.

Étape no7 : Configurer correctement les autorisations

Sur le serveur, les autorisations revêtent une importance cruciale. Toute erreur de configuration dans les paramètres d’autorisation peut permettre à un assaillant de prendre très facilement le contrôle de votre serveur. Lorsque vous configurez les autorisations pour les utilisateurs de vos systèmes, limitez-vous uniquement aux autorisations dont ils auront besoin.

Vous pouvez ainsi appliquer par défaut les règles umask pour tout nouveau fichier créé sur un serveur Linux. Cela vous permettra de limiter les autorisations associées aux fichiers. L’utilisation du SGID (Set Group Identification) et du SUID (Set User Identification) dans les fichiers et répertoires permet de brider les autorisations de certains utilisateurs et groupes pour les répertoires et fichiers sensibles. Cela ne restreindra pas pour autant les possibilités pour eux d’utiliser les fonctionnalités serveur qu’ils sont autorisés à utiliser (comme la fonction de récupération d’un mot de passe oublié).

La sécurité serveur est un point crucial

Les points que j’ai soulevés ici ne sont que des conseils d’ordre général pour vous aider à protéger au minimum votre serveur. La sécurité est bien entendu un vaste sujet qu’il faut avoir à l’esprit en permanence pour rester vigilant.

Partager ce blog