Конфігурація брандмауера Zimbra з Ufw & Firewalld
У цьому посібнику ми розглянемо, як захистити ваш пакет для спільної роботи Zimbra на сервері CentOS 7, Debian та Ubuntu за допомогою Firewalld та Ufw відповідно. Якщо ваш сервер працює під управлінням CentOS 6.x, ви можете використовувати для нього команди UFW або raw iptables, але номери портів залишаються незмінними.
Встановлення UFW на Ubuntu та CentOS
Встановіть UFW на Ubuntu за допомогою команд:
sudo apt-get update && sudo apt-get -y install ufw
Для CentOS пакет ufw доступний на репозиторіях EPEL, додайте його, як показано нижче:
sudo yum -y install epel-release
sudo yum makecache fast
sudo yum -y install ufw
Установка Firewalld на CentOS / Fedora / RHEL
Якщо ваша CentOS не поставляється з готовим брандмауером, ви можете встановити її за допомогою команд:
sudo yum -y install firewalld
Запустіть і включіть службу брандмауера.
sudo systemctl start firewalld
sudo systemctl enable firewalld
Cпочатку додати порт ssh, щоб вас не викинули.
Налаштування брандмауера Zimbra за допомогою UFW
Через нещодавні атаки посилення Memcache для портів UDP ми не включимо udp-порт Memcache на брандмауері – порт 11211/udp. Ми залишимо відкритим лише порт tcp, який захищений від цих атак. Дізнайтеся більше про посилення Memcache Major.
Для ufw ми створимо профіль програми для UFW під назвою Zimbra. Отже, створімо цей профіль, як показано нижче.
sudo vim /etc/ufw/applications.d/zimbra
Додайте такий контент:
[Zimbra]
title=Zimbra Collaboration Server
description=Open source server for email, contacts, calendar, and more.
ports=22,25,80,110,143,161,389,443,465,514,587,993,995,7071,8443,11211/tcp
Увімкніть профіль програми на ufw
sudo ufw allow Zimbra
sudo ufw enable
Також додайте порт ssh.
sudo ufw allow ssh
Якщо ви вносите будь-які зміни в профіль Zimbra, оновіть його за допомогою:
$ sudo ufw app update Zimbra
Rules updated for profile 'Zimbra'
Skipped reloading firewall
Для встановлення одного сервера Memcache не використовується за межами локального сервера. Розгляньте можливість прив’язки його до ip-адреси зворотного зв’язку. Використовуйте команди:
sudo su - zimbra
zmprov ms zmhostname zimbraMemcachedBindAddress 127.0.0.1
zmprov ms zmhostname zimbraMemcachedClientServerList 127.0.0.1
Потім перезапустіть службу Memcached.
sudo su - zimbra -c "zmmemcachedctl restart"
Налаштування брандмауера Zimbra за допомогою Firewalld
Для користувачів брандмауера спочатку переконайтеся, що firewalld перебуває в робочому стані.
sudo firewall-cmd --state running
Якщо він не запущений, запустіть його використання.
sudo systemctl start firewalld
Потім налаштуйте порти та служби Zimbra на брандмауері.
sudo firewall-cmd --add-service={http,https,smtp,smtps,imap,imaps,pop3,pop3s} --permanent
sudo firewall-cmd --add-port 7071/tcp --permanent
sudo firewall-cmd -add-port 8443/tcp --permanent
Перезавантажити конфігурації брандмауера,
sudo firewall-cmd --reload
Ви можете підтвердити налаштування часу виконання за допомогою:
$ sudo firewall-cmd --list-all
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dhcpv6-client http https imap imaps pop3 pop3s smtp smtps snmp ssh
ports: 7071/tcp 8443/tcp
...
Обмеження доступу до панелі адміністратора
Хорошою практикою є завжди обмежувати доступ до порту 7071 довіреною мережею або IP-адресою. Для UFW це робиться за допомогою команди:
sudo ufw allow from 192.168.1.10 to any port 7071
sudo ufw allow from 192.168.1.0/24 to any port 7071
З брандмауером ви можете використовувати Rich Rules.
sudo firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" \
source address="192.168.1.10/32" port protocol="tcp" port="7071" accept'
sudo firewall-cmd --reload
Тепер у вас повинна бути надійна установка Zimbra.