Lekcja 4 z 5 · 9 min
Usługi, udostępnianie i otwarte porty
Wyłącz nieużywane usługi udostępniania, sprawdź, co naprawdę nasłuchuje połączeń, i włącz Application Firewall.
Każda pozostawiona włączona usługa udostępniania to mały serwer sieciowy działający na twoim Macu, czekający, aż ktoś się z nim połączy. Większość ludzi włącza jedną z nich raz, do jednego zadania, i nigdy jej nie wyłącza. Ta lekcja pokazuje, jak je znaleźć i zamknąć, a następnie dodać firewall jako drugą warstwę ochrony.
Usługi udostępniania
W aktualnym macOS usługi udostępniania znajdują się w Ustawieniach systemowych → Ogólne → Udostępnianie: Udostępnianie plików, Udostępnianie ekranu, Zdalne logowanie (SSH), Zdalne zarządzanie, Udostępnianie multimediów, Buforowanie treści, Udostępnianie internetu, Udostępnianie drukarki i kilka innych, zależnie od Maca. Każda z nich jest domyślnie wyłączona i pozostaje wyłączona, dopóki nie włączysz jej z konkretnego powodu, na przykład wysłania pliku do innego Maca w tej samej sieci albo umożliwienia komuś zdalnej pomocy.
- Jeśli włączyłeś kiedyś Udostępnianie plików, żeby przenieść pliki między dwoma Makami, albo Udostępnianie ekranu, żeby uzyskać czyjąś pomoc, wyłącz to ponownie w tym samym panelu Udostępnianie, gdy skończysz.
- Zdalne logowanie otwiera dostęp SSH do twojego Maca. Dokumentacja Apple wprost stwierdza, że „zezwolenie na zdalne logowanie do Maca może obniżyć jego bezpieczeństwo”. Zostaw je wyłączone, chyba że konkretnie potrzebujesz łączyć się z tym Makiem z innego miejsca.
- Jeśli kilka z tych usług pokazuje się jako włączone, a nie pamiętasz, żebyś je włączał, samo to już warto zbadać.
Sprawdzanie, co naprawdę nasłuchuje
Wyłączenie usług udostępniania w Ustawieniach systemowych zamyka te, dla których Apple udostępnia przełącznik, ale inne oprogramowanie (serwer multimediów, narzędzie programistyczne, sterownik drukarki) może otworzyć własne porty nasłuchujące bez pytania. lsof (list open files, co w Unixie obejmuje też gniazda sieciowe) może pokazać każdy proces obecnie oczekujący na przychodzące połączenie TCP:
lsof -iTCP -sTCP:LISTEN -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rapportd 1442 admin 15u IPv4 ... 0t0 TCP *:64654 (LISTEN)
ControlCe 1775 admin 9u IPv4 ... 0t0 TCP *:7000 (LISTEN)Każdy wiersz to jeden proces nasłuchujący na jednym porcie: nazwa polecenia, jego identyfikator procesu, adres, do którego jest przypisany (* oznacza każdy interfejs sieciowy, 127.0.0.1 oznacza wyłącznie połączenia lokalne) oraz numer portu po dwukropku. -n i -P mówią lsof, aby pokazywał surowe adresy i numery portów zamiast je rozwiązywać, co jest zarówno szybsze, jak i czytelniejsze. Port przypisany wyłącznie do 127.0.0.1 jest osiągalny tylko z samego Maca; port przypisany do * może, w zależności od sieci, być osiągalny z innych urządzeń. Niektóre wpisy będą własnymi usługami działającymi w tle Apple (jak pomocnik AirDrop/Handoff rapportd, albo odbiornik AirPlay w Centrum sterowania); warto zapytać o te, które pochodzą z zainstalowanych przez ciebie aplikacji, po których w ogóle nie spodziewałeś się, że nasłuchują.
Application Firewall
Application Firewall, w Ustawieniach systemowych → Sieć → Zapora sieciowa, to druga warstwa ponad zamykaniem nieużywanych usług: zamiast blokować według numeru portu, decyduje osobno dla każdej aplikacji, czy w ogóle może ona przyjmować połączenia przychodzące. Apple opisuje ją jako chroniącą Maca „przed niechcianym kontaktem inicjowanym przez inne komputery, gdy jesteś połączony z internetem lub siecią”, przy jednoczesnym umożliwieniu przepuszczania konkretnych aplikacji lub usług.
| Opcja firewalla | Co robi |
|---|---|
| Blokuj wszystkie połączenia przychodzące | Uniemożliwia połączenia przychodzące do niepotrzebnych usług i aplikacji, pozostawiając tylko podstawowe usługi wymagane, aby Mac mógł znajdować inne komputery w sieci. |
| Automatycznie zezwalaj na podpisane oprogramowanie | Pozwala wbudowanym lub pobranym aplikacjom podpisanym prawidłowym certyfikatem odbierać połączenia przychodzące bez pytania. Wyłączenie tej opcji oznacza więcej pytań, ale mniej cichych wyjątków. |
| Włącz tryb ukrycia | Uniemożliwia Macowi odpowiadanie na żądania sondujące, w tym ping (ICMP), które mogłyby inaczej posłużyć do wykrycia jego obecności w sieci. |
Aktualny stan firewalla możesz sprawdzić w Terminalu bez wprowadzania żadnych zmian:
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
Firewall is enabled. (State = 1)
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
Firewall stealth mode is offWłączenie firewalla i trybu ukrycia wymaga hasła administratora; powyższe polecenia --get, wyłącznie do odczytu, niczego nie zmieniają.
Najważniejsze
- Usługi udostępniania (Udostępnianie plików, Udostępnianie ekranu, Zdalne logowanie i inne) znajdują się w Ustawieniach systemowych → Ogólne → Udostępnianie, są domyślnie wyłączone i po zakończeniu konkretnego zadania powinny zostać wyłączone ponownie.
- `lsof -iTCP -sTCP:LISTEN -n -P` wyświetla każdy proces obecnie nasłuchujący przychodzących połączeń TCP, dzięki czemu można wyłapać porty, które nie powinny być otwarte.
- Port przypisany do `127.0.0.1` jest dostępny wyłącznie lokalnie; port przypisany do `*` może być potencjalnie osiągalny z sieci.
- Application Firewall kontroluje połączenia przychodzące osobno dla każdej aplikacji; tryb ukrycia uniemożliwia Macowi odpowiadanie na sondowanie, na przykład ping.
- Application Firewall nie filtruje połączeń wychodzących.
Sprawdź się
1. Co pokazuje `lsof -iTCP -sTCP:LISTEN -n -P`?
- Każdy plik kiedykolwiek otwarty na Macu
- Każdy proces obecnie nasłuchujący przychodzących połączeń TCP wraz z jego portem — Dobrze.
- Listę zablokowanych adresów IP
- Hasło do sieci Wi-Fi Maca
Dokładnie ta kombinacja flag zawęża `lsof` do procesów z otwartym, nasłuchującym gniazdem TCP, pokazując surowe adresy i numery portów.
2. Co oznacza nasłuchujący port pokazany jako `127.0.0.1:5432`?
- Jest osiągalny z dowolnego urządzenia w internecie
- Jest osiągalny wyłącznie z samego Maca — Dobrze.
- To usługa Bluetooth
- Został zablokowany przez firewall
127.0.0.1 to adres loopback: połączenia do niego mogą pochodzić wyłącznie z tej samej maszyny.
3. Co przede wszystkim kontroluje Application Firewall w macOS?
- Połączenia wychodzące, które aplikacje nawiązują z internetem
- Połączenia przychodzące do aplikacji i usług na Macu — Dobrze.
- Żądania parowania Bluetooth
- Które strony internetowe można odwiedzać
Application Firewall decyduje, osobno dla każdej aplikacji, czy niechciane połączenia przychodzące są dozwolone; nie filtruje tego, co aplikacje wysyłają na zewnątrz.
Wypróbuj to z FireAI
Zastosuj tę lekcję w praktyce na swoim Macu.
- Tryby bezpieczeństwa: Dom, Kawiarnia, Paranoiczny, Pod atakiem — Dopasuj surowość FireAI do miejsca, w którym faktycznie jest twój Mac, jednym dotknięciem.
- Znajdź aplikacje ze znanymi lukami bezpieczeństwa — Zamknij znane luki, zanim ktoś je wykorzysta: zaktualizuj jedną aplikację, która tego potrzebuje.
- Odpowiedz na pierwsze pytanie o połączenie i dowiedz się, co oznacza każdy czas trwania — Zrozum dokładnie, na co się zgadzasz, gdy FireAI pyta po raz pierwszy.
Źródła
- Apple Support: Block connections to your Mac with a firewall
- Apple Support: Change Firewall settings on Mac
- Apple Support: Allow a remote computer to access your Mac (Remote Login)
- Apple Support: Set up file sharing on Mac
Zastosuj to na swoim Macu
Wypróbuj wszystkie funkcje za darmo przez 17 dni, bez karty.