Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
pratique:informatique:start_serveur [08/11/2020 10:03] – [Ajouter des utilisateurs] Zatalyz | pratique:informatique:start_serveur [30/05/2024 08:45] – [Autres logiciels de sécurité] 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. | ||
+ | * "/" | ||
+ | |||
+ | En LVM, faire un VG avec le reste du disque, puis faire les premiers lv : | ||
+ | * / = 50GB (chez moi ce VG est appelé " | ||
+ | * /tmp = 5GB, ext4 | ||
+ | |||
+ | === Mémo de commandes LVM === | ||
+ | Plus de détail sur [[https:// | ||
+ | |||
+ | Créer un snaphshot de root (si sur le VG appelé VgPoste) : | ||
+ | sudo lvcreate -L 20g -s -n snap_root_$(date --iso) / | ||
+ | |||
+ | S'il y a un souci, on revient en arrière : | ||
+ | sudo lvconvert --merge / | ||
+ | |||
+ | 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' | ||
+ | |||
+ | lvremove / | ||
+ | |||
+ | ===== Apt : logiciels à installer ===== | ||
+ | <WRAP center round info 60%> | ||
+ | Révisé avec Bookworm. | ||
+ | </ | ||
< | < | ||
- | apt install nano bash-completion cron logrotate | + | 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 | ||
</ | </ | ||
+ | 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:// | * **cron et logrotate** sont par défaut en principe, mais mieux vaut s'en assurer. [[https:// | ||
- | * **msmtp et msmtp-mta** pour recevoir les mails systèmes (voir [[pratique: | + | * **bsd-mailx, |
* **apt-listbugs, | * **apt-listbugs, | ||
* **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, | * **apt-listchange**s informe des changements importants dans les paquets, par exemple les nouvelles fonctionnalités, | ||
* **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' | ||
+ | * **rsyslog** permet d' | ||
+ | * **net-tools**, | ||
Ligne 29: | Ligne 68: | ||
Proposition : | Proposition : | ||
<code bash / | <code bash / | ||
- | | + | # Debian Buster, dépôt principal + paquets non libres |
- | deb http:// | + | deb http:// |
- | deb-src http:// | + | deb-src http:// |
- | | + | |
- | # Debian Buster, mises à jour de sécurité + paquets non libres | + | # Debian Buster, mises à jour de sécurité + paquets non libres |
- | deb http:// | + | deb http:// |
- | deb-src http:// | + | deb-src http:// |
- | | + | |
- | # Debian Buster, mises à jour " | + | # Debian Buster, mises à jour " |
- | deb http:// | + | deb http:// |
- | deb-src http:// | + | deb-src http:// |
</ | </ | ||
+ | Éviter aussi d' | ||
+ | sudo nano / | ||
+ | Mettre le contenu suivant : | ||
+ | APT:: | ||
+ | APT:: | ||
+ | |||
+ | ==== Xen ==== | ||
+ | Si on veut jouer avec Xen (et en sélectionnant les recommandés utiles, donc pas " | ||
+ | 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:// | ||
+ | |||
+ | Configuration du réseau : je vais laisser l' | ||
+ | |||
+ | net.ipv4.ip_forward=1 | ||
+ | |||
+ | (Et ptet la suivante sur l'ipv6 ?). | ||
+ | |||
+ | Pour une prise en charge immédiate des modification du fichier ''/ | ||
+ | |||
+ | sysctl -p / | ||
+ | Ensuite... faut configurer mais faut aussi que je comprenne [[pratique: | ||
===== Sécurité ===== | ===== Sécurité ===== | ||
==== Mot de passe ==== | ==== Mot de passe ==== | ||
Ligne 100: | Ligne 161: | ||
PasswordAuthentication no | PasswordAuthentication no | ||
- | ChallengeResponseAuthentication | + | KbdInteractiveAuthentication |
PubkeyAuthentication yes | PubkeyAuthentication yes | ||
UsePAM yes | UsePAM yes | ||
Ligne 127: | Ligne 188: | ||
<wrap warning> | <wrap warning> | ||
+ | |||
+ | ==== 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' | ||
+ | |||
+ | De par l' | ||
+ | |||
+ | Source : [[https:// | ||
+ | </ | ||
+ | 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 / | ||
+ | |||
+ | Modifier les options suivantes pour qu' | ||
+ | |||
+ | < | ||
+ | UPDATE_MIRRORS=1 | ||
+ | MIRRORS_MODE=0 | ||
+ | # | ||
+ | ALLOWHIDDENDIR=/ | ||
+ | ALLOWHIDDENDIR=/ | ||
+ | ALLOWHIDDENDIR="/ | ||
+ | ALLOWHIDDENDIR="/ | ||
+ | ALLOWDEVFILE="/ | ||
+ | PKGMGR=DPKG | ||
+ | ALLOW_SSH_PROT_V1=0 | ||
+ | </ | ||
+ | |||
+ | Après ces modifications, | ||
+ | rkhunter -C | ||
+ | rkhunter --propupd | ||
+ | |||
+ | Modifier aussi ''/ | ||
+ | < | ||
+ | CRON_DB_UPDATE=" | ||
+ | APT_AUTOGEN=" | ||
+ | |||
+ | Quand à envoyer un mail quotidien... ça fait du bruit, qu'il se passe un truc ou non. Et il faut configurer l' | ||
+ | |||
+ | On se fait un petit test en mettant à jour l' | ||
+ | < | ||
+ | rkhunter --list | ||
+ | rkhunter -c --rwo</ | ||
+ | |||
+ | === Fail2ban/ | ||
+ | Tout est noté dans un article à part, parce que ça commençait à être long : [[pratique: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Grub ===== | ||
+ | <WRAP center round todo 60%> | ||
+ | Attention, chez OVH (et d' | ||
+ | </ | ||
+ | |||
+ | Paramétrer Grub pour qu'il ne mette pas 4 secondes à se lancer… | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
===== Confort personnel dans l' | ===== Confort personnel dans l' | ||
Ligne 137: | Ligne 264: | ||
Une liste de locales apparaît, cochez les FR si ce n'est pas déjà fait puis validez. Ensuite, indiquez que vous préférez utiliser utf-8, comme ça tout sera lisible. Voir aussi [[https:// | Une liste de locales apparaît, cochez les FR si ce n'est pas déjà fait puis validez. Ensuite, indiquez que vous préférez utiliser utf-8, comme ça tout sera lisible. Voir aussi [[https:// | ||
- | Pas forcément une bonne idée sur root, ceci dit : certains paquets exotiques foireux ne comprennent pas si les messages ne sont pas transmis en anglais. Je ne dis pas que ça a du sens, mais ça arrive. | + | Pas forcément une bonne idée sur root, ceci dit : certains paquets exotiques foireux ne comprennent pas si les messages ne sont pas transmis en anglais. Je ne dis pas que ça a du sens, mais ça arrive. |
+ | |||
+ | Pour modifier juste les variables de l' | ||
+ | export LANG=fr_FR.UTF-8 | ||
==== Bashrc ==== | ==== Bashrc ==== | ||
Modifier le bashrc pour avoir une session plus agréable à utiliser. | Modifier le bashrc pour avoir une session plus agréable à utiliser. | ||
Ligne 175: | Ligne 305: | ||
* https:// | * https:// | ||
+ | Et pour générer autre chose : | ||
+ | * https:// | ||
==== 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 à " | Si vous avez un VPS ou un dédié, vous avez peut-être un début de ligne en console qui ressemble à " | ||
Ligne 182: | Ligne 314: | ||
nano / | nano / | ||
Mettez le nom que vous voulez, pour notre exemple " | Mettez le nom que vous voulez, pour notre exemple " | ||
+ | |||
+ | Modifiez aussi ''/ | ||
+ | < | ||
+ | | ||
Ensuite, lancez la commande suivante si vous voulez que ça soit actif immédiatement : | Ensuite, lancez la commande suivante si vous voulez que ça soit actif immédiatement : | ||
Ligne 211: | Ligne 347: | ||
Et le site http:// | Et le site http:// | ||
+ | ==== Améliorer un peu systemd ==== | ||
+ | Voir [[pratique: | ||