Перейти до вмістуHisnLabs
← Зміцнення macOS, налаштування за налаштуваннями

Урок 4 з 5 · 9 хв

Сервіси, обмін і відкриті порти

Вимкніть служби спільного доступу, якими ви не користуєтеся, подивіться, що насправді прослуховує підключення, і ввімкніть брандмауер програм.

Кожна служба спільного доступу, яку ви залишаєте, — це невеликий мережевий сервер, який працює на вашому Mac і чекає, поки хтось до нього підключиться. Більшість людей вмикають один раз для виконання одного завдання й ніколи не вимикають. У цьому уроці описано, як знайти та закрити їх, а потім додати брандмауер зверху як другий рівень.

Служби обміну

У поточній ОС macOS служби обміну доступні в системних налаштуваннях → Загальні → Спільний доступ: Спільний доступ до файлів, Спільний доступ до екрана, Віддалений вхід (SSH), Віддалене керування, Спільний доступ до медіафайлів, Кешування вмісту, Спільний доступ до Інтернету, Спільний доступ до принтера та деякі інші, залежно від Mac. Кожен з них вимкнено за замовчуванням і залишається вимкненим, доки ви не ввімкнете його з певної причини, як-от надсилання файлу на інший Mac у тій самій мережі або дозвіл помічнику підключитися віддалено.

  • Якщо ви один раз увімкнули спільний доступ до файлів, щоб переміщувати файли між двома комп’ютерами Mac, або спільний доступ до екрана, щоб отримати допомогу від когось, вимкніть його на тій самій панелі спільного доступу, коли завершите.
  • Віддалений вхід відкриває SSH-доступ до вашого Mac. У власній документації Apple прямо сказано, що «дозвол віддаленого входу до вашого Mac може зробити його менш безпечним». Залиште його вимкненим, якщо вам спеціально не потрібно підключитися до цього Mac з іншого місця.
  • Якщо кілька з них увімкнено, а ви не пам’ятаєте, що їх увімкнули, це варто дослідити.

Бачити те, що насправді слухає

Вимкнення служб спільного доступу в налаштуваннях системи закриває ті, для яких Apple відкриває перемикач, але інше програмне забезпечення (медійний сервер, інструмент розробки, драйвер принтера) може відкривати власні порти прослуховування без запиту. lsof (список відкритих файлів, які в Unix включають мережеві сокети) може показати вам кожен процес, який зараз очікує на вхідне з’єднання TCP:

Terminal
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)

Кожен рядок — це один процес, який прослуховує один порт: назва команди, її ідентифікатор процесу, адреса, до якої вона прив’язана (* означає кожен мережевий інтерфейс, 127.0.0.1 означає лише локальні підключення) і номер порту після двокрапки. -n та -P повідомляють lsof показувати необроблені адреси та номери портів замість їх розпізнавання, що швидше та зрозуміліше. Порт, пов’язаний лише з 127.0.0.1, доступний лише з самого Mac; порт, прив’язаний до *, може бути доступний з інших пристроїв, якщо це дозволено мережею. Деякі записи будуть власними фоновими службами Apple (наприклад, помічник AirDrop/Handoff rapportd або приймач AirPlay Центру керування); ті, які варто поставити під сумнів, це встановлені вами програми, які ви взагалі не очікували слухати.

Брандмауер програми

Брандмауер програм у меню «Системні параметри» → «Мережа» → «Брандмауер» є другим рівнем, який закриває невикористані служби: замість блокування за номером порту він вирішує для кожної програми, чи може ця програма взагалі приймати вхідні з’єднання. Apple описує це як захист Mac «від небажаного контакту, ініційованого іншими комп’ютерами, коли ви під’єднані до Інтернету чи мережі», і водночас дозволяє вам використовувати певні програми чи служби.

Підтримка Apple: змініть налаштування брандмауера на Mac.
Варіант брандмауераЩо він робить
Блокувати всі вхідні підключенняЗапобігає вхідним підключенням до несуттєвих служб і програм, залишаючи лише базові служби, необхідні Mac для пошуку інших комп’ютерів у мережі.
Автоматично дозволяти підписане програмне забезпеченняДозволяє вбудованим або завантаженим програмам, підписаним дійсним сертифікатом, отримувати вхідні з’єднання без запиту. Вимкнення цього означає більше підказок, але менше тихих винятків.
Увімкніть прихований режимЗупиняє відповіді Mac на тестові запити, включно з ping (ICMP), які в іншому випадку можуть бути використані для виявлення його існування в мережі.

Ви можете перевірити поточний стан брандмауера з терміналу, нічого не змінюючи:

Terminal
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
Firewall is enabled. (State = 1)
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
Firewall stealth mode is off

Щоб увімкнути брандмауер і ввімкнути прихований режим, потрібен пароль адміністратора; наведені вище команди --get лише для читання нічого не змінюють.

Головне

  • Служби спільного доступу (Спільний доступ до файлів, Спільний доступ до екрана, Віддалений вхід та інші), доступні в системних параметрах → Загальні → Спільний доступ, вимкнено за замовчуванням, і їх слід знову вимкнути після виконання певного завдання.
  • `lsof -iTCP -sTCP:LISTEN -n -P` містить список усіх процесів, які зараз прослуховують вхідні TCP-з’єднання, тож ви можете помітити порти, які ви не очікували відкрити.
  • Порт, прив’язаний до `127.0.0.1`, є лише локальним; до одного, прив’язаного до `*`, потенційно можна отримати доступ із мережі.
  • Брандмауер програм контролює вхідні з’єднання для кожної програми; невидимий режим не дозволяє комп’ютеру Mac реагувати на такі запити, як ping.
  • Брандмауер програм не фільтрує вихідні з’єднання.

Перевірте себе

  1. 1. Що вам показує `lsof -iTCP -sTCP:LISTEN -n -P`?

    • Кожен файл, який коли-небудь відкривався на Mac
    • Кожен процес, який зараз прослуховує вхідні TCP-з’єднання, зі своїм портом — Правильно.
    • Список заблокованих IP-адрес
    • Пароль Wi-Fi Mac

    Ця точна комбінація прапорів відфільтровує `lsof` до процесів із відкритим прослуховуючим сокетом TCP, що показує необроблені адреси та номери портів.

  2. 2. Що означає порт прослуховування, який відображається як `127.0.0.1:5432`?

    • Він доступний з будь-якого пристрою в Інтернеті
    • Він доступний лише з самого Mac — Правильно.
    • Це служба Bluetooth
    • Його заблоковано брандмауером

    127.0.0.1 — це петлева адреса: підключення до неї можуть виходити лише з тієї самої машини.

  3. 3. Що головним чином контролює брандмауер програм macOS?

    • Програми для вихідних з’єднань з Інтернетом
    • Вхідні підключення до програм і служб на Mac — Правильно.
    • Запити на сполучення Bluetooth
    • Які сайти можна відвідувати

    Брандмауер програми вирішує для кожної програми, чи дозволені небажані вхідні підключення; він не фільтрує, які програми надсилають.

Застосуйте на практиці з FireAI

Застосуйте цей урок на своєму Mac.

Джерела

Застосуйте це на своєму Mac

Усі функції безкоштовно на 17 днів, без банківської картки.

Завантажити для Mac Документація