pfctl para agregar reglas en tiempo de ejecución SIN EDITAR /etc/pf.conf?

2

Tengo una aplicación que (mientras se ejecuta y solo mientras se está ejecutando) necesita realizar cambios en el filtro de paquetes ( pf ) para que bloquee o permita cierto tráfico. Estas reglas deberían ser adicionales a las propias reglas del usuario en /etc/pf.conf , pero no quiero editar directamente /etc/pf.conf ya que esto es extremadamente intrusivo.

Puedo hacer esto de forma trivial en Linux usando iptables e incluso en windows usando wfp sin alterar ningún archivo en disco, ¿puedo lograr lo mismo en osx con pf ?

La solución solo tiene que funcionar en yosemite (10.10) y superior

    
pregunta horseyguy 06.06.2018 - 01:51

1 respuesta

2

Resolví esto yo mismo.

cat /etc/pf.conf my_rules.conf | sudo /sbin/pfctl -Ef -

Cuando my_rules.conf contiene nuestras propias reglas, éstas se concatenan a las reglas pf.conf pero tienen prioridad debido a que se agregan después de pf.conf en el comando cat .

También ten en cuenta que usamos pfctl -Ef - el - fuerza pfctl para leer desde stdin

Podemos llevar esta solución un paso más allá y cargar nuestras propias reglas desde la versión estándar al usar esto:

echo "block out all" | cat /etc/pf.conf - | sudo /sbin/pfctl -Ef -
    
respondido por el horseyguy 04.10.2018 - 10:22

Lea otras preguntas en las etiquetas