Etapes recommandées supplémentaires pour les nouveaux serveurs CentOS 7

introduction

Après avoir configuré la configuration minimale pour un nouveau serveur, certaines étapes supplémentaires sont fortement recommandées dans la plupart des cas. Dans ce guide, nous allons poursuivre la configuration de nos serveurs en abordant certaines procédures recommandées mais facultatives.

Prérequis et objectifs

Avant de commencer ce guide, vous devez parcourir le guideCentOS 7 initial server setup. Cela est nécessaire pour configurer vos comptes d'utilisateurs, configurer l'élévation de privilèges avecsudo et verrouiller SSH pour la sécurité.

Une fois que vous avez terminé le guide ci-dessus, vous pouvez continuer avec cet article. Dans ce guide, nous allons nous concentrer sur la configuration de certains composants facultatifs mais recommandés. Cela impliquera de configurer notre système avec un pare-feu et un fichier d'échange, ainsi que de configurer la synchronisation du protocole temporel de réseau.

Configuration d'un pare-feu de base

Les pare-feu fournissent un niveau de sécurité de base pour votre serveur. Ces applications sont responsables du refus du trafic sur chaque port de votre serveur avec des exceptions pour les ports / services que vous avez approuvés. CentOS est livré avec un pare-feu appeléfirewalld. Un outil appeléfirewall-cmd peut être utilisé pour configurer vos stratégies de pare-feu. Notre stratégie de base sera de verrouiller tout ce que nous n’avons pas une bonne raison de garder ouvert. Première installation defirewalld:

sudo yum install firewalld

Le servicefirewalld a la capacité de faire des modifications sans abandonner les connexions actuelles, nous pouvons donc l'activer avant de créer nos exceptions:

sudo systemctl start firewalld

Maintenant que le service est opérationnel, nous pouvons utiliser l'utilitairefirewall-cmd pour obtenir et définir les informations de stratégie pour le pare-feu. L'applicationfirewalld utilise le concept de «zones» pour étiqueter la fiabilité des autres hôtes sur un réseau. Cet étiquetage nous donne la possibilité d’attribuer différentes règles en fonction de la confiance que nous accordons à un réseau.

Dans ce guide, nous ajusterons uniquement les stratégies pour la zone par défaut. Lorsque nous rechargerons notre pare-feu, ce sera la zone appliquée à nos interfaces. Nous devrions commencer par ajouter des exceptions à notre pare-feu pour les services approuvés. Le plus essentiel de ceux-ci est SSH, dans la mesure où nous devons conserver un accès administratif distant au serveur.

Si vous aveznot modifié le port sur lequel le démon SSH s'exécute, vous pouvez activer le service par nom en tapant:

sudo firewall-cmd --permanent --add-service=ssh

Si vous avezchanged le port SSH de votre serveur, vous devrez spécifier le nouveau port explicitement. Vous devrez également inclure le protocole utilisé par le service. Tapez uniquement ce qui suit si votre serveur SSH a déjà été redémarré pour utiliser le nouveau port:

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --permanent --add-port=4444/tcp

C'est le strict minimum nécessaire pour conserver l'accès administratif au serveur. Si vous envisagez d'exécuter des services supplémentaires, vous devez également ouvrir le pare-feu.

Si vous prévoyez d'exécuter un serveur Web HTTP classique, vous devrez activer le servicehttp:

sudo firewall-cmd --permanent --add-service=http

Si vous prévoyez d'exécuter un serveur Web avec SSL / TLS activé, vous devez également autoriser le trafic pourhttps:

sudo firewall-cmd --permanent --add-service=https

Si vous avez besoin d'activer la messagerie SMTP, vous pouvez taper:

sudo firewall-cmd --permanent --add-service=smtp

Pour voir tous les services supplémentaires que vous pouvez activer par nom, tapez:

sudo firewall-cmd --get-services

Lorsque vous avez terminé, vous pouvez voir la liste des exceptions qui seront implémentées en tapant:

sudo firewall-cmd --permanent --list-all

Lorsque vous êtes prêt à implémenter les modifications, rechargez le pare-feu:

sudo firewall-cmd --reload

Si, après le test, tout fonctionne comme prévu, vous devez vous assurer que le pare-feu sera démarré au démarrage:

sudo systemctl enable firewalld

N'oubliez pas que vous devrez ouvrir explicitement le pare-feu (avec des services ou des ports) pour tout service supplémentaire que vous pourrez configurer ultérieurement.

Configurer les fuseaux horaires et la synchronisation du protocole de temps réseau

L'étape suivante consiste à ajuster les paramètres de localisation de votre serveur et à configurer la synchronisation NTP (Network Time Protocol).

La première étape garantira que votre serveur fonctionne dans le bon fuseau horaire. La deuxième étape consiste à configurer votre système pour synchroniser son horloge système sur l'heure standard maintenue par un réseau mondial de serveurs NTP. Cela aidera à prévenir certains comportements incohérents pouvant résulter d'horloges non synchronisées.

Configurer les fuseaux horaires

Notre première étape consiste à définir le fuseau horaire de notre serveur. C'est une procédure très simple qui peut être accomplie en utilisant la commandetimedatectl:

Tout d’abord, jetez un coup d’œil aux fuseaux horaires disponibles en tapant:

sudo timedatectl list-timezones

Cela vous donnera une liste des fuseaux horaires disponibles pour votre serveur. Lorsque vous trouvez le paramètre de région / fuseau horaire correct pour votre serveur, définissez-le en tapant:

sudo timedatectl set-timezone region/timezone

Par exemple, pour définir l’heure est des États-Unis, vous pouvez taper:

sudo timedatectl set-timezone America/New_York

Votre système sera mis à jour pour utiliser le fuseau horaire sélectionné. Vous pouvez le confirmer en tapant:

sudo timedatectl

Configurer la synchronisation NTP

Maintenant que votre fuseau horaire est défini, nous devrions configurer NTP. Cela permettra à votre ordinateur de rester synchronisé avec les autres serveurs, ce qui améliorera la prévisibilité des opérations qui dépendent de l'heure exacte.

Pour la synchronisation NTP, nous utiliserons un service appeléntp, que nous pouvons installer à partir des référentiels par défaut de CentOS:

sudo yum install ntp

Ensuite, vous devez démarrer le service pour cette session. Nous activerons également le service pour qu'il soit automatiquement lancé à chaque démarrage du serveur:

sudo systemctl start ntpd
sudo systemctl enable ntpd

Votre serveur va maintenant corriger automatiquement son horloge système pour l'aligner sur les serveurs globaux.

Créer un fichier d'échange

L'ajout de "swap" à un serveur Linux permet au système de déplacer les informations moins fréquemment utilisées d'un programme en cours d'exécution de la RAM vers un emplacement sur le disque. L'accès aux données stockées sur le disque est beaucoup plus lent que l'accès à la RAM, mais le fait de disposer d'un échange peut souvent faire la différence entre le maintien de votre application et son blocage. Ceci est particulièrement utile si vous envisagez d'héberger des bases de données sur votre système.

Les conseils relatifs à la taille optimale d'un espace d'échange varient considérablement en fonction de la source consultée. En règle générale, une quantité égale ou double de la quantité de RAM sur votre système constitue un bon point de départ.

Allouez l'espace que vous souhaitez utiliser pour votre fichier d'échange à l'aide de l'utilitairefallocate. Par exemple, si nous avons besoin d'un fichier de 4 Go, nous pouvons créer un fichier d'échange situé à/swapfile en tapant:

sudo fallocate -l 4G /swapfile

Après la création du fichier, nous devons restreindre l'accès au fichier afin que les autres utilisateurs ou processus ne puissent pas voir ce qui y est écrit:

sudo chmod 600 /swapfile

Nous avons maintenant un fichier avec les autorisations appropriées. Pour indiquer à notre système de formater le fichier pour le swap, nous pouvons taper:

sudo mkswap /swapfile

Dites maintenant au système qu’il peut utiliser le fichier d’échange en tapant:

sudo swapon /swapfile

Notre système utilise le fichier d'échange pour cette session, mais nous devons modifier un fichier système pour que notre serveur le fasse automatiquement au démarrage. Vous pouvez le faire en tapant:

sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

Avec cet ajout, votre système doit utiliser votre fichier d'échange automatiquement à chaque démarrage.

Où aller en partant d'ici?

Vous avez maintenant une configuration de départ très décente pour votre serveur Linux. De là, il y a pas mal d'endroits où vous pouvez aller. Premièrement, vous voudrez peut-être faire une capture instantanée de votre serveur dans sa configuration actuelle.

Prendre un instantané de votre configuration actuelle

Si vous êtes satisfait de votre configuration et souhaitez l'utiliser comme base pour de futures installations, vous pouvez prendre un instantané de votre serveur via le panneau de commande DigitalOcean. À compter d'octobre 2016, les instantanés coûteraient 0,05 USD par gigaoctet par mois, en fonction de la quantité d'espace utilisé dans le système de fichiers.

Pour ce faire, arrêtez votre serveur à partir de la ligne de commande. Bien qu'il soit possible de capturer un système en cours d'exécution, la mise hors tension garantit que tous les fichiers du disque sont dans un état cohérent:

sudo poweroff

Maintenant, dans le panneau de configuration de DigitalOcean, vous pouvez prendre un instantané en visitant l'onglet «Instantanés» de votre serveur:

DigitalOcean snapshot

Après avoir pris votre instantané, vous pourrez utiliser cette image comme base pour de futures installations en sélectionnant l'instantané dans l'onglet «Mes instantanés» pour les images au cours du processus de création:

DigitalOcean use snapshot

Ressources supplémentaires et prochaines étapes

À partir de là, votre chemin dépend entièrement de ce que vous souhaitez faire avec votre serveur. La liste des guides ci-dessous n’est nullement exhaustive, mais représente certaines des configurations les plus courantes vers lesquelles les utilisateurs se tournent:

Conclusion

À ce stade, vous devez savoir comment configurer une base solide pour vos nouveaux serveurs. J'espère que vous avez également une bonne idée pour vos prochaines étapes. N'hésitez pas à explorer le site pour plus d'idées que vous pouvez implémenter sur votre serveur.