¿Cómo evito que mi Mac solicite aceptar conexiones de red entrantes?

13

Estoy usando Syncthing , que es una aplicación para sincronizar archivos entre dos o más computadoras. Creo que se debe permitir que Syncthing ( en github ) acepte conexiones de red entrantes para funcionar correctamente.

Mac OS X tiene un firewall incorporado, que constantemente me pregunta si deseo permitir la sincronización para aceptar conexiones de red entrantes en forma de una ventana emergente. Por lo general, solo se solicita una aplicación una vez, pero por alguna razón, esta ventana emergente aparece al menos 4 veces al día.

Puede estar relacionado con una funcionalidad de actualización automatizada que resulta en un nuevo binario que aparece de vez en cuando (similar a lo que hace Google Chrome). Sin embargo, la frecuencia de actualización de esta aplicación es mucho menor en comparación con la cantidad de ventanas emergentes que estoy recibiendo.

¿Alguna idea de lo que podría hacer para que Mac OS X deje de hacerme esta pregunta para una aplicación específica o simplemente no hay forma de evitarla?

Sería genial si también hubiera una opción predeterminada que se tomaría en caso de que esté lejos de la máquina. ¿Alguna idea de cómo se podría lograr esto sin desactivar el firewall?

Chris
fuente

Respuestas:

9

Esto puede ser causado por una firma digital faltante o incorrecta. Como Apple explica :

Si ejecuta una aplicación sin firmar que no figura en la lista del firewall, aparece un cuadro de diálogo con opciones para Permitir o Denegar conexiones para la aplicación. Si elige Permitir, OS X firma la aplicación y la agrega automáticamente a la lista de firewall.

[...]

Algunas aplicaciones verifican su propia integridad cuando se abren sin usar la firma de código. Si el firewall reconoce dicha aplicación, no la firma. En su lugar, aparece el cuadro de diálogo "Permitir o denegar" cada vez que se abre la aplicación. Esto se puede evitar actualizando a una versión de la aplicación firmada por su desarrollador.

Este cuadro de diálogo también se puede mostrar cada vez que la aplicación esté firmada, pero la firma de la aplicación en sí está rota, como incluso para iTunes .

Puede verificar la firma ejecutando el siguiente comando en la Terminal (no estoy seguro sobre el nombre de su aplicación aquí):

codesign --verify -vv /Applications/Syncthing.app/

Alternativamente, tal vez elimine la aplicación en la configuración del firewall y luego vea si aceptar una vez más es suficiente para que OS X deje de preguntarle. ¿O tal vez lo agregue explícitamente a través de esa configuración?

Y en cuanto al valor predeterminado: asegúrese de que la opción "Permitir automáticamente que el software firmado reciba conexiones entrantes" esté habilitada:

Arjan
fuente
respuesta bastante buena: encontré esa configuración predeterminada que mencionaste, pero no es satisfactoria, ya que todas las conexiones entrantes se habilitarán automáticamente de esta manera, pero supongo que esa es la única opción
Chris
1
@ Chris, si le preocupa (con razón) que las aplicaciones firmadas puedan aceptar conexiones entrantes, tenga en cuenta que el firewall de OS X solo filtra las conexiones entrantes . Permite todas las conexiones salientes, por lo que desde el punto de vista de la seguridad, diría que se prefiere cualquier otro firewall sobre el OS X. (Pero algunos no están de acuerdo con eso , mientras que otros no están de acuerdo con los que no están de acuerdo ...)
Arjan
Entonces, @Chris, ¿algún resultado para la verificación de firmas? ¿Y al eliminar la aplicación de la configuración del firewall para ver si "Permitir" se pega después de eso (tal vez hasta la próxima actualización ...)?
Arjan
gracias por las sugerencias: de hecho, estoy usando LittleSnitch para tener un mejor firewall por las razones que me explicaste, pero aún tengo el firewall OS X habilitado. Probaré eliminarlo de allí y veré si eso funciona
Chris
1
Sí, eso es lo que hice y espero que suceda. Sin embargo, aunque creo que la sincronización interna se actualizó recientemente, el firewall de OS X no me molestó nuevamente (hasta ahora). El cortafuegos en realidad "sabe" que es el ejecutable interno el que solicita permiso y no agrega la aplicación de contenedor (la firma de quién se está rompiendo). El ejecutable interno siempre tiene una firma válida (después de cada actualización), pero no sé si el firewall de OS X verifica los cambios de firma. Sin embargo, en este caso también Skype, etc., debería pedir permisos después de cada actualización (lo que no hacen hasta donde yo sé).
Chris
0

Esta instrucción deshabilita permanentemente esta molesta ventana emergente y la solución es aplicable a todas las aplicaciones que faltan o tienen una firma digital incorrecta.

En breve:

sudo codesign --force --deep --sign - path-to-the-app.app
HerrRobot
fuente
Firmar la aplicación parece ser una buena manera de hacer que esta ventana emergente desaparezca para la aplicación sin una firma. Sin embargo, el comando anterior no parece funcionar para mí. Nunca firmé una aplicación. ¿Hay alguna clave para generar primero? o config para configurar? Normalmente estoy recibiendo error: The specified item could not be found in the keychain.
Pierre-Antoine hace