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 :
- 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")}'
- Prévenir des vulnérabilités CPU Spectre et Meltdown dans le fichier(3 pour AUTO)
hw.ibrs_disable="3"
- 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
Commentaires