Bu döküman da zimbra mail sunucunuzu ufw ve firewalld kullanarak, Centos 7 sunucularda nasıl koruma altına alacağınız anlatacağız. Sunucunuzda Centes 6.x çalışıyor ise, UFW veya iptables komutlarını kullanabilir siniz. Her ikisinde de bağlantı portları aynı kalır.
Centos da UFW kurulumu
Centos için UFW paketi EPELrepolarında bulunmaktadır. Aşağıdaki gibi kurulumu gerçekleştirebilir siniz.
sudo yum -y install epel-release
sudo yum makecache fast
sudo yum -y install ufw
Centos 7.x Firewalld kurulumu
Eğer Centos kurulum esnasında Firewalld kurulu olarak gelmemiş ise aşağıdaki komutlar ile kurabilir siniz.
sudo makecache fast
sudo yum -y install firewalld
Kurulum işleminden sonra aktif etmek için
sudo systemctl start firewalld
sudo systemctl enable firewalld
Not: İlk önce ssh portuna izin vermeyi unutmayın böylece sunucu ile bağlantınız kesilmeyecektir.
UFW kullanarak Zimbra Güvenlik Duvarını yapılandırma
UDP bağlantı noktaları için yakın zamanda yapılan Memcache amplification attacks saldırıları nedeniyle, Güvenlik duvarlarında Memcache’nin udp bağlantı noktasını etkinleştirmiyoruz. Port 11211/udp. Sadece bu saldırılara karşı daha güvenli olan tcp portunu açık bırakacağız. Memcache Major amplifikasyonu hakkında daha fazla bilgi edinin.
UFW için Zimbra adlı bir app profili oluşturacağız. Bu profili aşağıdaki gibi oluşturalım.
sudo vim /etc/ufw/applications.d/zimbra
Ardından aşağıdaki içeriği ekliyoruz.
[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 üzerinde app profili aktif edeceğiz.
sudo ufw allow Zimbra
sudo ufw enable
Ssh portunu da ekliyoruz.
sudo ufw allow ssh
Zimbra profilinde herhangi bir değişiklik yaparsanız, aşağıdakileri komutları kullanarak güncelleyin
$ sudo ufw app update Zimbra
Rules updated for profile 'Zimbra'
Skipped reloading firewall
Tekbir sunucu kullanımında, Memcache local harici bağlantı kullanmaz. Bunun için local ip adresi ile bağlantı kurdurmamız daha güvenlidir.
sudo su - zimbra
zmprov ms zmhostname zimbraMemcachedBindAddress 127.0.0.1
zmprov ms zmhostname zimbraMemcachedClientServerList 127.0.0.1
Memcache servisini restart etmemiz gerekmektedir.
sudo su - zimbra -c "zmmemcachedctl restart"
Firewalld kullanarak Zimbra Güvenlik Duvarını yapılandırma
Firewalld kullanacaklariçin, önce firewalld’in çalışır durumda olduğunu doğrulayın.
sudo firewall-cmd --state running
Eğer çalışmıyor ise aşağıdaki komut ile aktif edebilir siniz.
sudo systemctl start firewalld
Ardından güvenlik duvarında Zimbra bağlantı portlarını ve hizmetlerini yapılandırın.
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
Firewalld servisinin yeni yapılandırmayı okuması için aşağıdaki komutu uygulayın.
sudo firewall-cmd --reload
Geçerli ayarları kontrol etmek için aşağıdaki komutu kullanabilir siniz.
$ 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
...
Yönetici kontrol paneline erişimi kısıtlama
Admin paneline erişim imkanını veren 7071 portuna erişimi kısıtlamak iyi bir güvenlik önlemi olacaktır. Sadece güvenli ip adreslerine erişim açabiliriz. Ufw ile bu işlemi aşağıdaki komutlar ile gerçekleştirebiliriz.
$ 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 ile gelişmiş kuralları kullanabilir siniz.
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
Artık güvenli bir Zimbra Mail server kurulumuna sahipsiniz. Tüm bu güvenlik problemleri ile uğraşmamak için Kurumsal Mail Sunucularımızı tercih edebilir siniz.