Configuration initiale du serveur sécurisé dUbuntu 18.04

introduction

Tout au long de ce didacticiel, vous apprendrez à configurer un niveau de sécurité de base sur une toute nouvelle machine virtuelle Vultr VC2 exécutant Ubuntu 18.04.

Conditions préalables

  • Un compte Vultr, vous pouvez en créer un ici
  • Une nouvelle VM Vultr Ubuntu 18.04

Créer et modifier un utilisateur

La première chose que nous allons faire est de créer notre nouvel utilisateur que nous utiliserons pour nous connecter à la VM:

adduser porthorian

Remarque: Il est recommandé d'utiliser un nom d'utilisateur unique qui sera difficile à deviner. La plupart des bots par défaut pour essayer root, admin, moderatoret similaire.

Un mot de passe vous sera demandé ici. Il est fortement recommandé d'utiliser un mot de passe alphanumérique fort. Après cela, suivez les invites sur votre écran et quand il vous demande si les informations sont correctes, appuyez simplement sur Y.

Une fois ce nouvel utilisateur ajouté, nous devrons lui accorder des autorisations sudo afin que nous puissions exécuter des commandes de l'utilisateur au nom de l'utilisateur root:

usermod -aG sudo porthorian

Une fois que vous avez donné à votre utilisateur sudo des autorisations, passez à votre nouvel utilisateur:

su - porthorian

Générer et configurer une clé SSH

Pour générer la clé SSH, veuillez suivre ce document .

Une fois que vous avez généré votre nouvelle clé SSH, copiez votre clé publique. Il devrait ressembler à ceci:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAmB3uRWxAAELNJ8oGBCBmZx7S11vnAp0RG8rdKf6CLdvT7NMbKF55F8Wf0hFPewEryplaH54ibdmaTuheJVKy1lUhHnVi0AcBpkhJiiOQdEtvbYKT/eIkQl/Qm92Gz6aL3lJ0UknO4gO0LzgqI2vYX0b9LHMF+ZvApEDahLCna6RKo3/lffnANUKfExE+dVwOcJwATL3Ld5IkSatm7zBqbJAim0wj/JQ5ejzkL+aYd3YawpW3qf+WsY3HGbK2TIJt3LsiZJ3M7giZo/fVIZCJqsIOyO9NUOEx5/+KE8IniGb7gdRYgquAEJr89poDCNz/8CBODi9z3ukiE1+UnVlhfQ== rsa-key-20190408

Configurez votre annuaire d'utilisateurs

Accédez au répertoire personnel de vos utilisateurs si vous n'y êtes pas déjà:

cd $HOME

$HOMEest la variable d'environnement pour le répertoire personnel de vos utilisateurs. Ceci est automatiquement défini lors de la création du nouvel utilisateur.

Dans notre répertoire personnel, nous allons placer un autre répertoire à l'intérieur. Ce répertoire sera caché aux autres utilisateurs de la machine, à l'exception de root et de l'utilisateur qui possède le répertoire. Créez le nouveau répertoire et limitez ses autorisations avec les commandes suivantes:

mkdir ~/.ssh
chmod 700 ~/.ssh

Maintenant, nous allons ouvrir un fichier .sshappelé authorized_keys. Il s'agit du fichier universel qu'OpenSSH recherche. Vous pouvez changer le nom de ceci dans la configuration OpenSSH /etc/ssh/sshd_config, si le besoin s'en fait sentir.

Utilisez votre éditeur préféré pour créer le fichier. Ce tutoriel utilisera nano:

nano ~/.ssh/authorized_keys

Copiez et collez votre clé ssh dans le authorized_keysfichier que nous avons ouvert. Une fois la clé publique à l'intérieur, vous pouvez enregistrer le fichier en appuyant sur CTRL+ O.

Assurez-vous que le chemin de fichier approprié s'affiche:

/home/porthorian/.ssh/authorized_keys

Si c'est le bon chemin de fichier, appuyez simplement sur ENTER, sinon, apportez les modifications nécessaires pour correspondre à l'exemple ci-dessus. Quittez ensuite le fichier avec CTRL+ X.

Maintenant, nous allons restreindre l'accès au fichier:

chmod 600 ~/.ssh/authorized_keys

Quittez notre utilisateur créé et revenez à l'utilisateur root:

exit

Désactiver l'authentification par mot de passe

Nous pouvons maintenant désactiver l'authentification par mot de passe sur le serveur, de cette façon, la connexion nécessitera une clé ssh. Il est important de noter que si vous désactivez l'authentification par mot de passe et que la clé publique n'a pas été installée correctement, vous vous verrouillerez hors de votre serveur. Il est recommandé de tester la clé avant même de vous déconnecter de votre utilisateur root.

Nous sommes actuellement connectés à notre utilisateur root, nous allons donc modifier sshd_config:

nano /etc/ssh/sshd_config

Nous allons rechercher 3 valeurs pour nous assurer que OpenSSH est correctement configuré.

  • PasswordAuthentication
  • PubkeyAuthentication
  • ChallengeResponseAuthentication

Nous pouvons trouver ces valeurs en appuyant sur CTRL+ W.

Les valeurs doivent être définies comme suit:

PasswordAuthentication  no
ChallengeResponseAuthentication  no
PubkeyAuthentication  yes

Si les valeurs sont commentées, supprimez le #au début de la ligne et assurez-vous que les valeurs de ces variables sont comme indiqué ci-dessus. Une fois que vous avez changé ces variables, sauvegardez et quittez votre éditeur, avec CTRL+ O, ENTERet enfin CTRL+ X.

Nous allons maintenant recharger sshdavec la commande suivante:

systemctl reload sshd

Nous pouvons maintenant tester la connexion. Assurez-vous que vous ne vous êtes pas encore déconnecté de votre session racine, et ouvrez une nouvelle fenêtre ssh et connectez-vous avec votre clé ssh liée à la connexion.

Dans PuTTY c'est sous Connection-> SSH-> Auth.

Naviguez pour trouver votre clé privée pour l'authentification, comme vous auriez dû l'enregistrer lors de la création de la clé ssh.

Connectez-vous à votre serveur avec la clé privée comme authentification. Vous serez maintenant connecté à votre machine virtuelle Vultr VC2.

Remarque: Si vous avez ajouté une phrase secrète lors de la génération de la clé ssh, vous serez invité à en saisir une. Ceci est complètement différent du mot de passe de votre utilisateur réel sur la machine virtuelle.

Configurer un pare-feu de base

Configurer UFW

Nous allons commencer par installer UFW s'il n'est pas déjà sur la machine virtuelle. Un bon moyen de vérifier est avec la commande suivante:

sudo ufw status

Si UFW est installé, il sortira Status:inactive. S'il n'est pas installé, vous serez invité à le faire.

Nous pouvons l'installer avec cette commande:

sudo apt-get install ufw -y

Maintenant, nous allons autoriser le port SSH 22dans notre pare-feu:

sudo ufw allow 22

Alternativement, vous pouvez autoriser OpenSSH:

sudo ufw allow OpenSSH

L'une ou l'autre des commandes ci-dessus fonctionnera.

Maintenant que nous avons autorisé le port à travers notre pare-feu, nous pouvons activer UFW:

sudo ufw enable

Il vous sera demandé si vous êtes sûr de vouloir effectuer cette opération. La saisie ysuivie de ENTERactivera le pare-feu:

porthorian@MEANStack:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation? y

Remarque: Si vous n'avez pas autorisé OpenSSH ou le port 22, vous vous verrouillez hors de votre machine virtuelle. Assurez-vous que l'un d'entre eux est autorisé avant d'activer UFW.

Une fois le pare-feu activé, vous serez toujours connecté à votre instance. Nous allons maintenant revérifier notre pare-feu avec la même commande qu'auparavant:

sudo ufw status

Vous verrez quelque chose de similaire à la sortie suivante:

porthorian@MEANStack:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

Configuration du pare-feu Vultr

Pour sécuriser davantage notre serveur, nous allons utiliser notre pare-feu Vultr. Connectez-vous à votre compte . Une fois connecté, vous accédez à l'onglet pare-feu situé en haut de votre écran:

Configuration initiale du serveur sécurisé dUbuntu 18.04

Nous allons maintenant ajouter un nouveau groupe de pare-feu. Cela nous permettra de spécifier quels ports peuvent même atteindre notre pare-feu UFW, nous offrant une double couche de sécurité:

Configuration initiale du serveur sécurisé dUbuntu 18.04

Vultr va maintenant vous demander comment vous allez nommer votre pare-feu en utilisant le champ "Description". Assurez-vous de décrire ce que feront les serveurs de ce groupe de pare-feu pour une administration future plus facile. Pour les besoins de ce tutoriel, nous allons le nommer test. Vous pouvez toujours modifier la description ultérieurement si vous le souhaitez.

Nous allons d'abord avoir besoin d'obtenir notre adresse IP. La raison pour laquelle nous le faisons directement est que si votre adresse IP n'est pas statique et change constamment, vous pouvez simplement vous connecter à votre compte Vultr et changer l'adresse IP.

C'est aussi pourquoi nous n'avions pas besoin de l'adresse IP sur le pare-feu UFW. De plus, il limite l'utilisation du pare-feu de votre machine virtuelle pour filtrer tous les autres ports et laisse simplement le pare-feu Vultr le gérer. Cela limite la pression du filtrage global du trafic sur votre instance.

Utilisez le miroir de réseau de Vultr pour trouver votre adresse IP.

Alors maintenant que nous avons notre adresse IP, nous allons ajouter une règle IPV4 à notre pare-feu nouvellement créé:

Configuration initiale du serveur sécurisé dUbuntu 18.04

Une fois l'adresse IP entrée, cliquez sur le +symbole pour ajouter votre adresse IP au pare-feu.

Votre groupe de pare-feu ressemblera à ceci:

Configuration initiale du serveur sécurisé dUbuntu 18.04

Maintenant que notre IP est correctement liée dans le groupe Pare-feu, nous devons lier notre instance Vultr. Sur le côté gauche, vous verrez un onglet qui dit "Instances liées":

Configuration initiale du serveur sécurisé dUbuntu 18.04

Une fois sur la page, vous verrez un menu déroulant avec une liste de vos instances de serveur:

Configuration initiale du serveur sécurisé dUbuntu 18.04

Cliquez sur le menu déroulant et sélectionnez votre instance. Ensuite, lorsque vous êtes prêt à ajouter l'instance au groupe de pare-feu, cliquez sur le +symbole.

Félicitations, vous avez réussi à sécuriser votre machine virtuelle Vultr VC2. Cela vous donne une bonne base pour une couche de sécurité très basique sans le souci de quelqu'un qui essaie de forcer votre instance par force brute.



Leave a Comment

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i

Installation de McMyAdmin sur Ubuntu 14.10

Installation de McMyAdmin sur Ubuntu 14.10

McMyAdmin est un panneau de contrôle de serveur Minecraft utilisé pour administrer votre serveur. Bien que McMyAdmin soit gratuit, il existe plusieurs éditions, dont certaines sont pai

Configurer un serveur TeamTalk sous Linux

Configurer un serveur TeamTalk sous Linux

TeamTalk est un système de conférence qui permet aux utilisateurs davoir des conversations audio / vidéo de haute qualité, un chat textuel, de transférer des fichiers et de partager des écrans. Cest moi

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que

Installer phpBB avec Apache sur Ubuntu 16.04

Installer phpBB avec Apache sur Ubuntu 16.04

PhpBB est un programme de babillard open source. Cet article vous montrera comment installer phpBB sur un serveur Web Apache sur Ubuntu 16.04. Cétait écrit

Configurer un utilisateur non root avec Sudo Access sur Ubuntu

Configurer un utilisateur non root avec Sudo Access sur Ubuntu

Avoir un seul utilisateur, qui est root, peut être dangereux. Permet donc de résoudre ce problème. Vultr nous donne la liberté de faire ce que nous voulons avec nos utilisateurs et nos serveurs

Installer eSpeak sur CentOS 7

Installer eSpeak sur CentOS 7

Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin

Comment installer Thelia 2.3 sur CentOS 7

Comment installer Thelia 2.3 sur CentOS 7

Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i

Installation de Fuel CMS sur Ubuntu 16.04 LTS

Installation de Fuel CMS sur Ubuntu 16.04 LTS

Vous utilisez un système différent? Fuel CMS est un système de gestion de contenu basé sur CodeIgniter. Son code source est hébergé sur GitHub. Ce guide vous montrera comment

Comment configurer loptimisation TCP sous Linux

Comment configurer loptimisation TCP sous Linux

Introduction Vous avez des problèmes de connectivité lorsque des visiteurs dautres pays accèdent à votre site Web? Vous vous demandez pourquoi la vitesse de téléchargement de votre Foreig

Comment déployer Ghost v0.11 LTS sur Ubuntu 16.04

Comment déployer Ghost v0.11 LTS sur Ubuntu 16.04

Vous utilisez un système différent? Ghost est une plate-forme de blogs open source qui gagne en popularité auprès des développeurs et des utilisateurs ordinaires depuis sa 201

Comment installer Pip sur Linux

Comment installer Pip sur Linux

Pip est un outil de gestion des packages Python. Lutilisation dun gestionnaire de packages permet une gestion efficace de votre serveur. Dans ce tutoriel, je vais expliquer comment t

Comment déployer Google BBR sur CentOS 7

Comment déployer Google BBR sur CentOS 7

BBR (Bottleneck Bandwidth and RTT) est un nouvel algorithme de contrôle de congestion qui est contribué à la pile TCP du noyau Linux par Google. Avec BBR en place,

Comment installer Icinga 2 et Icinga Web 2 sur Ubuntu 16.04

Comment installer Icinga 2 et Icinga Web 2 sur Ubuntu 16.04

Icinga 2 est un système de surveillance des ressources réseau open source largement utilisé, et Icinga Web 2 est linterface Web officielle pour Icinga 2. Dans ce didacticiel,

Comment installer YOURLS sur CentOS 7

Comment installer YOURLS sur CentOS 7

YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation

Comment activer TLS 1.3 dans Apache sur Fedora 30

Comment activer TLS 1.3 dans Apache sur Fedora 30

Vous utilisez un système différent? TLS 1.3 est une version du protocole TLS (Transport Layer Security) qui a été publiée en 2018 en tant que norme proposée dans la RFC 8446

Configurer un Chroot sur Debian

Configurer un Chroot sur Debian

Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, bu

Comment installer PiVPN sur Debian

Comment installer PiVPN sur Debian

Introduction Un moyen facile de configurer un serveur VPN sur Debian est avec PiVPN. PiVPN est un installateur et un wrapper pour OpenVPN. Il crée des commandes simples pour vous t

Comment installer Alfresco Community Edition sur Ubuntu 16.04

Comment installer Alfresco Community Edition sur Ubuntu 16.04

Vous utilisez un système différent? Alfresco Community Edition est une version open source des services de contenu Alfresco. Il est écrit en Java et utilise PostgreSQL t

Configurer Nginx-RTMP sur CentOS 7

Configurer Nginx-RTMP sur CentOS 7

Vous utilisez un système différent? RTMP est idéal pour diffuser du contenu en direct. Lorsque RTMP est associé à FFmpeg, les flux peuvent être convertis en différentes qualités. Vultr i

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.