Configuration initiale d'un serveur Linux sur CentOS

Vérification de l'environnnement matériel

Pour inspecter le matériel du serveur, exécutez les commandes suivantes :


# Identifier le modèle matériel
dmidecode | grep "Product Name"

# Afficher le type de processeur
grep "model name" /proc/cpuinfo

# Compter les processeurs physiques
grep "physical id" /proc/cpuinfo | sort -u | wc -l

# Vérifier la mémoire totale
grep MemTotal /proc/meminfo

# Lire la version du système d'exploitation
cat /etc/redhat-release
uname -r

Optimisation du système d'exploitation

Désactivez le pare-feu pour les environnements sans IP publique :


service iptables stop
chkconfig iptables off

Configurez SELinux en mode désactivé en éditant le fichier de configuration :


sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0

Créez un utilisateur non root et définissez son mot de passe :


useradd operateur
echo 'secret123' | passwd --stdin operateur
history -c

Mettez à jour les sources de paquets yum avec les miroirs recommandés, puis appliquez les mises à jour :


curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum clean all
yum update -y

Nettoyez les services démarrés automatiquement et activez seulement les nécessaires :


for srv in $(chkconfig --list | grep '3:on' | cut -f1); do
    chkconfig --level 3 $srv off
done
for srv in crond network syslog sshd; do
    chkconfig --level 3 $srv on
done

Renforcez la sécurité SSH en modifiant les paramètres :


sed -i 's/^#Port 22$/Port 22022/' /etc/ssh/sshd_config
sed -i 's/^#PermitRootLogin yes$/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#PermitEmptyPasswords no$/PermitEmptyPasswords no/' /etc/ssh/sshd_config
sed -i 's/^#UseDNS yes$/UseDNS no/' /etc/ssh/sshd_config
/etc/init.d/sshd restart

Ajoutez l'utilisateur ordinaire aux privilèges sudo :


cp /etc/sudoers /etc/sudoers.backup
echo 'operateur ALL=(ALL) ALL' >> /etc/sudoers
visudo -c

Ajustez les paramètres régionaux pour l'affichage :


echo 'LANG=fr_FR.UTF-8' > /etc/sysconfig/i18n
source /etc/sysconfig/i18n

Mettez en place une synchronisation périodique de l'horloge via NTP :


echo '*/15 * * * * /usr/sbin/ntpdate ntp.ubuntu.com >/dev/null 2>&1' >> /var/spool/cron/root
crontab -l

Augmentez la limite des descripteurs de fihciers pour améliorer les performances :


ulimit -n 131072
echo '* - nofile 131072' >> /etc/security/limits.conf

Pour finir, optimisez les paramètres du noyau en éditant /etc/sysctl.conf avec des valeurs adoptées à votre charge de travail.

Étiquettes: CentOS 6.8 SSH SELinux crontab sysctl

Publié le 9 juillet à 19h03