Firewall
Описание
Весь сетевой трафик обрабатывается ядром с помощью netfilter
Netfilter руководствуется набором правил, который задается с помощью nftables (iptables до RHEL 8)
Так как nftables сложен в настройке, для него используется демон firewalld
nftables доступен для непосредственной настройки, но не рекомендуется
Компоненты firewalld:
Сервис (service) - XML файл, который содержит список портов, которые должны быть открыты для сервиса systemd, а также модули ядра, необходимые для загрузки, при открытии доступа к сервису systemd
Зона (zone) - конфигурация по-умолчанию, к которой могут быть привязаны сетевые адаптеры, для назначения специфичных настроек
По сути эти настройки определяют поведение на интерфейсах для внешних и внутренних сетей
Порт (port) - опциональные элементы, определяющие доступ к определенным портам
Не рекомендуется открывать просто порты, лучше делать это в привязке к конкретному сервису
[root@centos8 ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens160
sources:
services: cockpit dhcpv6-client ssh
ports: 3000/tcp 8080/tcp
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
В данном примере:
public (active) - текущая зона и ее статус
interfaces - интерфейс в этой зоне
services - службы, для которых есть правило в этой зоне
ports - открытые порты
Настройка firewall-cmd
firewall-cmd - утилита для изменения настроек фаерволла
Для применения настроек с сохранением после перезагрузки необходимо использовать ключ --permanent
Посмотреть различные параметры можно через --get-
[root@centos8 ~]# firewall-cmd --get-
--get-active-zones --get-helpers --get-log-denied --get-zone-of-interface=
--get-default-zone --get-icmptypes --get-services --get-zones
--get-description --get-ipset-types --get-short
[root@centos8 ~]# firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit
bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc
bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6
dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync
elasticsearch etcd-client etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps
freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana
gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs
iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop
kshell ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix
mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur
mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole
ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql
privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp
redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client s
amba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap
spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing
syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38
tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http
wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server
zabbix-agent zabbix-server
[root@centos8 ~]# firewall-cmd --get-zones
block dmz drop external home internal libvirt public trusted work
firewall-cmd --add-service <service_name> - добавляет сервис в правила
[root@centos8 ~]# firewall-cmd --add-service ftp
success
[root@centos8 ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens160
sources:
services: cockpit dhcpv6-client ftp ssh
ports: 3000/tcp 8080/tcp
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Необходимо не забывать о флаге --permanent
После изменения настроек firewall-cmd необходимо перезагрузить
[root@centos8 ~]# firewall-cmd --add-service ftp --permanent
success
[root@centos8 ~]# firewall-cmd --reload
success
Использование firewall-config
firewall-config - утилита для настройки фаерволла при помощи GUI
Не входит в стандартный набор и требует установки из официального репозитория

Last updated
Was this helpful?