Recherche de site Web

LFCA : Conseils de sécurité de base pour protéger le système Linux – Partie 17


Aujourd’hui plus que jamais, nous vivons dans un monde où les organisations sont constamment bombardées de failles de sécurité motivées par l’acquisition de données hautement sensibles et confidentielles, très précieuses et génératrices d’énormes récompenses financières.

Il est plutôt surprenant que, même si elles courent un risque élevé de subir une cyberattaque potentiellement dévastatrice, la plupart des entreprises ne soient pas bien préparées ou négligent simplement les signaux d’alarme, avec souvent des conséquences dévastatrices.

En 2016, Equifax a subi une violation de données catastrophique au cours de laquelle des millions de dossiers clients hautement confidentiels ont été volés à la suite d'une série de failles de sécurité. Un rapport détaillé indiquait que la violation aurait pu être évitée si les mesures de sécurité appropriées avaient été mises en œuvre par l'équipe de sécurité d'Equifax.

En fait, des mois avant la violation, Equifax a été averti d'une vulnérabilité potentielle dans son portail Web qui pourrait compromettre sa sécurité, mais malheureusement, l'avertissement est resté lettre morte, avec de graves conséquences. De nombreuses autres grandes entreprises ont été victimes d’attaques, dont la complexité ne cesse de croître à chaque instant.

Nous ne saurions trop insister sur l’importance cruciale de la sécurité de votre système Linux. Vous n’êtes peut-être pas une institution financière de premier plan qui constitue une cible potentielle de violations, mais cela ne signifie pas que vous devez baisser votre garde.

La sécurité doit être une priorité lors de la configuration de votre serveur Linux, surtout s'il sera connecté à Internet et accessible à distance. Avoir des compétences de base en sécurité est essentiel pour protéger votre serveur Linux.

Dans ce guide, nous nous concentrons sur certaines des mesures de sécurité de base que vous pouvez prendre pour protéger votre système contre les intrus.

Vecteurs de cyberattaques

Les intrus exploiteront diverses techniques d'attaque pour accéder à votre serveur Linux. Avant d’aborder certaines des mesures que vous pouvez prendre pour protéger votre système, exploitons certains des vecteurs d’attaque courants qu’un pirate informatique peut utiliser pour infiltrer les systèmes.

1. Attaques par force brute

Une attaque par force brute est une attaque dans laquelle le pirate informatique utilise des essais et des erreurs pour deviner les informations de connexion de l'utilisateur. Habituellement, l’intrus utilise des scripts automatisés pour accéder en permanence jusqu’à ce que la bonne combinaison de nom d’utilisateur et de mot de passe soit obtenue. Ce type d’attaque est plus efficace lorsque des mots de passe faibles et faciles à deviner sont utilisés.

2. Informations d'identification faibles

Comme mentionné précédemment, les identifiants faibles tels que les mots de passe courts et faciles à deviner tels que password1234 présentent un risque potentiel pour votre système. Plus un mot de passe est court et complexe, plus les risques que votre système soit compromis sont élevés.

3. Phishing

Le hameçonnage est une technique d'ingénierie sociale par laquelle l'attaquant envoie à la victime un e-mail qui semble provenir d'une institution légitime ou d'une personne que vous connaissez ou avec laquelle vous faites affaire.

Habituellement, l’e-mail contient des instructions qui incitent la victime à divulguer des informations sensibles ou peut contenir un lien qui la dirige vers un faux site se faisant passer pour celui de l’entreprise. Une fois que la victime tente de se connecter, ses informations d'identification sont capturées par l'attaquant.

4. Logiciels malveillants

Malware est l'abréviation de logiciel malveillant. Il englobe un large éventail d’applications néfastes telles que des virus, des chevaux de Troie, des vers et des ransomwares conçus pour se propager rapidement et prendre en otage le système de la victime en échange d’une rançon.

De telles attaques peuvent être débilitantes et paralyser les activités d’une organisation. Certains logiciels malveillants peuvent être injectés dans des documents tels que des images, des vidéos, des documents Word ou PowerPoint et regroupés dans un e-mail de phishing.

5. Attaques par déni de service (DoS)

Une attaque DoS est une attaque qui limite ou impacte la disponibilité d'un serveur ou d'un système informatique. Le pirate inonde le serveur de trafic ou de paquets ping qui rendent le serveur inaccessible aux utilisateurs pendant des durées prolongées.

Une attaque DDoS (Distributed Denial of Service) est une sorte de DoS qui utilise plusieurs systèmes qui inondent une cible de trafic la rendant indisponible.

6. Attaque par injection SQL

Acronyme de Structured Query Language, SQL est un langage utilisé pour communiquer avec des bases de données. Il permet aux utilisateurs de créer, supprimer et mettre à jour des enregistrements dans la base de données. De nombreux serveurs stockent les données dans des bases de données relationnelles qui utilisent SQL pour interagir avec la base de données.

Une attaque par injection SQL exploite une vulnérabilité SQL connue qui oblige le serveur à divulguer des informations de base de données sensibles qu'il ne divulguerait pas autrement en injectant du code SQL malveillant. Cela pose un risque énorme si la base de données stocke des informations personnelles identifiables telles que des numéros de carte de crédit, des numéros de sécurité sociale et des mots de passe.

7. Attaque de l'homme du milieu

Communément abrégée en MITM, l'attaque de l'homme du milieu implique qu'un attaquant intercepte des informations entre deux points dans le but d'écouter ou de modifier le trafic entre les deux parties. Le but est d’espionner la victime, de corrompre les données ou encore de voler des informations sensibles.

Conseils de base pour sécuriser votre serveur Linux

Après avoir examiné les passerelles potentielles qu’un attaquant peut utiliser pour pirater votre système, passons en revue certaines des mesures fondamentales que vous pouvez prendre pour protéger votre système.

1. Sécurité physique

On ne réfléchit pas beaucoup à l'emplacement physique et à la sécurité de votre serveur. Cependant, si vous envisagez d'installer votre serveur dans un environnement sur site, c'est généralement par là que vous commencerez.

Il est important de garantir que votre serveur est sécurisé en toute sécurité dans un centre de données doté d’une alimentation de secours, d’une connectivité Internet redondante et d’un refroidissement suffisant. L'accès au centre de données doit être limité au personnel autorisé uniquement.

2. Mettez à jour vos référentiels et packages système

Une fois le serveur configuré, la première étape à suivre consiste à mettre à jour les référentiels et les progiciels d'application comme suit. La mise à jour du package corrige les failles qui pourraient présenter dans les versions existantes des applications.

Pour les distributions Ubuntu/Debian :

sudo apt update -y
sudo apt upgrade -y

Pour les distributions RHEL/CentOS :

sudo yum upgrade -y

3. Activer un pare-feu

Un pare-feu est une application qui filtre le trafic entrant et sortant. Vous devez installer un pare-feu robuste tel que le pare-feu UFW et l'activer pour autoriser uniquement les services requis et leurs ports correspondants.

Par exemple, vous pouvez l'installer sur Ubuntu à l'aide de la commande :

sudo apt install ufw

Une fois installé, activez-le comme suit :

sudo ufw enable

Pour autoriser un service tel que HTTPS, exécutez la commande ;

sudo ufw allow https

Alternativement, vous pouvez autoriser son port correspondant qui est 443.

sudo ufw allow 443/tcp

Rechargez ensuite pour que les modifications prennent effet.

sudo ufw reload

Pour vérifier l'état de votre pare-feu, y compris les services autorisés et les ports ouverts, exécutez

sudo ufw status

4. Désactivez tous les services/ports inutiles

En outre, envisagez de désactiver tous les services et ports inutilisés ou inutiles sur le pare-feu. Avoir plusieurs ports qui ne sont pas utilisés ne fait qu’augmenter le paysage des attaques.

5. Protocole SSH sécurisé

Les paramètres SSH par défaut ne sont pas sécurisés et quelques ajustements sont donc nécessaires. Assurez-vous d'appliquer les paramètres suivants :

  • Désactivez l'utilisateur root de la connexion à distance.
  • Activez l'authentification SSH sans mot de passe à l'aide de clés publiques/privées SSH.

Pour le premier point, éditez le fichier /etc/ssh/sshd_config et modifiez les paramètres suivants pour qu'ils apparaissent comme indiqué.

PermitRootLogin no

Une fois que vous avez empêché l'utilisateur root de se connecter à distance, créez un utilisateur régulier et attribuez les privilèges sudo. Par exemple.

sudo adduser user 
sudo usermod -aG sudo user 

Pour activer l'authentification sans mot de passe, rendez-vous d'abord sur un autre PC Linux – de préférence votre PC et générez une paire de clés SSH.

ssh-keygen

Copiez ensuite la clé publique sur votre serveur

ssh-copy-id user@server-IP

Une fois connecté, assurez-vous de désactiver l'authentification par mot de passe en éditant le fichier /etc/ssh/sshd_config et en modifiant le paramètre affiché.

PasswordAuthentication no

Veillez à ne pas perdre votre clé privée ssh car c'est le seul moyen que vous pouvez utiliser pour vous connecter. Conservez-la en sécurité et sauvegardez-la de préférence sur le cloud.

Enfin, redémarrez SSH pour appliquer les modifications

sudo systemctl restart sshd
Résumé

Dans un monde où les cybermenaces évoluent, la sécurité doit être une priorité absolue lorsque vous vous lancez dans la configuration de votre serveur Linux. Dans ce guide, nous avons mis en évidence certaines des mesures de sécurité de base que vous pouvez prendre pour renforcer votre serveur. Dans la rubrique suivante, nous approfondirons et examinerons les étapes supplémentaires que vous pouvez suivre pour renforcer votre serveur.