Як налаштувати фаервол у Windows і на сервері: базові правила
Як налаштувати фаервол у Windows і на сервері: профілі мережі, вхідні та вихідні правила, типові помилки, фаервол чи антивірус і чому для сайту потрібен WAF.
Фаервол є майже в кожній системі — питання лише в тому, наскільки свідомо його налаштували. Вбудований фаервол Віндовс працює одразу після встановлення, і більшість користувачів жодного разу до нього не заглядають. Розберімо, як налаштувати його свідомо, що змінюється на сервері, чим цей засіб відрізняється від антивіруса й чому для сайту потрібен зовсім інший інструмент. Що це за технологія загалом — у статті Firewall: що це і від чого захищає.
Головний принцип: дозволено лише потрібне
Правило безпеки одне для будь-якої системи: блокувати все, крім явно дозволеного. Спершу закриваємо зайве, потім відкриваємо рівно ті порти й програми, без яких робота неможлива. Що менше відчинених дверей — то менше способів увійти.
Із цього випливає й другий принцип: кожен дозвіл має власника та причину. Якщо ніхто в команді не може пояснити, навіщо відкрито порт, — його час закривати.
І третій: дозвіл формулюють якомога вужче. «Цій програмі можна все» — погана ідея; «цій програмі можна звертатися на цю адресу цим портом» — те, до чого варто прагнути.
Фаервол у Windows: із чого почати
У системі вбудований компонент, який називають брандмауером. Він працює з трьома профілями мережі — доменним, приватним і публічним, і для кожного тримає окремий набір правил. Тому дозвіл, виданий удома, не діє автоматично в кафе.
Профіль обирається під час першого підключення до нової мережі: система питає, чи мають інші пристрої вас бачити. Відповідь «так» переводить мережу в приватний режим із м'якшими обмеженнями. У кав'ярні, готелі чи коворкінгу відповідь має бути «ні» — це публічна мережа, і поводитися з нею слід відповідно.
Що варто зробити:
- Переконатися, що компонент увімкнений для всіх трьох профілів. Вимкнений хоча б в одному — це відчинені двері саме там, де мережа найменш довірена.
- Розібратися з вхідними правилами. За замовчуванням вхідні підключення блокуються, якщо для них немає дозволу, — це правильна поведінка, і послаблювати її без потреби не варто.
- Не забувати про вихідні. Тут логіка протилежна: вихідні з'єднання зазвичай дозволені. Якщо потрібен контроль над тим, куди програми звертаються, вихідні правила задають окремо й вручну.
- Обережно з вікном «дозволити доступ». Коли програма вперше просить з'єднання, система показує запит із двома галочками — приватна та публічна мережа. Типова помилка — поставити обидві. Для більшості програм досить приватної.
- Прибрати старі винятки. Дозволи, видані колись «на пробу», лишаються назавжди; раз на квартал варто переглядати список і викидати зайве.
Чого робити не варто: вимикати компонент, щоб «запрацювала програма». Це те саме, що зняти двері, бо не підходить ключ. Правильний шлях — додати одне точкове правило.
На сервері: суворіше й обачніше
Принципи ті самі, вимоги жорсткіші. На Linux-сервері правила задають системними засобами (nftables, ufw та подібні), і тут кожна помилка коштує дорожче:
- відкривайте лише порти працюючих сервісів — вебсервер, поштовий сервіс, база даних, якщо до неї справді звертаються ззовні;
- адміністративний доступ обмежуйте довіреними адресами — віддалене керування, відкрите всьому світу, боти знаходять за години;
- застосовуйте політику «за замовчуванням заборонено» для вхідних з'єднань;
- вмикайте журналювання й переглядайте заблоковані спроби: це показує і атаки, і власні неточні правила;
- перевіряйте результат ззовні, а не зсередини: локально все виглядає доступним завжди.
Класична пастка: закрити порт віддаленого доступу раніше, ніж матимете запасний спосіб увійти. Правило застосовується миттєво — і сесія обривається. Спершу перевірте доступ через консоль хостера, потім змінюйте правила.
Якщо сервіс усе-таки мусить бути доступним ззовні, є два шляхи, кращі за відкритий порт: пускати користувачів через VPN або дозволити підключення лише з переліку відомих адрес. Відкритий світові порт віддаленого керування — найдорожча зі звичних помилок.
Як саме працює перевірка й у якому порядку читаються правила — у матеріалі Міжмережевий екран: як працює.
Порядок дій: коротко
- Складіть перелік потрібних сервісів — що має бути доступним і кому.
- Увімкніть фільтр на всіх профілях мережі й переконайтеся, що вхідні з'єднання блокуються за замовчуванням.
- Відкрийте лише те, що з переліку — точковими правилами, з обмеженням за адресою джерела, де це можливо.
- Обмежте адміністративний доступ довіреними адресами й переконайтеся, що маєте запасний спосіб увійти.
- Увімкніть журнал і перегляньте перші дні роботи: усе заблоковане, що потрібне, — це неточність у правилах.
- Заплануйте перегляд списку дозволів — раз на квартал або після кожної зміни в інфраструктурі.
Після змін: перевірте, що нічого не зламали
Нові обмеження мають дві однаково неприємні крайності — надто суворі ламають робочі сервіси, надто м'які нічого не дають. Тому:
- одразу після змін перевірте доступність сервісів очима користувача, а не адміністратора;
- лишіть собі спосіб швидко відкотити зміну, поки не переконаєтеся, що все живе;
- дивіться журнал перших днів: там видно, що заблоковано зайвого.
Що таке міжмережеві екрани у вашій інфраструктурі
Множина тут не випадкова: фільтрів зазвичай кілька, і працюють вони одночасно — у маршрутизаторі, в операційній системі, у панелі хостера, у хмарного провайдера. Через це найпоширеніша проблема налаштування звучить так: «правило додав, а не працює».
Що робити:
- визначте, на якому рівні блокується трафік, — перевіряйте послідовно, від зовнішнього до внутрішнього;
- не дублюйте одну політику на всіх рівнях: заплутаєтеся, який саме фільтр спрацював;
- тримайте перелік правил у документі, а не в голові адміністратора, який звільнився торік;
- лишайте «головним» один рівень — той, який реально фільтрує, — а решту тримайте в базовому стані.
Захист міжмережевим екраном — базовий рівень, з якого починають, але сам собою він закриває тільки мережеві підключення.
Фаервол чи антивірус — що обирати
Хибна дилема: потрібні обидва, бо загрози в них різні.
- Фаервол контролює з'єднання: хто, куди й яким портом підключається.
- Антивірус перевіряє файли та програми — те, що вже потрапило на пристрій поштою, флешкою чи завантаженням.
Скачаний із листа файл фільтр трафіку не зупинить: з'єднання ініціював сам користувач, і формально все чисто. Зате антивірус не завадить чужому підключенню до відкритої бази даних. Тому фаервол і антивірус працюють у парі, а не замість одне одного.
Фаервол для сайту — це вже WAF
Запит «firewall для сайту» веде до непорозуміння. Мережевий фільтр на сервері не бачить атак на сам вебзастосунок: SQL-ін'єкція чи спроба обійти вхід приходять звичайним запитом на дозволений порт 443 — з погляду правил це нормальний вебтрафік.
Для цього рівня існує окремий інструмент — WAF (Web Application Firewall), який розбирає зміст запитів. Тож фаервол для сайту в буквальному сенсі — це пара: мережевий фільтр на периметрі плюс WAF перед застосунком. Різні типи таких рішень порівняно у статті Види WAF.