Outils pour utilisateurs

Outils du site


blog

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
2025/03/24 15:06

Notes serveur DNS Unbound

Voir :

Voir aussi :

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
2025/03/24 15:06

Notes 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
2025/03/24 15:06
blog.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki