omega.ducouet.fr
Le site web Omega est auto hébergé sur une carte Odroid Xu4. Cette carte fonctionne sous Armbian Bookworm (Une version Arm de Debian). Le serveur Web est Apache.
Brèves
Sécuriser ssh
(De www.sshaudit.com)Trop d'administrateurs négligent la configuration SSH lors de la configuration de nouveaux systèmes. Malheureusement, les valeurs par défaut de nombreux systèmes d'exploitation sont optimisées pour la compatibilité et non la sécurité.
freebox@my1:~$ sudo -s root@my1:/home/freebox# cp /etc/ssh/moduli /etc/ssh/moduli~ root@my1:/home/freebox# cp /etc/ssh/sshd_config /etc/ssh/sshd_config~ root@my1:/home/freebox# awk '$5 >= 3071' /etc/ssh/moduli~ > /etc/ssh/moduli root@my1:/home/freebox# sed -i 's/^HostKey \/etc\/ssh\/ssh_host_\(dsa\|ecdsa\)_key$/\#HostKey \/etc\/ssh\/ssh_host_\1_key/g' /etc/ssh/sshd_config root@my1:/home/freebox# echo -e "\n# Restrict key exchange, cipher, and MAC algorithms, as per sshaudit.com\n# hardening guide.\nKexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha256\nCiphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr\nMACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128-etm@openssh.com\nHostKeyAlgorithms ssh-ed25519,ssh-ed25519-cert-v01@openssh.com" >> /etc/ssh/sshd_config root@my1:/home/freebox# service ssh restart
/etc/rc.local vs systemd
Systemd est un gestionnaire de démarrage et de service pour Linux. Il est conçu pour être rétrocompatible avec les scripts d'initialisation SysV et fournit un certain nombre de fonctionnalités telles que le démarrage parallèle des services systèmes au moment du démarrage, l'activation à la demande des démons ou la logique de contrôle de service basée sur les dépendances.
Systemd introduit le concept d'unités systemd. Ces unités sont représentées par des fichiers de configuration d'unité situés dans l'un des répertoires :
/usr/lib/systemd/system/ : Fichiers d'unités systemd distribuées avec des paquets./run/systemd/system/ : Les fichiers d'unités systemd créées pendant l'exécution. Ce répertoire a priorité sur le répertoire de fichiers d'unités de service installées.
/etc/systemd/system/ : le répertoire /etc/systemd/system/ est réservé aux fichiers d'unité créés ou personnalisés par l'administrateur système.
Exemple pour ajouter une adresse IPv6 fixe.
Pour connaître interface et l'adresse de BROADCAST :freebox@test:~$ ip a 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet6 2a01:e0a:195:1040:9cb4:fbff:fe42:ae65/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 86376sec preferred_lft 86376sec inet6 fe80::9cb4:fbff:fe42:ae65/64 scope link valid_lft forever preferred_lft forever freebox@test:~$
On peut voir que l'interface se nome enp0s3
.
Il existe une adresse ipv6 publique ou routable (scope global) allouée dynamiquement (dynamic) 2a01:e0a:195:1040:9cb4:fbff:fe42:ae65/64
.
Une adresse IPv6 est longue de 128 bits et se compose de huit champs de 16 bits, chacun étant délimité par deux-points (:).
Les trois champs situés complètement à gauche (48 bits) contiennent le préfixe alloué à votre réseau par un FAI. Le champ suivant correspond à l'ID de sous-réseau de 16 bits.
Les quatre champs les plus à droite (64 bits) contiennent l'ID d'interface.
(Pour en savoir plus ...)
On créer un fichier pour ajouter une address IPv6 fixe :
On lance manuellement pour la première fois :[Unit] Description=Add IPv6 After=network.target [Service] Type=oneshot ExecStart=/sbin/ip -6 addr add 2a01:e0a:195:1040:fac9:219b:207e:a77a/64 dev enp0s3 ExecStartPost=/sbin/ip -6 route add default via 2a01:e0a:195:1040::1 RemainAfterExit=true ExecStop=/sbin/ip -6 addr del 2a01:e0a:195:1040:fac9:219b:207e:a77a/64 dev enp0s3 StandardOutput=journal+console [Install] WantedBy=multi-user.target
freebox@test:~$ sudo systemctl start ipv6On active la création au démarrage :
freebox@test:~$ sudo systemctl enable ipv6 Created symlink /etc/systemd/system/multi-user.target.wants/ipv6.service → /etc/systemd/system/ipv6.service.Et on vérifie
freebox@test:~$ ip a 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet6 2a01:e0a:195:1040:fac9:219b:207e:a77a/64 scope global valid_lft forever preferred_lft forever inet6 2a01:e0a:195:1040:9cb4:fbff:fe42:ae65/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 86093sec preferred_lft 86093sec inet6 fe80::9cb4:fbff:fe42:ae65/64 scope link valid_lft forever preferred_lft forever freebox@test:~$
IPv6 et fichier rc.local
Vous avez plusieurs machines dérrière une box ? Vous avez qu'une adresse IPv4 publique qui ne peut donc être "natter" que sur une machine. Aujourd'hui (Depuis même un moment), vous avez personnellement plus adresses IPv6 qu'il n'existe IPv4 dans le monde ! Chaque machine communique avec sa propre adresse sur internet. Il n'y a plus de NAT. Pour améliorer l'anonymat, cette adresse change régulièrement, mais dans le cas d'un serveur, il faut fixer cette adresse.#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # Add static Ipv6 /sbin/ip -6 addr add 2a01:e0a:195:3040:fac9:219b:207e:d823/64 dev enx001e06300937 /sbin/ip -6 route add default via 2a01:e0a:195:3040::1 exit 0