Configuration et configurations du serveur initial sur RHEL 7

Configuration et configurations du serveur initial sur RHEL 7

Dans ce tutoriel, nous discuterons des premières étapes de configuration dont vous devez prendre soin après une nouvelle installation de Red Hat Enterprise Linux 7 sur un serveur métallique nu ou sur un serveur privé virtuel.

Exigences

  1. RHEL 7 installation minimale

Important: Les utilisateurs de CentOS 7 peuvent suivre cet article pour faire une configuration de serveur initiale sur CentOS 7.

Mettre à jour le système RHEL 7

Dans la première étape, connectez-vous à votre Rhel Console de serveur avec un compte avec des privilèges racine ou directement en tant que racine et exécutez la commande ci-dessous afin de mettre à jour entièrement vos composants système, tels que les packages installés, le noyau ou appliquer d'autres correctifs de sécurité.

# yum Check-update # mim mise à jour 

Afin de supprimer tous les packages téléchargés localement et autres caches YUM apparentées, exécutez la commande ci-dessous.

# Yum Clean All 

Installez les services publics du système sur RHEL 7

Ces services publics suivants peuvent s'avérer utiles pour l'administration du système quotidien: nano (Text Editor pour remplacer VI Editor), WGET, boucle (utilitaires utilisés pour télécharger les packages sur le réseau principalement) outils, LSOF (Utilitaires pour la gestion des réseaux locaux) et Bash-Completion (Complet de commande de commande).

Installez-les tous en un seul coup en exécutant la commande ci-dessous.

# yum install nano wget curl net-tools lsof bash completion 

Configuration du réseautage dans RHEL 7

Rhel 7 A une large gamme d'outils qui peuvent être utilisés pour configurer et gérer le réseau, de l'édition manuellement du fichier de configuration du réseau à l'utilisation de commandes telles que IP, ifconfig, nmtui, nmcli ou itinéraire.

Le service public le plus simple qu'un débutant peut utiliser pour gérer et modifier les configurations de réseau est nmtui ligne de commande graphique.

Afin de modifier le nom d'hôte système via nmtui utilité, exécuter nmtui-hostname Commande, définissez le nom d'hôte de votre machine et appuyez sur D'ACCORD à terminer, comme illustré dans la capture d'écran ci-dessous.

# nmtui-hostname 
Définir le nom d'hôte dans Rhel 7

Pour manipuler une interface réseau, exécutez nmtui-edit Commande, choisissez l'interface que vous souhaitez modifier et sélectionnez Modifier dans le menu droit, comme indiqué dans la capture d'écran ci-dessous.

Configurer le réseau dans RHEL 7

Une fois que vous êtes dans l'interface graphique fournie par nmtui Utilitaire Vous pouvez configurer les paramètres IP de l'interface réseau comme illustré dans la capture d'écran ci-dessous. Lorsque vous terminez, accédez à D'ACCORD en utilisant [languette] clé pour enregistrer la configuration et quitter.

Configuration de l'adresse IP du réseau

Afin d'appliquer la nouvelle configuration de l'interface réseau, exécutez nmtui-connect Commande, sélectionnez l'interface que vous souhaitez gérer et appuyer sur Désactiver / activer Option de déclassement et d'élévation de l'interface avec les paramètres IP, comme présenté dans les captures d'écran ci-dessous.

# nmtui-Connect 
Interface réseau active

Afin d'afficher les paramètres d'interface réseau, vous pouvez inspecter le contenu du fichier d'interface ou vous pouvez émettre les commandes ci-dessous.

# ifconfig enp0s3 # ip a # ping -c2 google.com 
Vérifier la configuration du réseau

D'autres utilitaires utiles qui peuvent être utilisés pour gérer la vitesse, lier l'état de liaison ou obtenir des informations sur les interfaces du réseau machine sont ethtool et mii-tool.

# ethtool enp0s3 # mii-tool enp0s3 
Vérifier la connexion réseau

Créer un nouveau compte utilisateur

À l'étape suivante, bien que connectée en tant que racine dans votre serveur, créez un nouvel utilisateur avec la commande ci-dessous. Cet utilisateur sera utilisé plus tard pour se connecter dans votre système et effectuer des tâches administratives.

# AddUser Tecmint_user 

Après avoir ajouté l'utilisateur à l'aide de la commande ci-dessus, configurez un mot de passe fort pour cet utilisateur en émettant la commande ci-dessous.

# passwd tecmint_user 

Dans les cas où vous souhaitez forcer ce nouvel utilisateur à modifier son mot de passe lors de la première tentative de connexion, exécutez la commande ci-dessous.

# chage -d0 tecmint_user 

Ce nouveau compte utilisateur avec a des privilèges de compte réguliers pour l'instant et ne peut pas effectuer des tâches administratives via la commande sudo.

Afin d'éviter l'utilisation du compte racine pour effectuer des privilèges administratifs, accordez ce nouvel utilisateur avec des privilèges administratifs en ajoutant l'utilisateur à «roue»Groupe de systèmes.

Les utilisateurs appartenant au «roue»Le groupe est autorisé, par défaut dans RHEL, pour exécuter des commandes avec des privilèges racine en utilisant le Sudo utilitaire avant d'écrire la commande nécessaire pour l'exécution.

Par exemple, pour ajouter l'utilisateur "Tecmint_user" pour "roue»Groupe, exécutez la commande ci-dessous.

# usermod -ag roue tecmint_user 

Ensuite, connectez-vous au système avec le nouvel utilisateur et essayez de mettre à jour le système via 'Mise à jour Sudo Yum«Commande pour tester si l'utilisateur a accordé des pouvoirs racinaires.

# su - Tecmint_user $ sudo yum update 

Configurer l'authentification de la clé publique SSH sur RHEL 7

À l'étape suivante afin d'augmenter votre sécurité RHEL, configurer l'authentification de la clé publique SSH pour le nouvel utilisateur. Afin de générer une paire de clés SSH, la clé publique et privée, exécutez la commande suivante sur votre console de serveur. Assurez-vous que vous êtes connecté au système avec l'utilisateur que vous configurez la touche SSH.

# su - Tecmint_user $ ssh-keygen -t rsa 

Pendant que la clé est générée, vous serez invité à ajouter phrase secrète Afin de sécuriser la clé. Vous pouvez entrer un fort phrase secrète ou choisissez de laisser la phrase secrète vide si vous souhaitez automatiser les tâches via le serveur SSH.

Une fois la touche SSH générée, copiez la paire de clés publiques sur un serveur distant en exécutant la commande ci-dessous. Pour installer la clé publique sur le serveur SSH distant, vous aurez besoin d'un compte utilisateur qui a des informations d'identification pour se connecter à ce serveur.

$ ssh-copy-id [e-mail protégé] 

Vous devriez maintenant essayer de vous connecter via SSH au serveur distant en utilisant la clé privée comme méthode d'authentification. Vous devriez pouvoir vous connecter automatiquement sans que le serveur SSH ne demande un mot de passe.

$ ssh [e-mail protégé] 

Pour voir le contenu de votre clé SSH publique si vous souhaitez installer manuellement la clé sur un serveur SSH éloigné, émettez la commande suivante.

$ cat ~ /.ssh / id_rsa 

Sécuriser SSH sur RHEL 7

Afin de sécuriser le démon SSH et de refuser un accès SSH distant au compte racine via le mot de passe ou la touche, ouvrez le fichier de configuration principale du serveur SSH et apportez les modifications suivantes.

$ sudo vi / etc / ssh / sshd_config 

Rechercher la ligne #Permitrootlogin oui, Décommente la ligne en supprimant le # signe (hashtag) depuis le début de la ligne et modifiez la ligne pour ressembler à l'extrait ci-dessous.

Permutrootlogine no 

Ensuite, redémarrez le serveur SSH pour appliquer les nouveaux paramètres et tester la configuration en essayant de vous connecter à ce serveur avec le compte racine. L'accès au compte racine via SSH devrait être restreint maintenant.

$ sudo systemctl redémarrer sshd 

Il existe des situations où vous voudrez peut-être déconnecter automatiquement toutes les connexions SSH distantes à votre serveur après une période d'inactivité.

Afin d'activer cette fonctionnalité à l'échelle du système, exécutez la commande ci-dessous, qui ajoute le Tmout Variable de bash à Main bashrc fichier et forces chaque connexion SSH à déconnecter ou à abandonner après 5 minutes d'inactivité.

$ su -c 'echo "tmout = 300" >> / etc / bashrc' 

Exécutez la commande de queue pour vérifier si la variable a été correctement ajoutée à la fin de / etc / bashrc déposer. Toutes les connexions SSH suivantes seront automatiquement fermées après 5 Minutes d'inactivité à partir de maintenant.

$ tail / etc / bashrc 

Dans la capture d'écran ci-dessous, la session SSH distante de Drupal Machine à Rhel Server a été automatiquement logique après 5 minutes.

Débrancher automatiquement les sessions SSH

Configurer le pare-feu sur RHEL 7

À l'étape suivante, configurez le pare-feu afin de sécuriser davantage le système au niveau du réseau. RHEL 7 est expédié avec une application Firewalld pour gérer les règles iptables sur le serveur.

Tout d'abord, assurez-vous que le pare-feu s'exécute dans votre système en émettant la commande ci-dessous. Si le démon du ballon de feu est arrêté, vous devez le démarrer avec la commande suivante.

$ sudo systemctl status firewalld $ sudo systemctl start Firewalld $ sudo systemctl activer firewalld 

Une fois le pare-feu activé et exécuté dans votre système, vous pouvez utiliser le pare-feu-CMD Utilitaire de ligne de commande pour définir les informations sur la politique du pare-feu et permettre le trafic vers certains ports réseau spécifiques, tels que SSH Daemon, connexion établie à un serveur Web interne ou à d'autres services réseau connexes.

Parce qu'en ce moment, nous exécutons simplement un démon SSH dans notre serveur, nous pouvons ajuster la stratégie de pare-feu pour permettre le trafic pour le port de service SSH en émettant la commande suivante.

$ sudo Firewall-CMD --Add-Service = SSH - Permanent $ sudo Firewall-CMD - Reload 

Pour ajouter une règle de pare-feu à la volée, sans appliquer la règle la prochaine fois que le serveur sera démarré, utilisez la syntaxe de commande ci-dessous.

$ sudo Firewall-CMD --Add-Service = SSHD 

Si vous installez d'autres services réseau dans votre serveur, tels que le serveur HTTP, un serveur de messagerie ou d'autres services réseau, vous pouvez ajouter des règles pour autoriser les connexions spécifiques comme suit.

$ sudo Firewall-CMD - Permanent --Add-Service = Http $ sudo Firewall-CMD - Ppermanent --Add-Service = Https $ sudo Firewall-CMD --permanent --Add-Service = SMTP 

Pour répertorier toutes les règles de pare-feu exécutez la commande ci-dessous.

$ sudo Firewall-CMD - Permanent - List-all 

Supprimer les services inutiles dans RHEL 7

Afin d'obtenir une liste de tous les services réseau (TCP et UDP) en cours d'exécution dans votre serveur RHEL par défaut, émettez le SS Commande, comme illustré dans l'échantillon ci-dessous.

$ sudo ss -tulpn 

Le SS La commande révèlera des services intéressants qui sont démarrés et en cours d'exécution par défaut dans votre système, comme le Postfix Master Service et le serveur responsable du protocole NTP.

Si vous ne prévoyez pas de configurer ce serveur un serveur de messagerie, vous devez arrêter, désactiver et supprimer le démon postfix en émettant les commandes ci-dessous.

$ sudo systemctl stop postfix.Service $ sudo yum Supprimer le postfix 

Récemment, il a été signalé de mauvaises attaques DDOS sur le protocole NTP. Dans le cas où vous ne prévoyez pas de configurer votre serveur RHEL pour s'exécuter en tant que serveur NTP afin que les clients internes puissent synchroniser le temps avec ce serveur, vous devez complètement désactiver et supprimer le démon de chrony en émettant les commandes ci-dessous.

$ sudo systemctl stop chronyd.Service $ sudo yum supprimer chrony 

Encore une fois, courez SS Commandez pour identifier si d'autres services réseau s'exécutent dans votre système et désactivez et supprimez-les.

$ sudo ss -tulpn 

Afin de fournir le temps précis pour votre serveur et de synchroniser le temps avec un serveur de pairs de temps supérieur, vous pouvez installer le ntpdate utilité et temps de synchronisation avec un serveur NTP public, en exécutant les commandes ci-dessous.

$ sudo yum install ntpdate $ sudo ntpdate 0.Royaume-Uni.piscine.NTP.org 

Pour automatiser le ntpdate Time Synchronisez la commande à exécuter tous les jours sans aucune intervention utilisateur, planifiez un nouveau travail Crontab à exécuter à minuit avec le contenu suivant.

$ sudo crontab -e 

Extrait de fichiers Crontab:

@daily / usr / sbin / ntpdate 0.Royaume-Uni.piscine.NTP.org 

C'est tout! Maintenant, votre serveur RHEL est préparé pour installer des logiciels supplémentaires nécessaires aux services ou applications réseau personnalisés, tels que l'installation et la configuration d'un serveur Web, un serveur de base de données, un service de partage de fichiers ou d'autres applications spécifiques.

Pour sécuriser et durcir le serveur RHEL 7, consultez ces articles suivants.

  1. Le Mega Guide pour durcir et sécuriser Rhel 7 - Partie 1
  2. Le Mega Guide pour durcir et sécuriser Rhel 7 - Partie 2

Si vous prévoyez de déployer des sites Web sur ce système Rhel 7, découvrez comment configurer et configurer la pile de lampe ou la pile de lemp.