ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Установка и настройка брандмауэра FirewallD на CentOS 7

FirewallD является инструментом управления брандмауэра, доступный по умолчанию на серверах CentOS 7. В основном, это оболочка вокруг IPTables и поставляется с графическим инструментом конфигурации firewall-config и инструментом командной строки firewall-cmd. С помощью сервиса IPtables, каждое изменение требует удаление старых правил и создание новых правил в файле `/etc/sysconfig/iptables`, а при firewalld применяются только различия.

Зоны FirewallD

FirewallD использует сервисы и зоны вместо правил и цепочек в Iptables. По умолчанию доступны следующие зоны:

Чтобы получить список всех доступных зон:

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

Для просмотра списка зон по умолчанию:

# firewall-cmd --get-default-zone
public

Чтобы изменить зону по умолчанию:

# firewall-cmd --set-default-zone=dmz
# firewall-cmd --get-default-zone
dmz

Сервисы FirewallD

Сервисы FirewallD представляют собой файлы конфигурации XML, с информацией о записи службы для firewalld. Чтобы получить список всех доступных услуг:

# firewall-cmd --get-services
amanda-client amanda-k5-client bacula bacula-client ceph ceph-mon dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mosh mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster radius rpc-bind rsyncd samba samba-client sane smtp smtps snmp snmptrap squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server

Конфигурационные файлы XML хранятся в каталогах /usr/lib/firewalld/services/ и /etc/firewalld/services/.

Настройка брандмауэра с FirewallD

В качестве примера, вот как вы можете настроить брандмауэр с FirewallD, если вы работаете в веб – сервере, SSH на порту 7022 и почтового сервера.

Сначала мы установим зона по умолчанию для DMZ.

# firewall-cmd --set-default-zone=dmz
# firewall-cmd --get-default-zone
dmz

Чтобы добавить постоянные правила службы для HTTP и HTTPS в зоне DMZ, выполните следующую команду:

# firewall-cmd --zone=dmz --add-service=http --permanent
# firewall-cmd --zone=dmz --add-service=https --permanent

Откройте порт 25 (SMTP) и порт 465 (SMTPS):

firewall-cmd --zone=dmz --add-service=smtp --permanent
firewall-cmd --zone=dmz --add-service=smtps --permanent

Open, IMAP, IMAPS, POP3 и POP3S порты:

firewall-cmd --zone=dmz --add-service=imap --permanent
firewall-cmd --zone=dmz --add-service=imaps --permanent
firewall-cmd --zone=dmz --add-service=pop3 --permanent
firewall-cmd --zone=dmz --add-service=pop3s --permanent

Поскольку порт SSH изменен на 7022, мы удалим службу SSH (порт 22) и откроем порт 7022

firewall-cmd --remove-service=ssh --permanent 
firewall-cmd --add-port=7022/tcp --permanent

Для реализации изменений нам нужно перезагрузить брандмауэр:

firewall-cmd --reload

И, наконец, вы можете перечислить правила:

# firewall-cmd -–list-all
dmz
target: default
icmp-block-inversion: no
interfaces:
sources:
services: http https imap imaps pop3 pop3s smtp smtps
ports: 7022/tcp
protocols:
masquerade: no
forward-ports:
sourceports:
icmp-blocks:
rich rules:

 

Установка и настройка брандмауэра FirewallD на CentOS 7

Exit mobile version