Tout d'abord, j'ai utilisé pf de manière intensive sur OpenBSD et je connais donc très bien ses règles. Même si je suis plus habitué aux versions plus récentes.
Cependant, j'aimerais savoir s'il existe un moyen plus simple de réguler l'accès réseau à launchd, ou plus précisément à afp.
J'ai essayé de mettre TOUT : ALL (ou launchd : ALL et autres combinaisons) dans /etc/hosts.deny mais je ne pense pas que launchd utilise ces fichiers du tout. Quelqu'un peut-il confirmer cela ? hosts_options(5) montre les extensions qui lui ont été faites, par Apple peut-être, mais je n'arrive pas à trouver comment recharger launchd pour utiliser ces fichiers.
Ma solution actuelle consiste à bloquer toutes les connexions au port 548 et à n'autoriser que mes ordinateurs personnels. Pour ce faire, j'ai modifié /etc/pf.conf comme suit, en ajoutant la dernière ligne.
#
# Default PF configuration file.
#
# This file contains the main ruleset, which gets automatically loaded
# at startup. PF will not be automatically enabled, however. Instead,
# each component which utilizes PF is responsible for enabling and disabling
# PF via -E and -X as documented in pfctl(8). That will ensure that PF
# is disabled only when the last enable reference is released.
#
# Care must be taken to ensure that the main ruleset does not get flushed,
# as the nested anchors rely on the anchor point defined here.
#
# See pf.conf(5) for syntax.
#
#
# com.apple anchor point
#
nat-anchor "com.apple/*"
rdr-anchor "com.apple/*"
anchor "com.apple/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"
include "/etc/pf.userrules"
Et dans /etc/pf.userrules qui est ma propre création qui pourrait être écrasée à la prochaine mise à jour d'Apple.
block in inet proto tcp from any to port 548
pass in inet proto tcp from { 10.10.10.11, 10.10.10.12 } to port 548
Cela fonctionne, mais j'aimerais pouvoir utiliser les fichiers d'accès aux hôtes.