GNU/Linux >> Tutoriels Linux >  >> Linux

Comment sécuriser Rocky Linux 8

La sécurité est une considération essentielle pour tout serveur que vous lancez dans un environnement de production. La dernière version de Rocky Linux 8 est livrée avec des fonctionnalités de sécurité robustes. Cependant, tous ne sont pas actifs ou correctement configurés par défaut, de sorte qu'une nouvelle installation est toujours vulnérable aux piratages et aux attaques par intrusion.

Dans ce guide, nous examinerons quelques tâches importantes à effectuer sur le serveur pour la configuration initiale et le renforcement de base du serveur.

Prérequis

  • Un nouveau serveur Rocky Linux 8 sur la plate-forme cloud Atlantic.Net
  • Un mot de passe root configuré sur votre serveur

Étape 1 - Mettez à jour votre serveur

Avant de commencer, connectez-vous à votre serveur Rocky Linux 8 via SSH ou la console VNC située ici :https://cloud.atlantic.net/

Une fois connecté, vous devrez installer les derniers correctifs et mises à jour de sécurité sur votre serveur. Exécutez la commande suivante pour les mettre à jour.

dnf update -y

Les serveurs Atlantic.Net sont configurés comme des installations minimales afin d'éviter que des packages inutiles ne soient installés et laissés inutilisés. Vous pouvez installer certains packages logiciels de base en exécutant la commande suivante :

dnf install wget git curl bind-utils tree net-tools -y

Étape 2 - Modifier le mot de passe racine par défaut

Lorsque vous lancez un nouveau serveur, vos serveurs sont automatiquement configurés avec des mots de passe sécurisés. Cependant, il est recommandé de changer votre mot de passe root tous les 60 à 90 jours par la suite afin de garantir sa sécurité. Vous devez créer un mot de passe root avec un minimum de 8 caractères, y compris des caractères minuscules, des caractères majuscules et des chiffres.

Vous pouvez modifier le mot de passe root à l'aide de la commande suivante :

passwd root

Étape 3 - Créer un nouvel utilisateur avec les privilèges sudo

Commencez par créer un nouvel utilisateur avec la commande suivante :

adduser user1

Ensuite, définissez le mot de passe user1 à l'aide de la commande suivante :

passwd user1

Après avoir créé un nouvel utilisateur, vous devrez ajouter cet utilisateur au groupe sudo wheel. Dans Rocky Linux 8, une fois que vous les avez ajoutés au groupe sudo wheel, les autorisations sudo/root leur sont automatiquement attribuées.

Exécutez la commande suivante pour ajouter l'utilisateur au groupe sudo wheel.

usermod -aG wheel user1

Une fois que vous avez créé l'utilisateur avec les autorisations sudo/root, connectez-vous à user1 avec la commande suivante :

su - user1

Une fois connecté, exécutez la commande suivante à l'aide de sudo :

sudo dnf update -y

Il vous sera demandé de fournir le mot de passe utilisateur1 pour mettre à jour votre système.

Cela confirmera que votre utilisateur sudo fonctionne comme prévu.

Étape 4 - Désactiver la connexion root via SSH

Nous avons déjà créé un utilisateur administrateur avec des autorisations sudo/root pour effectuer toutes les tâches. Vous n'avez pas besoin de garder l'utilisateur root disponible et vulnérable sur SSH sur votre serveur, vous devrez donc désactiver la connexion root via SSH.

Modifiez le fichier de configuration principal SSH avec la commande suivante :

sudo nano /etc/ssh/sshd_config

Recherchez la ligne suivante :

PermitRootLogin yes

Remplacez-le par la ligne suivante :

PermitRootLogin no

Enregistrez et fermez le fichier, puis redémarrez le service SSH pour appliquer les modifications :

systemctl restart sshd

Étape 5 - Modifier le port SSH par défaut

Pour modifier le port SSH, modifiez le fichier de configuration principal SSH :

sudo nano /etc/ssh/sshd_config

Recherchez la ligne suivante :

#Port 22

Remplacez-le par les lignes suivantes :

Port 2020

Enregistrez et fermez le fichier, puis redémarrez le service SSH pour appliquer les modifications :

systemctl restart sshd

Vous pouvez maintenant vous connecter à votre serveur Atlantic à distance via SSH en utilisant la commande suivante :

ssh [email protected] -p 2020

Étape 6 - Configurer un pare-feu

firewall-cmd --state

Vous devriez voir que le pare-feu ne fonctionne pas :

not running

Il est recommandé d'activer le pare-feu et d'autoriser les ports nécessaires pour l'accès externe.

Tout d'abord, activez le service firewalld avec la commande suivante :

systemctl start firewalld
systemctl enable firewalld

Ensuite, autorisez le port SSH 2020 à travers le pare-feu avec la commande suivante :

sudo firewall-cmd --permanent --add-port=2020/tcp

Ensuite, rechargez le service firewalld pour appliquer les modifications :

sudo firewall-cmd --reload

Vous pouvez maintenant vérifier les ports ajoutés avec la commande suivante :

sudo firewall-cmd --list-ports

Vous devriez voir le résultat suivant :

2020/tcp

Si vous avez un serveur Web installé et en cours d'exécution sur votre serveur, vous devrez peut-être autoriser le service HTTP et HTTPS à travers le pare-feu afin d'y accéder via Internet.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

Pour autoriser les services POP3, IMAP et SMTP pour l'accès externe, exécutez la commande suivante :

sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --permanent --add-service=smtp

Étape 7 - Installer NTP pour la synchronisation de l'heure

Il est également recommandé d'installer un serveur NTP pour synchroniser l'heure et la date des ordinateurs sur le réseau afin de les maintenir exactes et à jour.

Commencez par installer le serveur NTP à l'aide de la commande suivante :

sudo dnf install chrony -y

Une fois le service NTP installé, démarrez-le et activez-le pour qu'il démarre au redémarrage du système :

sudo systemctl start chronyd
sudo systemctl enable chronyd

Maintenant, votre serveur NTP est installé et mettra constamment à jour l'heure du serveur à partir du serveur NTP.

Étape 8 - Désactiver IPv6

Si vous n'utilisez pas IPv6, il est recommandé de le désactiver pour des raisons de sécurité.

Tout d'abord, vérifiez si IPv6 est activé sur votre installation Rocky Linux 8 à l'aide de la commande suivante :

ip a | grep inet6

Vous devriez voir les lignes suivantes si IPv6 est activé :

    inet6 ::1/128 scope host 
    inet6 fe80::200:d8ff:fe62:817/64 scope link 
    inet6 fe80::200:aff:fe62:817/64 scope link

Vous devrez créer un nouveau fichier de configuration pour désactiver IPv6 :

sudo nano /etc/sysctl.d/70-ipv6.conf

Ajoutez les lignes suivantes :

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Enregistrez et fermez le fichier, puis rechargez le fichier de configuration avec la commande suivante :

sudo sysctl --load /etc/sysctl.d/70-ipv6.conf

Vous devriez voir le résultat suivant :

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Pour vérifier qu'IPv6 est désactivé, exécutez la commande suivante :

ip a | grep inet6

Si la commande ne renvoie rien, vous avez confirmé qu'IPv6 a été désactivé sur toutes vos interfaces réseau.

Étape 9 - Créer un espace d'échange

Un swap est un espace sur un disque qui est utilisé lorsque la quantité de mémoire RAM physique est pleine. Lorsque votre serveur manque de RAM, toutes les pages inactives sont déplacées de la RAM vers l'espace d'échange.

Lorsque vous lancez une nouvelle instance sur Atlantic.Net, celle-ci ne crée pas de partition swap. Vous devrez créer un espace d'échange manuellement après le lancement de la nouvelle instance.

Généralement, l'espace d'échange doit être la moitié de votre RAM existante. Si vous disposez de 1 Go de RAM, vous devrez créer un fichier de 512 Mo.

Commencez par créer un espace de swap (de 512 Mo) avec la commande suivante :

sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288

Sortie :

524288+0 records in
524288+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 10.3523 s, 51.9 MB/s

Vous pouvez calculer la taille du bloc en utilisant la formule 1024 x 512 Mo =524288.

Après avoir créé l'espace Swap, formatez-le avec la commande suivante :

sudo mkswap /swapfile

Sortie :

mkswap: /swapfile: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 512 MiB (536866816 bytes)
no label, UUID=8981408a-549d-47aa-a99a-72870b65212d

Ensuite, définissez les autorisations appropriées sur le /swapfile avec la commande suivante :

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

Ensuite, activez l'espace Swap à l'aide de la commande suivante :

sudo swapon /swapfile

Ensuite, vérifiez l'espace Swap à l'aide de la commande suivante :

swapon -s

Sortie :

Filename				Type		Size	Used	Priority
/swapfile                              	file    	524284	0	-2

Ensuite, vous devrez ajouter l'entrée du fichier Swap au /etc/fstab afin de le rendre actif même après un redémarrage.

nano /etc/fstab

Ajoutez la ligne suivante :

/swapfile              swap   swap     defaults     0 0

Enregistrez et fermez le fichier, puis vérifiez l'espace Swap à l'aide de la commande suivante :

free -m

Vous devriez voir le résultat suivant :

              total        used        free      shared  buff/cache   available
Mem:           1817         263         100          68        1452        1329
Swap:           511           0         511

Conclusion

Dans le guide ci-dessus, nous avons expliqué quelques étapes de base pour sécuriser votre serveur Rocky Linux 8. Vous pouvez maintenant procéder à l'hébergement de n'importe quelle application dans l'environnement sécurisé - essayez-le sur votre compte d'hébergement VPS d'Atlantic.Net !


Linux
  1. Comment installer MariaDB 10.6 sur Rocky Linux 8

  2. Comment installer Docker sur Rocky Linux 8

  3. Comment installer Gulp.js sur Rocky Linux 8

  4. Comment créer un utilisateur Sudo dans Rocky Linux 8

  5. Comment installer MariaDB sur Rocky Linux 8

Comment installer MongoDB sur Rocky Linux 8

Comment installer PostgreSQL sur Rocky Linux 8

Comment installer Cacti sur Rocky Linux 8

Comment installer Joomla sur Rocky Linux 8

Comment installer Fail2ban sur Rocky Linux 8

Comment installer ImageMagick sur Rocky Linux 8