Коришћење ФиреваллД-а за управљање заштитним зидом на ЦентОС-у 7

ФиреваллД је динамички управљани заштитни зид који пружа подршку за правила заштитног зида ИПв4 и ИПв6 и зоне заштитног зида који су доступни на серверима заснованим на РХЕЛ 7. То је директна замена iptablesи ради са netfilterкодом кернела .

У овом чланку ћемо укратко погледати управљање заштитним зидом на ЦентОС 7 помоћу firewall-cmdкоманде.

Провера да ли је ФиреваллД покренут

Први корак је да проверите да ли је ФиреваллД инсталиран и покренут. Ово се може урадити путем systemdпокретања следећег:

$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2016-03-10 15:07:00 UTC; 1min 30s ago
   ...

Алтернативно, можете проверити помоћу firewall-cmdалата:

$ firewall-cmd --state
running

Управљање зонама

ФиреваллД функционише користећи концепт zonesгде је зона дефинисала ниво поверења који се користи за везу. Можете да поделите различите мрежне интерфејсе у различите зоне да бисте применили одређена правила заштитног зида по интерфејсу или можете да користите једну зону за све интерфејсе.

Изван кутије, све се ради на подразумеваној publicзони, али постоји неколико других унапред конфигурисаних зона које се такође могу применити.

Попис свих доступних зона

Можда ћете морати да добијете листу свих доступних зона, од којих је неколико ван кутије. Опет, ово се може урадити помоћу firewall-cmd:

$ firewall-cmd --get-zones
block dmz drop external home internal public trusted work

Провера подразумеване зоне

Можете да откријете подразумевану зону која је тренутно конфигурисана помоћу firewall-cmd:

$ firewall-cmd --get-default-zone
public

Ако желите да промените подразумевану зону (на пример, у home), то се може урадити тако што ћете покренути:

$ firewall-cmd --set-default-zone=home
success

Ове информације ће се одразити у главној конфигурационој датотеци, /etc/firewalld/firewalld.conf. Међутим, препоручује се да ову датотеку не мењате ручно и да уместо тога користите firewall-cmd.

Провера тренутно додељених зона

Можете добити листу зона којима имате додељене интерфејсе тако што ћете покренути:

$ firewall-cmd --get-active-zones
public
  interfaces: eth0

Такође можете проверити зону једног интерфејса ( eth0у овом случају) тако што ћете покренути:

$  firewall-cmd --get-zone-of-interface=eth0
public

Креирање зона

Ако подразумеване унапред конфигурисане зоне не одговарају вашим потребама, најлакши начин да креирате нову зону ( zone1) је поново преко firewall-cmd:

$ firewall-cmd --permanent --new-zone=zone1
success

Након креирања, потребно је да поново учитате:

$ firewall-cmd --reload
success

Примена зоне на интерфејс

Да бисте трајно доделили мрежни интерфејс зони, можете да користите, firewall-cmdали не заборавите да укључите --permanentзаставицу да бисте задржали промену. Ако користите NetworkManager, обавезно користите и nmcliза подешавање зоне везе.

$ firewall-cmd --permanent --zone=internal --change-interface=eth1`
success

Добијање трајне конфигурације зоне

Да бисте проверили сталну конфигурацију зоне ( publicу овом случају) укључујући додељене интерфејсе, дозвољене услуге, подешавања порта и још много тога, покрените:

$ firewall-cmd --permanent --zone=public --list-all
public (default)
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

Управљање услугама

Када доделите и конфигуришете своје потребне зоне, можете почети да додајете услуге зонама. Услуге описују протоколе и портове којима се може приступити за зону.

Навођење постојећих услуга

Бројни уобичајени сервиси су унапред конфигурисани у оквиру заштитног зида. Ово се може навести:

$ firewall-cmd --get-services
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind rsyncd samba samba-client smtp ssh telnet tftp tftp-client transmission-client vdsm vnc-server wbem-https

Такође можете добити листу услуга омогућених за подразумевану зону:

$ firewall-cmd --list-services
dhcpv6-client ssh

Додавање услуге у зону

Можете да омогућите дату услугу за зону ( public) трајно користећи --add-serviceзаставу:

$ firewall-cmd --permanent --zone=public --add-service=http
success

А затим поново учитајте тренутну сесију заштитног зида:

$ firewall-cmd --reload
success

Затим, да бисмо потврдили да је додато:

$ firewall-cmd --zone=public --list-services
dhcpv6-client http ssh

Уклањање услуге из зоне

Можете publicтрајно уклонити дату услугу за зону ( ) користећи --remove-serviceзаставицу:

$ firewall-cmd --permanent --zone=public --remove-service=http
success

А затим поново учитајте тренутну сесију заштитног зида:

$ firewall-cmd --reload
success

Затим, да бисмо потврдили да је додато:

$ firewall-cmd --zone=public --list-services
dhcpv6-client ssh

Додавање/уклањање више услуга из зоне

Можете додати или уклонити више услуга (на пример, httpи https) из зоне било једну по једну или све одједном тако што ћете умотати жељена имена услуга у витичасте заграде ( {, }):

$ firewall-cmd --permanent --zone=public --add-service=
success

$ firewall-cmd --permanent --zone=public --list-services
dhcpv6-client http https ssh

Креирање нових услуга

Понекад ћете можда морати да додате нове прилагођене услуге - на пример ако сте променили порт за ССХ демон. Услуге се дефинишу коришћењем тривијалних КСМЛ датотека, при чему се подразумеване датотеке налазе у /usr/lib/firewalld/services:

$  tree /usr/lib/firewalld/services
/usr/lib/firewalld/services
├── amanda-client.xml
├── bacula-client.xml
├── bacula.xml
├── dhcpv6-client.xml
├── dhcpv6.xml
├── dhcp.xml
├── dns.xml
├── freeipa-ldaps.xml
├── freeipa-ldap.xml
├── freeipa-replication.xml
├── ftp.xml
├── high-availability.xml
├── https.xml
├── http.xml
...

Најлакши начин да направите нову услугу је да копирате један од ових постојећих сервисних фајлова и измените га. Царинске службе треба да буду у /etc/firewalld/services. На пример, да бисте прилагодили ССХ услугу:

$ cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-custom.xml

Садржај ове копиране датотеке би требало да изгледа овако:

$ cat /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="22"/>
</service>

Да бисте променили порт, требало би да промените кратко име услуге и порт. Можете и да промените опис ако желите, али ово су само додатни метаподаци које може користити кориснички интерфејс или друга апликација. У овом примеру, мењам порт у 1234:

$ nano /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH-Custom</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="1234"/>
</service>

Када се сачува, мораћете поново да учитате заштитни зид и онда можете да примените своје правило на своју зону:

$ firewall-cmd --reload
success

$ firewall-cmd --permanent --zone=public --add-service=ssh-custom
success

Управљање луком

Поред коришћења услуга, можете и ручно да дозволите портове по протоколу. Да бисте дозволили ТЦП порт 7777за publicзону:

$ firewall-cmd --permanent --zone=public --add-port=7777/tcp
success

Такође можете додати опсег портова:

$ firewall-cmd --permanent --zone=public --add-port=7000-8000/tcp
success

Да бисте уклонили (и тиме забранили) ТЦП порт 7777за publicзону:

$ firewall-cmd --permanent --zone=public --remove-port=7777/tcp
success

Такође можете навести тренутно дозвољене портове за дату зону ( public) након поновног учитавања тренутне сесије заштитног зида:

$ firewall-cmd --zone=public --list-ports
7000-8000/tcp

Омогућавање ФиреваллД

Када конфигуришете заштитни зид по свом укусу, обавезно га омогућите преко системд-а како бисте били сигурни да се покреће при покретању:

$ systemctl enable firewalld

Закључак

Постоји много више подешавања и опција унутар ФиреваллД-а, као што су прослеђивање портова, маскирање и комуникација са заштитним зидом преко Д-Бус-а. Међутим, надамо се да вам је овај водич помогао да схватите основе и дао вам алате да започнете са заштитним зидом са вашег сервера. Додатно читање у наставку ће вам помоћи да максимално искористите свој заштитни зид.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више