web-dev-qa-db-fra.com

Comment transformer un ordinateur portable en serveur Ubuntu sans tête?

cherche un moyen de transformer un ordinateur portable en un serveur box sans tête avec un serveur Ubuntu, avec un accès SSH uniquement, le cryptage de disque activé, aucun identifiant de connexion Invite au redémarrage et désactive l'écran et le clavier.

3
geogeek

Voici quatre questions/exigences posées et certaines d’entre elles ne sont pas compatibles. S'il s'agira d'un serveur domestique avec un accès public (comme cela semble être le cas), il me suffirait d'installer Ubuntu Server et de fermer le couvercle de l'ordinateur portable pour le rendre sans tête.


Configurer SSH

Pour installer le serveur SSH sur Ubuntu, exécutez les commandes suivantes (ou cochez Ouvrir le serveur SSH pendant le processus d'installation du serveur Ubuntu; le openssh-client doit être installé par défaut):

Sudo apt update 
Sudo apt install openssh-server openssh-sftp-server

Vous devriez maintenant pouvoir vous connecter au serveur SSH via l’interface de bouclage (depuis/vers le serveur lui-même) avec la commande:

ssh <user>@localhost  

Configurez l'authentification basée sur la clé pour renforcer la sécurité. Créez d'abord le répertoire .ssh dans le répertoire de base de votre utilisateur: mkdir ~/.ssh

Ensuite, à partir d'une instance distante (de votre réseau local), supposons qu'il s'agisse également d'Ubuntu, exécutez les étapes suivantes ( source ):

  • Génération de clés RSA (entrez une phrase secrète pour plus de sécurité au cas où quelqu'un vous volerait votre clé, celle-ci devrait être différente de votre mot de passe utilisateur):

    mkdir ~/.ssh
    chmod 700 ~/.ssh
    ssh-keygen -t rsa -b 4096
    chmod 600 ~/.ssh/id_rsa
    
  • Transférez la clé du client sur le serveur ( note ):

    ssh-copy-id <user>@<server-lan-ip>
    
  • Vous devriez maintenant pouvoir vous connecter au serveur SSH avec une authentification par clé (vous devez entrer votre phrase secrète si vous l'avez configurée):

    ssh <user>@<server-lan-ip>
    

Une fois que cela fonctionne, vous pouvez désactiver l'authentification par mot de passe du serveur en modifiant le fichier /etc/ssh/sshd_config de la manière suivante:

#PasswordAuthentication yes
PasswordAuthentication no

N'oubliez pas de redémarrer le serveur SSH: Sudo systemctl restart sshd.service

Si vous prévoyez d’utiliser le répertoire personnel chiffré , vous devez modifier votre configuration SSH (côté serveur) comme décrit ci-après: SSH autorise les connexions distantes uniquement après une connexion locale au serveur .


Pas de login Invite au redémarrage ou Comment empêcher la connexion avec un accès physique

Je dirais, à mon avis, que ce n'est pas nécessaire. Dans Ubuntu, le connexion avec root est désactivé par défaut. Cela signifie qu'en tant qu'administrateur du serveur local, vous devez vous connecter avec un utilisateur qui pourrait avoir un nom d'utilisateur difficile à deviner (étrange et sans signification) et mot de passe fort . Et, je pense, cela suffit dans ce cas où vous devez deviner le mot de passe à la main. Si vous souhaitez renforcer la sécurité, vous pouvez configurer authentification à deux facteurs .

En fait, d’abord, vous devriez désactiver le mode de récupération afin d’empêcher les connexions avec un accès physique en tant que root. Il est accessible dans les options avancées du menu GRUB , accessible en appuyant longuement sur le bouton Shift clé pendant le démarrage.

Si vous voulez vraiment désactiver le TTY pour empêcher la connexion avec un accès physique, dans les versions actuelles d'Ubuntu (15.04+) qui utilisent systemd , vous pouvez éditer le fichier /etc/systemd/logind.conf dans la de la manière suivante, cela désactivera les TTY de 2 à 6 ( source ):

[Login]
NAutoVTs=0

ATS-1 est codé en dur et restera actif. Pour désactiver TTY-1, utilisez la commande suivante qui le liera de manière symbolique à /dev/null ( source ):

Sudo systemctl mask [email protected]    # use `unmask` to remove the symlink

Maintenant, redémarrez le système et les TTY devraient être indisponibles.


Désactiver l'écran et le clavier

Le écran et le clavier d'un ordinateur portable peuvent être désactivés via GRUB . A cette fin, éditez le fichier /etc/default/grub et modifiez la ligne suivante de la manière indiquée (où <default parameters> sont les paramètres déjà existants):

GRUB_CMDLINE_LINUX_DEFAULT="<default parameters> i8042.nokbd video=LVDS-1:d"

Ensuite, exécutez Sudo update-grub et redémarrez le système. Ces paramètres de noyau supplémentaires désactivent le clavier et l'écran de l'ordinateur portable. Mes recherches montrent qu’ils s’adapteront à presque toutes les marques et tous les modèles d’ordinateurs portables.

Vous pouvez remplacer ces paramètres en appuyant sur la touche e touche dans le menu GRUB. Avec ces paramètres, si vous connectez un clavier et un moniteur externes (pourquoi pas et souris ), ils doivent fonctionner.


Chiffrement intégral du disque

Une brève recherche sur Internet montre qu'il existe peu d'approches disponibles pour réaliser le chiffrement intégral du disque, par exemple:

Veuillez noter! "Une conséquence du cryptage complet du système est que vous devez taper votre phrase secrète système chaque fois que vous allumez votre ordinateur ..."

Donc, si vous configurez le chiffrement intégral du disque et désactivez le clavier et l'affichage, il sera impossible d'exécuter le système après le redémarrage .

Voici quelques remarques supplémentaires sur le cryptage: À l'aide d'un service VPS, puis-je empêcher mes données d'être accessibles par l'hôte VPS?


Réfléchissez à deux fois avant de configurer le chiffrement intégral du disque!

Cela ajoutera de la sécurité uniquement si votre appareil est volé et que son disque dur/SSD est connecté à un autre hôte. Pendant le processus de travail de votre serveur, le disque sera déchiffré pour être accessible au système. Cela n’ajoutera donc pas une sécurité réseau supplémentaire.

Au début, avez-vous vraiment besoin de ce mal de tête supplémentaire? Je passerais ce temps à apprendre à utiliser LVM .

Peut-être voudriez-vous utiliser répertoire personnel crypté pour empêcher les autres utilisateurs du système d’accéder à vos fichiers personnels. Dans ce cas, sauf si vous n'êtes pas connecté, vos données personnelles seront cryptées.

Notez que si vous prévoyez d’être administrateur autonome de ce serveur, vous n’avez pas besoin de le faire, car vous pouvez limiter efficacement l’accès à vos fichiers et dossiers par le biais de permissions .

Pendant que vous êtes connecté, votre maison sera déchiffrée pour être accessible à votre utilisateur et s'il y a un autre administrateur - quelqu'un qui peut utiliser la commande Sudo - qui est réglé de manière malveillante (!?), Il pourra accéder à vos fichiers. .

Le moyen le plus efficace de sécuriser vos données confidentielles consiste peut-être à utiliser un dossier chiffré (ou simplement un fichier d’archive chiffré). Ainsi, avant de déchiffrer le dossier (fichier), vous pouvez vérifier qui est connecté ( en tant que root ).

3
pa4080