Présentation
Avec n'importe quel serveur, l'objectif principal doit toujours être la sécurité. De nombreux utilisateurs sont victimes d'infiltrations malveillantes sur leurs serveurs en raison du manque de barrières de sécurité établies depuis le début. Commençons sur le bon chemin en posant nos fondations avec sécurité. Ce tutoriel vous aidera dans votre configuration initiale sur Fedora 21 afin que vous puissiez sécuriser avec succès votre serveur tout en vous donnant la tranquillité d'esprit de savoir que votre serveur est protégé.
De quoi avez-vous besoin ?
Vous avez besoin d'un serveur Fedora 21 configuré avec une adresse IP statique. Si vous n'avez pas encore de serveur, envisagez un serveur rentable d'Atlantic.Net et soyez opérationnel en 30 secondes.
Préparation du serveur
Pour commencer, connectez-vous à votre serveur Fedora 21 via SSH ou la console VNC située ici. Les serveurs Atlantic.Net Cloud sont configurés comme des installations minimales pour éviter que des packages inutiles ne soient installés et ne soient jamais utilisés. Si certains packages logiciels que vous avez l'habitude d'utiliser ne sont pas installés par défaut, n'hésitez pas à les installer si nécessaire.
Assurons-nous que votre serveur est entièrement à jour.
yum update
Nous pouvons continuer le processus et sécuriser votre serveur avec le serveur à jour.
Mettre à jour le mot de passe racine Fedora 21
Tapez la commande suivante pour activer votre demande et suivez les instructions à l'écran pour mettre à jour/confirmer votre mot de passe root :
passwd
Créer un nouvel utilisateur avec les privilèges sudo
Après avoir mis à jour votre mot de passe avec succès, il est recommandé de créer un nouvel utilisateur avec les autorisations sudo/root. Étant donné que l'utilisateur administrateur typique de nombreux systèmes d'exploitation Linux comme Fedora 21 est "root", nous allons créer un nouvel utilisateur administrateur qui sera utilisé pour les tâches d'administration quotidiennes. La création d'un nouvel utilisateur avec des autorisations root augmentera la sécurité de l'accès à votre serveur. Les personnes qui cherchent à cibler votre système cibleront l'utilisateur root car il est connu pour être le compte administrateur par défaut. En créant un nouvel utilisateur avec des autorisations sudo/root et en désactivant l'utilisateur root, vous augmentez la sécurité en utilisant un utilisateur qui n'est pas encore connu publiquement.
Tapez la commande suivante pour créer votre nouvel utilisateur en remplaçant "user1" par votre nom d'utilisateur et confirmez.
adduser user1
Créez un mot de passe pour cet utilisateur en saisissant la commande suivante pour activer votre demande et en suivant les instructions à l'écran pour mettre à jour/confirmer votre mot de passe "user1" :
passwd user1
Une fois que vous avez créé un nouvel utilisateur et créé le mot de passe pour cet utilisateur, il est temps d'ajouter l'utilisateur au groupe sudo wheel. Dans Fedora 21, 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.
gpasswd -a user1 wheel
Enfin, lorsque vous avez créé l'utilisateur avec les autorisations sudo/root, vous pouvez quitter votre session et vous reconnecter avec votre "user1" pour vérifier les modifications apportées. Vous pouvez également exécuter la commande suivante et basculer les utilisateurs de root vers "user1", qui vous demandera le mot de passe de cet utilisateur.
su - user1
Configurer l'accès SSH
Le port 22 est le port par défaut pour les connexions à distance via SSH dans les systèmes Linux. En changeant le port ssh, vous augmenterez la sécurité de votre serveur en empêchant les attaques par force brute et les utilisateurs indésirables d'atteindre votre serveur en utilisant le port par défaut. Pour ce didacticiel, nous utiliserons le port 5022 comme exemple.
Ouvrez votre fichier de configuration SSH, recherchez la ligne Port, supprimez le # et remplacez le numéro 22 par votre port personnalisé. Enregistrez et quittez.
sudo vi /etc/ssh/sshd_config
#Port 22 Port 5022
Pour que votre système mette à jour les paramètres du fichier de configuration SSH, nous devons redémarrer le service sshd.
sudo systemctl restart sshd.service
SSH a maintenant été configuré pour utiliser le port 5022, et si vous essayez de vous connecter en utilisant le port 22, votre connexion échouera. Cependant, ne quittez pas votre session car nous devons d'abord configurer le port personnalisé sur la partie de configuration des pare-feu, que nous configurerons dans les étapes à venir.
Limiter l'accès racine
Puisque nous avons créé un nouvel utilisateur avec des autorisations root et créé un port ssh personnalisé, il n'est pas nécessaire de garder l'utilisateur root réel disponible et vulnérable via SSH sur votre serveur. Restreignons l'accès de l'utilisateur root au serveur local et accordons l'autorisation au nouvel utilisateur uniquement via SSH.
Ouvrez le fichier de configuration SSH, trouvez la ligne PermitRootLogin, supprimez le # et changez-le de oui à non.
sudo vi /etc/ssh/sshd_config
#PermitRootLogin yes PermitRootLogin no
Pour que votre système mette à jour les nouveaux paramètres dans le fichier de configuration SSH, nous devons redémarrer le service sshd.
sudo systemctl restart sshd.service
Remarque :L'utilisateur root sera désormais désactivé pour effectuer ces modifications. Vous devez donc vous connecter à votre serveur avec l'« utilisateur 1 » que vous avez créé. Cependant, ne quittez pas votre session. Nous devons configurer le port personnalisé sur le pare-feu dans les prochaines étapes.
Créer une clé SSH privée
Clés SSH privées/publiques sont d'excellentes fonctionnalités supplémentaires qui augmentent la sécurité dans la méthode d'un serveur. Cependant, la mise en place demande un peu plus d'efforts. La question est :votre serveur vaut-il la sécurité supplémentaire ? Si vous souhaitez implémenter les fonctionnalités de sécurité suivantes, vous pouvez passer aux étapes suivantes. Continuons et générons la clé SSH.
ssh-keygen
Si vous souhaitez modifier l'emplacement où la clé SSH sera enregistrée, vous pouvez le spécifier ici. Cependant, l'emplacement par défaut où il est stocké devrait être OK. Appuyez sur Entrée lorsque vous êtes invité à répondre à la question suivante, puis saisissez une phrase de passe, sauf si vous n'en voulez pas.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
Il s'agit de la page Web par défaut lors de l'installation de clés SSH sur un serveur Fedora21
La configuration de la clé SSH est cruciale. Nous devons copier la chaîne de clé entière dans un document Word / Bloc-notes. La clé peut être visualisée à l'emplacement suivant avec la commande cat.
cat ~/.ssh/id_rsa.pub
Copiez la clé SSH, en commençant par ssh-rsa et en terminant par [email protected], dans un document Word/Notepad pour l'ajouter ultérieurement au fichier de configuration.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbFd5OZFm8qDh21f28igkEVVb0rwkvyvxpH+LX9FBIgLfXTYZRz8PhCUi6NtugZMJ3F9vwq4Cq3zTYuwqhdb4Nt8z8MiS6sKX8JpgLyKreEwaxfK9IKBskyAkpln7zc7bHVCYsTJsvr/1B7kTvX4jIa0/EJQS7xvCTGdMDOD+Ux7bGJiA8ohc4DfELfJnlcURfNwB3PZ5ukdoul7/+yeabRsj18rc0yZfJ3/MgaipdSTwK/2mpaR0xlKGQhj47FsERKu6rztBL5lIQXWWZK71L8O2aprgsBBP+G2lKVKNNXeBfd+4Kx+4D980mWZlEdZ8KfgOZqCMXF3Jfjqcpvf0D [email protected]
Une fois la clé SSH stockée en toute sécurité, le répertoire des clés SSH nécessite des autorisations limitées que seul le propriétaire peut lire, écrire et exécuter dans le fichier.
chmod 700 .ssh
Dans le répertoire SSH, un fichier contenant la clé SSH doit être ajouté, simplement à l'aide de votre éditeur (dans ce cas VI) à l'emplacement suivant :
vi .ssh/authorized_keys
Collez la clé SSH, puis enregistrez et quittez en utilisant le format VI.
Enfin, nous devons limiter les autorisations du fichier authorized_keys que nous venons de créer afin que seul le propriétaire puisse lire et écrire.
chmod 600 .ssh/authorized_keys
Nous pouvons maintenant vérifier que la clé fonctionne en fermant la session et en tapant [email protected] ou le nom d'hôte de votre serveur dans votre console SSH. De plus, vous pouvez cliquer "ici" pour consulter notre article Comment générer et utiliser des clés SSH pour plus d'informations.
Règles de base du pare-feu
sudo systemctl start firewalld
Ensuite, nous allons ajouter une règle pour autoriser le port SSH personnalisé 5022 créé précédemment à accéder publiquement au serveur. Dans le même temps, nous supprimerons la règle par défaut précédente autorisant l'accès SSH sur TCP/22.
sudo firewall-cmd --permanent --add-port=5022/tcp
sudo firewall-cmd --permanent --remove-service=ssh
Si vous disposez d'un serveur Web, vous pouvez autoriser les règles suivantes à accéder à vos sites via Internet.
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https
Vous pouvez l'utiliser pour des règles similaires liées à tous les systèmes que vous souhaitez rendre accessibles au public. Ce serveur de test est configuré pour héberger un site Web et des services de messagerie. En plus des règles SSH et HTTP(S) mises à jour, des règles supplémentaires pour POP3, IMAP et SMTP sécurisés ont été ajoutées.
sudo firewall-cmd --permanent --add-service=pop3s sudo firewall-cmd --permanent --add-service=imaps sudo firewall-cmd --permanent --add-service=smtp
Pour que Firewalld accepte ces paramètres, vous devez redémarrer le pare-feu.
sudo firewall-cmd --reload
Vos paramètres auront été enregistrés et vous êtes prêt à continuer.
Pour vérifier tous les services/ports disponibles, exécutez ce qui suit :
sudo firewall-cmd --permanent --list-all
Ceci est la page Web par défaut après avoir rempli les règles Firewalld sur un serveur Fedora21
Synchronisation horaire NTP
Le NTP (Network Time Protocol) est utilisé pour synchroniser l'heure et la date des ordinateurs sur le réseau afin de rester précis et à jour. Commençons par installer le NTP (s'il n'a pas été installé) et configurons le service pour qu'il se synchronise avec leurs serveurs.
sudo yum install ntp
Une fois le service NTP installé, nous devons nous assurer que le service est activé.
sudo systemctl start ntpd
Maintenant que le service a démarré, permettons au serveur NTP de mettre à jour en permanence l'heure du serveur à partir du serveur NTP.
sudo systemctl enable ntpd
Ajouter un fichier d'échange
Un fichier Swap est simplement une petite quantité d'espace créée sur un disque dur de serveur pour simuler la RAM. Si le serveur manque de mémoire, il examinera le disque dur et allégera la charge en faisant croire au système qu'il a plus de mémoire. Nous allons configurer le fichier d'échange sur le disque dur pour augmenter un peu plus les performances du serveur.
Commencez par vérifier vos ressources pour vous assurer que nous pouvons ajouter le fichier. Lorsque vous exécutez la commande suivante, vous verrez le pourcentage d'espace actuellement utilisé sur votre disque dur.
df -h
Lors de la création d'un fichier Swap, vous souhaitez généralement ajouter la moitié de votre RAM existante jusqu'à 4 Go (si vous avez 1 Go de RAM réelle, vous ajoutez un fichier de 512 Mo). Dans cette partie, j'ajouterai un fichier d'échange de 512 Mo au lecteur. La façon dont cela est calculé est de 1024 x 512 Mo =524288 taille de bloc.
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
Maintenant que nous avons ajouté un fichier d'échange, une zone doit être créée pour continuer.
sudo mkswap /swapfile
Avec le fichier Swap créé et le fichier Swap, zone ajoutée, nous pourrions continuer et ajouter des autorisations au fichier afin que seul le propriétaire puisse lire et écrire.
sudo chown root:root /swapfile sudo chmod 0600 /swapfile
Maintenant que le fichier d'échange dispose des autorisations appropriées, nous pouvons continuer et l'activer.
sudo swapon /swapfile
Vous pouvez vérifier votre fichier Swap nouvellement ajouté avec ce qui suit.
sudo swapon -s
Pour rendre le fichier Swap toujours actif même après un redémarrage, nous devons le configurer en conséquence.
sudo vi /etc/fstab
Collez la commande suivante au bas du fichier, enregistrez votre travail et quittez.
/swapfile swap swap defaults 0 0
Enfin, vérifiez si votre fichier d'échange est activé en tapant la commande suivante :
free -m
Ceci est la page par défaut après la création d'un fichier d'échange sur un serveur Fedora21
Et ensuite ?
Avec cela, vous avez maintenant un serveur avec une base de sécurité solide qui vous donnera la tranquillité d'esprit en sachant que votre serveur est protégé. Vous pouvez maintenant procéder à la construction de votre plateforme selon vos besoins. Merci de nous avoir suivi et n'hésitez pas à revenir vers nous pour d'autres mises à jour.
En savoir plus sur nos services d'hébergement VPS et le prix de l'hébergement VPS.