Después de sumergirme en el Cortafuegos Adaptable una vez más tengo la impresión de que todo el sistema tiene fallas y la documentación es un desastre.
El comando .../hb_summary
aparentemente no funciona en absoluto porque parece depender del archivo / private / var / db / af / blockedHosts que se llena.
por ipfw que no está activado en 10.9 (y no funcionaría con el anclaje 400.AdaptiveFirewall). pf no usa el archivo bloqueado Hots en absoluto.
Lo mejor que puedes hacer es lo siguiente:
-
Habilitar el servicio de firewall adaptable
sudo /Applications/Server.app/Contents/ServerRoot/usr/sbin/serverctl enable service=com.apple.afctl
-
Rellenar la lista blanca con
sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -c
-
Defina el máximo de intentos incorrectos de autenticación (por ejemplo, 3) y el tiempo de prohibición (por ejemplo, 60 minutos)
sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -T 3
sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -H 60
Esto modificará el archivo /Applications/Server.app/Contents/ServerRoot/private/etc/emond.d/rules/AdaptiveFirewall.plist.
Comprueba el mod con:
sudo grep -m 2 -A 4 hostBlockThreshold /Applications/Server.app/Contents/ServerRoot/private/etc/emond.d/rules/AdaptiveFirewall.plist
- relanzar emond:
sudo killall emond
-
Añadir hosts mal conocidos durante mucho tiempo:
sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -a 104.16.35.178 -t 1000000
(Tenga en cuenta el y2038 problema ).
Esto modificará el archivo / private / var / db / af / blacklist. Los hosts que se agregan aquí generalmente no sobreviven al reinicio.
- Comience af con
sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -f
-
Para obtener hosts bloqueados ingresa:
sudo pfctl -a com.apple/400.AdaptiveFirewall -t blockedHosts -T show -vvv
Para obtener el estado de pf, ingrese sudo pfctl -s all
.
Esto se ha probado con intentos de inicio de sesión hostiles ssh
y openssl s_client -connect imapserver_ip:993
.
Después de reiniciar, el comando .../afctl -f
iniciará pf y af, pero en al menos uno de los dos casos no bloquea los intentos de inicio de sesión hostiles, aunque se anuncie en el archivo de registro.
Mejoras:
Después de modificar las claves debugLevel y logEvents en el archivo /etc/emond.d/emond.plist ,:
...
<key>debugLevel</key>
<integer>3</integer>
...
<key>logEvents</key>
<true/>
...
creando el archivo /System/Library/LaunchDaemons/com.apple.afctl_boot.plist con el contenido:
<?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>
y cargándolo con:
sudo launchctl load /System/Library/LaunchDaemons/com.apple.afctl_boot.plist
parece funcionar de manera más confiable. El firewall adaptable se cargará en el momento del arranque. ¡No se requieren más comandos de lanzamiento de afctl!