Quindi, ho letto vari post su come utilizzare contemporaneamente Application Firewall ( apf
o socketfilterfw
) e il filtro pacchetti ( pf
) allo stesso tempo. Ho pensato che sarebbe stato semplice da quando non sono un novizio pf
, ma forse c'è qualcosa da sapere su pf
, o, in caso contrario, sulla combinazione in MacOS.
In sostanza, sto tentando di aggiungere una regola pf
che consente il traffico (TCP) a una porta specifica (ad esempio 9999
), da una sottorete specifica (ad esempio 192.168.5.0/24
). Alla fine su Mac, l'app in questione sarà un ascolto di processo java
, quindi il mio desiderio di limitare l'esposizione oltre il solo consentire a Application Firewall di accettare il traffico da qualsiasi luogo destinato a java
. Al suo posto, per la sperimentazione, sto usando netcat ( nc
).
In Preferenze di sistema, ho ovviamente attivato il firewall dell'applicazione, attivato ("Abilita modalità invisibile") e assicurato che pf
sia abilitato. Ho quindi caricato regole aggiuntive in pf
, ma io quando l'applicazione è bloccata ( /usr/bin/nc
in questo caso), sembra che le mie regole pf non vengano mai usate. Una trascrizione di esempio per mostrare il mio stato attuale:
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 $
A questo punto sembra che dovrei essere in grado di avviare nc
in ascolto e connettersi da un'altra macchina, come in:
mac $ nc -l 9999
linux $ nc -v -w 1 mac 9999
nc: connect to mac port 9999 (tcp) failed: Operation timed out
Quindi, ipotesi e domande:
-
apf
ha la precedenza supf
, nel qual caso, (Q) come posso cambiarlo o aggirarlo? - Non riesco a bloccare l'applicazione in
apf
e consentire alcune porte inpf
; vedere (Q) sopra. -
Le regole
pf
non sono realmente interpretate allo stesso modo su MacOS come, ad esempio, FreeBSD; quindi: (Q) perché no? - Non capisco abbastanza e sono davvero solo un principiante, quindi, (Q) cosa non lo so?