Конфігурація брандмауера Zimbra з Ufw & Firewalld

Конфігурація брандмауера 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.

Прокрутка до верху