Как я могу запретить моему Mac запрашивать входящие сетевые подключения?


13

Я использую Syncthing , который является приложением для синхронизации файлов между двумя или более компьютерами. Я полагаю, что Syncthing ( на github ) должен иметь возможность принимать входящие сетевые подключения для правильной работы.

Mac OS X имеет встроенный брандмауэр, который постоянно спрашивает меня, хочу ли я разрешить синхронизацию для приема входящих сетевых подключений в виде всплывающего окна. Обычно это запрашивается только один раз для приложения, но по какой-то причине это всплывающее окно появляется как минимум 4 раза в день.

Это может быть связано с функцией автоматического обновления, в результате которой время от времени появляется новый двоичный файл (аналогично тому, что делает Google Chrome). Тем не менее, частота обновления этого приложения намного ниже по сравнению с количеством всплывающих окон, которые я получаю.

Любая идея, что я мог бы сделать, чтобы Mac OS X перестала задавать мне этот вопрос для конкретного приложения, или просто нет пути?

Было бы замечательно, если бы был выбор по умолчанию, который был бы сделан, если бы я был вдали от машины. Любая идея, как это может быть достигнуто - без отключения брандмауэра?

Ответы:


9

Это может быть вызвано отсутствием или неправильной цифровой подписью. Как Apple объясняет :

Если вы запустили неподписанное приложение, которого нет в списке брандмауэра, появится диалоговое окно с параметрами Разрешить или Запретить подключения для приложения. Если вы выберете «Разрешить», OS X подпишет приложение и автоматически добавит его в список брандмауэров.

[...]

Некоторые приложения проверяют свою целостность при открытии без использования подписи кода. Если брандмауэр распознает такое приложение, он не подписывает его. Вместо этого при каждом открытии приложения появляется диалоговое окно «Разрешить или запретить». Этого можно избежать путем обновления до версии приложения, подписанной разработчиком.

Этот диалог может быть также показан , каждый раз , если приложение будет подписано, но подпись приложения сам разбиваются, нравится даже Itunes .

Вы можете проверить подпись, выполнив следующую команду в Терминале (я не уверен в названии вашего приложения здесь):

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

В качестве альтернативы, возможно, удалите приложение в настройках брандмауэра, а затем посмотрите, достаточно ли еще одного подтверждения, чтобы OS X не подсказывал вам? Или, может быть, явно добавить его через эти настройки?

Что касается значения по умолчанию: убедитесь, что включена опция «Автоматически разрешать подписанному программному обеспечению принимать входящие соединения» :


довольно хороший ответ - я нашел ту настройку по умолчанию, которую вы упомянули, но она не является удовлетворительной, так как все входящие подключения будут включены таким образом автоматически, но я думаю, что это единственный вариант
Крис,

1
@ Крис, если вы (справедливо) обеспокоены тем, что подписанным приложениям разрешено принимать входящие соединения, обратите внимание, что брандмауэр OS X фильтрует только входящие соединения. Он разрешает все исходящие соединения, поэтому с точки зрения безопасности я бы сказал, что любой другой брандмауэр предпочтительнее, чем OS X. (Но некоторые не соглашаются с этим , в то время как другие не соглашаются с теми, кто не согласен ...)
Арджан,

Итак, @Chris, есть какие-нибудь результаты для проверки подписи? И при удалении приложения из настроек брандмауэра, чтобы увидеть, если после этого "Разрешить" придерживается (возможно, до следующего обновления ...)?
Арьян

спасибо за подсказки - я на самом деле использую LittleSnitch для создания лучшего брандмауэра по причинам, которые вы объяснили, но все еще с включенным брандмауэром OS X - я протестирую его удаление оттуда и посмотрю, поможет ли это что-нибудь
Крис

1
Да, именно это я и ожидал. Однако, хотя я считаю, что внутренняя синхронизация была недавно обновлена, брандмауэр OS X меня больше не беспокоил (пока). Брандмауэр фактически «знает», что это внутренний исполняемый файл, который запрашивает разрешение и не добавляет приложение-оболочку (чья подпись нарушена). Внутренний исполняемый файл всегда имеет действительную подпись (после каждого обновления), но я не знаю, проверяет ли брандмауэр OS X изменения подписи? В этом случае также Skype и т. Д. Должны запрашивать разрешения после каждого обновления (чего они не знают, насколько я знаю).
Крис

0

Эта инструкция навсегда отключает это раздражающее всплывающее окно, и решение применимо ко всем приложениям, которые отсутствуют или имеют неправильную цифровую подпись.

Короче говоря:

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

Подпись приложения, кажется, хороший способ сделать это всплывающее окно исчезнувшим для приложения без подписи. Однако приведенная выше команда, похоже, не работает для меня. Я никогда не подписывал приложение. Есть ли какой-то ключ для генерации первым? или конфиг для настройки? Я обычно получаю error: The specified item could not be found in the keychain.
Пьер-Антуан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.