Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
pratique:informatique:start_serveur [17/06/2023 16:08] Zatalyzpratique:informatique:start_serveur [27/02/2025 08:59] (Version actuelle) – Détails sur logrotate Zatalyz
Ligne 4: Ligne 4:
 Les commandes sont présentées pour Debian.  Les commandes sont présentées pour Debian. 
  
-===== Apt ; logiciels à installer =====+===== Installation ===== 
 +Lorsque c'est possible, les options qui font que c'est mieux... 
 + 
 +==== Partitions et LVM ==== 
 +Utiliser la puissance de LVM... En partition primaire :  
 +  * /boot = 510MB. Debian le met en ext2 par défaut (bookworm). Ni trop ni trop peu. 
 +  * /swap = 2GB. Potentiellement autant que de RAM 2GB c'est pas mal ceci dit. 
 +  * "/" = le reste qui va en réalité être en VG 
 + 
 +En LVM, faire un VG avec le reste du disque, puis faire les premiers lv : 
 +  * / = 50GB (chez moi ce VG est appelé "root"). 
 +  * /tmp = 5GB, ext4 
 + 
 +=== Mémo de commandes LVM === 
 +Plus de détail sur [[https://khaganat.net/wikhan/fr:lvm_snapshot]]. 
 + 
 +Créer un snaphshot de root (si sur le VG appelé VgPoste) :  
 +  sudo lvcreate -L 20g -s -n snap_root_$(date --iso) /dev/VgPoste/root 
 + 
 +S'il y a un souci, on revient en arrière : 
 +  sudo lvconvert --merge /dev/VgPoste/snap_root_XXX 
 + 
 +Et s'il y a un souci pour recréer un snapshot après ça, c'est : 
 +  sudo lvchange --refresh VgPoste 
 + 
 +Ne pas oublier de redémarrer après un retour en arrière sur root... 
 + 
 +Pour supprimer un volume, s'assurer qu'il est démonté, puis simplement : 
 + 
 +  lvremove /dev/NOM_VG/NOM_LV 
 + 
 +===== Apt : logiciels à installer ===== 
 +<WRAP center round info 60%> 
 +Révisé avec Bookworm. 
 +</WRAP>
  
 <code>apt update <code>apt update
-apt install nano bash-completion cron logrotate msmtp msmtp-mta apt-listbugs debsums apt-listchanges sudo bsd-mailx+apt install nano bash-completion cron logrotate apt-listbugs debsums apt-listchanges sudo rsyslog net-tools htop iotop-c nload binutils dnsutils 
 +apt install msmtp msmtp-mta bsd-mailx sshguard git
 apt upgrade apt upgrade
 </code> </code>
 +La première ligne, un peu forcé (et certains sont déjà installés suivant les versions de debian). La seconde, ça dépend un peu des serveurs.
  
   * **nano** sauf si vous aimez vim. Si vous êtes à l'aise avec vim, il est installé de base. Sinon, nano est un éditeur de texte un peu plus facile à utiliser pour les néophytes, car les raccourcis sont affichés et son comportement est assez proche des éditeurs de textes plus classiques.    * **nano** sauf si vous aimez vim. Si vous êtes à l'aise avec vim, il est installé de base. Sinon, nano est un éditeur de texte un peu plus facile à utiliser pour les néophytes, car les raccourcis sont affichés et son comportement est assez proche des éditeurs de textes plus classiques. 
   * **bash-completion** qui peut aider (mais on va surtout modifier le .bashrc rapidement)   * **bash-completion** qui peut aider (mais on va surtout modifier le .bashrc rapidement)
   * **cron et logrotate** sont par défaut en principe, mais mieux vaut s'en assurer. [[https://doc.ubuntu-fr.org/cron|Cron]] permet de configurer des actions de façon automatique. [[https://doc.ubuntu-fr.org/logrotate|Logrotate]] évite que les logs ne saturent la mémoire. Suivre les liens pour leurs configurations.    * **cron et logrotate** sont par défaut en principe, mais mieux vaut s'en assurer. [[https://doc.ubuntu-fr.org/cron|Cron]] permet de configurer des actions de façon automatique. [[https://doc.ubuntu-fr.org/logrotate|Logrotate]] évite que les logs ne saturent la mémoire. Suivre les liens pour leurs configurations. 
-  * **bsd-mailx, msmtp et msmtp-mta** pour recevoir les mails systèmes (voir [[pratique:informatique:mail]]).+  * **bsd-mailx, msmtp et msmtp-mta** pour recevoir les mails systèmes (voir [[pratique:informatique:mail:mail_relai]]).
   * **apt-listbugs, debsums et apt-listchanges** éviteront de mettre des paquets bugués. D'où l'upgrade après.   * **apt-listbugs, debsums et apt-listchanges** éviteront de mettre des paquets bugués. D'où l'upgrade après.
     * **apt-listbugs** prévient s'il y a des soucis     * **apt-listbugs** prévient s'il y a des soucis
Ligne 20: Ligne 56:
     * **apt-listchange**s informe des changements importants dans les paquets, par exemple les nouvelles fonctionnalités, les changements de comportement     * **apt-listchange**s informe des changements importants dans les paquets, par exemple les nouvelles fonctionnalités, les changements de comportement
   * **sudo** pour la sécurité, on va éviter de trop agir en root...   * **sudo** pour la sécurité, on va éviter de trop agir en root...
 +  * **sshguard** ajoute un peu d'ennui aux attaquants par SSH, pourquoi s'en priver ? Rien à configurer, de base ça marche.
 +  * **rsyslog** permet d'avoir des fichiers de log lisible avec systemd, sans pour autant gêner son fonctionnement de base.
 +  * **net-tools**, **htop**, **iotop-c**, **binutils**, **dnsutils** et **nload** fournissent des utilitaires fort utiles quand on croise un souci. Plus d'infos [[pratique:informatique:debug_problem|ici]]. 
  
  
Ligne 42: Ligne 81:
 </code> </code>
  
 +Éviter aussi d'installer plus que nécessaire en créant dans ''/etc/apt/apt.conf.d/'' le fichier qui va bien :
 +  sudo nano /etc/apt/apt.conf.d/00recommandperso
 +Mettre le contenu suivant : 
 +  APT::Install-Recommends "0";
 +  APT::Install-Suggests "0";
 +
 +==== Logrotate ====
 +Un petit point sur logrotate, au fil des versions de Debian le fichier par défaut est plus ou moins bon (à mon goût), en particulier parce que le "poids" des logs n'est pas renseigné. Donc ma version, et en français.
 +<code bash /etc/logrotate.conf>
 +# Rotation des fichiers chaque semaine
 +weekly
 +# Garder 4 semaines dans le stock
 +rotate 4
 +# Tourner aussi si le fichier dépasse une certaine taille (évite de remplir le disque)
 +size 10M
 +# Créer de nouveaux fichiers journaux (vides) après une rotation
 +create
 +# Pas de rotation si le fichier est vide
 +notifempty
 +# use date as a suffix of the rotated file
 +#dateext
 +# Compresser les vieux fichiers
 +compress
 +# Retarde le processus de compression jusqu'à la prochaine rotation
 +delaycompress
 +# Permet au processus de ne pas s'arrêter à chaque erreur et de poursuivre avec le fichier de log suivant.
 +missingok
 +# Les paquets mettent leurs infos pour logrotate dans ce dossier
 +include /etc/logrotate.d
 +</code>
 +À savoir que les paquets ont leur propre règles qui peuvent passer outre celles-ci. 
 +==== Xen ====
 +On peut installer Xen, histoire de containeriser les besoins. Attention ça pompe autrement les ressources. Plus d'infos [[pratique:informatique:xen|ici]]. 
  
 ===== Sécurité ===== ===== Sécurité =====
Ligne 127: Ligne 199:
  
 <wrap warning>Testez bien la connexion avant de vous déconnecter, dans un autre terminal ! Un mauvais paramétrage peut vous empêcher d'accéder à votre serveur !</wrap> <wrap warning>Testez bien la connexion avant de vous déconnecter, dans un autre terminal ! Un mauvais paramétrage peut vous empêcher d'accéder à votre serveur !</wrap>
 +
 +==== Autres logiciels de sécurité ====
 +=== Rkhunter ===
 +<WRAP center round info 100%>
 +rkhunter (pour Rootkit Hunter) est un programme qui essaye de détecter les rootkits, portes dérobées et exploits. Pour cela, il compare le hash SHA256, SHA512, SH1 et MD5 des fichiers importants avec les hash connus, qui sont accessibles à partir d'une base de données en ligne. Il alerte également l'utilisateur lorsqu'il trouve des permissions qu'il juge anormales, des fichiers cachés, des chaînes suspectes dans le kernel etc.
 +
 +De par l'exhaustivité des tests qu'il effectue, et à cause du nombre de systèmes sur lesquels il tourne, rkhunter renvoie généralement de nombreux avertissements. L'analyse de ces avertissements (warnings) nécessite une bonne connaissance des systèmes Unix. Dans une écrasante majorité des cas, ces avertissements sont bénins et peuvent être ignorés.
 +
 +Source : [[https://doc.ubuntu-fr.org/rkhunter|Ubuntu-fr]]
 +</WRAP>
 +J'ai souvenir qu'il est effectivement bavard. Et aussi que ce n'est pas une sécurité en soi, juste un outil permettant de détecter certains problèmes. 
 +
 +  sudo apt install rkhunter
 +
 +On le configure un chouia :
 +
 +  sudo nano /etc/rkhunter.conf
 +
 +Modifier les options suivantes pour qu'elles aient ces valeurs : 
 +
 +<code>
 +UPDATE_MIRRORS=1
 +MIRRORS_MODE=0
 +#WEB_CMD="/bin/false"
 +ALLOWHIDDENDIR=/etc/.git
 +ALLOWHIDDENDIR=/dev/.lxc
 +ALLOWHIDDENDIR="/dev/.udev"
 +ALLOWHIDDENDIR="/dev/.static"
 +ALLOWDEVFILE="/dev/.udev/rules.d/root.rules"
 +PKGMGR=DPKG
 +ALLOW_SSH_PROT_V1=0
 +</code>
 +
 +Après ces modifications, exécuter ceci : 
 +  rkhunter -C
 +  rkhunter --propupd
 +
 +Modifier aussi ''/etc/default/rkhunter''.
 +<code>CRON_DAILY_RUN="true"
 +CRON_DB_UPDATE="true"
 +APT_AUTOGEN="yes"</code>
 +
 +Quand à envoyer un mail quotidien... ça fait du bruit, qu'il se passe un truc ou non. Et il faut configurer l'envoi de mail.
 +
 +On se fait un petit test en mettant à jour l'ensemble puis en affichant juste ce qui est avec des warnings : 
 +<code>rkhunter --update
 +rkhunter --list
 +rkhunter -c --rwo</code>
 +
 +=== Fail2ban/Reaction et Pare-feu (iptables, nftable, ipset, etc) ===
 +Tout est noté dans un article à part, parce que ça commençait à être long : [[pratique:informatique:parefeu:start]].
 +
 +=== Logwatch ===
 +  sudo apt install logwatch
 +
 +Logwatch n'est pas un outil qui va agir, par contre il analyse les logs et en rends un rapport plus digeste. Si, vraiment plus digeste, ça permet de voir les bots. 
 +
 +C'est donc utile pour améliorer ses filtres. Une fois msmtp configuré (ou autre solution d'envoi de mail), créer le dossier pour Logwatch :
 +
 +  sudo mkdir /var/cache/logwatch
 +
 +Et le paramétrer
 +  sudo cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/
 +  sudo nano /etc/logwatch/conf/logwatch.conf
 +
 +Dans mon cas je permet surtout l'envoi du rapport par mail, mais à adapter si besoin (entre autre l'émetteur/Récepteur), et la quantité de détails (à adapter au fil des filtres...) :
 +<code bash /etc/logwatch/conf/logwatch.conf>
 +Output = mail
 +Detail = 5
 +</code>
 +
 +Pour ''MailTo '' on peut déclarer plusieurs adresses mails, séparées par un espace :
 +  MailTo = mail1@moi.net mail2@moi.net 
 +
 +Et un coup de cron journalier (sur root) : 
 +  15 1 * * * /usr/sbin/logwatch >/dev/null 2>&1 #logwatch
 +
 +
 +=== Lynis ===
 +Lynis aide à auditer son système. Il ne fait rien seul, mais il aide à voir là où on est pas forcément top. Simplement ''sudo apt install lynis''.
 +
 +Pour voir la liste des options :
 +  sudo lynis
 +
 +Pour un check du systeme, en root : 
 +  lynis audit system
 +
 +Des recommendations et conseils sont présents à la fin de l'analyse, suivant ce qui a été détecté. Moralité je vais pouvoir encore améliorer ma doc...
 +
 +===== Grub =====
 +<WRAP center round todo 60%>
 +Attention, chez OVH (et d'autres potentiellement ?) grub/le système a tendance à ne pas être sur notre noyau mis à jour. Faudrait que je retrouve les détails, mais ça finit par mettre un sacré bazar...
 +</WRAP>
 +
 +Paramétrer Grub pour qu'il ne mette pas 4 secondes à se lancer…
 +  * ''nano /etc/default/grub''
 +    * ''GRUB_TIMEOUT=1''
 +  * ''grub-mkconfig -o /boot/grub/grub.cfg''
 +
 ===== Confort personnel dans l'interface ===== ===== Confort personnel dans l'interface =====
  
Ligne 178: Ligne 349:
   * https://help.ubuntu.com/community/CustomizingBashPrompt   * https://help.ubuntu.com/community/CustomizingBashPrompt
  
 +Et pour générer autre chose :
 +  * https://bash-prompt-generator.org/
 ==== Changer le nom de la machine ==== ==== Changer le nom de la machine ====
 Si vous avez un VPS ou un dédié, vous avez peut-être un début de ligne en console qui ressemble à "root@vps158745547". C'est moche et surtout, c'est vite fait de s'emmêler les pinceaux si vous avez plusieurs consoles ouvertes sur plusieurs VPS. Si vous avez un VPS ou un dédié, vous avez peut-être un début de ligne en console qui ressemble à "root@vps158745547". C'est moche et surtout, c'est vite fait de s'emmêler les pinceaux si vous avez plusieurs consoles ouvertes sur plusieurs VPS.
Ligne 218: Ligne 391:
 Et le site http://ruletheweb.co.uk/figlet/ pour l'ASCII art. Et le site http://ruletheweb.co.uk/figlet/ pour l'ASCII art.
  
 +==== Améliorer un peu systemd ====
 +Voir [[pratique:informatique:systemd_error#limiter_la_taille_des_logs|là]]. 
  
CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki
pratique/informatique/start_serveur.1687010930.txt.gz · Dernière modification : 17/06/2023 16:08 de Zatalyz