Що таке фаєрвол
Фаєрвол - це фільтр між мережами (або на самому хості), що пропускає чи блокує трафік за правилами: за адресою, портом, протоколом і станом зʼєднання. Усе, що правилом явно не дозволено, за замовчуванням блокується - це принцип default-deny, до якого й прагнуть.
Куди він дивиться: вхід і вихід
- Вхідний (ingress) - хто ззовні може достукатися до твоїх портів. Це «класичний» фаєрвол: закрити все зайве, лишити тільки потрібне (напр. 443, а решту сховати)
- Вихідний (egress) - куди сам хост може ходити назовні. Про нього часто забувають, а даремно: суворий egress ламає багато післяексплойт-технік - reverse shell, вивантаження даних, звернення до C2
Стан: stateless проти stateful
- Stateless - дивиться на кожен пакет окремо, за простими правилами (адреса/порт)
- Stateful - памʼятає активні зʼєднання: якщо ти дозволив вихідний запит, відповіді на нього пройдуть самі. Майже всі сучасні фаєрволи stateful
Де він живе
- Хостовий - на самій машині:
iptables/nftables, зручна обгортка ufw, у Windows - Defender Firewall
- Мережевий - на межі мережі (апаратний чи периметровий), фільтрує цілі сегменти
- Хмарний - security groups і network ACL у хмарі: ті самі правила ingress/egress, лише на рівні провайдера
Що це означає для атаки
- Стан filtered у скані - це і є фаєрвол: він мовчки відкидає пакет, тож незрозуміло, що за портом (на відміну від closed, який хоч відповідає)
- Фаєрвол звужує поверхню атаки - у скан потрапляє лише дозволене, тож видно менше, ніж реально слухає на хості
- egress слабший за ingress - вихідні 80/443/53 майже завжди відкриті, тому reverse shell проходить там, де bind ні: ціль сама йде назовні дозволеним портом
- Свій сервіс на дозволеному порту - класична щілина (тунель крізь 443): правило дивиться на номер порту, а не на те, що всередині
Погляд захисника
Менше відкритого на вхід (default-deny), контроль egress (не лише вхід!), сегментація мережі - щоб пробитий хост не бачив геть усе - і журнал відкинутого трафіку. Фаєрвол не панацея, а спосіб звузити те, з чим взагалі можна працювати: і ззовні, і зсередини.