使用Ufw和Firewalld的Zimbra防火墙配置

时间:2020-02-23 14:31:30  来源:igfitidea点击:

在本教程中,我们将研究如何分别使用Firewalld和Ufw在CentOS 7,Debian和Ubuntu服务器上保护Zimbra协作套件的安全。如果服务器运行的是CentOS 6.x,则可以为其使用UFW或者raw iptables命令,但是端口号保持不变。

在Ubuntu和CentOS上安装UFW

使用以下命令在Ubuntu上安装UFW:

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

在CentOS 7.x上安装Firewalld

如果CentOS尚未附带防火墙,则可以使用以下命令进行安装:

sudo makecache fast
sudo yum -y install firewalld

启动并启用防火墙服务。

sudo systemctl start firewalld
sudo systemctl enable firewalld

Rember先添加ssh端口,以免被踢出。

对于Debian,请检查在Debian上安装Firewalld

使用UFW配置Zimbra防火墙

由于最近针对UDP端口的Memcache放大攻击,我们不会在防火墙端口11211/udp上启用Memcache的udp端口。好吧,仅将tcp端口保持打开状态,这可以防止这些攻击。阅读有关MemcacheMajor放大的更多信息。

对于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"

使用Firewalld配置Zimbra防火墙

对于有防火墙的用户,首先,确认防火墙已处于运行状态。

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

使用firewalld,我们可以使用富规则。

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设置。