Como faço para impedir que meu Mac peça para aceitar conexões de rede recebidas?

13

Estou usando o Syncthing , que é um aplicativo para sincronizar arquivos entre dois ou mais computadores. Acredito que a sincronização ( no github ) precisa ter permissão para aceitar as conexões de rede recebidas para funcionar corretamente.

O Mac OS X possui um firewall embutido, que sempre me pergunta se eu quero permitir que a sincronização aceite conexões de rede de entrada na forma de uma janela pop-up. Normalmente, isso é solicitado apenas uma vez para um aplicativo, mas por algum motivo esse pop-up aparece pelo menos 4 vezes por dia.

Pode estar relacionado a uma funcionalidade de atualização automatizada que resulta em um novo binário sendo exibido de vez em quando (semelhante ao que o Google Chrome faz). No entanto, a frequência de atualização desse aplicativo é muito menor se comparada à quantidade de pop-ups que estou recebendo.

Alguma idéia do que eu poderia fazer para que o Mac OS X parasse de me fazer esta pergunta para um aplicativo específico ou simplesmente não há maneira de contornar isso?

Seria ótimo se também houvesse uma opção padrão, caso eu estivesse longe da máquina. Alguma idéia de como isso poderia ser feito - sem desligar o firewall?

Chris
fonte

Respostas:

8

Isso pode ser causado por uma assinatura digital ausente ou incorreta. Como a Apple explica :

Se você executar um aplicativo não assinado que não esteja listado na lista de firewalls, será exibida uma caixa de diálogo com as opções para Permitir ou Negar conexões para o aplicativo. Se você escolher Permitir, o OS X assinará o aplicativo e o adicionará automaticamente à lista de firewalls.

[...]

Alguns aplicativos verificam sua própria integridade quando são abertos sem usar a assinatura de código. Se o firewall reconhecer um aplicativo como esse, ele não será assinado. Em vez disso, a caixa de diálogo "Permitir ou negar" é exibida sempre que o aplicativo é aberto. Isso pode ser evitado com a atualização para uma versão do aplicativo assinada pelo desenvolvedor.

Essa caixa de diálogo também pode ser exibida sempre que o aplicativo estiver assinado, mas a assinatura do próprio aplicativo está quebrada, como no iTunes .

Você pode verificar a assinatura executando o seguinte comando no Terminal (não tenho certeza do nome do seu aplicativo aqui):

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

Como alternativa, talvez remova o aplicativo nas configurações do firewall e veja se a aceitação mais uma vez é suficiente para interromper o aviso do OS X? Ou talvez adicione explicitamente através dessas configurações?

E quanto ao padrão: verifique se a opção "Permitir automaticamente que o software assinado receba conexões de entrada" está ativada:

Arjan
fonte
resposta muito boa - eu achei que a definição você mencionou padrão, mas não é satisfatória como todas as ligações recebidas serão automaticamente habilitado dessa maneira, mas eu acho que é a única opção
Chris
11
@ Chris, se você (com razão) está preocupado com a permissão de aplicativos assinados para aceitar conexões de entrada, observe que o firewall do OS X filtra apenas as conexões de entrada . Ele permite todas as conexões de saída, portanto, do ponto de vista da segurança, eu diria que qualquer outro firewall é preferido sobre o OS X. (Mas alguns discordam sobre isso , enquanto outros discordam com aqueles que discordam ...)
Arjan
Então, @ Chris, algum resultado para a verificação de assinatura? E ao remover o aplicativo das configurações do firewall para ver se "Permitir" permanece depois disso (talvez até a próxima atualização ...)?
Arjan
obrigado pelas dicas - na verdade, estou usando o LittleSnitch para ter um firewall melhor pelos motivos que você explicou, mas ainda tem o firewall do OS X ativado - testarei removendo-o de lá e ver se isso faz alguma coisa
Chris
11
Sim, foi o que fiz e espero que aconteça. No entanto, embora eu acredite que a sincronização interna tenha sido atualizada recentemente, o firewall do OS X não me incomodou novamente (até agora). O firewall realmente "sabe" que é o executável interno que solicita permissão e não adiciona o aplicativo wrapper (quem está com a assinatura quebrada). O executável interno sempre possui uma assinatura válida (após cada atualização), mas não sei se o firewall do OS X verifica alterações de assinatura? Neste caso, também o Skype, etc, deve solicitar permissões após cada atualização (o que eles não fazem tanto quanto eu sei).
22415 Chris
0

Esta instrução desativa permanentemente esse pop-up irritante e a solução é aplicável a todos os aplicativos ausentes ou com uma assinatura digital errada.

Em resumo:

sudo codesign --force --deep --sign - path-to-the-app.app
HerrRobot
fonte