Learning firewalld е проста и мощна защитна стена за Linux, която заменя iptables

проста

Съдържанието на статията

iptables и други

Проектът iptables, разработен от Rusty Russell през 1999 г. за управление на netfilter и замяна на ipchains и редица други инструменти като ipnatctl в ядрото 2.4, предлага по-разширяем начин за филтриране на пакети, като дава на системния администратор повече контрол, като същевременно опростява самите правила. И така, в ipchains беше необходимо да се създаде правило във всяка верига, проследяващо целия маршрут на пакета, сега едно е достатъчно. Появата на модули направи много лесно разширяването на възможностите. По време на разработването на проекта iptables беше пренесен към IPv6 (през 2011 г. ip6tables), бяха добавени допълнителни модули (ULOG, nf_conntrack), той се научи как да извършва различни манипулации на пакети, класифицира трафик (до седмо OSI ниво), балансиране на натоварването и много други. С нарастването на броя на функциите настройките станаха по-сложни. В същото време, въпреки известна унификация, всяко разширение има свой собствен синтаксис, някои поддържат диапазони, отрицание, префикси, други не. Първоначално всяка промяна на правилото изискваше пълно рестартиране на защитната стена, включително разтоварване на модули, което доведе до прекъсване на установените връзки. Сега няма такъв проблем.

За прости случаи конфигурирането с iptables е проста работа, но в сложни мрежи управлението на голям брой правила става трудно; за да научите всички настройки и да разберете как работи, трябва да отделите време. Трудно е да се разбере какво правят всички вериги веднага, правилата започват да се повтарят, стават трудни за поддръжка, актуализиране и прехвърляне към други системи.

Не е изненадващо, че са измислени различни добавки за решаване на тези проблеми. И така, в Ubuntu запроста настройка на правило се използва от ufw (Uncomplicated Firewall - проста защитна стена). Например, за да отворите достъп до SSH порта, просто въведете

Разработчиците на приложения могат да създават готови профили, които се активират при инсталиране на пакета, спестявайки на потребителя измислянето и въвеждането на правила.

Друг известен проект, който улеснява поддържането на сложни правила, е FERM (за лесно създаване на правила). Във FERM всички правила се съхраняват в един файл, който е лесен за четене, редактиране и зареждане с една команда. Такъв файл е лесен за прехвърляне между компютри. Самите правила са групирани в блокове, съдържат променливи, списъци, което ви позволява да зададете същите настройки в по-кратка и по-разбираема форма. Крайният размер на правилата на FERM е три пъти по-малък от този за iptables. Например, ние отказваме всички връзки с изключение на HTTP, SSH и FTP.

Под капака на FERM е обикновен Perl скрипт, който преобразува конфигурационните файлове в правила на iptables.

Във Fedora 18 беше обявен демонът firewalld, който стана официалното приложение за управление на настройките на netfilter в RHEL 7 / CentOS 7. Последните стават все по-популярни във VDS, което означава, че ще трябва да се справите с техните функции.

функции на защитната стена

Firewalld стартира като демон, нови правила се добавят без рестартиране и без нулиране на инсталираната защитна стена. Промените в конфигурацията могат да се правят по всяко време и се прилагат незабавно: няма нужда да запазвате или прилагате промените. Поддържа IPv4, IPv6, автоматично зареждане на модули на ядрото и мрежови зони, които определят нивото на доверие на връзките. Осигурява прост интерфейс за добавяне на правила за услуги и приложения, бял списък с приложения, които имат право да променят правилата. Тази функция в момента се поддържа от libvirt,Docker, fail2ban, Puppet, инсталационен скрипт на Virtuozzo и много други проекти. Хранилището на YUM вече има пакетите fail2ban-firewalld и puppet-firewalld, така че можете да ги активирате с една команда.

Firewalld предоставя информация за текущите настройки на защитната стена чрез D-Bus API и също така приема промени чрез D-Bus, използвайки методите за удостоверяване на PolicyKit. Бекендът използва iptables, ip6tables, ebtables, ipset и е планирано nftables. Но самите правила, създадени директно от тези помощни програми, не могат да бъдат анализирани от защитната стена, така че и двата метода не могат да се използват.

Управлението се извършва с помощта на помощните програми на командния ред firewall-cmd или графичния firewall-config, който ви позволява да конфигурирате всички правила в удобна среда. За да помогнете за мигрирането на текущите правила на iptables към firewalld, използвайте помощната програма firewall-offline-cmd, която по подразбиране чете /etc/sysconfig/system-config-firewall. В последните версии се появи помощната програма firewallctl, която има прост синтаксис и ви позволява да получавате информация за състоянието на услугата, конфигурацията на защитната стена и правилата за промяна.

проста
Графичната конфигурация на защитната стена поддържа firewalld
стена
Опции на Firewall-cmd

Разрешаването на връзка към определен порт е много просто:

За да влязат в сила промените, командата трябва винаги да се изпълнява след редакциите

За да премахнете порт от правилата, използвайте опцията --remove-port:

По принцип много команди --add-* са полезни за проверка на състоянието на --query-* , --list-* за списък, промяна на --change-* или премахване --remove на съответната стойност. За краткост няма да се фокусираме върху това повече. След като презаредите правилата, проверете:

firewalld предоставя режим, който позволява една команда да блокира всичкивръзки:

За да проверите в какъв режим е защитната стена, има специален ключ:

Деактивирайте паник режима:

В firewalld не е необходимо да знаете кой порт е свързан с услугата, достатъчно е да посочите името на услугата. Помощната програма ще се погрижи за останалото.

След инсталирането firewalld знае настройките на повече от 50 услуги, получаваме списък с тях.

Разрешаване на връзка с HTTP:

С помощта на фигурни скоби можете да посочите няколко услуги наведнъж. Информация за настройките на услугата е достъпна чрез

Firewalld съхранява всички настройки в XML файлове в директории под /usr/lib/firewalld. По-специално услугите се намират в услугите. Описание във файла: име, протокол и порт.

Това е системна директория и нищо не може да се променя там. Ако трябва да замените настройките или да създадете своя собствена услуга, тогава копирайте всеки файл като шаблон в /etc/firewalld/services, редактирайте го, за да отговаря на вашите условия и приложете настройките.

За конфигуриране на ICMP се използва отделен набор от правила. Получете списък с поддържаните типове ICMP:

Продължава достъпно само за абонати

Вариант 2. Купете един материал