use 'pf' para permitir el tráfico TCP en un puerto específico (desde una subred específica)

1

Por lo tanto, he leído varias publicaciones sobre cómo usar el Firewall de la aplicación ( apf o socketfilterfw ) y el Filtro de paquetes ( pf ) al mismo tiempo. Pensé que esto sería directo ya que no soy un novato de pf , pero quizás hay algo que aprender sobre pf , o si no, sobre la combinación bajo MacOS.

Básicamente, estoy tratando de agregar una regla pf que permite el tráfico (TCP) a un puerto específico (por ejemplo, 9999 ), desde una subred específica (por ejemplo, 192.168.5.0/24 ). Finalmente, en la Mac, la aplicación en cuestión será un proceso de escucha java , por lo tanto, mi deseo de limitar la exposición solo permite que el Firewall de la aplicación acepte tráfico desde cualquier lugar destinado a java . En su lugar, para la experimentación, estoy usando netcat ( nc ).

Por supuesto, en Preferencias del sistema, habilité el firewall de la aplicación, lo activé ("Habilitar el modo oculto") y me aseguré de que pf esté habilitado. Luego cargué reglas adicionales en pf , pero cuando la aplicación está bloqueada ( /usr/bin/nc en este caso), parece que mis reglas pf nunca se usan. Una transcripción de muestra para mostrar mi estado actual:

mac $ alias apf=/usr/libexec/ApplicationFirewall/socketfilterfw
mac $ apf --getglobalstate
Firewall is enabled. (State = 1)
mac $ apf --getstealthmode
Stealth mode enabled
mac $ apf --getappblocked /usr/bin/nc
Incoming connection to /usr/bin/nc is blocked
mac $ sudo pfctl -s info |& grep ^Status
Status: Enabled for 0 days 21:52:31           Debug: Urgent
mac $ sudo pfctl -s rules
pass in quick proto tcp from any to any port = 9999 flags S/SA keep state
scrub-anchor "com.apple/*" all fragment reassemble
anchor "com.apple/*" all
mac $

En este punto, parece que debería poder comenzar a escuchar nc y conectarme desde otra máquina, como en:

mac $ nc -l 9999

linux $ nc -v -w 1 mac 9999
nc: connect to mac port 9999 (tcp) failed: Operation timed out

Por lo tanto, hipótesis y preguntas:

  • apf tiene prioridad sobre pf , en cuyo caso, (P) ¿cómo puedo cambiar o solucionarlo?
  • No puedo bloquear la aplicación en apf y permitir algunos puertos a través de pf ; ver (Q) arriba.
  • Las reglas de pf no se interpretan realmente de la misma manera en MacOS que, por ejemplo, FreeBSD; entonces: (Q) ¿por qué no?
  • No entiendo lo suficiente y realmente soy solo un novato, por lo tanto, (Q) ¿qué es lo que no sé?
pregunta eggo 14.11.2018 - 21:48

0 respuestas

Lea otras preguntas en las etiquetas