Ватрозид инсталиран у оперативном систему користи се за спречавање проласка неовлашћеног саобраћаја кроз рачунарске мреже. Ручно или аутоматски креирајте посебна правила за заштитни зид, који су одговорни за контролу приступа. У ОС-у који је развијен на Линук кернелу, ЦентОС 7 има уграђени заштитни зид, а њиме се управља помоћу заштитног зида. ФиреваллД је подразумевано омогућен и желели бисмо да разговарамо о његовој конфигурацији данас.
Као што је горе поменуто, стандардни Фиревалл на ЦентОС 7 је додељен ФиреваллД услужном програму. Зато ће се подешавање заштитног зида размотрити на примеру овог алата. Можете поставити правила филтрирања користећи исте иптаблес, али то се ради на мало другачији начин. Препоручујемо да се упознате са конфигурацијом поменутог услужног програма кликом на следећи линк, и ми ћемо почети да рашчлањујемо ФиреваллД.
Погледајте и: Конфигурисање иптаблес на ЦентОС 7
Постоји неколико зона - скуп правила за управљање саобраћајем на основу поверења у мреже. Свима је дата властита политика, чија укупност обликује конфигурацију заштитног зида. Свакој зони је додељен један или више мрежних интерфејса, што вам такође омогућава да прилагодите филтрирање. Применљива правила директно зависе од коришћеног интерфејса. На пример, када се повеже са јавно доступном Ви-Фи мрежом, заштитни зид ће повећати ниво контроле, ау кућној мрежи ће отворити додатни приступ за учеснике у ланцу. У овом заштитном зиду постоје такве зоне:
trusted
- максимални ниво поверења у све уређаје на мрежи; home
је група локалних мрежа. Постоји поверење у окружење, али при томе су улазне везе доступне само за одређене машине; work
- радни простор. Постоји повјерење у већину уређаја, као и додатне услуге се активирају; dmz
- зона за изоловане рачунаре. Такви уређаји су одспојени од остатка мреже и дозвољавају само одређени долазни саобраћај; internal
- зона интерних мрежа. Поверење се примењује на све машине, отварају се додатне услуге; external
- обрнуто у претходну зону. У екстерним мрежама, НАТ маскирање је активно, затварање интерне мреже, али не и блокирање могућности за приступ; public
- зона јавних мрежа са неповерењем свих уређаја и индивидуалним пријемом долазног саобраћаја; block
- сви долазни захтеви се ресетују помоћу ицмп-хост- делетед или ицмп6-адм-дисаблед грешке; drop
- минимални ниво поверења. Долазне везе се испуштају без обавештења. Сами политичари су привремени и трајни. Када се параметри појављују или се уређују, акција фиревалл-а се одмах мења без потребе за поновним покретањем. Ако су примењена привремена правила, након рестартовања ФиреваллД-а они ће бити ресетовани. Стално правило се назива - да ће се трајно чувати при примјени аргумента - —permanent
.
Прво морате покренути ФиреваллД или се увјерити да је у активном стању. Само функционални демон (програм који ради у позадини) примениће правила за заштитни зид. Активација се обавља у само неколико кликова:
sudo systemctl start firewalld.service
и притисните тастер Ентер . firewall-cmd --state
. Ако једном морате привремено или трајно онемогућити заштитни зид, препоручујемо вам да користите упуте наведене у нашем другом чланку на сљедећем линку.
Више детаља: Онемогући Фиревалл на ЦентОС 7
Чак и када радите у регуларном режиму, заштитни зид има своја специфична правила и доступне зоне. Пре него што почнете са уређивањем смерница, препоручујемо да се упознате са тренутном конфигурацијом. Ово се ради једноставним командама:
firewall-cmd --get-default-zone
помоћи ће у firewall-cmd --get-default-zone
. firewall-cmd --get-active-zones
ове информације преко firewall-cmd --get-active-zones
. firewall-cmd --list-all
ће приказати правила дефинисана за подразумевану зону. Погледајте слику испод. Видите да је “дефаулт” правило додељено активној зони “публиц” - подразумевана операција, додају се интерфејс “енп0с3” и две услуге. firewall-cmd --get-zones
. firewall-cmd --zone=name --list-all
, где је име име зоне. Након одређивања потребних параметара, можете наставити са њиховом модификацијом и додавањем. Погледајмо ближе неке од најпопуларнијих конфигурација.
Као што знате из горе наведених информација, сваки интерфејс има своју дефаулт зону. Остат ће у њему све док корисник не промијени поставке или програмски. Могуће је ручно пренијети сучеље у зону за једну сесију, а то се ради активирањем наредбе sudo firewall-cmd --zone=home --change-interface=eth0
. Резултат „успјеха“ показује да је трансфер био успјешан. Сјетите се да се такве поставке ресетирају одмах након поновног покретања фиревалл-а.
Са таквом промјеном параметара, треба имати на уму да се рад услуга може ресетирати. Неке од њих не подржавају рад у одређеним зонама, нпр. ССХ, иако је доступан у „дому“ , али ће услуга одбити да ради у корисничким или специјалним услугама. Можете да firewall-cmd --get-active-zones
да ли је интерфејс успешно везан за нову грану тако што ћете откуцати firewall-cmd --get-active-zones
.
Ако желите да ресетујете претходне поставке, једноставно поново покрените sudo systemctl restart firewalld.service
: sudo systemctl restart firewalld.service
.
Понекад није увек згодно да промените зону интерфејса само једном сесијом. У том случају, морат ћете уредити конфигурацијску датотеку тако да се све поставке уносе на трајној основи. Да бисте то урадили, препоручујемо да користите нано текст едитор, који је инсталиран са званичног sudo yum install nano
спремишта. Остаје да извршите следеће радње:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
, где је етх0 име потребног интерфејса. public
или home
. Сада ће зона интерфејса бити оно што сте је навели, до следећег уређивања конфигурационог фајла. Да бисте sudo systemctl restart network.service
ажуриране поставке, покрените sudo systemctl restart network.service
и sudo systemctl restart firewalld.service
.
Изнад смо већ показали команду која нам је омогућила да сазнамо дефаулт зону. Такође се може променити подешавањем опције по вашем избору. Да бисте то урадили, довољно је да у конзоли региструјете sudo firewall-cmd --set-default-zone=name
, где је име име тражене зоне.
Успех команде ће бити означен натписом „успех“ на посебној линији. Након тога, сви тренутни интерфејси ће се везати за наведену зону, осим ако није другачије наведено у конфигурационим датотекама.
На самом почетку чланка говорили смо о раду сваке зоне. Дефинисање услуга, услужних програма и програма у таквим гранама ће омогућити сваком од њих да примени појединачне параметре за сваки захтев корисника. За почетак, саветујемо вам да се упознате са комплетном листом тренутно доступних услуга: firewall-cmd --get-services
.
Резултат се приказује директно у конзоли. Сваки сервер је одвојен размаком, а на листи можете лако пронаћи алат за који сте заинтересовани. Ако недостаје потребна услуга, треба је додатно инсталирати. О правилима инсталације прочитајте службену документацију софтвера.
Горе наведена команда приказује само имена услуга. Детаљне информације о свакој од њих се добијају кроз појединачни фајл који се налази на путу /usr/lib/firewalld/services
. Такви документи су у КСМЛ формату, путања, на пример, за ССХ изгледа овако: /usr/lib/firewalld/services/ssh.xml
, а документ има следећи садржај:
SSH
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.
Активирана је ручна подршка за услугу у одређеној зони. У "Терминалу" треба да подесите команду sudo firewall-cmd --zone=public --add-service=http
, где је --зоне = публиц зона за активацију, и --адд-сервице = хттп је име сервиса. Имајте на уму да ће ова промена ступити на снагу само у једној сесији.
Стално додавање се врши преко sudo firewall-cmd --zone=public --permanent --add-service=http
, а резултат "успјеха" означава успјешан завршетак операције.
Можете погледати комплетну листу сталних правила за одређену зону тако што ћете приказати листу у засебној линији конзоле: sudo firewall-cmd --zone=public --permanent --list-services
.
Стандардно, најпопуларније и сигурније услуге су наведене у правилима заштитног зида као што је дозвољено, али блокира неке стандардне апликације или апликације трећих страна. У том случају, корисник ће морати ручно промијенити поставке како би ријешио проблем приступа. То се може урадити на два различита начина.
Порт форвардинг
Као што знате, све мрежне услуге користе одређени порт. Лако га детектује заштитни зид и може блокирати браве. Да бисте избегли такве акције од стране заштитног зида, морате да отворите тражени порт са sudo firewall-cmd --zone=public --add-port=0000/tcp
, где је --зоне = публиц зона за порт, --адд-порт = 0000 / тцп - број порта и протокол. Опција firewall-cmd --list-ports
приказати листу отворених портова.
Ако је потребно да отворите портове који су у опсегу, користите sudo firewall-cmd --zone=public --add-port=0000-9999/udp
, где --адд-порт = 0000-9999 / удп је опсег портова и њихов протокол.
Горе наведене команде омогућују само тестирање употребе таквих параметара. Ако је био успешан, требало би да додате исте портове трајним поставкама, а то се ради уносом sudo firewall-cmd --zone=public --permanent --add-port=0000/tcp
или sudo firewall-cmd --zone=public --permanent --add-port=0000-9999/udp
. Листа отворених перзистентних портова се посматра као: sudo firewall-cmd --zone=public --permanent --list-ports
.
Као што видите, додавање портова не изазива никакве потешкоће, али је процедура компликована када се користи велики број апликација. Тешко је пратити све кориштене портове, што значи да ће дефиниција услуге бити точнија:
sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml
, где је сервице.кмл име сервисне датотеке, и екампле.кмл је име његове копије. sudo nano /etc/firewalld/services/example.xml
. sudo firewall-cmd --reload
. Након тога, услуга ће се појавити на листи доступних, која се може прегледати преко firewall-cmd --get-services
. Ви само треба да изаберете најприкладнији метод за решавање проблема са приступом сервису и пратите дате инструкције. Као што можете видети, све акције се изводе прилично лако, и нема потешкоћа.
Већ знате да је у почетку био креиран велики број различитих зона са одређеним правилима у ФиреваллД-у. Међутим, постоје ситуације када администратор система треба да креира корисничку зону, као што је “публицвеб” за инсталирани веб сервер или “приватеДНС” за ДНС сервер. У ова два примера анализирамо додавање грана:
sudo firewall-cmd --permanent --new-zone=publicweb
и sudo firewall-cmd --permanent --new-zone=privateDNS
. sudo firewall-cmd --reload
. Да бисте приказали сталне зоне, унесите sudo firewall-cmd --permanent --get-zones
. sudo firewall-cmd --zone=publicweb --add-service=ssh
, sudo firewall-cmd --zone=publicweb --add-service=http
и sudo firewall-cmd --zone=publicweb --add-service=https
, где --зоне = публицвеб је име зоне коју треба додати. Активност сервиса можете погледати firewall-cmd --zone=publicweb --list-all
. У овом чланку сте научили како да креирате прилагођене зоне и додате им услуге. Већ смо горе описали постављање њих по дефаулту и додељивање интерфејса, само треба да наведете исправна имена. Не заборавите да рестартујете фиревалл након било каквих трајних промена.
Као што можете видети, ФиреваллД заштитни зид је прилично велики алат који вам омогућава да направите најфлексибилнију конфигурацију заштитног зида. Остаје само да би се осигурало да се услужни програм покрене са системом и да наведена правила одмах почну са радом. Учините то са sudo systemctl enable firewalld
наредбу.