Брандмауери
Брандмауер — це найстаріший елемент мережевої безпеки, який все ще широко використовується, і цей термін охоплює все: від домашнього маршрутизатора за 30 доларів до корпоративного пристрою вартістю мільйон доларів. Розуміння того, що насправді робить — і чого не робить — кожне покоління, пояснює, чому «у нас є брандмауер» майже ніколи не є достатньою відповіддю на питання безпеки.
Повний текст статті подано англійською мовою нижче.
A firewall — це система, яка контролює мережевий трафік між двома зонами на основі набору правил. Трафік дозволений, заборонений або трансформований; зони, як правило, є «всередині» (надійна мережа) і «зовні» (загальнодоступний Інтернет), хоча сучасна мікросегментація має багато зон.
Покоління брандмауерів
Можливості брандмауера розвивалися через ідентифіковані покоління, кожне з яких додало до останнього:
- Пакетні фільтри (1980-ті). Правила без збереження стану щодо IP-адрес, номерів портів і протоколів. Дозволити TCP/443 для
198.51.100.0/24, заборонити все інше. Дешево і швидко; не може визначити зворотний трафік від нових з’єднань. - Інспекція стану (1990-ті). Відстежує стан з’єднань TCP. Стає можливим «Дозволити зворотний трафік для встановлених з’єднань», що значно покращує точність і безпеку правил. Check Point FireWall-1 започаткував це в 1993 році.
- Брандмауери прикладного рівня (2000-ті). Перевірте корисне навантаження, а не лише заголовки. Брандмауери з підтримкою HTTP (брандмауери веб-додатків) розуміють URL-адреси, методи, файли cookie та можуть застосовувати такі політики, як «лише POST дозволено для /api/login».
- Брандмауери наступного покоління (2010-ті роки). Поєднуйте перевірку стану, глибоку перевірку пакетів, IDS/IPS, фільтрацію з урахуванням програм та аналіз загроз. подається в один прилад. Palo Alto, Fortinet, Check Point, Cisco – усі варіанти продажу.
- Zero Trust / identity-aware (2020-ті роки). Авторизація здійснюється за запитом на основі ідентифікації користувача, положення пристрою та динамічної політики, а не в зоні мережі. Функція брандмауера розмивається в проксі-серверах ширшого доступу (Cloudflare Access, Zscaler, BeyondCorp).
Основна структура правила
Кожне правило брандмауера має приблизно однакові поля:
- Джерело — IP-адреса або діапазон, іноді інтерфейс
- Призначення — IP або діапазон
- Протокол — TCP, UDP, ICMP, ESP тощо. port — служба, до якої здійснюється доступ
- Action — ДОЗВОЛИТИ, ЗАБОРОНИТИ, LOG, REJECT
Правила оцінюються зверху вниз. Перший матч виграє, тому порядок має значення. Традиційний шаблон: дозволити певні винятки, потім заборонити за замовчуванням.
Stateful проти стану без стану: чому відмінність важлива
A фільтр без стану має дозволяти обидва напрямки TCP-з’єднання окремо. Дозволити вихідний TCP/443; дозволити вхідні відповіді TCP/443 із встановленим бітом ACK. Вхідне правило дозволяє будь-який пакет із ACK, включаючи небажані тестові пакети, створені з цим бітом. Справжні зловмисники користуються цим роками.
A брандмауер із збереженням стану відстежує кожне з’єднання за його 5 кортежами (вихідна IP-адреса, вихідний порт, цільова IP-адреса, цільовий порт, протокол) і запам’ятовує, з якого напрямку воно було розпочато. Зворотний трафік зіставляється з таблицею з’єднань; небажані пакети, які видають себе за відповіді, не мають запису та відкидаються. По суті, усі сучасні брандмауери відстежують стан. Брандмауери хосту
проти мережевих брандмауерів
A Брандмауер хосту працює на самій кінцевій точці — брандмауер Windows, pf у macOS, nftables/iptables у Linux. Фільтрує трафік у мережевому стеку ОС до того, як його побачать програми. Легко обійти, якщо кінцеву точку скомпрометовано, але зупиняє випадкове сканування мережі.
A Мережевий брандмауер працює на спеціальному пристрої або віртуальному маршрутизаторі між мережевими зонами. Бачить весь транспорт, що перетинає кордон. Неможливо обійти без шкоди для самого брандмауера. Ці два взаємодоповнюють один одного; Defend-in-depth використовує обидва.
Поширені помилки брандмауера
- Implicit allow. Список правил, який закінчується без явної заборони, успадковує політику за замовчуванням, якою для деяких продуктів є «дозволити». Катастрофічний.
- Дозволяє все з "внутрішнього". Коли зловмисник знаходиться всередині периметра, брандмауеру нічого робити. Нульова довіра передбачає, що периметр уже порушено.
- Застарілі правила. Правила, накопичені роками, посилаються на IP-адреси, які змінилися, і проекти, які завершилися. Кожне правило є поверхнею атаки; перевірити їх.
- Довіра вихідним портам. Вихідні порти є ефемерними та вибираються клієнтом. Правила, які дозволяють певний вихідний порт, можуть бути запущені будь-ким, хто вибере цей порт.
- ICMP blanket-block. Скидає повідомлення, від яких залежить шлях виявлення MTU, розбиваючи великі пакети на деяких шляхах. Дозволити принаймні типи 3 (пункт призначення недоступний) і 11 (перевищено час) ICMP.
Там, де брандмауери сьогодні не працюють
Робочі навантаження в хмарі часто змінюють IP-адреси, зашифрований трафік протидіє DPI, програми використовують порт 443 для всього, а користувачі підключаються з кав’ярень і готелів, а не з корпоративних офісів. Класичний брандмауер периметра більше не бачить більшість важливого трафіку. Відповідь є багаторівневою: проксі-сервери з підтримкою ідентичності для користувачів, сітка сервісу для сервісу-сервісу, мікросегментація на рівні хоста всюди. Брандмауер не зник; він збільшився та наблизився до кожного робочого навантаження.
Часті запитання
- Чи достатньо брандмауера маршрутизатора для домашнього використання?
- Для звичайного домашнього використання так — маршрутизатор із збереженням стану та параметрами за замовчуванням блокує небажаний вхідний трафік, який є основною зовнішньою загрозою. Підключіть його до розумного брандмауера ОС на кожному пристрої, і ви покриєте основи. Брандмауери корпоративного рівня додають функції (IPS, контроль програм, концентратор VPN), які зазвичай не потрібні для домашнього використання.
- Чи обходить VPN брандмауер?
- Зсередини так — вихідний трафік до кінцевої точки VPN є одним дозволеним потоком; все інше рухається всередині цього тунелю. Саме через це більшість корпоративних брандмауерів блокують загальні порти VPN. Ззовні ні — брандмауер все одно пропускає небажаний вхідний трафік до служби VPN, якщо це явно не дозволено.
- Яка різниця між брандмауером і IPS?
- Брандмауер дозволяє або блокує на основі правил щодо заголовків (і все частіше корисних навантажень). IPS (система запобігання вторгненням) активно перевіряє трафік на наявність відомих моделей атак або аномалій і може блокувати при виявленні. Сучасні брандмауери об’єднують функції IPS; концептуально це відмінні риси.
- Чи можу я просто вимкнути брандмауер, щоб вирішити проблему з’єднання?
- Ні, навіть тимчасово. Якщо підключення потребує вимкнення брандмауера, потрібно відкрити певний порт або правило — знайдіть, яке саме. Вимкнення брандмауера під час «налагодження» стало початком багатьох реальних інцидентів.
- Що таке брандмауер веб-програм?
- WAF — це спеціалізований брандмауер, який підтримує HTTP. Він перевіряє URL-шляхи, заголовки, тіла запитів і файли cookie та застосовує правила проти відомих моделей атак (впровадження SQL, XSS, впровадження команд). Він працює перед веб-додатками, часто як частина CDN, як-от Cloudflare або AWS WAF. Він доповнює, а не замінює брандмауери мережевого рівня.