Primero de todo, he usado pf ampliamente en OpenBSD, así que yo sé de su conjunto de reglas bastante bien. A pesar de que yo estoy más acostumbrado a las versiones más recientes.
Sin embargo, me gustaría saber si hay una manera más sencilla para regular el acceso a la red a launchd, o más específicamente, a la afp.
He intentado poner TODAS: TODAS (o launchd: TODAS y otras combinaciones) en /etc/hosts.negar, pero no creo que launchd utiliza estos archivos. Por favor alguien puede confirmar esto? hosts_options(5) muestra las extensiones de hecho, Apple tal vez, sin embargo, no puedo entender cómo recargar launchd para el uso de estos archivos.
Mi solución es bloquear todas las conexiones al puerto de puerto 548 y, a continuación, sólo permitir que mis ordenadores en el hogar. Para ello he modificado /etc/pf.conf de la siguiente manera, añadió la última línea.
#
# 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"
Y en /etc/pf.userrules que es mi propia creación que podrían sobrescribir en la próxima actualización de 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
Esto funciona, pero me gustaría poder utiliza el acceso a hosts de archivos.