Мрежен филтър както всички знаем, това е защитна стена в Linux. Защитна стена е динамичен демон за управление на защитни стени с поддръжка на мрежови зони. В по-ранната версия, RHEL & CentOS използвахме iptables като демон за рамка за филтриране на пакети.
В по-новите версии на Базирани на RHEL дистрибуции като Fedora, Rocky Linux, CentOS поток, AlmaLinux, и openSUSE – на iptables интерфейсът се заменя с защитна стена.
[ Може да ви хареса също: 10 полезни защитни стени за сигурност с отворен код за Linux системи ]
Препоръчително е да започнете да използвате Защитна стена вместо iptables тъй като това може да спре в бъдеще. Въпреки това, iptables все още се поддържат и могат да бъдат инсталирани с yum команда. Не можем да запазим Защитна стена и iptables и двете в една и съща система, което може да доведе до конфликт.
в iptables, използвахме за конфигуриране като ВХОД, ИЗХОД & ПРЕДНИ ВЕРИГИ но тук вътре Защитна стена, концепцията използва Зони. По подразбиране има различни налични зони защитна стена, които ще бъдат обсъдени в тази статия.
The основна зона които са като обществена зона и частна зона. За да накараме нещата да работят с тези зони, трябва да добавим интерфейса с поддръжката на определена зона и след това можем да добавим услугите към защитна стена.
По подразбиране има много налични услуги, една от най-добрите функции на защитна стена е, той идва с предварително дефинирани услуги и можем да вземем тези услуги като пример, за да добавим нашите услуги, като просто ги копираме.
Защитна стена работи чудесно с IPv4, IPv6, и Ethernet мостове също. Можем да имаме отделно време за изпълнение и постоянна конфигурация в защитната стена.
Нека да започнем как да работим със зони и да създаваме наши собствени услуги и много по-вълнуващо използване на защитна стена в Linux.
Операционна система: Red Hat Enterprise Linux версия 9.0 (Plow) IP адрес: 192.168.0.159. Име на хост: tecmint-rhel9.
1.Защитна стена пакетът е инсталиран по подразбиране в RHEL, Fedora, Rocky Linux, CentOS поток, AlmaLinux, и openSUSE. Ако не, можете да го инсталирате, като използвате следното yum команда.
# yum инсталирайте защитна стена -y.
2. След защитна стена пакетът е инсталиран, време е да проверите дали iptables услугата работи или не, ако работи, трябва да спрете и да маскирате (да не използвате повече) iptables услуга с командите по-долу.
# systemctl status iptables. # systemctl спира iptables. # systemctl mask iptables.
3. Преди да се насочите към защитна стена конфигурация, бих искал да обсъдя всяка зона. По подразбиране има някои налични зони. Трябва да присвоим интерфейса на зоната. Зоната дефинира зоната, която е била доверена или отказана на нивото на интерфейса за получаване на връзка. Една зона може да съдържа услуги и портове.
Тук ще опишем всяка налична зона Защитна стена.
Сега имате по-добра представа за зоните, сега нека да открием наличните зони и зоните по подразбиране и да изброим всички зони, като използваме следните команди.
# firewall-cmd --get-zones.
# firewall-cmd --get-default-zone.
# firewall-cmd --list-all-zones.
Забележка: Резултатът от горната команда няма да се побере в една страница, тъй като това ще изброи всички зони като блок, dmz, drop, external, home, internal, public, trusted и work. Ако зоните имат някакви богати правила, активираните услуги или портове също ще бъдат посочени със съответната информация за зоните.
4. Ако искате да зададете зоната по подразбиране като вътрешна, външна, пускаща, работна или друга зона, можете да използвате командата по-долу, за да зададете зоната по подразбиране. Тук използваме „вътрешни” зона по подразбиране.
# firewall-cmd --set-default-zone=internal.
5. След като зададете зоната, проверете зоната по подразбиране, като използвате командата по-долу.
# firewall-cmd --get-default-zone.
6. Тук е нашият интерфейс enp0s3, Ако трябва да проверим зоната, в която е ограничен интерфейсът, можем да използваме командата по-долу.
# firewall-cmd --get-zone-of-interface=enp0s3.
7. Друга интересна функция на защитната стена е „icmptype‘ е един от типовете icmp, поддържани от защитната стена. За да получим списъка с поддържаните типове icmp, можем да използваме командата по-долу.
# firewall-cmd --get-icmptypes.
8. Услугите са набор от правила с портове и опции, които се използват от Защитна стена. Услугите, които са активирани, ще се заредят автоматично, когато Защитна стена услугата работи.
По подразбиране са налични много услуги, за да получите списък с всички налични услуги, използвайте следната команда.
# firewall-cmd --get-services.
9. За да получите списък с всички налични услуги по подразбиране, отидете в следната директория, тук ще получите списък с услуги.
# cd /usr/lib/firewalld/services/
10. За да създадете своя собствена услуга, трябва да я дефинирате на следното място. Например, тук искам да добавя услуга за RTMP порт 1935, първо направете копие на която и да е от услугите.
# cd /etc/firewalld/services/ # cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
И след това отидете до мястото, където е копиран нашият сервизен файл, след това преименувайте файла „ssh.xml' да се 'rtmp.xml“, както е показано на снимката по-долу.
# cd /etc/firewalld/services/ # mv ssh.xml rtmp.xml. # ls -l rtmp.xml.
11. След това отворете и редактирайте файла като Заглавие, Описание, протокол, и Порт номер, който трябва да използваме за RTMP услуга, както е показано на снимката по-долу.
12. За да активирате тези промени, рестартирайте услугата защитна стена или презаредете настройките.
# firewall-cmd --reload.
13. За да потвърдите дали дадена услуга е добавена или не, изпълнете командата по-долу, за да получите списък с налични услуги.
# firewall-cmd --get-services.
14. Тук ще видим как да управляваме защитната стена с помощта на защитна стена-cmd команда. За да разберете текущото състояние на защитната стена и всички активни зони, въведете следната команда.
# firewall-cmd --state. # firewall-cmd --get-active-zones.
15. За да получите публичната зона за интерфейс enp0s3, това е интерфейсът по подразбиране, който е дефиниран в /etc/firewalld/firewalld.conf файл като DefaultZone=публично.
За да изброите всички налични услуги в тази интерфейсна зона по подразбиране.
# firewall-cmd --get-service.
16. В горните примери видяхме как да създадем наши собствени услуги, като създадем rtmp услуга, тук ще видим как да добавим rtmp обслужване и на зоната.
# firewall-cmd --add-service=rtmp.
17. За да премахнете добавената зона, въведете.
# firewall-cmd --zone=public --remove-service=rtmp.
Горната стъпка беше само временен период. За да го направим постоянен, трябва да изпълним командата по-долу с опция – постоянен.
# firewall-cmd --add-service=rtmp --permanent. # firewall-cmd --reload.
18. Определете правила за обхвата на мрежовия източник и отворете всеки един от портовете. Например, ако искате да отворите мрежов диапазон, кажете „192.168.0.0/24"и порт"1935‘ използвайте следните команди.
# firewall-cmd --permanent --add-source=192.168.0.0/24. # firewall-cmd --permanent --add-port=1935/tcp.
Уверете се, че сте презаредили услугата защитна стена след добавяне или премахване на услуги или портове.
# firewall-cmd --reload # firewall-cmd --list-all.
19. Ако искам да разреша услуги като http, https, vnc-сървър и PostgreSQL, използвам следните правила. Първо добавете правилото и го направете постоянно, презаредете правилата и проверете състоянието.
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' # firewall-cmd --add-rich-rule 'семейство от правила ="ipv4" източник адрес="192.168.0.0/24" име на услуга="http" accept' --permanent # firewall-cmd --add-rich-rule 'rule family="ipv4" адрес на източника="192.168.0.0/24" име на услуга ="https" приемам # firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept' --permanent # firewall-cmd --add-rich-rule 'rule family="ipv4" адрес на източника="192.168.0.0/24" име на услуга="vnc-сървър" приемам # firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept' --permanent # firewall-cmd --add-rich-rule 'rule family="ipv4" адрес на източника="192.168.0.0/24" име на услугата="postgresql" приемам # firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept' --permanent.
Сега обхватът на мрежата 192.168.0.0/24 може да използва горната услуга от моя сървър. Опцията – постоянен може да се използва във всяко правило, но трябва да дефинираме правилото и да проверим с клиентския достъп, след което трябва да го направим постоянно.
20. След като добавите горните правила, не забравяйте да презаредите правилата на защитната стена и да изброите правилата, като използвате:
# firewall-cmd --reload. # firewall-cmd --list-all.
За да научите повече за Firewalld.
# man защитна стена.
Това е всичко, видяхме как да настроим a мрежов филтър използвайки Защитна стена в базирани на RHEL дистрибуции като Fedora, Rocky Linux, CentOS поток, AlmaLinux, и openSUSE.
Мрежен филтър е рамката за защитна стена за всяка дистрибуция на Linux. Обратно във всеки RHEL и CentOS издание, което използвахме iptables но в по-новите версии те са въвели Защитна стена. По-лесно е да разберете и използвате защитната стена. Надяваме се, че сте се насладили на написаното.