Урок 4 з 5 · 9 хв
Сервіси, обмін і відкриті порти
Вимкніть служби спільного доступу, якими ви не користуєтеся, подивіться, що насправді прослуховує підключення, і ввімкніть брандмауер програм.
Кожна служба спільного доступу, яку ви залишаєте, — це невеликий мережевий сервер, який працює на вашому Mac і чекає, поки хтось до нього підключиться. Більшість людей вмикають один раз для виконання одного завдання й ніколи не вимикають. У цьому уроці описано, як знайти та закрити їх, а потім додати брандмауер зверху як другий рівень.
Служби обміну
У поточній ОС macOS служби обміну доступні в системних налаштуваннях → Загальні → Спільний доступ: Спільний доступ до файлів, Спільний доступ до екрана, Віддалений вхід (SSH), Віддалене керування, Спільний доступ до медіафайлів, Кешування вмісту, Спільний доступ до Інтернету, Спільний доступ до принтера та деякі інші, залежно від Mac. Кожен з них вимкнено за замовчуванням і залишається вимкненим, доки ви не ввімкнете його з певної причини, як-от надсилання файлу на інший Mac у тій самій мережі або дозвіл помічнику підключитися віддалено.
- Якщо ви один раз увімкнули спільний доступ до файлів, щоб переміщувати файли між двома комп’ютерами Mac, або спільний доступ до екрана, щоб отримати допомогу від когось, вимкніть його на тій самій панелі спільного доступу, коли завершите.
- Віддалений вхід відкриває SSH-доступ до вашого Mac. У власній документації Apple прямо сказано, що «дозвол віддаленого входу до вашого Mac може зробити його менш безпечним». Залиште його вимкненим, якщо вам спеціально не потрібно підключитися до цього Mac з іншого місця.
- Якщо кілька з них увімкнено, а ви не пам’ятаєте, що їх увімкнули, це варто дослідити.
Бачити те, що насправді слухає
Вимкнення служб спільного доступу в налаштуваннях системи закриває ті, для яких Apple відкриває перемикач, але інше програмне забезпечення (медійний сервер, інструмент розробки, драйвер принтера) може відкривати власні порти прослуховування без запиту. lsof (список відкритих файлів, які в Unix включають мережеві сокети) може показати вам кожен процес, який зараз очікує на вхідне з’єднання 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)Кожен рядок — це один процес, який прослуховує один порт: назва команди, її ідентифікатор процесу, адреса, до якої вона прив’язана (* означає кожен мережевий інтерфейс, 127.0.0.1 означає лише локальні підключення) і номер порту після двокрапки. -n та -P повідомляють lsof показувати необроблені адреси та номери портів замість їх розпізнавання, що швидше та зрозуміліше. Порт, пов’язаний лише з 127.0.0.1, доступний лише з самого Mac; порт, прив’язаний до *, може бути доступний з інших пристроїв, якщо це дозволено мережею. Деякі записи будуть власними фоновими службами Apple (наприклад, помічник AirDrop/Handoff rapportd або приймач AirPlay Центру керування); ті, які варто поставити під сумнів, це встановлені вами програми, які ви взагалі не очікували слухати.
Брандмауер програми
Брандмауер програм у меню «Системні параметри» → «Мережа» → «Брандмауер» є другим рівнем, який закриває невикористані служби: замість блокування за номером порту він вирішує для кожної програми, чи може ця програма взагалі приймати вхідні з’єднання. Apple описує це як захист Mac «від небажаного контакту, ініційованого іншими комп’ютерами, коли ви під’єднані до Інтернету чи мережі», і водночас дозволяє вам використовувати певні програми чи служби.
| Варіант брандмауера | Що він робить |
|---|---|
| Блокувати всі вхідні підключення | Запобігає вхідним підключенням до несуттєвих служб і програм, залишаючи лише базові служби, необхідні Mac для пошуку інших комп’ютерів у мережі. |
| Автоматично дозволяти підписане програмне забезпечення | Дозволяє вбудованим або завантаженим програмам, підписаним дійсним сертифікатом, отримувати вхідні з’єднання без запиту. Вимкнення цього означає більше підказок, але менше тихих винятків. |
| Увімкніть прихований режим | Зупиняє відповіді Mac на тестові запити, включно з ping (ICMP), які в іншому випадку можуть бути використані для виявлення його існування в мережі. |
Ви можете перевірити поточний стан брандмауера з терміналу, нічого не змінюючи:
/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. Що вам показує `lsof -iTCP -sTCP:LISTEN -n -P`?
- Кожен файл, який коли-небудь відкривався на Mac
- Кожен процес, який зараз прослуховує вхідні TCP-з’єднання, зі своїм портом — Правильно.
- Список заблокованих IP-адрес
- Пароль Wi-Fi Mac
Ця точна комбінація прапорів відфільтровує `lsof` до процесів із відкритим прослуховуючим сокетом TCP, що показує необроблені адреси та номери портів.
2. Що означає порт прослуховування, який відображається як `127.0.0.1:5432`?
- Він доступний з будь-якого пристрою в Інтернеті
- Він доступний лише з самого Mac — Правильно.
- Це служба Bluetooth
- Його заблоковано брандмауером
127.0.0.1 — це петлева адреса: підключення до неї можуть виходити лише з тієї самої машини.
3. Що головним чином контролює брандмауер програм macOS?
- Програми для вихідних з’єднань з Інтернетом
- Вхідні підключення до програм і служб на Mac — Правильно.
- Запити на сполучення Bluetooth
- Які сайти можна відвідувати
Брандмауер програми вирішує для кожної програми, чи дозволені небажані вхідні підключення; він не фільтрує, які програми надсилають.
Застосуйте на практиці з FireAI
Застосуйте цей урок на своєму Mac.
- Режими безпеки: Дім, Кав’ярня, Параноїк, Під атакою — Підлаштуйте суворість FireAI під те, де насправді перебуває ваш Mac, одним дотиком.
- Знайдіть застосунки з відомими вразливостями — Закрийте відомі прогалини раніше, ніж ними хтось скористається: оновіть той один застосунок, якому це потрібно.
- Відповідь на перший запит про з’єднання, і що означає кожен термін дії — Зрозумійте точно, що ви схвалюєте, коли FireAI питає вперше.
Джерела
- 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
Застосуйте це на своєму Mac
Усі функції безкоштовно на 17 днів, без банківської картки.