Introduction
Après avoir configuré le minimum nécessaire pour un nouveau serveur, il y a quelques étapes supplémentaires fortement recommandées dans la plupart des cas. Dans ce guide, nous poursuivrons la configuration de nos serveurs en abordant quelques procédures recommandées mais optionnelles.
Prérequis et Objectifs
Avant de commencer ce guide, vous devriez suivre le guide Configuration initiale du serveur CentOS 7. Il est nécessaire de le faire afin de configurer vos comptes utilisateurs, de configurer l’élévation des privilèges avec sudo
, et de verrouiller SSH pour des raisons de sécurité.
Une fois que vous aurez terminé le guide ci-dessus, vous pourrez continuer avec cet article. Dans ce guide, nous nous concentrerons sur la configuration de certains composants optionnels mais recommandés. Cela impliquera la mise en place d’un pare-feu et d’un fichier d’échange, ainsi que la configuration de la synchronisation du Protocole de Temps Réseau (NTP).
Configuration d’un Pare-feu de Base
La sécurité des serveurs nécessite une certaine sécurité sur l’Internet. Les pare-feux fournissent un niveau de sécurité basique pour votre serveur. Ces applications sont responsables de refuser le trafic à toutes les ports 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 les politiques de pare-feu. Notre stratégie de base sera de fermer tout ce qui n’est pas nécessaire et d’autoriser les exceptions pour les ports/services que nous avons approuvés. Installez d’abord firewalld
:
Le service firewalld
est capable de faire des modifications sans interrompre les connexions actuelles, donc vous pouvez le mettre en marche avant de créer nos exceptions.
Maintenant que le service est démarré et en fonctionnement, vous pouvez utiliser l’utilitaire firewall-cmd
pour obtenir et modifier des informations relatives à la politique du pare-feu. L’application firewalld
utilise le concept de « zones » pour étiqueter la confiance des autres hôtes sur un réseau. Cela nous permet de définir différentes règles en fonction de la confiance que nous accordons au réseau.
Dans cette guide, nous ne modifions que les politiques de la zone par défaut. Quand nous reloadons notre pare-feu, cela sera la zone appliquée aux interfaces. Nous devons commencer par ajouter des exceptions à notre pare-feu pour les services approbés. Le plus essentiel de ces exceptions est SSH, car nous avons besoin de maintenir l’accès administratif distant au serveur.
Si vous n’avez pas modifié le port sur lequel le démon SSH est en cours d’exécution, vous pouvez enregistrer le service par nom en tapant:
Si vous avez modifié le port SSH pour votre serveur, vous devrez spécifier explicitement le nouveau port. Vous devez également inclure le protocole que le service utilise. Tapez seulement les lignes suivantes si votre serveur SSH a déjà été réinitialisé à utiliser le nouveau port :
Ceci est le minimum nécessaire pour maintenir l’accès administratif au serveur. Si vous souhaitez exécuter des services supplémentaires, vous devez ouvrir le pare-feu pour ceux-ci aussi.
Si vous prévoyez d’utiliser un serveur HTTP conventionnel, vous devez autoriser la trafic pour http
.
Si vous voulez utiliser un serveur Web avec SSL/TLS, vous devez autoriser également le trafic pour https
.
Si vous avez besoin d’un serveur SMTP en ligne, tapez:
Pour voir tous les services additionnels qui peuvent être autorisés par nom, tapez:
Quand vous avez terminé, vous pouvez voir la liste des exceptions qui seront implémentées en tapant:
Quand vous êtes prêt, vous pouvez recharger le pare-feu:
Si tout fonctionne comme prévu après avoir testé, vous devez assurer que le pare-feu sera démarré à l’boot:
Rappelons-vous que vous devrez explicitement ouvrir le pare-feu (avec des services ou des ports) pour tous les services supplémentaires que vous configurerez plus tard.
Configurer les fuseaux horaires et la synchronisation du protocole Temps réel
Le prochain pas consiste à ajuster les paramètres de localisation pour votre serveur et configurer la synchronisation du protocole de temps réel (NTP).
Le premier étape consiste à assurer que votre serveur fonctionne sous le fuseau horaire correct. La seconde étape consiste en configuration du système pour synchroniser son horloge système avec le fuseau horaire standard maintenu par un réseau mondial d’ordinateurs NTP. Cela aidera à prévenir certaines anomalies qui peuvent arriver des horloges non synchro.
Configurer les fuseaux horaires
Notre première étape est de définir le fuseau horaire de votre serveur. Cela peut être accompli en utilisant la commande timedatectl
.
Pour commencer, regardez les fuseaux horaires disponibles en tapant:
Ceci vous donnera une liste des fuseaux horaires disponibles pour votre serveur. Quand vous trouvez l’heure de votre région/fuseau horaire, vous pouvez le définir en tapant:
Par exemple, pour définir le fuseau horaire de l’est des États-Unis, vous pouvez taper:
Votre système sera mis à jour pour utiliser le fuseau horaire sélectionné. Vous pouvez confirmer cela en tapant:
Configurer la synchronisation NTP
Maintenant que vous avez défini votre fuseau horaire, nous devons configurer NTP. Cela permet à votre ordinateur de rester en synchro avec d’autres serveurs, ce qui conduit à plus de prédétermination dans les opérations qui dépendent du bon fonctionnement du temps.
Pour la synchronisation NTP, nous utiliserons le service appelé ntp
, qui est disponible dans les répertoires par défaut de CentOS:
Après, vous devez lancer le service pour cette séance. Vous devez également activer le service pour que cela se déclenche automatiquement chaque fois que le serveur se lance:
Votre serveur maintient maintenant automatiquement son horloge système en cohérence avec les serveurs mondiaux.
Créer un Fichier d’Échange
Ajouter une « swappage » à un serveur Linux permet au système de déplacer les informations moins fréquemment accédées d’une application en cours de fonctionnement vers un emplacement sur disque. Accéder aux données stockées sur le disque est beaucoup plus lent que sur la RAM, mais disposer d’un espace d’échange peut souvent être la différence entre que votre application survive et qu’elle crash. Cela est particulièrement utile si vous planifiez d’héberger des bases de données sur votre système.
La taille idéale d’un espace d’échange varie considérablement selon les sources consultées. En général, une quantité égale ou double de la mémoire RAM de votre système est un bon point de départ.
Allouez l’espace que vous voulez utiliser pour votre fichier d’échange en utilisant l’utilitaire fallocate
. Par exemple, si nous avons besoin d’un fichier de 4 Go, nous pouvons créer un fichier d’échange situé à /swapfile
en tapant:
Après avoir créé le fichier, nous devons restreindre l’accès au fichier pour que d’autres utilisateurs ou processus ne puissent pas voir ce qui est écrit là-dedans :
Nous avons maintenant un fichier avec les permissions correctes. Pour informer notre système de formater le fichier pour la swap, vous pouvez taper :
Maintenant, indiquez à votre système qu’il peut utiliser le fichier de swap en tapant :
Notre système utilise maintenant le fichier de swap pour cette séquence, mais nous devons modifier un fichier du système pour que notre serveur effectue cela automatiquement à chaque démarrage. Vous pouvez faire ceci en tapant :
Avec cette modification, votre système devrait utiliser votre fichier de swap automatiquement à chaque démarrage.
Où aller après cela ?
Vous avez maintenant une très bonne installation de début pour votre serveur Linux. De là, il y a beaucoup de places où aller. Premièrement, vous pouvez souhaiter effectuer une instantanée de votre configuration actuelle.
Faire une Instantanée de votre Configuration Actuelle
Si vous êtes satisfait de votre configuration et voulez utiliser cela comme base pour des installations futures, vous pouvez prendre une instantanée de votre serveur par le panneau de contrôle DigitalOcean. À partir d’octobre 2016, les instantanées coûtent $0,05 par giga-octet par mois selon la quantité utilisée de l’espace dans le système de fichiers.
Pour effectuer cela, vous devez arrêter votre serveur en ligne de commande. Bien que il soit possible de créer une instantanéité d’une machine en ligne, arrêter le serveur assure que les fichiers sur le disque sont tous dans un état cohérent :
Maintenant, dans le panneau de contrôle de DigitalOcean, vous pouvez créer une instantanéité en visitant la rubrique « Instantanéités » de votre serveur :
Après avoir pris votre instantanéité, vous pourrez utiliser cette image comme base pour des installations futures en sélectionnant l’instantanéité depuis la rubrique « Mes instantanéités » lors de la création du processus :
Ressources supplémentaires et prochains étapes
De là, votre chemin dépend entièrement de ce que vous voulez faire avec votre serveur. La liste de guides ci-dessous n’est pas exhaustive, mais représente certaines des configurations plus communes que les utilisateurs souhaitent ensuite :
- Configurer un stack LAMP (Linux, Apache, MySQL/MariaDB, PHP)
- Configurer un stack LEMP (Linux, Nginx, MySQL/MariaDB, PHP)
- Installer le CMS WordPress
- Installation de Node.js
- Installation de Puppet pour gérer votre infrastructure
Conclusion
À ce stade, vous devriez savoir comment configurer une solide base pour vos nouveaux serveurs. J’espère que vous avez également une bonne idée pour les prochaines étapes. N’hésitez pas à explorer le site pour trouver d’autres idées que vous pouvez mettre en œuvre sur votre serveur.