Table des matières
- 2026:
- 2025:
4 billet(s) pour septembre 2026
| Notes HTTP Strict Transport Security - HSTS | 2026/09/18 11:04 | Jean-Baptiste |
| Notes GNU Linux GPU carte graphiques | 2026/09/08 15:49 | Jean-Baptiste |
| Notes GNU Linux graphique | 2026/09/08 15:42 | Jean-Baptiste |
| Notes urlencoding - passer des mots de passe en HTTPS | 2026/09/03 17:58 | Jean-Baptiste |
Notes serveur ssh openssh sshd config
ssh Autoriser que les connexions en root depuis seulement un ou deux serveurs de rebond
sed -i.bak -e 's/^PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config cat <<EOF >>/etc/ssh/sshd_config Match Address 192.168.1.32,192.168.1.15 PermitRootLogin yes EOF service ssh restart
Notes : Il est aussi possible d'utilisaser la notation CIDR :
/etc/ssh/sshd_config
Match Address 192.0.2.128/25,10.10.10.32/27
Voir Limit_access_to_openssh_features_with_the_Match_keyword.html
Autres
# Example of overriding settings on a per-user basis #Match User anoncvs # X11Forwarding no # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server
Notes serveur DNS Unbound
Voir :
Voir aussi :
- CoreDNS (cncf.io)
Exemple sur RedHat
Fix Unbound is very slow to start
/etc/sysconfig/unbound
DISABLE_UNBOUND_ANCHOR=yes
Conf Unbound en resolveur avec Cache DNS
/etc/unbound/unbound.conf
server: #verbosity: 1 #use-syslog: no #module-config: "subnetcache validator iterator" interface: 127.0.0.53 #interface: ::0 #prefer-ip4: yes #prefer-ip6: no do-ip4: yes do-ip6: no #do-tcp: yes access-control: 127.0.0.0/8 allow #cache-min-ttl: 3600 #cache-max-ttl: 86400 cache-max-negative-ttl: 1 #prefetch: yes #serve-expired: yes #serve-expired-ttl: 14400 #qname-minimisation: yes # Default yes #minimal-responses: yes # Default yes #rrset-roundrobin: yes # Default yes forward-zone: name: "." forward-addr: 8.8.8.8 forward-addr: 8.8.4.4
unbound-checkconf systemctl enable --now unbound.service
Conf autres
Administration
Source : https://gist.github.com/f9n/3c4453489820f150c81bdf2f1ccd9516
Verify configuration
unbound-checkconf
Unbound Status
unbound-control status
List Forwards
unbound-control list_forwards
Lookup on Cache
unbound-control lookup youtube.com
Dump Cache
unbound-control dump_cache > dns-cache.txt
Restore Cache
unbound-control load_cache < dns-cache.txt
Flush Cache
# Flush Specific Host unbound-control flush www.youtube.com # Flush everything unbound-control flush_zone .
Diag
Increase logged verbosity only runtime
unbound-control verbosity 3
Print operational statistics numbers.
unbound-control stats
Print used root server hints
unbound-control list_stubs
Print contacted servers details. Useful to read how fast they respond and what features they support.
unbound-control dump_infra
Test DNSSEC status of host
unbound-host -rv example.net -D
Autres
Essaie de surcharger la conf /etc/unbound/unbound.conf (RedHat)
/etc/unbound/cond.d/common.conf
server: #trust-anchor-file: "" #auto-trust-anchor-file: "" #trust-anchor: "" #trusted-keys-file: "" #val-permissive-mode: yes #prefetch: no #disable-dnssec-lame-check: no #harden-dnssec-stripped: no #harden-glue: no #harden-below-nxdomain: no #harden-referral-path: no
Notes serveur DNS filtrant - relais DNS
Voir aussi /etc/hosts
- Adguard DNS
- AdGuardHome
- Pi-hole
- aardvark-dns pour Docker / Podman en mode rootless
Notes SELinux
Voir :
- SELinux coloring book
- SELinux notebook
/sys/kernel/security/lsm- ausearch
- SEtroubleshoot
- setroubleshootd
- system-config-selinux
Définition
Security-Enhanced Linux (SELinux) is a Linux kernel mechanism that label sever y process and every file system object on the system. A SELinux policy defines the rules on how labeled processes interact with label objects. Source : https://edu.anarcho-copy.org/GNU%20Linux%20-%20Unix-Like/Podman/podman-action.pdf
Autoriser avec audit2allow
sudo cat /var/log/audit/audit.log | grep AVC | grep denied | audit2why > audit2why.txt sudo cat /var/log/audit/audit.log | grep AVC | grep denied | audit2allow > audit2allow.txt
/usr/bin/audit2allow -a -M plop
Copier le contexte par défaut d'une arborescence
# Example - podman - additional image stores sudo semanage fcontext -a -e /var/lib/containers/storage /var/sharedstore sudo restorecon -r /var/sharedstore/
Restaurer les autorisations SELinux
# Voir les différences restorecon -nv /etc/passwd # Les remettre restorecon -v /etc/passwd # Exemple restorecon -v /usr/sbin/httpd restorecon -v /etc/ld.so.cache restorecon -v /etc/hosts
Au démarrage du système
touch /.autorelabel
Réétiquetés les fichiers lors du prochain redémarrage \ Cela crée le fichier /.autorelabel contenant l'option -F
fixfiles -F onboot
Passez toujours en mode permissif avant d'entrer dans la commande fixfiles -F onboot. Cela permet d'éviter que le système ne démarre pas s'il contient des fichiers non étiquetés. Pour plus d'informations, voir RHBZ#2021835.
Voir aussi /etc/selinux/restorecond.conf qui contient les chemins des fichiers à restaurer
En vrac
ls -z ps -eZ sestatus setenforce 0 getenforce semanage login -l chcon seinfo audit2allow
dnf install -y container-selinux
semodule --list-modules=full chcon system_u:object_r:bin_t /opt/nagios/agent/nrpe chcon -t sudo_exec_t /usr/bin/sudo
grep -w 'denied.*insights-client.*permissive=0' /var/log/audit/audit.log
Serveur Web
setsebool -P httpd_can_network_connect 1
Pb Exemple
Err Permission denied
Before:
# ls -lZ /opt/plop/plop/plop.jar -rwxrwxrwx. 1 app_plop appgrp unconfined_u:object_r:unlabeled_t:s0 61558236 Feb 26 2023 /opt/plop/plop/plop.jar
After:
# ls -lZ /opt/plop/plop/plop.jar -rwxrwxrwx. 1 app_plop appgrp unconfined_u:object_r:bin_t:s0 61558236 Feb 26 2023 /opt/plop/plop/plop.jar
Service SystemD
chmod 640 /usr/local/lib/systemd/system/plop.service restorecon -v /usr/local/lib/systemd/system/plop.service systemctl daemon-reload chcon system_u:object_r:bin_t:s0 /tools/list/plop/ctmagt/ctm/scripts/start-ag chcon system_u:object_r:bin_t:s0 /tools/list/plop/ctmagt/ctm/scripts/shut-ag
Containers
DEFAULT_CONTAINER_RUN_OPTIONS = ['--network', 'slirp4netns:enable_ipv6=true', '--security-opt', 'label=disable']
Voir : https://ansible.readthedocs.io/projects/awx/en/24.6.1/administration/instances.html
Autres
Checking /etc/selinux/targeted/contexts/files/file_contexts, I found out which additional selinux contexts I had to add to the newly created directories:
sudo semanage fcontext --add --type container_ro_file_t '/var/lib/containers/user/[^/]+/storage/overlay(/.*)?' sudo semanage fcontext --add --type container_ro_file_t '/var/lib/containers/user/[^/]+/storage/overlay2(/.*)?' sudo semanage fcontext --add --type container_ro_file_t '/var/lib/containers/user/[^/]+/storage/overlay2-images(/.*)?' sudo semanage fcontext --add --type container_ro_file_t '/var/lib/containers/user/[^/]+/storage/overlay2-layers(/.*)?' sudo semanage fcontext --add --type container_ro_file_t '/var/lib/containers/user/[^/]+/storage/overlay-layers(/.*)?' sudo semanage fcontext --add --type container_ro_file_t '/var/lib/containers/user/[^/]+/storage/overlay-images(/.*)?' sudo semanage fcontext --add --type container_file_t '/var/lib/containers/user/[^/]+/storage/volumes/[^/]*/.*
then, reapply them to the system:
sudo restorecon -RvF /var/lib/containers/user
Voir https://kcore.org/2023/12/13/adventures-with-rootless-containers/
Autres
Voir :
- sealert
ausearch -c '(ssh)' --raw | audit2allow -M my-ssh semodule -X 300 -i my-ssh.pp
Dec 11 18:23:34 srv1 setroubleshoot[13728]: SELinux interdit à bash d'utiliser l'accès read sur le fichier /usr/lib/x86_64-linux-gnu/libc.so.6. Pour des messages SELinux exhaustifs, lancez sealert -l 4c092563-ff9e-461c-a202-f8b30a83315f Dec 11 18:23:34 srv1 setroubleshoot[13728]: SELinux interdit à bash d'utiliser l'accès read sur le fichier /usr/lib/x86_64-linux-gnu/libc.so.6. ***** Le greffon restorecon (54.2 de confiance) suggère ******************* Si vous souhaitez corriger l'étiquette. L'étiquette par défaut de /usr/lib/x86_64-linux-gnu/libc.so.6 devrait être lib_t. Alors vous pouvez lancer restorecon. La tentative d’accès pourrait avoir été stoppée due à des permissions insuffisantes d’accès au dossier parent, auquel cas essayez de changer la commande suivante en conséquence. Faire # /sbin/restorecon -v /usr/lib/x86_64-linux-gnu/libc.so.6 ***** Le greffon file (16.6 de confiance) suggère ************************* Ceci est dû à la création d'un nouveau système de fichiers. Alors vous devez y ajouter des étiquettes. Faire /sbin/restorecon -R -v /usr/lib/x86_64-linux-gnu/libc.so.6 ***** Le greffon file (16.6 de confiance) suggère ************************* Si vous pensez que ceci est dû à une machine mal étiquetée. Alors vous devez complètement ré-étiqueter. Faire touch /.autorelabel; reboot ***** Le greffon catchall_labels (3.18 de confiance) suggère ************** Si vous souhaitez autoriser bash à accéder à read sur libc.so.6 file Alors l'étiquette sur /usr/lib/x86_64-linux-gnu/libc.so.6 doit être modifiée Faire # semanage fcontext -a -t FILE_TYPE '/usr/lib/x86_64-linux-gnu/libc.so.6'
SELinux PAM
/etc/pam.d/remote
#%PAM-1.0 auth required pam_securetty.so auth include system-auth account required pam_nologin.so account include system-auth password include system-auth # pam_selinux.so close should be the first session rule session required pam_selinux.so close session optional pam_keyinit.so force revoke session required pam_loginuid.so session include system-auth session optional pam_console.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session required pam_selinux.so open
