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 [23/05/2024 10:08] – [Bashrc] Zatalyzpratique:informatique:start_serveur [26/10/2025 18:00] (Version actuelle) – [Changer le message à la connexion] 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 sshguard rsyslog net-tools htop iotop-c nload+apt install nano bash-completion cron logrotate apt-listbugs debsums apt-listchanges sudo rsyslog net-tools htop iotop-c nload binutils dnsutils needrestart libpam-tmpdir rsync tree dbus dbus-daemon man-db manpages manpages-fr 
 +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_relai]]).+  * **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 22: Ligne 58:
   * **sshguard** ajoute un peu d'ennui aux attaquants par SSH, pourquoi s'en priver ? Rien à configurer, de base ça marche.   * **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.   * **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** et **nload** fournissent des utilitaires fort utiles quand on croise un souci. Plus d'infos [[pratique:informatique:debug_problem|ici]]. +  * **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]].  
 +  * **needrestart** indique si après une mise à jour, un redémarrage est nécessaire pour que tout soit rechargé. 
 +  * **libpam-tmpdir** : au lieu d'utiliser un ''tmp'' global, accessible à tout le monde sur le serveur (dont d'éventuelles applications foireuses), chaque session PAM aura son propre répertoire "temp". Donc moins facile de lire les infos temporaire des autres utilisateurs/services, et ça renforce la sécurité. 
 +  * **rsync** : pour copier de façon un peu plus fine que cp (avec reprise en cas de coupure). Toujours utile. 
 +  * **tree** : affichage des arborescences de fichiers et dossiers, ça finit toujours par être utile 
 +  * **dbus** et **dbus-daemon** sont en théorie installés, mais pas sur les VM xen ; or ça manque un peu pour certains services. 
 +  * **man-db**, **manpages** et **manpages-fr** : parce que c'est frustrant de chercher la doc ailleurs, parfois.
  
  
Ligne 45: Ligne 87:
 </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 79: Ligne 154:
  
   usermod -a -G sudo utilisateur   usermod -a -G sudo utilisateur
 +
 +<WRAP center round tip 60%>
 +''usermod'' fait partie du paquet ''passwd'', installé d'office ; mais il n'est fonctionnel qu'avec ''sudo'' devant. Même si on est root. 
 +</WRAP>
 +
  
 Si ce n'est pas le cas ou si vous voulez faire autrement, voici le pense-bête. Si ce n'est pas le cas ou si vous voulez faire autrement, voici le pense-bête.
Ligne 130: Ligne 210:
  
 <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 points de sécurité ====
 +Voir [[pratique:informatique:securite_serveur]].
 +
 +
 +
 +
 +
 +===== 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 223: Ligne 321:
 Et le site http://ruletheweb.co.uk/figlet/ pour l'ASCII art. Et le site http://ruletheweb.co.uk/figlet/ pour l'ASCII art.
  
 +Le message à la connexion dépend, dans l'ordre (sur Debian) :
 +  - Des fichiers dans ''/etc/update-motd.d/'' : on peut mettre ce qu'on veut, c'est lu dans l'ordre alphanumérique, d'où l'utilité de préfixer par "10-", "20-", etc. De base il y a "10-uname" qui affiche les infos du système. Ici, les scripts peuvent être pris en compte (droit d'exécution et ''#!/bin/sh'' ou équivalent en début de fichier), ce qui permet d'afficher des infos dynamiques. 
 +  - ''/etc/motd'' (pas de script, de bash, etc, juste du texte)
 +  - Les instructions via SSH comme "PrintLastLog yes"
 +
 +Un exemple : 
 +<code bash /etc/update-motd.d/20-perso>
 +#!/bin/sh
 +echo "Ceci est un terrier de lapin."
 +echo "L'accès est strictement réservé aux lagomorphes accrédités."
 +echo "Tout renard pris à fouiner sera bouté et poursuivi."
 +echo "- Dernière mise à jour : $(stat -c '%y' /var/log/apt/history.log | cut -d'.' -f1)"
 +echo "- Connexions SSH actives :"
 +who
 +</code>
 ==== Améliorer un peu systemd ==== ==== Améliorer un peu systemd ====
 Voir [[pratique:informatique:systemd_error#limiter_la_taille_des_logs|là]].  Voir [[pratique:informatique:systemd_error#limiter_la_taille_des_logs|là]]. 
  
pratique/informatique/start_serveur.1716451723.txt.gz · Dernière modification : 23/05/2024 10:08 de Zatalyz