ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Установка и настройка брандмауэра 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