Durcir un FreeBSD

Par ghislain , 31 décembre, 2024
FreeBSD Daemon

Sources :

 https://github.com/wravoc/harden-freebsd/blob/main/README.md

https://cromwell-intl.com/cybersecurity/stack-hardening.html

Noyau

Dans le fichier /boot/loader.conf :

  1. Interdire à DTrace de terminer des processus
security.bsd.allow_destructive_dtrace=0

   Pour tester le durcissement DTrace les troi commandes suivantes doivent retourner Permission denied ou Destructive actions not allowed:

        dtrace -wn 'tcp:::connect-established { @[args[3]->tcps_raddr] = count(); }'

        dtrace -wqn tick-1sec'{system("date")}'

        dtrace -qn tick-1sec'{system("date")}'

  1. Prévenir des vulnérabilités CPU Spectre et Meltdown dans le fichier(3 pour AUTO)
hw.ibrs_disable="3"
  1.  Interdire les mise à jour automatique du microcode CPU
cpu_microcode_load="NO"

  

Démarrage

Ajouter dans le fichier rc.conf les lignes suivantes :

kern_securelevel_enable="YES"
clear_tmp_enable="YES"
icmp_drop_redirect="YES"
update_motd="NO"

Pour éviter le partage au travers de NFS on ajoutera les lignes suivantes pour désactiver Inetd et Portmap :

inetd_enable="NO"
portmap_enable="NO"

 

Système

Dans le fichier /etc/systcl.conf on ajoutera les éléments présenté ci-après. Ils sont à adapter en fonction de ce qui est prévu.

kern.securelevel=1
# Hide process information for other users.
security.bsd.see_other_uids=0
security.bsd.see_other_gids=0
security.bsd.see_jail_proc=0
# Disallow non-root users from reading system message buffer
security.bsd.unprivileged_read_msgbuf=0
kern.randompid=107
# Decrease the ARP cache cleanup interval.
net.link.ether.inet.max_age=1200
# Randomize ip frame id
net.inet.ip.random_id=1
# Disable IP source routing.
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
# Disable ICMP routing redirects.
net.inet.ip.redirect=0
net.inet.ip6.redirect=0
# Disable reply on a closed socket
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=2
# Disable MTU discovering
net.inet.tcp.path_mtu_discovery=0
net.inet.icmp.drop_redirect=1
# Disable ICMP broadcast echo activity
net.inet.icmp.bmcastecho=0
# Disallow keeping open idle TCP connection
# net.inet.tcp.always_keepalive=0
# Increase resiliance under heavy TCP load
kern.ipc.maxsockbuf=2097152
net.inet.tcp.syncache.rexmtlimit=0
net.inet.tcp.syncookies=1
net.inet.tcp.fast_finwait2_recycle=1
net.inet.tcp.finwait2_timeout=3000
net.inet.tcp.msl=3000
hw.mds_disable=3
hw.spec_store_bypass_disable=1
kern.elf64.allow_wx=0

 

Étiquettes

Commentaires