Cómo configurar el firewall adaptable

4

He seguido este enlace: Encienda el servidor de seguridad adaptable en el servidor macOS

y obtengo esta salida, pero no sé si de hecho he activado el firewall adaptable:

No ALTQ support in kernel
ALTQ related functions disabled
No ALTQ support in kernel
ALTQ related functions disabled
pf enabled
Token : 13540967312582709951
No ALTQ support in kernel
ALTQ related functions disabled

Quiero permitir que el firewall adaptable agregue automáticamente usuarios con varios intentos fallidos de inicio de sesión.

He añadido correctamente una determinada IP a la lista negra del cortafuegos, pero no pude verla en hb_summary, no sé si se supone que debe mostrar las IP agregadas manualmente allí. Y no se estaba agregando automáticamente cuando supuestamente lo encendí.

Hubo un ataque de fuerza bruta en mi puerto IMAP y mi firewall adaptativo no estaba agregando esa IP en la lista negra. Solo Postfix se ocupó de ello al cometer un error fatal debido a demasiados errores y el programa finalizó, pero fue solo por un período de tiempo muy corto.

Especificaciones del servidor:

  • Server.app 3.2.2
  • Mac OS X 10.9.5
pregunta SipriusPT 12.01.2017 - 13:44

1 respuesta

3

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!

    
respondido por el klanomath 14.01.2017 - 21:37

Lea otras preguntas en las etiquetas