Procédure recommandée supplémentaire pour les nouveaux serveurs Ubuntu 14.04

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 guideUbuntu 14.04 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 la configuration de notre système avec un pare-feu, la synchronisation du protocole de temps réseau et des fichiers d'échange.

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. Ubuntu est livré avec un outil appeléufw qui peut être utilisé pour configurer vos politiques de pare-feu. Notre stratégie de base sera de verrouiller tout ce que nous n’avons pas une bonne raison de garder ouvert.

Avant d'activer ou de recharger notre pare-feu, nous allons créer les règles qui définissent les exceptions à notre stratégie. Tout d'abord, nous devons créer une exception pour les connexions SSH afin de pouvoir conserver l'accès pour l'administration à distance.

Le démon SSH s'exécute sur le port 22 par défaut etufw peut implémenter une règle par nom si la valeur par défaut n'a pas été modifiée. Donc, si vous avez le port SSH modifié denot, vous pouvez activer l'exception en tapant:

sudo ufw allow ssh

Si vous avez modifié le port sur lequel le démon SSH écoute, vous devez l'autoriser en spécifiant le numéro de port actuel, ainsi que le protocole TCP:

sudo ufw allow 4444/tcp

C'est la configuration minimale du pare-feu. Il ne permettra que le trafic sur votre port SSH et tous les autres services seront inaccessibles. Si vous envisagez d'exécuter des services supplémentaires, vous devrez ouvrir le pare-feu sur chaque port requis.

Si vous prévoyez d’exécuter un serveur Web HTTP conventionnel, vous devez autoriser l’accès au port 80:

sudo ufw allow 80/tcp

Si vous prévoyez d’exécuter un serveur Web avec SSL / TLS activé, vous devez également autoriser le trafic sur ce port:

sudo ufw allow 443/tcp

Si vous avez besoin d'activer la messagerie SMTP, vous devez ouvrir le port 25:

sudo ufw allow 25/tcp

Après avoir ajouté les exceptions, vous pouvez vérifier vos sélections en tapant:

sudo ufw show added

Si tout se présente bien, vous pouvez activer le pare-feu en tapant:

sudo ufw enable

On vous demandera de confirmer votre sélection. Tapez «y» si vous souhaitez continuer. Ceci appliquera les exceptions que vous avez faites, bloquera tout autre trafic et configurera votre pare-feu pour qu'il démarre automatiquement au démarrage.

N'oubliez pas que vous devrez ouvrir explicitement les ports pour tous les services supplémentaires que vous pourrez configurer ultérieurement. Pour plus d'informations, consultez notre article sur lesconfiguring the ufw firewall.

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

L'étape suivante consiste à définir 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. Il s'agit d'une procédure très simple qui peut être accomplie en reconfigurant le packagetzdata:

sudo dpkg-reconfigure tzdata

Un système de menus vous permettant de sélectionner la région géographique de votre serveur vous sera présenté:

Ubuntu select region

Après avoir sélectionné une zone, vous aurez la possibilité de choisir le fuseau horaire approprié à votre serveur:

Ubuntu select timezone

Votre système sera mis à jour pour utiliser le fuseau horaire sélectionné et les résultats seront imprimés à l'écran:

Current default time zone: 'America/New_York'
Local time is now:      Mon Nov  3 17:00:11 EST 2014.
Universal Time is now:  Mon Nov  3 22:00:11 UTC 2014.

Ensuite, nous allons passer à la configuration de NTP.

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 d'Ubuntu:

sudo apt-get update
sudo apt-get install ntp

C’est tout ce que vous avez à faire pour configurer la synchronisation NTP sur Ubuntu. Le démon démarrera automatiquement à chaque démarrage et ajustera continuellement l'heure du système pour être en ligne avec les serveurs NTP globaux tout au long de la journée.

Cliquez ici si vous souhaitez en savoir plus surNTP servers.

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.

Note

[.Remarque]##

Bien que l’échange soit généralement recommandé pour les systèmes utilisant des disques durs traditionnels, son utilisation avec des disques SSD peut entraîner des problèmes de dégradation du matériel au fil du temps. En raison de cette considération, nous déconseillons d'activer l'échange sur DigitalOcean ou tout autre fournisseur utilisant le stockage SSD. Cela pourrait avoir un impact sur la fiabilité du matériel sous-jacent pour vous et vos voisins.

Si vous avez besoin d'améliorer les performances de votre serveur, nous vous recommandons de mettre à niveau votre Droplet. Cela conduira à de meilleurs résultats en général et diminuera la probabilité de contribuer aux problèmes matériels qui peuvent affecter votre service.

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 préparer l'instantané, arrêtez votre serveur à partir de la ligne de commande. Bien qu'il soit possible de prendre un instantané d'un système en cours d'exécution, sa mise hors tension permet de mieux garantir la cohérence du système de fichiers:

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.