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 [30/05/2024 08:22] – ↷ Liens modifiés en raison d'un déplacement. Zatalyzpratique:informatique:start_serveur [26/10/2025 18:00] (Version actuelle) – [Changer le message à la connexion] Zatalyz
Ligne 41: Ligne 41:
  
 <code>apt update <code>apt update
-apt install nano bash-completion cron logrotate apt-listbugs debsums apt-listchanges sudo rsyslog net-tools htop iotop-c nload binutils dnsutils+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 install msmtp msmtp-mta bsd-mailx sshguard git
 apt upgrade apt upgrade
Ligne 50: Ligne 50:
   * **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 59: Ligne 59:
   * **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**, **binutils**, **dnsutils** 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 87: Ligne 93:
   APT::Install-Suggests "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 ==== ==== Xen ====
-Si on veut jouer avec Xen (et en sélectionnant les recommandés utiles, donc pas "tout") :  +On peut installer Xen, histoire de containeriser les besoins. Attention ça pompe autrement les ressources. Plus d'infos [[pratique:informatique:xen|ici]]. 
-  sudo apt install xen-tools xen-system-amd64 grub-xen-host qemu-utils gnupg arch-test bridge-utils qemu-system-xen shared-mime-info xdg-user-dirs +
- +
-On fait un reboot et on voit si la commande "xl list" fonctionne, sinon faut [[https://khaganat.net/wikhan/fr:xen#booter_sur_le_bon_noyauconfiguration_de_grub|bidouiller grub]]. +
- +
-Configuration du réseau : je vais laisser l'hyperviseur gérer l'aspect pare-feu. Modifier ''/etc/sysctl.conf'' et décommentez/ajoutez la ligne suivante : +
- +
-  net.ipv4.ip_forward=1 +
- +
-(Et ptet la suivante sur l'ipv6 ?). +
- +
-Pour une prise en charge immédiate des modification du fichier ''/etc/sysctl.conf'' taper la commande : +
- +
-  sysctl -p /etc/sysctl.conf+
  
-Ensuite... faut configurer mais faut aussi que je comprenne nftables. 
 ===== Sécurité ===== ===== Sécurité =====
 ==== Mot de passe ==== ==== Mot de passe ====
Ligne 137: 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 189: Ligne 211:
 <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é ==== +==== Autres points de sécurité ==== 
-=== Rkhunter === +Voir [[pratique:informatique:securite_serveur]].
-<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 +
-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''+
-CRON_DAILY_RUN="true" +
-CRON_DB_UPDATE="true" +
-APT_AUTOGEN="yes" +
- +
-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]].+
  
  
Ligne 346: 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.1717050124.txt.gz · Dernière modification : 30/05/2024 08:22 de Zatalyz