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