Dopo essermi immerso in Adaptive Firewall ancora una volta ho avuto l'impressione che l'intero sistema sia difettoso e la documentazione è un casino.
Il comando .../hb_summary
a quanto pare non funziona affatto perché sembra fare affidamento sul file / private / var / db / af / blockedHosts che viene popolato
da ipfw che non è attivato in 10.9 (e non funzionerebbe con l'ancora 400.AdaptiveFirewall). pf non usa affatto il file blockedHosts.
Il meglio che puoi fare è il seguente:
-
Abilita il servizio Adaptive Firewall
sudo /Applications/Server.app/Contents/ServerRoot/usr/sbin/serverctl enable service=com.apple.afctl
-
Compila la lista bianca con
sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -c
-
Definisci i tentativi di autenticazione errata massima (ad es. 3) e il tempo di divieto (ad esempio 60 minuti)
sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -T 3
sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -H 60
Questo modificherà il file /Applications/Server.app/Contents/ServerRoot/private/etc/emond.d/rules/AdaptiveFirewall.plist.
Controlla il mod con:
sudo grep -m 2 -A 4 hostBlockThreshold /Applications/Server.app/Contents/ServerRoot/private/etc/emond.d/rules/AdaptiveFirewall.plist
- Rilancia emond:
sudo killall emond
-
Aggiungi malfunzionamenti noti per molto tempo:
sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -a 104.16.35.178 -t 1000000
(Si prega di essere a conoscenza del problema y2038 ).
Questo modificherà il file / private / var / db / af / blacklist. Gli host aggiunti qui di solito non sopravvivono al riavvio.
- Inizia af con
sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -f
-
Per ottenere host bloccati, inserisci:
sudo pfctl -a com.apple/400.AdaptiveFirewall -t blockedHosts -T show -vvv
Per ottenere lo stato di pf, inserisci sudo pfctl -s all
.
Questo è testato con tentativi di accesso ostili ssh
e openssl s_client -connect imapserver_ip:993
.
Dopo un riavvio il comando .../afctl -f
avvierà pf e af ma in almeno uno dei due casi non bloccherà i tentativi di accesso ostili sebbene sia annunciato nel file di registro.
I miglioramenti:
Dopo aver modificato i tasti debugLevel e logEvents nel file /etc/emond.d/emond.plist,:
...
<key>debugLevel</key>
<integer>3</integer>
...
<key>logEvents</key>
<true/>
...
creando il file /System/Library/LaunchDaemons/com.apple.afctl_boot.plist con il contenuto:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>Label</key>
<string>com.apple.afctl_boot</string>
<key>Program</key>
<string>/Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl</string>
<string>-f</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
e caricandolo con:
sudo launchctl load /System/Library/LaunchDaemons/com.apple.afctl_boot.plist
sembra funzionare in modo più affidabile. L'Adaptive Firewall verrà caricato all'avvio. Non è necessario un ulteriore comando di avvio afctl!