Petite to do list des actions a effectuer lors de l’installation d’un nouveau serveur ( a adapter suivant son infrastructure )

Pour la réalisation d’un Ansible ultra pratique : https://github.com/wiseflat/wiseflat-project

Pour faire face à la difficulté d’adapter la plateforme Docker à différents systèmes (comme MacOS, Windows, AWS, GCE, etc.), Docker a décidé de créer son propre outil de génération d’images virtuelles en exploitant les technologies de conteneurs etd’unikernels. Voici les principes de LinuxKit :

https://www.objectif-libre.com/fr/blog/2018/04/12/introduction-to-linuxkit/

Hardware

Etape 1 – Le matériel

Voici un exmple de matériel pour l’achat d’un serveur

  • HPE ProLiant ML110 Gen10 Server -> 1 649€
    • Intel® Xeon® Bronze 3106
    • 16 GO de mémoire DDR4-2666
  • 1 Mémoire HPE 16GO DDR4 2666Mhz ECC Registered -> 120€
  • Kingston SEDC500R/480G, SSD X 5 = 112,90€ X 5 = 564,5€
  • Alimentation redondante = ??
  • Licence ILO = ??
  • 2 Cable RJ45 droit blindé (FTP) Cat 6 vert 
  • Extension Garantie HPE 5 ans sur site J+1= 1099€

Prix total : 1649 + 120 + 564,5 + 1099 = 3432€

Etape 2 : La configuration

  • Intégration des disques, mémoires , alimentation supplémentaire 
  • Mise à jour du Firmware
  • Création de RAID5 
  • Création des volumes
  • Formatage des volumes
  • Installation de l’OS Proxmox
  • Mise à jour système
    • Brassage des équipements :
    • Configuration du serveur Proxmox 
    • Configuration du réseau virtuel (Bond sur 2 lien ) 
    • Configuration des cibles de stockage ( Tout en Ext4 et LVM pour les VM )
    • Test de la plateforme de virtualisation
    • Validation du bon fonctionnement

Méthode automatique (Packer & Ansible)

A lie : https://blog.wescale.fr/2016/06/30/ansible-packer-terraform-un-trio-gagnant/

Etape 1 : Déployer votre image de VM avec Packer

La raison d’être de Packer est de créer des images serveurs ou des images de conteneurs

HTML

Etape 2 : Le déploiement avec Ansible

Récupérer le dépot github suivant : https://github.com/blop03/ansible-infra-perso

Connecter sur la machine sur laquelle vous souhaiter lancer le Ansible

Lancer le playbook d’installation :

HTML

Il est aussi possible d’utiliser les playbooks séparément :

HTML
Étape 1 : Attribution IP Fixe
Plain Text

Etape 2 : Accès root

Remplacer le « permitrootlogin » par « yes »

Etape 3 : Lancer le ansible d’installation

HTML
https://github.com/blop03/ansible-infra-perso/tree/master/roles/create_server

Méthode manuel

Etape 0 : Installation
  • Utilisation de LVM
  • Ne pas configurer le réseau
  • Paquets installé : utilitaires usuels du système, serveur SSH
  • Attribuer une adresse ip dans les adresses IP disponibles sur le fichier
Étape 1 : Attribution IP Fixe
Plain Text

Etape 2 : Accès root

Remplacer le « permitrootlogin » par « yes »

Étape 3 : Installer les paquets par défaut
Shell
Etape 4: Installer ZSH sur root

Afin de maximiser le confort vous pouvez installer un shell différent ZSH

Suivre le tuto :
Sources : http://denisrosenkranz.com/installation-et-configuration-de-zsh/

Etape 5 : Installer Vim et nano

Afin de profiter d’un éditeur performant :

Shell
Etape 6 : Nano : Coloration syntaxique yml
Etape 7 : VIM : Ajout de la souris

/usr/share/vim/vim80/defaults.vim

Shell

Ajout des plugins :

bufexplorer : https://www.vim.org/scripts/script.php?script_id=42

The NERDTree : https://github.com/scrooloose/nerdtree

Etape 8 : Mise en place des dépôts

Vous pouvez générer votre fichier grace a : https://debgen.simplylinux.ch

Shell

Voici la config :

Plain Text

Vérifier que le backports est en prio 100 : apt-cache policy

Pour ne pas que les paquets s’installe en backports

Etape 9 : Mise a jour du système
Shell
Etape 10 : Changer le MOTD
Shell

créer dans /etc/update-motd.d/ le fichier 10-logo et 10-system

Shell
Shell
Shell
Etape 11 : Le swap
  • Pour 2GO = Mettre le swapiness a 40 ce qui fait : 0.8 = 600mo
  • Pour 3GO = Mettre le swapiness a 30 ce qui fait : 0,9 = 900mo
  • Pour 4GO = Mettre le swapiness a 30 ce qui fait : 1,2 = 1,2GO

Aide ici : http://geekeries.de-labrusse.fr/?p=1806

Mettre le swapiness en dur a 30.

Shell

Donnée dans le swap

  • Hibernation (mise en veille prolongée) : Pas important pour les serveurs
  • Cache mémoire : une partie de la RAM réservée par les programmes mais non utilisée est déplacée dans l’espace d’échange.
  • Utile pour : SSD et proxmox + vieux serveur car une fois sur le disque c’est lent.
Shell

Mandatory de nos jours.

https://doc.ubuntu-fr.org/swap -> LU

https://www.vincentliefooghe.net/content/linux-gestion-la-ram-et-du-swap

Etape 7 : Paquets additionnels

  • Ctop : Equivalent de htop pour les containers : https://github.com/bcicen/ctop
  • Molly guard : Protéger son serveur de l’extinction / du redémarrage accidentel : apt-get install molly-guard

Glances : Permet un htop un peu plus performant

https://www.it-connect.fr/supervision-express-avec-glances/

dutree : Arborescence pour les dossiers

Dutree : https://blog.shevarezo.fr/post/2018/06/13/dutree-outil-analyser-espace-disque

TLDR : Exemple supplémentaires pour les pages linux

https://blog.shevarezo.fr/post/2018/09/26/tldr-alternative-pages-man-linux

Fail2Ban : Protection du SSH de votre machine

https://www.provya.net/?d=2019/04/04/10/24/18-fail2ban-est-ce-vraiment-utile-partage-dexperience

  • Gestion des logs : Installation et configuration de logrotate pour scinder la taille des logs
  • Supervision/Métrologie : NRPE, collectd
  • Hardware : Installation de emclog
  • Mises a jour : (Facultatif) : Installation de yum-cron pour centos et cron pour apt update
  • Sécurité : (Facultatif ): Désactivation des modules kernels modprobe
  • Sécurité : Mail : Configuration : exim, postfix, ssmtp
  • Autre : 
  • Surveillance des processus : Installation de « monit »
  • Firewall : iptables
  • rsyslog : s’occupe de gérer les log , logcheck : envoi par mail et logrotate les log qui tourne ou graylog

Logrotate

Plain Text

 Supervision

  • checkmailq
  • crontab

Etape 8 : Réseaux facultatif

Check si IPV6 est activé

Facultatif car pas dans les dépots

En détail

Clé SSH

Pour se créé une clé utilisé ED25519

https://blog.adminrezo.fr/2016/01/comment-choisir-sa-cle-ssh-rsa-dsa-ecdsa-ed25519/

Modprobe

Fichier a modifier : /etc/modprobe.d/backlist

  • depmod – handle dependency descriptions for loadable kernel modules
  • insmod – install loadable kernel module
  • lsmod – list loaded modules
  • modinfo – display information about a kernel module
  • modprobe – high level handling of loadable modules
  • rmmod – unload loadable modules

Mail

Solutions possibles :

  • ssmtp : Envoyer courriers via le terminal, permet aux CMS d’envoyer des courriles via sendmail, publier les résultats ave « at ou CRON.
  • Exim
  • POSTFIX : https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as -a-send-only-smtp-server-on-ubuntu-14-04

[:en]Petite to do liste des actions a effectuer lors de l’installation d’un nouveau serveur ( a adapter suivant son infrastructure )

Linux :

  • Installation et configuration de logrotate pour scinder la taille des logs
  • Supervision
  • Facultatif : Installation de yum-cron pour centos et cron pour apt update
  • Facultatif : Désactivation des modules kernels
  • /etc/modprobe.d/baclkiste
  • Installation de « monit »
  • depmod – handle dependency descriptions for loadable kernel modules.
  • insmod – install loadable kernel module.
  • lsmod – list loaded modules.
  • modinfo – display information about a kernel module.
  • modprobe – high level handling of loadable modules.
  • rmmod – unload loadable modules.

Configuration des mails serveurs (postfix )

Windows :

  • Activer windows
  • Intégrer Windows dans domaine
  • Installer le bon service (WSUS )
  • Ouvrir accés a distance ( Remote Desktop )
  • Installer antivirus
  • Changer nom du serveur
  • Installer module de supervision ( NSCLIENT)
  • Installer VMtools (Facultatif )