Как да инсталирате и конфигурирате Firewalld на CentOS и Ubuntu

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

Основната функция на защитната стена е да създава и управлява входящи и изходящи правила, за да защити целия процес на мрежова връзка. По този начин подозрителните или ненадеждни пакети са предотвратени да проникнат в компютъра ни и да причинят всякакъв вид щети, като например вмъкване на зловреден софтуер или отвличане на информация.

Когато работим с Linux системи, една от най -сигурните, имаме помощни програми с отворен код, които ни помагат да направим този процес на защита много по -завършен и една от тези помощни програми е Firewalld. Solvetic ще обясни какво е Firewalld и как можем да го инсталираме и използваме в две от най -използваните дистрибуции в момента, като CentOS и Ubuntu.

ЗабележкаПроцесът на конфигуриране е идентичен и за двете системи

Какво е FirewalldFirewalld (демон на защитната стена) е помощна програма, чиято цел е да достави динамично управлявана защитна стена, която има поддръжка за мрежови зони, в които е определено нивото на доверие на мрежовите връзки или интерфейси, Firewalld е съвместим с IPv4 адресите, Настройки на защитната стена IPv6, Ethernet мостове и пулове на IP адреси.

Firewalld ни предлага интерфейс за услуги или приложения, за да добавим директно правилата на защитната стена, като по този начин улеснява контролните задачи. Едно от основните предимства на използването на Firewalld е, че всички промени, които трябва да се направят, могат да бъдат направени в реално време в средата за изпълнение, без да се налага да рестартирате услугата или Daemon, както се случва с много помощни програми.

Firewalld интегрира D-Bus интерфейс, който е подходящ за управление на услугите, приложенията и администрирането на конфигурацията на защитната стена.Този интерфейс може да бъде интегриран с инструменти за конфигуриране като firewall-cmd, firewall-config и firewall-applet.

Характеристики на FirewalldНякои от функциите, които откриваме, когато използваме Firewalld, са:

  • Поддръжка за IPv4, IPv6, свързване и ipset.
  • Поддръжка на IPv4 и IPv6 NAT.
  • Зона на защитна стена или защитна стена.
  • Пълен D-Bus API.
  • Проста услуга, порт, протокол, източник на порт, маскиране, пренасочване на портове, icmp филтър, богато правило, интерфейс и контрол на адреса на източника в използваните зони.
  • Директен интерфейс за управление.
  • Функция за блокиране, която създава бял списък с приложения, които могат да променят защитната стена.
  • Автоматично зареждане на модули на ядрото на Linux.
  • Интеграция с Puppet.
  • Правила за времевата защитна стена в зоните.
  • Проста регистрация на отказани пакети.
  • Инструмент за графична конфигурация, използващ gtk3.
  • Аплет, използващ Qt4.

РазпределенияОсновните дистрибуции, в които Firewalld може да бъде внедрен, са:

  • RHEL 7, CentOS 7
  • Fedora 18 и по -нова версия

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

  • NetworkManager
  • libvirt
  • докер
  • fail2ban

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

  • Основен слой (основен слой), който отговаря за управлението на конфигурацията и услугите като iptables, ip6tables, ebtables, ipset и модула за зареждане.
  • Интерфейс D-Bus: което е основното средство за промяна и създаване на настройки на защитната стена.
  • Бекенди, които позволяват взаимодействие с netfilter (родният модул на ядрото, използван за защитна стена), а някои се броят като iptables, ip6tables, ebtables, ipset, nft, linnftables и т.н.

Интерфейсът на firewalld D-Bus е най-важният начин за създаване и редактиране на настройките на защитната стена. Този интерфейс се използва от всички онлайн инструменти, вградени във firewalld като firewall-cmd, firewall-config и firewall-applet, линията firewall-offline-cmd не говори директно с firewalld, но редактира и създава конфигурационните файлове на firewalld директно през ядрото на firewalld с IO драйверите.

Глобалният конфигурационен файл за firewalld се намира на адрес /etc/firewalld/firewalld.conf и функциите на защитната стена са конфигурирани в XML формат.

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

Наличните зони във Firewalld са:

ИзпускайтеТова е зоната с най -ниско ниво на доверие, тъй като всички входящи пакети се отхвърлят автоматично и позволяват само изходящите пакети да бъдат разрешени.
БлокиранеКогато използвате тази зона, нивото на доверие е подобно на Drop, но се различава само по това, че входящите пакети се отхвърлят с помощта на icmp-host-забранено за IPv4 и icmp6-adm-забранено за IPv6 съобщения.
ОбщественВ тази зона нивото на доверие се отнася до ненадеждни обществени мрежи, така че приема само надеждни връзки.
ВъншенТова е нивото, дефинирано, когато използваме защитната стена като шлюз и неговото маскиране се активира от рутерите.
DMZТова е зона, в която нивото на доверие се отнася за оборудване, разположено в DMZ (демилитаризирана) зона, това означава, че има обществен достъп, ограничен до вътрешната мрежа. Той приема само приети връзки.
РаботаКакто показва името му, това ниво се използва в работните зони, което позволява на мрежовите компютри да имат достъп до него.
У домаИзползвайки това ниво, ние говорим за домашна среда и повечето компютри в мрежата се приемат
ВътрешниТози тип ниво се прилага за вътрешни мрежи, така че всички компютри в локалната мрежа ще бъдат приети.
ДоверенТова означава Trust, което означава, че е най -високото ниво и се доверява на всички входящи връзки.

За да конфигурираме или добавим зони, можем да използваме един от следните налични интерфейси за конфигуриране на firewalld:

  • Инструмент за графична конфигурация firewall-config.
  • Инструмент за командния ред на защитната стена-cmd.
  • Програмен интерфейс на D-BUS.
  • Създайте, копирайте или редактирайте файл на зона в която и да е от конфигурационните директории като: / etc / firewalld / зони за персонализирани и създадени от потребителя конфигурационни файлове или / usr / lib / firewalld / зони за конфигурации по подразбиране и резервни копия.

1. Как да инсталирате и управлявате Firewalld на Linux

Етап 1
В случай на използване на CentOS 7, пакетът firewalld е предварително инсталиран и може да бъде проверен със следната команда:

 rpm -qa firewalld
В случай на Ubuntu трябва да го инсталираме със следната команда:
 sudo apt инсталирате firewalld

Увеличете

Въвеждаме буквата S, за да потвърдим изтеглянето и инсталирането на Firewalld.

Стъпка 2
Firewalld е обикновена услуга systemd, която може да се управлява чрез командата systemctl, както следва:

 sudo systemctl стартира firewalld (позволява ви да стартирате услугата) sudo systemctl активира firewalld (разрешава услугата при стартиране на системата) sudo systemctl статус firewalld (позволява ви да видите състоянието на услугата)

Увеличете

Стъпка 3
След стартиране на услугата firewalld можем да проверим дали демонът работи или не в Linux, за това трябва да използваме инструмента firewall-cmd, изпълняваме следното:

 sudo firewall -cmd -state

Увеличете

2. Как да управлявате зони в Firewalld CentOS и Ubuntu

Етап 1
За да получим списък с всички налични услуги и зони на защитна стена, трябва да изпълним следните команди:
За да видите зоните:

 sudo firewall-cmd --get-зони

Увеличете

Стъпка 2
За да видите услугите, които ще изпълним:

 sudo firewall-cmd --get-services

Увеличете

Стъпка 3
Зоната по подразбиране е зоната, внедрена за всяка функция на firewalld, която не е свързана с друга зона, възможно е да се получи зоната по подразбиране за мрежови връзки и интерфейси, като се изпълни следното:

 sudo firewall-cmd --get-default-zone

Увеличете

Стъпка 4
Ако искаме да установим друга зона по подразбиране, трябва да използваме следната команда, трябва да се отбележи, че ако добавим опцията --permanent, конфигурацията е установена за постоянно, можем да изпълним някоя от следните опции:

 sudo firewall-cmd --set-default-zone = external
или
 sudo firewall-cmd --set-default-zone = external -permanent
Стъпка 4
След това прилагаме промените, като изпълняваме:
 sudo firewall -cmd -reload

Увеличете

Стъпка 5
Ако целта е например да добавим интерфейс към зона, можем да изпълним следното:

 sudo firewall-cmd --zone = home --add-interface = enp0s3
В този случай добавихме интерфейса enp0s3 (LAN) към домашната зона.

Увеличете

Стъпка 6
Трябва да се отбележи, че интерфейс може да бъде добавен само към една зона, вместо това той може да бъде преместен в друга зона, за това ще използваме превключвателя --change-interface или ще премахнем от предишната зона с превключвателя -remove-interface и след това го добавете към новата зона, например:

 sudo firewall-cmd --zone = public --add-interface = enp0s3 sudo firewall-cmd --zone = public --change-interface = enp0s3
С Firewalld е възможно да се използват много зони едновременно, ако искаме да получим списък с всички активни зони с активирани функции, като например интерфейси, услуги, портове, протоколи, изпълняваме следното:
 sudo firewall-cmd --get-active-зони

Увеличете

Стъпка 7
За да получим повече информация за зоните, като например какво е активирано или елиминирано, можем да използваме една от тези команди:

 sudo firewall-cmd --zone = home --list-all
ИЛИ
 sudo firewall-cmd-обществена информация-зона

Увеличете

Стъпка 8
Друга полезна опция за използване с Firewalld е --get-target, това показва целта на постоянна зона, целите могат да бъдат по подразбиране, ACCEPT, DROP, REJECT, за да проверим целта на няколко зони, можем да използваме една от следните команди :

 sudo firewall-cmd --permanent --zone = public --get-target sudo firewall-cmd --permanent --zone = block --get-target sudo firewall-cmd --permanent --zone = dmz --get- target sudo firewall-cmd --permanent --zone = external --get-target sudo firewall-cmd --permanent --zone = drop --get-target

3. Как да блокирате или отворите портове в Firewalld Linux CentOS и Ubuntu


За да отворите порт през firewalld, просто го добавете в зоната с опцията --add-port, ако зоната не е изрично посочена, тя ще бъде активирана в зоната по подразбиране.

Етап 1
Например, за да добавим портове 80 и 443, които позволяват входящ уеб трафик чрез протоколите HTTP и HTTPS, ще изпълним следното:

 sudo firewall-cmd --zone = public --permanent --add-port = 80 / tcp --add-port = 443 / tcp

Увеличете

Стъпка 2
Сега ще презаредим защитната стена и ще проверим функциите, разрешени в публичната зона:

 sudo firewall-cmd-презареждане на sudo firewall-cmd --info-zone public

Увеличете

Стъпка 3
Ако искаме да блокираме порт в firewalld, трябва да използваме опцията --remove-port, в този пример по следния начин:

 sudo firewall-cmd --zone = public --permanent --remove-port = 80 / tcp --remove-port = 443 / tcp

4. Как да блокирате или отворите услуги в Firewalld CentOS и Ubuntu


За процеса на активиране на услуга във Firewalld трябва да я активираме с помощта на опцията --add-service, не забравяйте, че ако пропуснем зоната, ще се използва зоната по подразбиране.

Етап 1
Например, за да активираме http услугата в публична зона, изпълняваме:

 sudo firewall-cmd --zone = public --permanent --add-service = http sudo firewall-cmd -reload

Увеличете

Стъпка 2
С параметъра -remove -service можем да премахнем услугата от определената зона:

 sudo firewall-cmd --zone = public --permanent --remove-service = http sudo firewall-cmd -reload

Увеличете

5. Как да активирате и деактивирате IP маскиране чрез Firewalld Linux


IP маскиране или IPMASQ / MASQ) е NAT механизъм, който позволява на хостовете в мрежа с частни IP адреси да комуникират с интернет чрез публичния IP адрес, присвоен на Linux сървъра, използвайки шлюза IPMASQ.

С това маскиране трафикът от невидимите хостове ще се появи на други компютри в Интернет, сякаш идва директно от сървъра на Linux.

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

 sudo firewall-cmd --zone = public --query-masquerade
След това можем да добавим зона като тази:
 sudo firewall-cmd --zone = public --add-masquerade
За да премахнем зона от този тип функция, трябва да изпълним следното:
 sudo firewall-cmd --zone = public --remove-masquerade

6. Как да активирате и деактивирате IMCP съобщение в Firewalld Linux


Протоколът ICMP (Internet Control Message Protocol) е протокол, разработен с цел генериране на заявки за информация или отговори на тези искания за информация или при условия на грешка по време на комуникационния процес в мрежата.

Етап 1
Във Firewalld е възможно да активирате или деактивирате ICMP съобщения, но се препоръчва да потвърдите всички съвместими ICMP типове, за това изпълняваме:

 sudo firewall-cmd --get-icmptypes

Увеличете

Стъпка 2
Можем да добавим или блокираме ICMP, както следва:

 sudo firewall-cmd --zone = home --add-icmp-block = echo-reply sudo firewall-cmd --zone = home --remove-icmp-block = echo-reply

Увеличете

Стъпка 3
Можем да видим всички видове ICMP, добавени в зона, използвайки превключвателя --list-icmp -blocks:

 sudo firewall-cmd --zone = home --list-icmp-Blocks

7. Как да активирате или не режим на паника в Firewalld Linux CentOS и Ubuntu


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

Етап 1
За да проверим режима на паника, ще използваме опцията --query-panic и можем да я активираме с опцията sudo firewall-cmd --panic-on:

Увеличете

Стъпка 2
За да разберем как работи този режим, когато е деактивиран, можем да пингираме уебсайт и ще получим всички изпратени заявки, но когато се активира, ще видим съобщение, показващо временна грешка в връзката:

Увеличете

Стъпка 3
За да деактивирате този режим, изпълняваме:

 sudo firewall-cmd --panic-off

8. Как да блокирате Firewalld на Linux CentOS и Ubuntu

Етап 1
В Firewalld локалните приложения или услуги могат да променят конфигурацията на защитната стена, ако работят с root права, можем да контролираме кои приложения могат да изискват промени в защитната стена, като я добавим към блокиращия бял списък. Тази функция е деактивирана по подразбиране и можем да я активираме или деактивираме с превключвателя --lockdown-on или -lockdown-off:

 sudo firewall-cmd-lockdown-on
ИЛИ
 sudo firewall-cmd-lockdown-off
Стъпка 2
По-безопасен метод е да активирате или деактивирате тази функция директно в изданието на основния конфигурационен файл, тъй като понякога защитната стена-cmd не съществува в блокиращия бял списък, за това имаме достъп до конфигурационния файл:
 sudo nano /etc/firewalld/firewalld.conf

Увеличете

Там намираме Lockdown = no ред и задаваме състоянието му на Lockdown = yes, запазваме промените с помощта на Ctrl + O и излизаме от редактора с Ctrl + X.

Firewalld е цялостно решение за добавяне на различни правила и зони към нашите дистрибуции на Linux и по този начин добавяне на по -добри общи опции за сигурност към системата.

wave wave wave wave wave