Jak mogę powstrzymać komputer Mac przed pytaniem o przychodzące połączenia sieciowe?

13

Korzystam z Syncthing , czyli aplikacji do synchronizacji plików między dwoma lub więcej komputerami. Wierzę, że Syncthing ( na github ) musi mieć możliwość akceptowania przychodzących połączeń sieciowych, aby działać poprawnie.

Mac OS X ma wbudowaną zaporę ogniową, która nieustannie mnie pyta, czy chcę zezwolić synchronizacji na przyjmowanie połączeń sieciowych w formie wyskakującego okna. Zazwyczaj jest to prośba o podanie tylko raz, ale z jakiegoś powodu to wyskakujące okienko pojawia się co najmniej 4 razy dziennie.

Może to być związane z funkcją automatycznej aktualizacji, która powoduje pojawienie się nowego pliku binarnego od czasu do czasu (podobnie jak Google Chrome). Jednak częstotliwość aktualizacji tej aplikacji jest znacznie mniejsza w porównaniu do liczby wyskakujących okienek, które otrzymuję.

Masz pomysł, co mogę zrobić, aby system Mac OS X przestał zadawać mi to pytanie dla określonej aplikacji, czy też nie ma na to sposobu?

Byłoby wspaniale, gdyby istniał również domyślny wybór, który byłby dokonany na wypadek, gdyby nie było mnie przy komputerze. Masz pomysł, jak to osiągnąć - bez wyłączania zapory?

Chris
źródło

Odpowiedzi:

9

Może to być spowodowane brakującym lub niewłaściwym podpisem cyfrowym. Jak wyjaśnia Apple :

Jeśli uruchomisz niepodpisaną aplikację, która nie znajduje się na liście zapory, pojawi się okno dialogowe z opcjami Zezwalaj lub Odmawiaj połączeń dla aplikacji. Jeśli wybierzesz Zezwalaj, OS X podpisuje aplikację i automatycznie dodaje ją do listy zapory.

[...]

Niektóre aplikacje sprawdzają swoją integralność po otwarciu bez podpisywania kodu. Jeśli zapora rozpoznaje taką aplikację, nie podpisuje jej. Zamiast tego za każdym razem, gdy aplikacja jest otwierana, pojawia się okno dialogowe „Zezwól lub odrzuć”. Można tego uniknąć, aktualizując do wersji aplikacji podpisanej przez jego programistę.

To okno dialogowe może być również wyświetlane za każdym razem, gdy aplikacja jest podpisana, ale podpis samej aplikacji jest uszkodzony, jak w przypadku iTunes .

Możesz sprawdzić podpis, uruchamiając następującą komendę w Terminalu (nie jestem tutaj pewien nazwy aplikacji):

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

Alternatywnie, może usunąć aplikację w ustawieniach zapory, a następnie sprawdzić, czy ponowne zaakceptowanie wystarczy, aby OS X przestał Cię pytać? A może wprost dodać to za pomocą tych ustawień?

A jeśli chodzi o ustawienie domyślne: upewnij się, że opcja „Automatycznie zezwalaj podpisanemu oprogramowaniu na odbieranie połączeń przychodzących” jest włączona:

Arjan
źródło
całkiem dobra odpowiedź - znalazłem to ustawienie domyślne, o którym wspomniałeś, ale nie jest zadowalające, ponieważ wszystkie połączenia przychodzące zostaną włączone w ten sposób automatycznie, ale myślę, że to jedyna opcja
Chris
1
@ Chris, jeśli martwisz się (słusznie), że podpisane aplikacje mogą akceptować połączenia przychodzące, pamiętaj, że zapora OS X filtruje tylko połączenia przychodzące . Pozwala na wszystkie połączenia wychodzące, więc z punktu widzenia bezpieczeństwa powiedziałbym, że każda inna zapora ogniowa jest lepsza niż OS X. (Ale niektórzy się z tym nie zgadzają , podczas gdy inni nie zgadzają się z tymi, którzy się nie zgadzają ...)
Arjan
@Chris, jakieś wyniki kontroli podpisu? A po usunięciu aplikacji z ustawień zapory sieciowej, aby sprawdzić, czy „Zezwól” nadal się utrzymuje (może do następnej aktualizacji ...)?
Arjan
dzięki za wskazówki - faktycznie używam LittleSnitch do lepszej zapory ogniowej z powodów, które wyjaśniłeś, ale nadal mam włączoną zaporę OS X - przetestuję usunięcie jej stamtąd i zobaczę, czy to coś robi
Chris
1
Tak, właśnie to zrobiłem i oczekuję, że się wydarzy. Jednak, chociaż uważam, że wewnętrzna synchronizacja została niedawno zaktualizowana, zapora systemu OS X nie przeszkadzała mi ponownie (jak dotąd). Zapora sieciowa „wie”, że jest to wewnętrzny plik wykonywalny, który prosi o pozwolenie i nie dodaje aplikacji opakowania (kto podpis jest uszkodzony). Wewnętrzny plik wykonywalny zawsze ma prawidłowy podpis (po każdej aktualizacji), ale nie wiem, czy zapora OS X sprawdza zmiany podpisu? W tym przypadku również Skype itp. Powinien prosić o uprawnienia po każdej aktualizacji (czego nie wiem, o ile wiem).
Chris
0

Ta instrukcja na stałe wyłącza to irytujące wyskakujące okienko, a rozwiązanie ma zastosowanie do wszystkich aplikacji, które nie mają lub mają niewłaściwy podpis cyfrowy.

W skrócie:

sudo codesign --force --deep --sign - path-to-the-app.app
HerrRobot
źródło
Podpisanie aplikacji wydaje się dobrym sposobem na zniknięcie tego wyskakującego okienka dla aplikacji bez podpisu. Jednak powyższe polecenie wydaje mi się nie działać. Nigdy nie podpisałem aplikacji. Czy jest jakiś klucz do wygenerowania w pierwszej kolejności? lub konfiguracja do konfiguracji? Zazwyczaj dostaję error: The specified item could not be found in the keychain.
Pierre-Antoine