E-posta Hizmetlerini Kurma (SMTP, Imap ve Imaps) ve SMTP'ye Erişimi Kısıtlama - Bölüm 7


LFCE (Linux Foundation Sertifikalı Mühendis), Linux sistemlerinde ağ hizmetlerini kurma, yönetme ve sorunlarını giderme becerisine sahip eğitimli bir profesyoneldir ve sistem mimarisinin ve kullanıcı yönetiminin tasarımı, uygulanması ve sürekli bakımı.

Linux Vakfı Sertifikasyon Programına Giriş.

Önceki bir eğitimde, bir posta hizmetinin gerekli bileşenlerinin nasıl kurulacağını tartıştık. Henüz Postfix ve Dovecot'u yüklemediyseniz, devam etmeden önce talimatlar için lütfen bu serinin 1. Bölümüne bakın.

Gereklilik

  1. Postfix Posta Sunucusunu ve Dovecot'u Yükleme – Bölüm 1

Bu yazıda size posta sunucunuzu nasıl yapılandıracağınızı ve aşağıdaki görevleri nasıl gerçekleştireceğinizi göstereceğim:

  1. E-posta takma adlarını yapılandırma
  2. IMAP ve IMAPS hizmetini yapılandırma
  3. Bir smtp hizmeti yapılandırma
  4. Bir smtp sunucusuna erişimi kısıtlama

Not: Kurulumumuz yalnızca makinelerin aynı etki alanına ait olduğu yerel alan ağının posta sunucusunu kapsayacaktır. Diğer etki alanlarına e-posta iletileri göndermek, etki alanı adı çözümleme yetenekleri de dahil olmak üzere, LFCE sertifikasyonunun kapsamı dışında olan daha karmaşık bir kurulum gerektirir.

Ama önce birkaç tanımla başlayalım.

Posta Gönderme, Aktarma ve Teslim Sürecinin Bileşenleri

Aşağıdaki resimde, gönderenden başlayıp, mesaj alıcının gelen kutusuna ulaşana kadar e-posta aktarım süreci gösterilmektedir:

Bunu mümkün kılmak için perde arkasında birkaç şey olur. Bir e-posta mesajının bir istemci uygulamasından (Thunderbird, Outlook gibi veya Gmail veya Yahoo! Mail gibi web posta hizmetlerinden) kendi posta sunucusuna ve oradan hedef sunucuya ve son olarak hedeflenen alıcıya teslim edilmesi için , her sunucuda bir SMTP (Basit Posta Aktarım Protokolü) hizmetinin mevcut olması gerekir.

E-posta hizmetleri hakkında konuşurken aşağıdaki terimlerin sıklıkla bahsedildiğini göreceksiniz:

İleti Aktarım Aracısı – MTA

MTA (Mail veya Message Transport Agent'ın kısaltması), diğer adıyla posta aktarımı, bir sunucudan e-posta mesajlarının aktarılmasından sorumlu bir yazılımdır bir müşteriye (ve tam tersi). Bu seride Postfix bizim MTA'mız gibi davranıyor.

Posta Kullanıcı Aracısı – MUA

MUA veya Posta Kullanıcı Aracısı, kullanıcının e-posta gelen kutularına erişmek ve bunları yönetmek için kullanılan bir bilgisayar programıdır. MUA örnekleri arasında Thunderbird, Outlook ve Gmail, Outlook.com gibi web posta arayüzleri yer alır ancak bunlarla sınırlı değildir. Bu serimizde örneklerimizde Thunderbird kullanacağız.

Posta Teslimat Aracısı

MDA (Mesaj veya Posta Dağıtım Aracısı'nın kısaltması), aslında e-posta mesajlarını kullanıcının gelen kutularına ileten yazılım parçasıdır. Bu derste Dovecot'u MDA'mız olarak kullanacağız. Dovecot ayrıca kullanıcı kimlik doğrulamasını da gerçekleştirecek.

Basit Posta Aktarım Protokolü – SMTP

Bu bileşenlerin birbirleriyle "konuşabilmesi" için, aynı "dili" (veya protokolü) "konuşmaları" gerekir. ), yani RFC 2821'de tanımlandığı gibi SMTP (Basit Posta Aktarım Protokolü). Büyük olasılıkla, posta sunucusu ortamınızı ayarlarken bu RFC'ye başvurmanız gerekecektir.

Dikkate almamız gereken diğer protokoller, e-posta mesajlarını istemcimizin sabit diskine indirmeden doğrudan sunucu üzerinde yönetmemize olanak tanıyan IMAP4'tür (İnternet Mesaj Erişim Protokolü). ve mesajların ve klasörlerin kullanıcının bilgisayarına indirilmesine olanak tanıyan POP3 (Postane Protokolü).

Test Ortamımız

Test ortamımız aşağıdaki gibidir:

Posta Sunucusu Kurulumu
Mail Server OS	: 	Debian Wheezy 7.5 
IP Address	:	192.168.0.15
Local Domain	:	example.com.ar
User Aliases	:	[email  is aliased to [email  and [email 
İstemci Makine Kurulumu
Mail Client OS	: 	Ubuntu 12.04
IP Address	:	192.168.0.103

İstemcimizde, aşağıdaki satırı /etc/hosts dosyasına ekleyerek temel DNS çözümlemesini ayarladık.

192.168.0.15 example.com.ar mailserver

E-posta Takma Adları Ekleme

Varsayılan olarak belirli bir kullanıcıya gönderilen mesajın yalnızca o kullanıcıya teslim edilmesi gerekir. Ancak bunu bir grup kullanıcıya veya farklı bir kullanıcıya da dağıtmak istiyorsanız, bir posta takma adı oluşturabilir veya /etc/postfix/aliases dosyasında mevcut olanlardan birini kullanabilirsiniz. , bu sözdizimini izleyerek:

user1: user1, user2

Böylece kullanıcı1'e gönderilen e-postalar aynı zamanda kullanıcı2'ye de iletilecektir. Aşağıdaki gibi iki nokta üst üste işaretinden sonra kullanıcı1 kelimesini çıkarırsanız şunu unutmayın:

user1: user2

kullanıcı1'e gönderilen iletiler yalnızca kullanıcı2'ye gönderilecek, kullanıcı1'e gönderilmeyecek.

Yukarıdaki örnekte kullanıcı1 ve kullanıcı2'nin sistemde zaten mevcut olması gerekir. Yeni kullanıcılar eklemeden önce hafızanızı yenilemeniz gerekiyorsa LFCS serisinin 8. Bölümüne bakmak isteyebilirsiniz.

  1. Linux'ta Kullanıcı/Grup Nasıl Eklenir ve Yönetilir
  2. Linux'ta Kullanıcı Eklemek için 15 Komut

Özel durumumuzda, daha önce açıklandığı gibi aşağıdaki takma adı kullanacağız (/etc/aliases dosyasına aşağıdaki satırı ekleyin).

sysadmin: gacanepa, jdoe

Takma ad arama tablosunu oluşturmak veya yenilemek için aşağıdaki komutu çalıştırın.

postalias /etc/postfix/aliases

Böylece [e-posta korumalı] adresine gönderilen iletiler yukarıda listelenen kullanıcıların gelen kutularına teslim edilecektir.

Postfix'i Yapılandırma – SMTP Hizmeti

Postfix'in ana yapılandırma dosyası /etc/postfix/main.cf'dir. Posta hizmetini kullanabilmeniz için yalnızca birkaç parametre ayarlamanız gerekir. Ancak, güvenli ve tamamen özelleştirilmiş bir posta sunucusu kurmak için tüm yapılandırma parametrelerini (man 5 postconf ile listelenebilir) öğrenmelisiniz.

Not: Bu eğitimin yalnızca bu sürece başlamanıza yardımcı olması amaçlanmaktadır ve Linux ile e-posta hizmetleri hakkında kapsamlı bir kılavuz teşkil etmemektedir.

/etc/postfix/main.cf dosyasını seçtiğiniz düzenleyiciyle açın ve aşağıdaki değişiklikleri açıklandığı gibi yapın.

vi /etc/postfix/main.cf

1. myorigin, sunucudan gönderilen iletilerde görünen etki alanını belirtir. Bu parametreyle birlikte kullanılan /etc/mailname dosyasını görebilirsiniz. Gerekirse düzenlemekten çekinmeyin.

myorigin = /etc/mailname

Yukarıdaki değer kullanılırsa postalar [e-posta korumalı] olarak gönderilir; burada kullanıcı, mesajı gönderen kullanıcıdır.

2. mydestination, bu makinenin e-posta mesajlarını başka bir makineye iletmek yerine (aktarma sistemi görevi görerek) yerel olarak hangi etki alanlarını teslim edeceğini listeler. Bizim durumumuzda varsayılan ayarlar yeterli olacaktır (dosyayı ortamınıza uyacak şekilde düzenlediğinizden emin olun).

Burada /etc/postfix/transport dosyası, etki alanları ile posta iletilerinin iletilmesi gereken bir sonraki sunucu arasındaki ilişkiyi tanımlar. Bizim durumumuzda, mesajları yalnızca yerel alan ağımıza ileteceğimiz için (böylece herhangi bir harici DNS çözümlemesini atlayarak), aşağıdaki yapılandırma yeterli olacaktır.

example.com.ar    local:
.example.com.ar    local:

Daha sonra, bu düz metin dosyasını .db biçimine dönüştürmemiz gerekiyor; bu, Postfix'in gelen ve giden postalarla ne yapacağını bilmek için kullanacağı arama tablosunu oluşturur.

postmap /etc/postfix/transport

İlgili metin dosyasına daha fazla giriş eklerseniz bu tabloyu yeniden oluşturmayı hatırlamanız gerekecektir.

3. mynetworks Postfix'in mesajları ileteceği yetkili ağları tanımlar. Varsayılan değer olan alt ağ, Postfix'e yalnızca yerel makineyle aynı IP alt ağlarındaki SMTP istemcilerinden gelen postaları iletmesini söyler.

mynetworks = subnet

4. relay_domains, e-postaların gönderilmesi gereken hedefleri belirtir. Hedefimi işaret eden varsayılan değere dokunmadan bırakacağız. LAN'ımız için bir posta sunucusu kurduğumuzu unutmayın.

relay_domains = $mydestination

Gerçek içerikleri listelemek yerine $mydestination komutunu kullanabileceğinizi unutmayın.

5. inet_interfaces, posta hizmetinin hangi ağ arayüzlerini dinlemesi gerektiğini tanımlar. Varsayılan all, Postfix'e tüm ağ arayüzlerini kullanmasını söyler.

inet_interfaces = all

6. Son olarak, mailbox_size_limit ve message_size_limit sırasıyla her kullanıcının posta kutusunun boyutunu ve bireysel iletilerin izin verilen maksimum boyutunu bayt cinsinden ayarlamak için kullanılacaktır.

mailbox_size_limit = 51200000
message_size_limit = 5120000

SMTP Sunucusuna Erişimi Kısıtlama

Postfix SMTP sunucusu, her istemci bağlantı isteğine belirli kısıtlamalar uygulayabilir. Tüm istemcilerin smtp HELO komutunu kullanarak kendilerini posta sunucusuna tanıtmalarına izin verilmemeli ve kesinlikle hepsine mesaj gönderme veya alma erişimi verilmemelidir.

Bu kısıtlamaları uygulamak için main.cf dosyasında aşağıdaki yönergeleri kullanacağız. Her ne kadar açıklayıcı olsalar da açıklamalar açıklama amacıyla eklenmiştir.

Require that a remote SMTP client introduces itself with the HELO or EHLO command before sending the MAIL command or other commands that require EHLO negotiation.
smtpd_helo_required = yes

Permit the request when the client IP address matches any network or network address listed in $mynetworks
Reject the request when the client HELO and EHLO command has a bad hostname syntax
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname

Reject the request when Postfix does not represent the final destination for the sender address
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain

Reject the request unless 1) Postfix is acting as mail forwarder or 2) is the final destination
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

Postfix yapılandırma parametreleri postconf sayfası, mevcut seçenekleri daha ayrıntılı olarak keşfetmek için kullanışlı olabilir.

Dovecot'u Yapılandırma

Dovecot'u kurduktan hemen sonra, POP3 ve IMAP protokollerinin yanı sıra bunların güvenli sürümleri olan POP3S'yi de destekler. IMAPS, sırasıyla.

/etc/dovecot/conf.d/10-mail.conf dosyasına aşağıdaki satırları ekleyin.

%u represents the user account that logs in
Mailboxes are in mbox format
mail_location = mbox:~/mail:INBOX=/var/mail/%u
Directory owned by the mail group and the directory set to group-writable (mode=0770, group=mail)
You may need to change this setting if postfix is running a different user / group on your system
mail_privileged_group = mail

Ana dizininizi kontrol ederseniz, aşağıdaki içeriklere sahip bir posta alt dizini olduğunu fark edeceksiniz.

Ayrıca, çoğu sistemde kullanıcının postalarının depolandığı yerin /var/mail/%u dosyası olduğunu lütfen unutmayın.

Aşağıdaki yönergeyi /etc/dovecot/dovecot.conf dosyasına ekleyin (imap ve pop3'ün aynı zamanda imaps ve pop3'leri de içerdiğini unutmayın).

protocols = imap pop3

Ve /etc/conf.d/10-ssl.conf dosyasının aşağıdaki satırları içerdiğinden emin olun (aksi takdirde bunları ekleyin).

ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem

Şimdi Dovecot'u yeniden başlatalım ve imap, imaps, pop3 ve pop3'lerle ilgili bağlantı noktalarını dinlediğini doğrulayalım.

netstat -npltu | grep dovecot

Posta İstemcisi Kurma ve Posta Gönderme/Alma

İstemci bilgisayarımızda Thunderbird'ü açıp DosyaYeniMevcut posta hesabı'na tıklayacağız. Hesabın adını ve ilişkili e-posta adresini şifreyle birlikte girmemiz istenecek. Devam'a tıkladığımızda Thunderbird, ayarları doğrulamak için posta sunucusuna bağlanmayı deneyecektir.

Bir sonraki hesap ([e-posta korumalı]) için yukarıdaki işlemi tekrarlayın; Thunderbird'ün sol bölmesinde aşağıdaki iki gelen kutusu görünmelidir.

Sunucumuzda sysadmin'e jdoe ve gacanepa takma adı verilen bir e-posta mesajı yazacağız.

Posta günlüğü (/var/log/mail.log), sysadmin'e gönderilen e-postanın [email  adresine iletildiğini gösteriyor gibi görünüyor b> ve [e-posta korumalı], aşağıdaki resimde görüldüğü gibi.

Postanın gerçekten Thunderbird'de IMAP hesaplarının yapılandırıldığı müşterimize teslim edilip edilmediğini doğrulayabiliriz.

Son olarak, [email  adresinden [email  adresine bir mesaj göndermeyi deneyelim.

Sınavda yalnızca komut satırı yardımcı programlarıyla çalışmanız istenecektir. Bu, Thunderbird gibi bir masaüstü istemci uygulamasını yükleyemeyeceğiniz ancak bunun yerine posta kullanmanız gerekeceği anlamına gelir. Bu bölümde Thunderbird'ü yalnızca açıklama amacıyla kullandık.

Çözüm

Bu yazıda, yerel alan ağınız için bir IMAP posta sunucusunun nasıl kurulacağını ve SMTP sunucusuna erişimin nasıl kısıtlanacağını açıkladık. Test ortamınızda benzer bir kurulumu uygularken bir sorunla karşılaşırsanız, Postfix ve Dovecot'un çevrimiçi belgelerini (özellikle ana yapılandırma dosyalarıyla ilgili sayfalar, /etc/postfix/main.cf ve /) kontrol etmek isteyebilirsiniz. sırasıyla vb/dovecot/dovecot.conf), ancak her durumda aşağıdaki yorum formunu kullanarak benimle iletişime geçmekten çekinmeyin. Size yardımcı olmaktan büyük mutluluk duyacağım.