Налаштування брандмауера, Мережеві технології

Мета роботи: Ознайомитись з принципами роботи міжмережевого екрану netfilter, вбудованого в ядро ОС Linux на прикладі дистрибутива OpenSuSE. Вивчити правила побудови фільтрів та процедуру налаштування файрволу за допомогою утиліт iptables та SuSEfirewall2.
Завдання до роботи
- Вивести список поточних правил (iptables -Lnv)
- Зберегти поточні налаштування у файлі iptables.backup (iptables-save > iptables.backup, ім'я файлу може бути будь-яке).
- Очистити всі правила файрволу
- Створити скрипт, який завантажує наступний набір фільтрів:
- всі вихідні пакети з локального хоста дозволити;
- всі вхідні ICMP-пакети дозволити;
- всі вхідні пакети на TCP-і UDP-порти вище 1024 дозволити;
- всі вхідні пакети на TCP-порти 20, 21 дозволити
- всі вхідні пакети на порти 22, 139 журналувати та відкидати
- всі вхідні пакети на TCP-порт 80, 443, 8080 дозволити
- всі інші вхідні пакети заборонити
- Підключити скрипт в автоматичне завантаження під час запуску системи;
- протестувати працездатність створеного набору фільтрів;
- Видалити всі правила та знову протестувати систему;
- Повернути збережені налаштування файрвола (з резервного файлу).
Файрвол чи брандмауер?
українською мовою для позначення міжмережевого екрану використовують запозичені слова «файрвол» (англ. firewall) та «брандмауер» (нім. Brandmauer), які обидва дослівно перекладаються як «вогненна стіна» та позначають протипожежний бар'єр між будинками. Дискусію про те, яка транскрипція англомовного терміна буде більш правильною: файрволл, файрвол, фаєрвол або фаєрвол — залишимо на забавуфілологам.
Методичні вказівки
Міжмережевий екран netfilter
Ядро операційної системи Linux з версії 2.0.x має вбудований міжмережевий екран, що розробляється та підтримується в рамках відкритого проекту netfilter.org. Файрволл Linux традиційно називають iptables, хоча правильним назвою є netfilter.
Цей брандмауер може використовуватись для контролю трафіку як на маршрутизаторах з кількома мережевими інтерфейсами, так і на персональних робочих станціях: алгоритм обробки пакетів буде однаковим в обох випадках (рис. 1).

Мал. 1. Концепція обробки пакетів файрволом netfilter
Деякі пояснення до рис. 1:
Правила, ланцюжки та таблиці – це назви основних «будівельних блоків» netfilter/iptables:
- Правило - структура, що описує критерії відповідності, застосовувану дію та лічильника. Якщо пакет відповідає критерію, до нього застосовується вказана дія, і цей факт фіксується лічильником.
- Ланцюжок — впорядкований набір правил, послідовно застосовуваних до пакета. На рис. 1 кольором відзначені ланцюжки INPUT, FORWARD та OUTPUT. Вони, а також ланцюжки PREROUTING та POSTROUTING, є базовими та створюються при ініціалізації таблиць. Крім базових, iptables дозволяє створювати користувальницькі ланцюжки.
- Таблиця - сукупність базових і користувальницьких ланцюжків, об'єднаних загальним функціональним призначенням.
Зв'язок між переліченими елементами проілюстровано на рис. 2.
Мал. 2. Правила, ланцюжки та таблиці міжмережевого екрану Linux.
У поточній версії міжмережевого екрану (iptables v1.4.16.3) підтримуються 4 вбудовані таблиці.
Таблиця filter містить ланцюжки правил фільтрації пакетів. Пакети можутьпропускатися далі або відхилятися (дії ACCEPT і DROP відповідно), залежно від їхнього вмісту. Ця таблиця використовується за умовчанням і представляє 3 ланцюжки:
- INPUT – правила фільтрації вхідних пакетів.
- OUTPUT – фільтр вихідного трафіку, згенерованого локально.
- FORWARD – фільтрація транзитного трафіку, що маршрутизується.
Використання iptables
Для отримання короткої довідки щодо використання утиліти можна викликати її з параметром --help:
SEE ALSO:iptables-apply(8), iptables-save(8), iptables-restore(8), iptables-extensions(8), ip6tables(8), ip6tables-save(8), ip6tables -Restore(8), libipq(3).
SuSEfirewall2
Зони, базове налаштування, тонке налаштування через файл конфігурації тощо.