2024-09-12T09:23:06Z
J'ai récemment loué une machine virtuelle chez vultr pour quelques heures afin de tester des trucs, et je me suis aperçu qu'il y avait tout de même des petites étapes importantes que je serai amené à reproduire si je dois repartir de zéro.
Voici donc ma "check list" minimale après l'installation d'OpenBSD.
Je crée un utilisateur "normal" et j'édite doas.conf
#/etc/doas.conf permit persist user
Ensuite, je change le mot de passe root avec un truc que j'oublierai vite:
# su - # jot -rcs '' $l 32 126 # passwd
J'ajoute mon mail dans /etc/mail/aliases
root: me@stuff.tld # newaliases
Vultr donne par défaut un accès root via ssh. C'est pas très malin, alors on édite /etc/ssh/sshd.conf:
PermitRootLogin no
Pour protéger l'accès à ssh, on installe sshguard:
# pkg_add sshguard # rcctl enable sshguard # rcctl start sshguard
On modifie la configuration du parefeu pour:
On bloque tout par défaut, on bloque les listes noires, on autorise le ping et on prévoit l'ouvertur d'autres ports plus tard en décommentant les lignes avec "tcp_pass" et "udp_pass".
touch /var/prx-brutes.txt touch /var/pf-badhost.txt
#/etc/pf.conf ifaces = "{ egress }" # maybe useful later #tcp_pass = "{ www https }" # change me #udp_pass = "{ domain }" # change me tablepersist table persist table persist file "/var/prx-brutes.txt" table persist file "/var/pf-badhost.txt" set skip on { lo } set limit table-entries 409600 antispoof for $ifaces block block quick from label "BRUTES" block quick from label "SSHGUARD" block quick from label "PRX" block quick from label "PFBADHOST" # allow ping pass on $ifaces inet6 proto ipv6-icmp all #icmp6-type echoreq pass on $ifaces inet proto icmp all # icmp-type echoreq pass in on $ifaces proto tcp to port ssh modulate state \ (source-track rule, \ max-src-conn 8, max-src-conn-rate 15/5, \ overload flush global) #pass in on $ifaces proto tcp to port $tcp_pass modulate state #pass in on $ifaces proto udp to port $udp_pass pass out on $ifaces proto { tcp udp }
Bien sûr, on recharge pf:
# pfctl -f /etc/pf.conf
Maintenant, on prévoit la mise à jour des listes noires chaque jour:
# /etc/daily.local ftp -o- https://si3t.ch/pub/evils/prx-brutes.txt.gz | \ gzcat > /var/prx-brutes.txt && \ pfctl -t prx -T replace -f /var/prx-brutes.txt ftp -o- https://si3t.ch/pub/evils/pf-badhost.txt.gz | \ gzcat > /var/pf-badhost.txt && \ pfctl -t pf-badhost -T replace -f /var/pf-badhost.txt
Pour aller plus loin avec le parefeu, j'installe aussi iblock avec une version modifiée pour ne pas avoir besoin d'inetd :
=> https://tildegit.org/prx/iblock/src/branch/icanserve
Une réaction?
Envoyez votre commentaire par mail :
=> mailto:prx@si3t.ch?subject=premieres-choses-a-faire-serveur-openbsd
Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages:
text/plain
This content has been proxied by September (ba2dc).