Catégories
Sysadmin

Comment installer, configurer et gérer un serveur ?

Débuter l’administration d’un serveur Linux peut être déroutant pour un utilisateur qui n’a été confronté qu’à des systèmes d’exploitation Windows ou MacOS. Découvrons les bases de l’administration systèmes et réseaux de serveurs Linux.

Où est l’interface graphique sous Linux ?

Par habitude on s’attend à retrouver une interface graphique utilisable à la souris, or dans le monde des serveurs une interface graphique est optionnelle voir inutile. En fonction des besoins applicatifs sur le serveur Linux, une interface sera utile dans certains cas, pénalisante dans d’autres cas.

Quelques distributions Linux pour serveur ajoutent par défaut des interfaces graphiques comme Red-Hat RHEL ou Suse. Ces distributions serveurs sont préconisées dans les environnements SI et industriels où la prise en main en clavier / écran est possible facilement et où la plupart des logiciels vont avoir en dépendance une interface graphique pour fonctionner.

Dans les serveurs Cloud, les distributions Linux sont exemptées d’interfaces graphiques puisqu’il n’y a pas d’accès aisés au clavier / souris / écran. Certes la présence d’interface KVM virtuelle permet la prise en main sur des instances de serveurs virtuels mais le confort d’utilisation est souvent austère et certaines actions simples comme les copier coller sont difficiles voir parfois impossibles.

Mais alors comment fait-on pour installer et administrer un serveur Linux sans interface graphique ?

Comment gérer à distance un serveur Linux avec SSH ?

Qu’est-ce que SSH ? SSH est logiciel client et serveur permettant d’ouvrir des terminaux distants sécurisés.

Sur son poste de travail un administrateur système va utiliser ssh pour se connecter sur un serveur distant, cela lui permet d’agir directement sur le serveur distant avec un shell Linux.
Dans le cas des serveurs sans interface graphique, ssh est la solution privilégiée.

L’utilisation de SSH requiert néanmoins une configuration avancée afin de ne pas exposer cette possibilité de prise en main à distance à n’importe qui sur Internet.

Quelques recommandations :

  • limiter les adresses IPs pouvant se connecter avec un firewall
  • doubler ses limitations IPs dans la configuration des utilisateurs de ssh
  • ne jamais se connecter en root, toujours utiliser un compte utilisateur privilégié
  • renforcement de la sécurité des mots de passe des utilisateurs
  • privilégier la connexion par clef ssh fortes
  • restreindre les commandes possibles pour des utilisateurs privilégiés
  • avoir toujours une version à jour d’OpenSSH client comme serveurs
  • bannir les tentatives de connexions infructueuses trop répétées
  • activer les logs d’audit et les exporter vers un serveur syslog

Vous remarquerez que nous ne préconisons pas forcément le changement du port de SSH, la raison est simple si vous ne filtrez pas avec un firewall l’usage de SSH, un scanner de port trouvera le nouveau numéro du port utilisé. C’est de la sécurité par l’obscurité, cela n’a aucun intérêt.

Une configuration durcie et renforcée de SSH ne craint pas l’épreuve d’être connecté à Internet même sans filtrage firewall.

Les commandes d’administrations de serveur Linux

Apprendre Linux ne pourra pas se faire qu’en un seul article, il faut beaucoup d’années de pratiques quotidiennes pour appréhender les cas simples en les réalisant correctement et beaucoup d’expériences pour appréhender les cas plus compliqués.

Une fois arrivé sur votre shell distant sur le serveur, vous entrez dans l’univers de la CLI (ligne de commande), ici seul votre clavier sera utile. Un shell est un outil formidable permettant l’exécution de commandes : démarrer tel service, renommer un fichier, diagnostiquer un problème, éditer des fichiers, faire des actions scriptées, transferts de fichiers sont tout autant de possibilités offertes sur un shell local ou distant.

Pour faire toutes ces actions il faut connaître un ensemble de commandes, il y en a beaucoup, un aperçu peut être vu sur cette page qui recense les commandes de base sous Linux et il y en a beaucoup d’autres.

On apprend Linux en essayant et en faisant beaucoup d’erreurs, en se formant ou en découvrant seul. Ne croyez pas les promesses de certaines offres qui proposent un serveur clef en main facile à configurer, cela ne fait que cacher la complexité et lorsque les incidents commenceront il faudra tôt ou tard utiliser la ligne de commande pour diagnostiquer et tenter de réparer les dégâts.

Vous souhaitez confier ces tâches d’installation, configuration et maintenance de serveur Linux, vous pouvez nous contacter, c’est notre quotidien