[sysadmin@debian ~]#

Préparation

  1. Téléchargez la dernière version de Debian (version standard) sur le site officiel.
  2. Installez l’image sur une clé USB, et faites booter votre futur serveur dessus.
  3. Lancez l’installation graphique, et suivez les instructions (rien de particulier ici).

Installation

Se rendre administrateur

Logguez-vous en root pour donner les droits d’administration à l’utilisateur créé. Dans cet exemple, l’utilisateur est appelé jean.

usermod -aG sudo jean exit

Logguez-vous maintenant avec votre nom d’utilisateur. Vous pourrez lancer des commandes administrateur avec sudo.

Mettre à jour le système

sudo apt update && sudo apt upgrade -y

Activer SSH

sudo apt install ssh sudo systemctl start sshd # lancer SSH sudo systemctl status sshd # vérifier l'état de SSH => active = fonctionnel sudo systemctl enable ssh # activer SSH au démarrage

Se connecter en SSH au serveur

Vous pouvez maintenant vous connecter au serveur depuis une autre machine. Pour ce faire, repérez l’adresse IP locale du serveur :

ip a

L’adresse IP locale se situe à côté du nom de la carte réseau utilisée (WiFi/Ethernet). Pour l’exemple, nous utiliserons 192.168.1.25.

Sur une autre machine, lancez :

ssh jean@192.168.1.25

Sécuriser la connexion au serveur

Pour éviter les attaques brute-force, nous allons empêcher la connexion en SSH avec mot de passe. C’est peut-être contre-intuitif de supprimer la connexion par mot de passe, mais une bien meilleure alternative existe : l’utilisation de clés RSA. Sans entrer dans le détail, le serveur et la machine de notre choix vont se reconnaître à l'aide d'un jeu de clés privée et publique. Si vous faites confiance au fait que personne d’autre que vous n’a physiquement accès au système de ces machines, c’est un cran de sûreté qui vaut le coup.

Sur votre machine locale (pas dans le terminal SSH, mais directement dans votre système):

ssh-keygen ssh-copy-id jean@192.168.1.25 ssh jean@192.168.1.25

Si aucun mot de passe ne vous est demandé à la connexion, vous avez réussi.

Nous allons maintenant rendre impossible de se connecter directement avec l’utilisateur root sur le serveur. Cela permet de devoir passer par l’utilisateur (jean), et d’avoir besoin d’entrer votre mot de passe pour exécuter des commandes administrateur. C’est donc une couche de protection supplémentaire.

Sur le serveur :

sudo -i nano /etc/ssh/sshd_config

Modifier le fichier en décommentant ces lignes, et en changeant de manière adéquate leur option :

PasswordAuthentication no KbdInteractiveAuthentication no UsePAM no

PasswordAuthentication no empêche de se connecter avec mot de passe en SSH. ChallengeResponseAuthentication no retire les demandes distantes de connexion par mot de passe. UsePAM no rend impossible la fuite de quelques variables d’environnement et désactive l’option de login root.

Une fois le fichier modifié lancez (sur le serveur toujours) :

systemctl reload sshd

Installer un firewall

Si votre machine est censée être accessible en dehors de votre réseau local (hébergement web, cloud, etc.), il peut paraître sensé de bloquer l’entrée des ports non-utilisés.

sudo apt install ufw sudo -i ufw default deny incoming # bloque toutes les connexions entrantes ufw allow in 22 # ou: ufw allow in ssh -- fait une exception pour SSH ufw enable ufw status verbose

À cette étape, on peut considérer votre serveur comme prêt. Tout est à jour, et la sécurité est bien configurée.

N’oubliez pas que vous devrez ouvrir des ports avec ufw pour tous les services que vous installerez. Par exemple, pour autoriser les connexions http/https :

ufw allow 80 ufw allow 443

Autres

Si vous utilisez un ordinateur portable et que vous souhaitez que l’écran puisse être fermé sans que cela ne mette l’ordinateur en veille :

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Pour réactiver :

sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
chessgitxmppbookswallet