ПредишенСледващото

Цент 7, за разлика от CentOS 6, базата данни се предлага с нов защитна стена - firewalld. Той може да бъде изключен и се заменя с добри стари на IPTABLES, но ако това все още няма преки предпоставки, по-добре е да се свикне с нещо ново, а не почива на старите. Това не означава, че Windows 10-добрият Windows 7 и Windows XP на Windows 7 е по-добре;) Един добър пример в тази тема - SELinux. Ако в началото, почти всички (и аз също) той е бил изключен, а дори и малко злоупотребява, но сега едва ли някой не се препоръчва, освен ако не сте сигурни, че това трябва да бъде. Напротив, много от тях са свикнали (или свикнали), за да използвате semanage. Ние ще не и ние веднага ще забраните firewalld, и да се опитаме вкуса му.

Firewalld - не е коренно различна защитна стена. Това е още една добавка Netfilter, така че ако имате опит в работата с IPTABLES, след което малко ще започнете да използвате безопасно нов инструмент.

Създаване firewalld CentOS 7 с примери за команди

Пускането и спирането firewalld

Проверете дали firewalld стартира:

# Systemctl firewalld статус

Има обширна информация. За кратко, но (всички), или не, можете да:

# Firewall-ПМС --state
бягане

# Systemctl спирка firewalld

# Systemctl забраните firewalld

# Systemctl започне firewalld

# Systemctl позволи firewalld

firewalld зона

В firewalld използва широко понятие за зони. Списъкът по подразбиране на всички налични области:

# Firewall-CMD --get зони
блок DMZ спад външен дома вътрешната обществена доверен работа

Определяне зони (относително, разбира):

  • капка - всички входящи пакети са спаднали (капка) без отговор. Разрешено само изходящи връзки.
  • блок - входящи връзки са отхвърлени (отхвърлено) отговор ICMP-домакин забранени (или icmp6-ADM-забранено). Допуска се започне само системата за връзка.
  • публично - зона по подразбиране. От заглавието става ясно, че тази област е насочена към работата в социалните мрежи. Не вярваме на тази мрежа и да позволи само на определени входящи връзки.
  • външен - зона на интерфейса маршрутизатор (наречен маскиран). Разрешени са само някои контакт за входящи връзки.
  • DMZ - DMZ зона разрешено само определени входящи връзки.
  • работа - на площ мрежата работи. Ние все още не се доверявайте на никого, но не толкова, колкото преди :) се допускат само определени входящи връзки.
  • у дома - района на дома. Надяваме се, околната среда, но допуска само определени входящи връзки
  • вътрешно - вътрешната зона. Надяваме се, околната среда, но допуска само определени входящи връзки
  • голямо доверие - всичко е позволено.

Списък с всички активни зони:

# Firewall-ПМС --get-активни зони
обществен
интерфейси: enp1s0

Да, обществената зона, в която мрежов интерфейс enp1so. След това добавете в обществената зона на новото пристанище, което ще виси SSHD.

Знаейки, името на мрежовия интерфейс (например, enp1s0), можете да разберете коя зона принадлежи:

# Firewall-CMD --get зона-на-интерфейс = enp1s0
обществен

И можете да видите кои интерфейси принадлежат към определена област:

# Firewall-ПМС --zone = обществени --list интерфейси
enp1s0

Пример: SSH да позволи нестандартен порт

Да се ​​позволи достъп до сървъра посредством SSH на порт 2234 / TCP, а не на 22 / TCP, по подразбиране. По пътя, малко докосване на SELinux.

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

# Firewall-ПМС --permanent --list всичко
обществен (по подразбиране)
интерфейси:
източници:
услуги: SSH dhcpv6-клиент
маскарад: не
прогнозни пристанища:
ICMP блокове:
богати правила:

Не използвам докато IPv6, така че веднага отнемат съответно. върховенството на firewalld:

# Firewall-ПМС --permanent --zone = обществен --remove обслужване = dhcpv6-клиент

Решете постоянно (за да не се втрива след рестартиране) съединение на порт 2234 / TCP (той ще затвори SSHD):

# Firewall-ПМС --permanent --zone = обществен --add-порт = 2234 / TCP

# Firewall-ПМС --zone = обществени --list пристанища
2234 / TCP

Добре, пристанището е отворено. Редактиране на конфигурационния SSHD:

# Nano / и т.н. / SSH / sshd_config
.
порт 2234
.

# Systemctl рестартиране sshd.service

Но SELinux, което, надявам се, че не е отрязан, не се свързва с SSH по нестандартен порт (порт 2234 / TCP за SSHD - нестандартно). Можете да пропуснете тази стъпка и да видим как srabotatet защита SELinux, и може веднага да се настроят всички:

# Yum осигурява semanage
# Yum инсталирате policycoreutils-питон
# Semanage порт -a -t ssh_port_t -p TCP 2234

Сега всичко е наред. Проверете свързването към SSH на новото пристанище. Ако всичко е наред, затворете достъпа до порт 22:

# Firewall-ПМС --permanent --zone = обществен --remove обслужване = SSH
# Firewall-ПМС --reload

Виж какво се е случило:

# Firewall-ПМС --list всичко
обществен (по подразбиране, активна)
интерфейси:
източници:
услуги:
портове: 2234 / TCP
маскарад: не
прогнозни пристанища:
ICMP блокове:
богати правила:

Други полезни команди:

Активиране на заключване режим всички входящи и изходящи пакети:

Изключете режима за заключване на всички входящи и изходящи пакети:

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

Презареждане firewalld правила, без да губи текущите връзки:

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

Добави към интерфейса на зона на мрежата:

# Firewall-ПМС --zone = обществен --add интерфейс = em1

Добави към интерфейса на зона мрежа (съхранява защитна стена и след рестартиране):

# Firewall-ПМС --zone = обществен --permanent --add интерфейс = em1

Тя може да бъде в конфигурационния файл ifcfg-enp1s0 уточни коя област принадлежи на този интерфейс. За да направите това, добавете ЗОНА = работа в файл / и т.н. / sysconfig / мрежите скриптове / ifcfg-enp1s0. Ако не е посочена зона, тя ще бъде назначен за зона подразбиране (DefaultZone параметър /etc/firewalld/firewalld.conf по делото.

Позволете порт диапазон:

# Firewall-ПМС --zone = обществен --add-порт = 5059-5061 / UDP

Маскарадните (маскарад, той също NAT, той е един и същ.)

# Firewall-CMD --zone = външен --query-маскиране

# Firewall-CMD --zone = външен --add-маскиране

Заслужава да се отбележи, че можете да включите маскарада и обществени зони, например.

Пренасочване входящ порт 22 до друг хост:

# Firewall-CMD --zone = външен --add-напред порт = порт = 22: прото = TCP: toaddr = 192.168.1.23

Пренасочване на входящи порт 22 към друг хост, с промяна на мястото на пристанища (22 192.168.1.23:2055):

# Firewall-CMD --zone = външен /
--добавка напред-порт = порт = 22: прото = TCP: toport = 2055: toaddr = 192.168.1.23

Това било прекратено Примери могат да бъдат безкрайни. Мога само да кажа, че аз лично не вземе окончателно становище за firewalld на иновации, защото Можете да свикна с синтаксиса за дълго време, и ако вашият зоопарк има различни OS Linux, а след това pervosti може да е проблем с просто навик. Но след като овладял firewalld, да разширите хоризонтите - често, това е си струва усилията.

Аз не искам firewalld! Дай ми старите IPtables!

Ако, обаче, искате да се върне в миналото и да се замени firewalld на IPTABLES, а след това се направи, че не е трудно:

Няма място за начинаещи:

# Systemctl забраните firewalld
# Systemctl спирка firewalld

Ние събрахме добрите стари IPtables:

# Yum инсталирате IPTABLES-услуги

# Systemctl започне IPTABLES
# Systemctl започне ip6tables

Autorun при стартиране:

# Systemctl позволи IPTABLES
# Systemctl позволи ip6tables

За да запазите правилата IPTABLES след рестартиране:

# / Sbin / IPTABLES-спести> / и т.н. / sysconfig / IPTABLES
# / Sbin / ip6tables-спести> / и т.н. / sysconfig / ip6tables

# В IPTABLES спести

Настоящите правила са в файловете:
/ И т.н. / sysconfig / IPTABLES
/ И т.н. / sysconfig / ip6tables

Рестартирането на IPTABLES (например, след като направите всички промени):

# Systemctl рестартиране iptables.service

Подкрепете проекта - споделете линка, благодаря!