Extra: Un peu de sécurité

Sécuriser son node

Dédier un compte utilisateur AVAX sur votre serveur

L'interet de dédier un compte de votre serveur à l'utilisation de votre node permet généralement de ne plus se connecter avec le compte root de votre serveur, qui est une mauvaise pratique.

Créer un nouvel utilisateur sur votre serveur:

adduser monutilisateur

Renseignez ensuite le mot de passe pour ce nouveau compte ainsi que les informations complémentaires (non nécessaires) si vous le souhaitez.

Connexion via clé SSH

La connexion à son node via une combinaison ID/MDP n'est pas conseillé. Il est préférable de se connecter via une clé SSH. En terme de sécurité, la clé de type ed25519 offre le meilleur rapport entre sécurité et performance.

générer une paire de clé

Pour générer votre paire de clé privée publique, vous pouvez la créer directement sur votre ordinateur

Ouvrez votre terminal et tapez la commande suivante:

ssh-keygen -t ed25519

Il vous sera demandé d'entrer une passphrase, a vous de mettre un mot de passe ou de laisser cela vide (permet de s'y connecter plus rapidement).

Votre paire de clé sera visible dans votre dossier caché .ssh

ls -l ~/.ssh/

Il ne vous reste plus qu'à aller déposer votre clé dans le serveur de votre Node

ssh-copy-id -i .ssh/id_ed25519.pub monutilisateur@ipPubliqueDeVotreServeur

Modifier le fichier de configuration SSH

Maintenant que votre clé publique a été placée dans votre serveur, il reste encore quelques modifications à effectuer sur le fichier de configuration du service SSH de votre serveur. Pour cela, il faut se rendre dans le fichier /etc/ssh/sshd_config et modifier les lignes suivantes:

/etc/ssh/sshd_config
HostKey /etc/ssh/ssh_host_ed25519_key
PubkeyAuthentication yes

Maintenant que les lignes sont modifiées vous pouvez sauvegarder votre fichier et redemarrer le service ssh:

service ssh restart

Vérifier la connexion via clé ssh

Tout est maintenant prêt. Vous allez vérifier que vous pouvez vous connecter au serveur grâce à votre clé SSH. Pour ce faire taper la commande suivante depuis votre ordinateur:

Lancez votre terminal et tapez la commande suivante:

ssh -i ~/.ssh/id_ed25519 monutilisateur@ipPubliqueDeVotreServeur

Mettre un service de Firewall

Le Firewall joue un role important dans votre sécurité. Il permet de bloquer les ports et de n'ouvrir les ports que pour les services actifs de votre node / serveur.

Voici la liste des services qu'utilise votre serveur et qui doivent être ouverts:

Les ports en dehors de ces deux ports n'ont pas besoin d'être ouverts

Si il y a bien un port a ne surtout pas oublier d'ouvrir c'est votre port 22 !

Installation / Configuration

Vérifier que le package ufw est bien présent sur votre VPS

sudo apt list ufw
//En cas de package présent sur votre serveur, vous aurez le retour suivant:
Listing... Done
ufw/focal-updates,focal-updates [installed]

Sinon, installez le

sudo apt update && sudo apt upgrade -y
sudo apt install ufw -y

Ajouter les règles pour autoriser les deux ports précédemment cités

sudo ufw allow ssh
sudo ufw allow 9651

Activer le Firewall

sudo ufw enable

Mettre un service de Fail2Ban

Le service fail2ban va permettre de bannir les personnes qui essayerai de se connecter a votre VPS plusieurs fois avec un mauvais mot de passe. Ce service à d'autres usages mais nous allons surtout nous en servir pour bannir les personnes qui essayeraient de se connecter en SSH.

Installation / Configuration

Vérifier que le package fail2ban est bien présent sur votre VPS sinon installez le

sudo apt list fail2ban
//En cas de package présent sur votre serveur, vous aurez le retour suivant:

Listing... Done
fail2ban/focal,focal,now 0.11.1-1 all [installed]

Sinon, installez le

sudo apt update && sudo apt upgrade -y
sudo apt install fail2ban -y

Ajoutez les lignes suivantes dans la configuration du fichier

Fichier: /etc/fail2ban/jail.d/defaults-debian.conf

[sshd]
enabled = true

[recidive]
enabled = true

Fermez le fichier avec la combinaison de touches ctrl + x y <enter>

Parcourez le fichier jail.conf pour vérifier la configuration de la partie sshd et recidive que nous avons activé.

Fichier: /etc/fail2ban/jail.conf

[sshd]

port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s


[recidive]

logpath  = /var/log/fail2ban.log
banaction = %(banaction_allports)s
bantime  = 1w
findtime = 1d

Dans ce même fichier, changez les valeurs suivantes

Fichier: /etc/fail2ban/jail.conf

bantime  = 10m
findtime  = 10m
maxretry = 3

Fermez le fichier avec la combinaison de touches ctrl + x y <enter>

Les valeurs de temps de ban son volontairement faibles. En effet, vous pouvez vous ban vous même avec cette configuration. Il vous est cependant possible de whitelister votre IP publique pour vous éviter cela.

Il est maintenant temps de démarrer le service fail2ban

sudo fail2ban-client start

Si celui ci est déjà lancé la commande suivante suffira:

sudo fail2ban-client reload

Vous pourrez consulter les statistiques de ban de votre service fail2ban avec les commandes:

sudo fail2ban-client status
sudo fail2ban-client status sshd

Vous avez des questions / suggestions?

Je suis disponible sur Twitter, n'hésitez pas à me follow.

Vous avez aimé cet article?

Si cet article vous a été utile et que vous souhaitez me remercier, vous pouvez effectuer un don a cette adresse C-Chain: 0x3e2d6dce444e52e15d28d9013196bb99cb0fcdd1

Dernière mise à jour