2 votos

Desactivar notificaciones de firewall

Estoy desarrollando un software como parte de un proyecto de investigación, y me estoy encontrando con un problema molesto con el firewall de Mac. Nuestra arquitectura del sistema implica ejecutar varios procesos concurrentes que abren puertos de red, por lo que cuando inicio una ejecución, recibo un montón de notificaciones del firewall:

ingresar descripción de la imagen aquí

Ya sea que haga clic en Permitir o Denegar, la notificación vuelve cada vez. También he intentado agregar el programa a la configuración del firewall, pero las notificaciones siguen apareciendo. Activar el modo sigiloso, o incluso desactivar el firewall, tampoco hacen nada.

ingresar descripción de la imagen aquí

Esta pregunta similar pregunta cómo solucionar este problema para un solo programa, y hay algo de discusión sobre la firma de código. Pero esto no funcionará para mí: solo estoy compilando nuevas versiones de mi código; necesito evitar que aparezcan estos cuadros de diálogo durante las pruebas, no en producción. Por lo tanto, marcar un solo ejecutable como "seguro" (si es posible) solo funcionaría hasta la próxima compilación.

Algunos datos adicionales:

  • Esto sucede sin importar desde dónde ejecute el programa: terminal o terminal de VS code
  • Esto solía ocurrir ocasionalmente, pero ahora sucede casi todo el tiempo, después de mover mi proyecto desde mi carpeta de Documentos (que me di cuenta de que estaba siendo respaldada en iCloud) a una carpeta local separada. Posiblemente algo con la confianza de la procedencia del archivo? Sin embargo, sería extraño. Mi nuevo directorio es simplemente ~/Local Documents
  • Aunque algunas variantes de nuestro programa utilizan acceso de red entrante, actualmente estoy probando en una sola máquina (con múltiples procesos actuando como múltiples hosts, utilizando el marco mpi).

Lo ideal sería marcar ejecutables en una carpeta en particular como exentos de las reglas del firewall, pero en este momento, estaría contento simplemente con desactivar las advertencias a nivel de sistema.

Esta respuesta parece sugerir que podría estar fuera de suerte.

0voto

Frans Thamura Puntos 6

Según el comentario de Linc D.,

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off

parece haber solucionado el problema.

0voto

Steve Evans Puntos 155

Este es un comportamiento normal. Cada nuevo ejecutable de prueba es tratado como único. Por lo tanto, confiar en uno no afectará al siguiente. A menos que...

Compilar y Firmar

Para evitar la advertencia, firma ad-hoc el ejecutable usando:

codesign -i com.example.main.test -s - main

Repite este comando para cualquier otro ejecutable que esté siendo construido.

Esto hará que macOS confíe en esta compilación de main en tu Mac. La primera vez que se ejecute, se te pedirá acceso a la red. Las ejecuciones posteriores no requerirán verificaciones de red.

Al asignar un identificador, -i com.example.main.test, la confianza asociada con un ejecutable se transferirá a futuros ejecutables. Los futuros ejecutables deben tener el mismo identificador y el mismo firmante para que esto funcione.

Cortafuegos

Dentro de System Settings.app > Network > Firewall, selecciona Opciones y desplázate hasta la base de la lista. Allí encontrarás algunas opciones adicionales.

Activa Permitir automáticamente que el software descargado firmado reciba conexiones entrantes. Esto puede reducir algunas advertencias.

Avoid the Warnings

Para evitar por completo estas advertencias, haz que el software escuche explícitamente solo en localhost.

Ver también https://apple.stackexchange.com/a/393721/1860

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X