Modoboa İle Ubuntu'da Gelişmiş Posta Sunucusu Kurulumu & Yapılandırması

Bu öğreticide, Ubuntu 18.04’te kendi çok ama çok gelişmiş e-posta sunucunuzu hızlı bir şekilde nasıl kuracağınızı öğreneceğiz. Modoboa, Postfix SMTP sunucusu ve Dovecot IMAP / POP3 sunucusu ile çalışmak üzere tasarlanmış ücretsiz ve açık kaynaklı bir posta barındırma ve yönetim platformudur.

Modoboa, ISC lisansı altında yayınlanmıştır ve Python ile yazılmıştır. En son sürümü olan v1.14.0, 5 Temmuz 2019’da yayınlanmıştır.

Modoboa ana özellikleri şunlardır:

  • Modoboa, Webmail istemcisi ve web tabanlı yönetici paneli için varsayılan olarak Nginx web sunucusu kullanır.
  • Postfix ve Dovecot ile uyumludur.
  • MySQL/MariaDB veya PostgreSQL veritabanını destekler.
  • Web tabanlı bir yönetici panelinde sınırsız posta kutusu ve sınırsız posta alan adı oluşturabilirsiniz.
  • Web tabanlı yönetici panelinde kolayca e-posta takma adları oluşturabilirsiniz.
  • Webmail istemcisi, iletileri farklı klasörlere düzenlemenize yardımcı olmak için kullanımı kolay bir ileti filtresi sağlar.
  • E-posta kara listelerini izleyerek ve DMARC raporları oluşturarak etki alanı itibarınızı korumanıza yardımcı olabilir, böylece e-postalarınızın SPAM klasörü yerine gelen kutusuna düşme şansı daha yüksek olacaktır.
  • SPAM engellemek ve e-posta virüslerini algılamak için amavis içerir.
  • Takvim ve adres defteri özelliği mevcuttur.
  • Let’s Encrypt ile tam entegrasyon sağlar.
  • Son kullanıcıların kolayca bir masaüstü veya mobil posta istemcisi ile posta hesabı yapılandırması için izin automx içerir.

Ön gereksinimler;

  • Temiz Ubuntu 18.04 LTS kurulu bir sunucu (DigitalOcean tavsiyemdir)
  • DNS kayıtları yapılandırılmış bir alan adı (Let’s Encrypt SSL sertifikası için)
  • ACME (SSL) etkileşimi ve doğrulama işlemi 443 portu açık olmalıdır
  • İsteğe bağlı olarak Mozilla Thunderbird ya da Microsoft Outlook posta programı
  • root ya da sudo yetkilerine sahip bir kullanıcı ile SSH erişimi
  • mail.sizinalanadınız.com A etki alanı yukarıda belirtilen sunucuya hedef gösterilmelidir.
  • sizinalanadiniz.com A etki alanı yukarıda belirtilen sunucuya hedef gösterilmelidir.
  • MX kaydınız mail.sizinalanadınız.com adresini hedef gösterilmelidir.

Adım 1: Sunucunuzu & Alan Adınızı Satın Alın

Modoboa ile eksiksiz bir e-posta sunucusu kurmak için, en az 2GB RAM’e sahip bir sunucuya ihtiyacınız var, çünkü kurulumdan sonra sunucunuz 1GB RAM’den fazla kullanacaktır.

Ubuntu 18.04 sisteminin temiz bir kurulumunda aşağıdaki talimatları izlemeniz şiddetle tavsiye edilir . Modoboa gibi karmaşık bir sunucu yazılımının bir parçasını LTS olmayan bir Ubuntu’ya yüklemek, işletim sisteminizi her 9 ayda bir yükseltirken muhtemelen sorunlarla karşılaşacağınız için önerilmez.

Adım 2: DNS Yapılandırmanızı Yapın

Alan adınızı sağlayan firma DNS kontrol panelinden ya da kendi DNS kontrol paneliniz varsa içerisinden mail.sizinalanadiniz.com için sunucu IP adresinizi hedefleyen bir A kaydı açmalısınız. MX kaydınızı ise mail.sizinalanadiniz.com hedefleyecek şekilde yapılandırmalısınız. Biz bu kurulumda mail.sizinalanadiniz.com, sizinalanadiniz.com etki alan adlarını ve 49.12.34.61 IP adresini kullanacağız. Bu değerleri kendi etki alan adınız ve IP adresiniz ile değiştirmeyi unutmayın!

Adım 3: Modoboa yükleyicisi ile Ubuntu 18.04’te posta sunucusunu ayarlayın

Öncelikle sunucu paketlerinin güncellemelerini kontrol ederek, güncelleme var ise yükseltme işlemi ve birazdan bize lazım olacak git paketini yükleyerek devam edin:

sudo apt update
sudo apt upgrade -y
sudo apt install git -y
sudo apt install telnet -y

Github’dan Modoboa yükleyicisini indirin:

git clone https://github.com/modoboa/modoboa-installer

Modoboa Python yazılım dili ile yazılmıştır. Gerekli Python yazılımları ve ek gereksinimlerini yüklemek için aşağıdaki komutu çalıştırın:

sudo apt-get install python-virtualenv python-pip -y

Sonrasında Modoboa klasörüne giriş yapın ve yapılandırmalara başlayın:

cd modoboa-installer
sudo ./run.py --stop-after-configfile-check sizinalanadiniz.com

installer.cfg yükleyici yapılandırma dosyasını favori düzenleyici editörünüz ile açın:

sudo nano installer.cfg

Let’s Encrypt için [certificate] kısmını bulun ve self-signed değerini letsencrypt olarak güncelleyin.

type = letsencrypt

Sonrasında admin@example.com e-posta adresini, hesap kurtarma ve önemli bildirimler için kullanılacak olan gerçek kendi sistem yöneticisi e-posta adresinize değiştirin. Burada varsayılan e-posta adresini admin@example.com kullanırsanız, Let’s Encrypt sertifikasını edinemez ve yükleyemezsiniz.

Varsayılan olarak, Modoboa yükleyicisi yapılandırma dosyasında aşağıdaki satırlarda belirtildiği gibi PostgreSQL veritabanı sunucusunu kuracaktır.

[database]
engine = postgres
host = 127.0.0.1 
install = true

MariaDB veritabanı sunucusunu kullanmak istiyorsanız, engine kısmını postgres değil mysql olarak değiştirin (Siz mysql yazdığımıza bakmayın, Modoboa MySQL yerine MariaDB kuracaktır :slight_smile: ).

Kaydedin ve dosyayı kapatın. (Bir dosyayı nano metin düzenleyicisinde kaydetmek için Ctrl+O tuşuna basın, ardından onaylamak için Enter tuşuna basın. Çıkış yapmak için Ctrl+X tuşuna basın.)

Ardından, posta sunucunuzun ana bilgisayar adı olarak mail.sizinalanadiniz.com yani tam etki alanı adı (FQDN) kullanmalısınız. Ana bilgisayar adını ayarlamak için aşağıdaki komutu çalıştırın.

sudo hostnamectl set-hostname mail.sizinalanadiniz.com

Şimdi DNS kayıtlarının internete yayılıp yayılmadığını doğrulamamız gerekiyor. Kullandığınız etki alanı kayıt şirketine bağlı olarak, DNS kaydınız anında yayılabilir veya yayılması 24 saat sürebilir. DNS durumu için https://dnsmap.io adresinden, posta sunucunuzun ana bilgisayar adını (mail.sizinalanadiniz.com) girin.

DNS kaydınız başarılı bir şekilde yayılmış görünüyorsa, yüklemeyi başlatmak için aşağıdaki komutu çalıştırın:

sudo ./run.py --interactive sizinalanadiniz.com

Yükleme işlemi biraz zaman alabilir. Bizim demo sunucumuzda 10 dakika sürdü. Yükleme sırasında bir hata görürseniz, daha ayrıntılı çıktı görmek için --debug seçeneğini kullanabilirsiniz.

sudo ./run.py --interactive --debug sizinalanadiniz.com

Modoboa kurulumu tamamladıktan sonra, varsayılan kullanıcı adı ve şifre ile yönetici paneline giriş yapabilirsiniz.

Varsayılan kullanıcı adı: admin
Varsayılan şifre: password

Oturum açtıktan sonra AdminSettingsProfile kısmından bilgilerinizi ve şifrenizi değiştirmelisiniz.

Adım 4: Modoboa yönetici panelinden yeni posta kutuları ekleme

Ekran görüntüleri ile ilerleyebilirsiniz:

Adım 5: Test E-Postaları Gönderin

Ekran görüntüleri ile ilerleyebilirsiniz:

Adım 6: 25 bağlantı noktasının (giden postalar için) engellenip engellenmediğini kontrol edin

Barındırma sağlayıcınız sunucunuzun 25 numaralı bağlantı noktasına gelen bağlantıyı engellemez, bu da diğer posta sunucularından e-posta alabileceğiniz anlamına gelir. Bununla birlikte, birçok barındırma sağlayıcısı, diğer posta sunucularının 25 numaralı bağlantı noktasına giden bağlantıyı engeller, bu da e-posta gönderemeyeceğiniz anlamına gelir.

E-postanız diğer alıcı e-posta adresinize ulaşmadıysa, 25 numaralı bağlantı noktasının (giden postalar) engellendiğini Gmail ile kontrol etmek için posta sunucunuzda aşağıdaki komutu çalıştırın.

telnet gmail-smtp-in.l.google.com 25

Engellenmiyor ise, aşağıdaki gibi bir bağlantının başarıyla kurulduğunu gösteren çıktıları görürsünüz. (Çıkmak için quit yazın ve kapatmak için Enter tuşuna basın.)

Bağlantı noktası 25 (giden postalar) engellenmiş ise, aşağıdaki gibi bir çıktı görürsünüz:

Trying 2607:f8b0:400e:c06::1a...
Trying 74.125.195.27...
telnet: Unable to connect to remote host: Connection timed out

Bu durumda, Postfix’iniz diğer SMTP sunucularına e-posta gönderemez. Barındırma sağlayıcınızdan sizin için bu bağlantı noktasını açmasını isteyin.

Adım 7: Bilgisayarınızda veya mobil aygıtınızda posta istemcilerini kullanın

Outlook gibi bir masaüstü e-posta istemcinizi çalıştırın ve posta hesabınızı ekleyin.

  • Gelen sunucu bölümünde IMAP Protokolü’nü seçin, mail.sizinalanadiniz.com sunucu adı olarak girin, bağlantı noktası 993 ve SSL/TLS seçeneğini seçin.

  • Giden sunucu bölümünde SMTP Protokolü’nü seçin, mail.sizinalanadiniz.com sunucu adı olarak girin, bağlantı noktası 587 ve STARTTLS’yi seçin.

IMAP, 143 numaralı bağlantı noktasında STARTTLS şifrelemesi ile de kullanabilirsiniz.

Adım 8: E-Posta Teslim Edilebilirliğini Artırın

Gönderdiğimiz postaların SPAM olarak algılanmasını engellemek için PTR , SPF , DKIM ve DMARC kayıtlarını ayarlayalım.

PTR kaydı

Bir PTR kaydı, bir IP adresini FQDN (tam etki alanı adı) ile eşleştirir. A kaydının karşılığı ve SPAM gönderenleri engellemeye yardımcı olabilecek ters DNS araması için kullanılır. Gönderen sunucuda PTR kaydı bulunmazsa, birçok SMTP sunucusu e-postaları reddeder.

Bir IP adresi için PTR kaydını kontrol etmek için şu komutu çalıştırın:

dig -x 49.12.34.61 +short

Şu çıktıyı vermelidir:

mail.sizinalanadiniz.com

Sağlayıcınızdan IP adresi aldığınızdan, etki alanı kayıt şirketinizden değil, PTR kaydını barındırma sağlayıcınızın kontrol panelinde ayarlamanız gerekir. Bu değer posta sunucunuzun ana bilgisayar adı olmalıdır: mail.sizinalanadiniz.com . Sunucunuz IPv6 adresi kullanıyorsa, IPv6 adresiniz için de bir PTR kaydı eklediğinizden emin olun.

SPF kaydı

SPF (Sender Policy Framework) kaydı, hangi ana bilgisayarların veya IP adresinin bir etki alanı adına e-posta göndermesine izin verileceğini belirtir. Yalnızca kendi e-posta sunucunuzun etki alanınız için e-posta göndermesine izin vermelisiniz. DNS yönetim arayüzünüzde, aşağıdaki gibi yeni bir TXT kaydı oluşturun.

v=spf1 mx ~all

Açıklama:

  • TXT bu değerin bir TXT kaydı olduğunu gösterir.
  • Ana etki alanı adını temsil etmek için ad alanına @ işaretini girin.
  • v = spf1, bunun bir SPF kaydı olduğunu ve sürümün SPF1 olduğunu gösterir.
  • mx , MX kayıtlarında listelenen tüm ana bilgisayarların etki alanınız için e-posta göndermesine izin verildiği ve diğer tüm ana bilgisayarların izin verilmediği anlamına gelir.
  • ~all, alan adınızdan gelen e-postaların yalnızca SPF kaydında belirtilen ana bilgisayarlardan gelmesi gerektiğini gösterir. Diğer ana bilgisayarlardan gelen e-postalar sahte olarak işaretlenir.

SPF kaydınızın genel internete yayılıp yayılmadığını kontrol etmek için, aşağıdaki gibi Linux makinenizdeki dig yardımcı programını kullanabilirsiniz:

dig sizinalanadiniz.com txt

DKIM kaydı

Daha önce Modoboa yönetici panelinde alan adı eklerken, DKIM imzalama özelliğini etkinleştirdik, böylece imzalama kısmı aslında halledildi. Yapılacak tek şey DNS yöneticinizde DKIM kaydı oluşturmaktır. Önce Modoboa yönetici paneline gidin ve alan adınızı seçin. DNS bölümünde, Show key butonuna tıklayın.

Burada sadece Bind/named format kısmına ihtiyacımız var.

DNS yöneticinize gidin ve bir modoboa._domainkey TXT kaydı oluşturun, ad alanına girin. (Yönetici panelinde alan adı eklerken modoboa’yı seçici olarak kullandığımızı hatırlayın.) Parantez içindeki her şeyi kopyalayın ve değer alanına yapıştırın. Tüm çift tırnakları silin. DNS yöneticiniz, satır başı gibi diğer geçersiz karakterleri silmenizi gerektirebilir.

Modoboa, domainkey için özel anahtar oluşturmak ve gelen e-postaların imzalarını doğrulamak için OpenDKIM kullanır.

DMARC kaydı

DMARC (Etki alanı tabanlı ileti kimlik doğrulaması) e-postaları tanımlamak ve alan adınızın e-posta sahtekarlığı ile kullanılmasını önlemek için yardımcı olur.

Bir DMARC kaydı oluşturmak için DNS yöneticinize gidin ve bir TXT kaydı ekleyin. Ad alanına _dmarc girin. Değer alanına aşağıdakileri girin:

v=DMARC1; p=none; pct=100; rua=mailto:dmarc-reports@sizinalanadiniz.com

Yukarıdaki DMARC kaydı güvenli bir başlangıç noktasıdır.

Adım 7: E-posta puanınızı test edin

PTR, SPF, DKIM kaydı oluşturduktan sonra https://www.mail-tester.com adresine gidin. Bu adreste size benzersiz bir e-posta adresi verilecek. Bu adrese bir e-posta gönderin ve puanınızı kontrol edin. Gördüğünüz gibi, biz mükemmel bir puan aldık.

mail-tester.com size sadece bir gönderici puanını gösterebilir. Bu adımda e-postanızın alıcının gelen kutusuna veya SPAM klasörüne düşüp, düşmediğini veya tamamen reddedilip reddedilmediğini kontrol etmenizi sağlayan GlockApps (Sadece ilk üç test ücretsizdir!) hizmetini kullanabilirsiniz. GlockApps, Gmail, Outlook, Hotmail, YahooMail, iCloud vb. birçok popüler e-posta sağlayıcısını destekler.

E-postanız Microsoft tarafından reddedilirse ne yapmalısınız?

Microsoft, birçok geçerli IP adresini engelleyen bir iç kara liste kullanıyor gibi görünüyor. Eğer sizin e-postalarınız Outlook ya da Hotmail üzerinde reddediliyor ise şu adresteki formu kullanabilirsiniz. Bu işlemden sonra, e-postalarınız Outlook/Hotmail tarafından kabul edilecektir.

Let’s Encryp sertifikalarının otomatik yenilenmesini yapılandırın

Modoboa, Let’s Encrypt istemcisinin (certbot) en son sürümünü zaten /opt/certbot-auto dizinine yükledi. Certbot’un konumunu aşağıdaki komutu çalıştırarak bulabilirsiniz.

sudo find / -name "*certbot*"

Let’s Encrypt sertifikaları yalnızca 90 gün geçerlidir. Sertifikayı otomatik olarak yenilemek için crontab dosyasını düzenleyin:

sudo crontab-e

Bu dosyanın sonuna aşağıdaki satırı ekleyin.

@daily /opt/certbot-auto renew -q && systemctl reload nginx postfix dovecot

Kaydedin ve dosyayı kapatın. Bu eklediğimiz satır, Cron’a her gün certbot renew komutunu çalıştırmasını söyler. Eğer sertifikanızın 30 günü kaldıysa, certbot otomatik yenileyecektir. Komutun sonunda yeni sertifika oluşturma sonrası Nginx web sunucusu, Postfix SMTP sunucusu ve Dovecot IMAP sunucusunun yeniden başlatılması değeri de mevcuttur.

465 SMPTS bağlantı noktasını etkinleştirin

Microsoft Outlook istemcisi’ni kullanacaksanız, Postfix SMTP sunucusunda SMTPS bağlantı noktası 465’i etkinleştirmeniz gerekir.

Aşağıdaki komutlarla öncelikle hizmet durumlarını kontrol edebilirsiniz:

systemctl status postfix
systemctl status dovecot
systemctl status nginx
systemctl status mariadb
systemctl status clamav-daemon
systemctl status amavis

Güvenlik duvarını etkinleştirdiyseniz, güvenlik duvarında aşağıdaki bağlantı noktalarını açmalısınız.

HTTP port:  80
HTTPS port: 443
SMTP port:  25
Gönderim portu: 587 (ve 465 eğer Microsoft Outlook kullanıyorsanız)
IMAP port:  143 ve 993

Posta istemcisinin Autodiscover ve AutoConfig ile otomatik yapılandırmasını ayarlayın

Autodiscover ve AutoConfig, bir masaüstü veya mobil posta istemcisini yapılandırmayı kolaylaştırır. Bu yapılandırmayı uygularsanız son kullanıcının SMTP veya IMAP sunucusu ayrıntılarını girmek zorunda kalmadan posta hesabını kurmak için bir ad, e-posta adresi ve şifre girmesi yeterli olacaktır. Autodiscover, Microsoft Outlook posta istemcisi tarafından desteklenir ve AutoConfig, Mozilla Thunderbird posta istemcisi tarafından desteklenir.

Modoboa, bu özelliği posta sunucunuzda uygulamak için AutoMX kullanır. Şimdi yapmamız gereken tek şey DNS yönetim panelinizden CNAME kayıtları eklemek. DNS yöneticinizde, iki CNAME kaydı oluşturun.

autoconfig.yourdomain.com       CNAME         mail.sizinalanadiniz.com
autodiscover.yourdomain.com     CNAME         mail.sizinalanadiniz.com

Modoboa yönetici panelinizdeki Domains kısmına gidin, autoconfigyeşil ise, CNAME kayıtlarınızın doğru olduğu anlamına gelir. (Modoboa, posta sunucunuzun DNS kayıtlarını her 30 dakikada bir kontrol eder, bu nedenle otomatik yapılandırmanın yeşile dönmesi için bir süre beklemeniz gerekebilir.)

modoboa automx

CNAME kayıtları internete yayıldıktan sonra, artık Microsoft Outlook ve Mozilla Thunderbird’de bir posta hesabı kurarken SMTP veya IMAP sunucusu ayrıntılarını girmeniz gerekmez.

Umarım bu öğretici, Modoboa ile Ubuntu 18.04’te bir posta sunucusu kurmanıza yardımcı olmuştur. Her zaman olduğu gibi, bu yazıyı yararlı bulduysanız beğenebilirsiniz ve fikirlerinizi aşağıdan bizimle paylaşabilirsiniz.

3 Beğeni

Üstad eline sağlık, güzel anlatmışsın. Teşekkürler