Configuration initiale requise lors de l'installation de CentOS.


Date de publication:8 décembre 2020.



INFOMARTION > Configuration initiale requise lors de l'installation de CentOS.

Vue d'ensemble.

Cette section décrit les premiers réglages nécessaires après l'installation de CentOS. Il est construit en utilisant CentOS 7.6 (1810).

Table des matières

  1. réglage de base
  2. résumé

1. réglage de base

Cette section décrit les paramètres de base requis immédiatement après l'installation de CentOS.

1-1. Vérification du système d'exploitation

Tout d'abord, vérifiez que vous avez installé le bon système d'exploitation.

[root@hostname ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

Le système d'exploitation installé est 'CentOS Linux release 7.6.1810 (Core)'. Vérifiez qu'il est correct.

1-2. Installation de l'outil

Immédiatement après l'installation, les commandes de base telles que ifconfig ne peuvent pas être exécutées. Par conséquent, l'installation est effectuée de manière à ce que les commandes de base de mise en réseau et autres puissent être exécutées par les commandes yum.

Veuillez effectuer cette opération si nécessaire, car il est possible de moderniser ce qui a déjà été installé avec 'yum -y update'.

[root@hostname ~]# yum install -y net-tools
[root@hostname ~]# yum install -y wget
[root@hostname ~]# yum install -y tcpdump
[root@hostname ~]# yum install -y traceroute

net-tools・・・La commande ifconifg et d'autres peuvent être utilisées après l'installation.

wget・・・Littéralement, mais la commande wget peut être utilisée. En bref, cette commande envoie une requête http.

tcpdump・・・Littéralement, mais la commande tcpdump peut être utilisée. En bref, il peut surveiller les demandes envoyées au serveur.

traceroute・・・Littéralement, mais la commande traceroute peut être utilisée. En bref, il montre la route de l'IP de destination.

1-3. Désactiver selinux

Désactiver selinux car il est activé et peut se comporter de manière inattendue.

Pour commencer, selinux est un paramètre lié à la sécurité. Si vous êtes capable de l'utiliser, vous pouvez l'activer, mais si c'est difficile, désactivez-la. La désactivation de selinux ne rend pas nécessairement la sécurité vulnérable.Il est plus susceptible de causer des problèmes s'il est activé, même si personnellement je ne le comprends pas bien. L'explication simple est que selinux est une mesure de sécurité après que le serveur ait été violé (configuré pour minimiser les dommages en cas de violation), il est donc plus important de prendre des mesures de sécurité pour empêcher le serveur d'être violé.

Vous trouverez ci-dessous les étapes de la désactivation.

[username@hostname ~]$ getenforce
Disabled

S'il n'est pas "désactivé", il peut être modifié en suivant la procédure suivante.

[username@hostname ~]$ vi /etc/selinux/config


config【Avant le changement】


SELINUX=enforcing


config【après le changement】


SELINUX=disabled

SELINUX" et "SELINUXTYPE", mais c'est le "SELINUX" qui doit être modifié. Notez que si vous modifiez le "SELINUXTYPE" par erreur, le serveur ne démarrera pas.

Redémarrez le serveur et la configuration prendra effet.

1-4. utilisateur opérationnel supplémentaire

Se connecter et travailler en tant qu'utilisateur root est dangereux, il faut donc ajouter un utilisateur pour se connecter. Dans une étape ultérieure, désactivez la connexion de l'utilisateur root.

Le risque de travailler en tant qu'utilisateur root connecté est que vous pouvez faire tout ce que vous voulez. Le risque de pouvoir faire n'importe quoi est de pouvoir modifier ou supprimer accidentellement des modifications importantes liées au système d'exploitation. Si vous utilisez le serveur à des fins personnelles, comme un hobby ou des études, et que vous ne commettez pas d'erreurs ordinaires, je ne vois personnellement aucun problème à vous connecter en tant qu'utilisateur root. La raison numéro un pour ne pas autoriser l'utilisateur root à se connecter est la séparation des pouvoirs. L'équipe de développement d'applications utilise des utilisateurs qui ne touchent que le répertoire pour le développement d'applications. L'équipe de développement des lots utilise des utilisateurs qui ne touchent que le répertoire de développement des lots. Il est préférable de séparer les utilisateurs afin que les équipes nécessaires puissent toucher les répertoires nécessaires, tels que

Voici les étapes à suivre pour ajouter des utilisateurs.

[root@hostname ~]# useradd xxxxxx
[root@hostname ~]# passwd xxxxxx

※xxxxxxxx est le nom de l'utilisateur à ajouter. Définissez n'importe quel mot de passe.

1-5. Changer le mot de passe de l'utilisateur root

Si vous n'êtes pas l'utilisateur root, passez à l'utilisateur root avec su - et exécutez la commande suivante

[username@hostname ~]$ su -
[root@hostname ~]# passwd

※Définissez n'importe quel mot de passe.

Ne jamais abandonner le mot de passe initial. Le mot de passe "root" est le pire. Les mots de passe "password" et "1234" sont également assez dangereux. Un minimum de huit chiffres, y compris les symboles alphanumériques, est bon.

Ce paramètre de mot de passe est très important pour les mesures de sécurité et doit être défini avec le plus grand soin. Changer le mot de passe de l'utilisateur root est assez basique, mais sachez que nous avons entendu de nombreuses histoires d'incidents de sécurité causés par cette opération. Ne partez pas du principe que personne n'attaquera votre serveur parce qu'il est de petite taille. L'attaquant accède à un serveur aléatoire avec le nom d'utilisateur "root" et le mot de passe "root".

1-6. Configuration pour interdire les connexions par des utilisateurs non opérationnels (interdit les connexions par l'utilisateur root et les autres utilisateurs).

Limitez le nombre d'utilisateurs qui peuvent se connecter. En particulier, les utilisateurs root ne doivent pas être autorisés à se connecter. Si vous êtes connecté en tant que root, cela revient à désactiver toutes les mesures de sécurité.

Voici les étapes pour désactiver la connexion de l'utilisateur root et ajouter des utilisateurs qui peuvent se connecter. Passez en utilisateur root puis modifiez le fichier de configuration. (Il est possible de passer à l'utilisateur root avec 'su-', mais pas de se connecter).

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【Avant le changement】


#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10


sshd_config【après le changement】


#LoginGraceTime 2m
PermitRootLogin no
AllowUsers xxxxxx
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

※xxxxxxxx est le nom de l'utilisateur opérationnel que vous venez d'ajouter.


Il convient de noter que si le nom AllowUsers est incorrect, personne ne pourra se connecter. Vérifiez donc soigneusement les noms d'utilisateurs.

Vérifiez la syntaxe et redémarrez sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

Une fois que vous vous êtes déconnecté et que vous avez confirmé que vous ne pouvez pas vous connecter en tant que root et que vous pouvez vous connecter en tant qu'utilisateur opérationnel ajouté, vous avez terminé.


1-7. synchronisation du temps

Vérifiez que l'heure est synchronisée. Parfois, l'heure du serveur n'est pas synchronisée, de sorte que la date et l'heure de sortie du journal sont affichées à une heure différente de celle prévue et l'analyse du problème prend beaucoup de temps.

Vérifier le démarrage du processus de synchronisation horaire (chronyd). Vérifiez l'état de la synchronisation du temps. Notez que CentOS7 est 'chronyd', mais que les versions précédentes sont 'ntpd', donc soyez prudent si vous êtes sur 6 ou plus.

[root@hostname ~]# ps aux | grep chronyd
chrony     567  0.0  1.3 117804 13664 ?        SL    5月04   0:04 /usr/sbin/chronyd
root     32489  0.0  0.0 112732   972 pts/1    S+   16:30   0:00 grep --color=auto chronyd
[root@hostname ~]# timedatectl
      Local time: jour (du mois) 2020-11-29 16:30:43 JST
  Universal time: jour (du mois) 2020-11-29 07:30:43 UTC
        RTC time: jour (du mois) 2020-11-29 07:30:43
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

C'est OK si 'Local time' correspond à l'heure actuelle, 'NTP enabled' est oui et 'NTP synchronized' est oui.


1-8. Paramètres d'authentification des clés

Pour les utilisateurs opérationnels que vous venez d'ajouter, autorisez-les à se connecter uniquement avec une authentification par clé.

La simple désactivation de l'authentification par mot de passe augmente considérablement la sécurité. Dans le cas de l'authentification par mot de passe, si vous utilisez un mot de passe complexe, vous ne serez en principe pas connecté, mais la possibilité n'est pas nulle. Cependant, dans le cas de l'authentification par clé, vous ne pouvez vous connecter que si vous disposez de la clé en premier lieu, donc tant que vous gérez correctement votre clé, vous ne serez pas connecté.

Voici la procédure à suivre pour configurer l'authentification par clé.

[username@hostname ~]$ su - xxxxxx
[xxxxxx@hostname ~]$ ssh-keygen -t rsa -b 2048

※xxxxxxxx est le nom de l'utilisateur opérationnel supplémentaire.

※Après avoir exécuté la commande "ssh-keygen -t rsa -b 2048", vous serez invité à répondre, à prendre toutes les valeurs par défaut et à appuyer sur "Entrée". Il peut également être configuré sans mot de passe. (La saisie d'un mot de passe offre une sécurité supplémentaire comme l'authentification par clé plus l'authentification par mot de passe, mais aucun mot de passe n'est supposé dans ce cas).


Vérifiez ensuite que la clé a été créée.

[xxxxxx@hostname ~]$ ll /home/xxxxxx/.ssh

※xxxxxxxx est le nom de l'utilisateur opérationnel supplémentaire.

Vérifiez que la clé privée "id_rsa" et la clé publique "id_rsa.pub" sont stockées.

Renommez la clé publique et déplacez le répertoire pour télécharger la clé privée.

[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa.pub /home/xxxxxx/.ssh/authorized_keys
[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa /home/xxxxxx/id_rsa

※xxxxxxxx est le nom de l'utilisateur opérationnel supplémentaire.

Supprimez la clé privée (id_rsa) du serveur après l'avoir déplacée localement.

Déplacer /home/xxxxxxxx/id_rsa vers local. (Voir par exemple WinSCP).

Après le déplacement, exécutez la commande de suppression.

[xxxxxx@hostname ~]$ rm /home/xxxxxx/id_rsa

※xxxxxxxx est le nom d'utilisateur ajouté à l'étape (3).

Ceci termine la configuration de l'authentification des clés. Vérifiez que vous pouvez vous connecter avec la clé privée que vous avez créée.

Une fois que vous avez la confirmation que vous pouvez vous connecter, la dernière étape consiste à modifier les paramètres afin que vous ne puissiez pas vous connecter en utilisant la vérification du mot de passe.

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【Avant le changement】


PasswordAuthentication yes


sshd_config【après le changement】


PasswordAuthentication no

Vérifiez la syntaxe et redémarrez sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

Ceci termine la configuration de l'authentification des clés.


2. résumé

Nous avons décrit la configuration initiale requise lors de l'installation de CentOS.

Les informations contenues dans cet article constituent le minimum à mettre en œuvre lors de l'installation de CentOS. Si vous pensez qu'il y a des lacunes après avoir lu cet article, essayez de les mettre en place.

Merci d'avoir regardé jusqu'à la fin.