iRedMail Hizmetlerini Samba4 AD DC'ye Yapılandırma ve Entegre Etme - Bölüm 11


Bu eğitimde, her ikisini de Samba4 Active Directory Etki Alanı Denetleyicisine entegre etmek için sırasıyla posta hizmetleri sağlayan iRedMail ana arka plan programlarının, posta aktarımı için kullanılan Postfix'in ve hesapların posta kutularına posta dağıtan Dovecot'un nasıl değiştirileceğini öğreneceğiz.

iRedMail'i bir Samba4 AD DC'ye entegre ederek aşağıdaki özelliklerden yararlanacaksınız: Samba AD DC aracılığıyla kullanıcı kimlik doğrulaması, yönetimi ve durumu, Roundcube'deki AD grupları ve Global LDAP Adres Defteri yardımıyla posta listeleri oluşturun.

Gereksinimler

  1. Samba4 AD Entegrasyonu için iRedMail'i CentOS 7'ye yükleyin

Adım 1: iRedMail Sistemini Sama4 AD Entegrasyonu için Hazırlayın

1. Bir DHCP sunucusu tarafından sağlanan dinamik bir IP adresi kullanıyorsanız, ilk adımda makinenize statik bir IP adresi atamanız gerekir.

Makine ağ arayüzlerinizin adlarını listelemek ve doğru NIC'ye karşı nmtui-edit komutunu vererek özel IP ayarlarınızla uygun ağ arayüzünü düzenlemek için ifconfig komutunu çalıştırın.

nmtui-edit komutunu kök ayrıcalıklarıyla çalıştırın.

ifconfig
nmtui-edit eno16777736

2. Ağ arayüzü düzenleme için açıldığında, uygun statik IP ayarlarını ekleyin, Samba4 AD DC'nizin DNS sunucularının IP adreslerini ve alan adınızı sorgulamak için eklediğinizden emin olun. makinenizden alan. Aşağıdaki ekran görüntüsünü kılavuz olarak kullanın.

3. Ağ arayüzünü yapılandırmayı tamamladıktan sonra, değişiklikleri uygulamak ve alan adına ve samba4 etki alanı denetleyicilerinin FQDN'lerine karşı bir dizi ping komutu vermek için ağ arka plan programını yeniden başlatın.

systemctl restart network.service
cat /etc/resolv.conf     # verify DNS resolver configuration if the correct DNS servers IPs are queried for domain resolution
ping -c2 tecmint.lan     # Ping domain name
ping -c2 adc1            # Ping first AD DC
ping -c2 adc2            # Ping second AD DC

4. Daha sonra, ntpdate paketini yükleyerek zamanı samba etki alanı denetleyicisiyle senkronize edin ve aşağıdaki komutları vererek Samba4 makinesinin NTP sunucusunu sorgulayın:

yum install ntpdate
ntpdate -qu tecmint.lan      # querry domain NTP servers
ntpdate tecmint.lan          # Sync time with the domain

5. Yerel saatin samba AD zaman sunucusuyla otomatik olarak senkronize edilmesini isteyebilirsiniz. Bu ayarı gerçekleştirmek için crontab -e komutunu vererek her saat başı çalışacak şekilde zamanlanmış bir iş ekleyin ve aşağıdaki satırı ekleyin:

0   */1	  *   *   *   /usr/sbin/ntpdate tecmint.lan > /var/log/ntpdate.lan 2>&1

Adım 2: Samba4 AD DC'yi iRedMail Entegrasyonu için hazırlayın

6. Şimdi, buradaki bu eğitimde açıklandığı gibi Samba4 Active Directory'yi yönetmek için RSAT araçlarının yüklü olduğu bir Windows makinesine geçin.

DNS Yöneticisi'ni açın, alan adınızın İleriye Doğru Arama Bölgeleri'ne gidin ve yeni bir A kaydı, bir MX kaydı ekleyin ve iRedMail sisteminizin IP adresini gösteren bir PTR kaydı. Aşağıdaki ekran görüntülerini kılavuz olarak kullanın.

A kaydı ekleyin (iRedMail makinesinin adını ve IP Adresini buna göre değiştirin).

MX kaydını ekleyin (alt alanı boş bırakın ve bu posta sunucusu için 10 öncelik ekleyin).

Geriye Doğru Arama Bölgelerine genişleterek PTR kaydını ekleyin (iRedMail sunucusunun IP adresini buna göre değiştirin). Şu ana kadar etki alanı denetleyiciniz için bir ters bölge yapılandırmadıysanız aşağıdaki eğiticiyi okuyun:

  1. Samba4 DNS Grup İlkesini Windows'tan Yönetin

7. Bir posta sunucusunun düzgün çalışmasını sağlayan temel DNS kayıtlarını ekledikten sonra iRedMail makinesine geçin, bind-utils paketini kurun ve yeni eklenenleri sorgulayın. Aşağıdaki alıntıda önerildiği gibi posta kayıtları.

Samba4 AD DC DNS sunucusu, önceki adımda eklenen DNS kayıtlarıyla yanıt vermelidir.

yum install bind-utils
host tecmint.lan
host mail.tecmint.lan
host 192.168.1.245

Bir Windows makinesinden bir Komut İstemi penceresi açın ve yukarıdaki posta sunucusu kayıtlarına karşı nslookup komutunu çalıştırın.

8. Son bir ön koşul olarak, Samba4 AD DC'de vmail adında minimum ayrıcalıklara sahip yeni bir kullanıcı hesabı oluşturun, bu kullanıcı için güçlü bir şifre seçin ve bu kullanıcı için güçlü bir şifre seçin. bu kullanıcının şifresinin süresi hiçbir zaman dolmaz.

Vmail kullanıcı hesabı, iRedMail hizmetleri tarafından Samba4 AD DC LDAP veritabanını sorgulamak ve e-posta hesaplarını çekmek için kullanılacaktır.

Vmail hesabını oluşturmak için, aşağıdaki ekran görüntülerinde gösterildiği gibi RSAT araçlarının yüklü olduğu bölgeye katılmış bir Windows makinesinden ADUC grafik aracını kullanın veya aşağıdaki konuda açıklandığı gibi doğrudan bir etki alanı denetleyicisinden samba-tool komut satırını kullanın.

  1. Samba4 Active Directory'yi Linux Komut Satırından Yönetin

Bu kılavuzda yukarıda bahsedilen ilk yöntemi kullanacağız.

9. iRedMail sisteminden, aşağıdaki komutu vererek vmail kullanıcısının Samba4 AD DC LDAP veritabanını sorgulama yeteneğini test edin. Döndürülen sonuç, aşağıdaki ekran görüntülerinde gösterildiği gibi alan adınız için toplam nesne girişi sayısı olmalıdır.

ldapsearch -x -h tecmint.lan -D '[email ' -W -b 'cn=users,dc=tecmint,dc=lan'

Not: Samba4 AD'de alan adını ve LDAP temel dn'sini değiştirin ('cn=users,dc=tecmint,dc=lan' ) buna göre.

3. Adım: iRedMail Hizmetlerini Samba4 AD DC'ye entegre edin

10. Artık posta hesapları için Samba4 Etki Alanı Denetleyicisini sorgulamak amacıyla iRedMail hizmetlerine (Postfix, Dovecot ve Roundcube) müdahale etme zamanı.

Değiştirilecek ilk hizmet MTA aracısı Postfix olacaktır. Bir dizi MTA ayarını devre dışı bırakmak, alan adınızı Postfix yerel etki alanına ve posta kutusu etki alanlarına eklemek ve alınan postaları yerel olarak kullanıcı posta kutularına dağıtmak için Dovecot aracısını kullanmak için aşağıdaki komutları verin.

postconf -e virtual_alias_maps=' '
postconf -e sender_bcc_maps=' '
postconf -e recipient_bcc_maps= ' '
postconf -e relay_domains=' '
postconf -e relay_recipient_maps=' '
postconf -e sender_dependent_relayhost_maps=' '
postconf -e smtpd_sasl_local_domain='tecmint.lan'	#Replace with your own domain
postconf -e virtual_mailbox_domains='tecmint.lan'	#Replace with your own domain	
postconf -e transport_maps='hash:/etc/postfix/transport'
postconf -e smtpd_sender_login_maps='proxy:ldap:/etc/postfix/ad_sender_login_maps.cf'  # Check SMTP senders
postconf -e virtual_mailbox_maps='proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf'  # Check local mail accounts
postconf -e virtual_alias_maps='proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf'  # Check local mail lists
cp /etc/postfix/transport /etc/postfix/transport.backup	# Backup transport conf file
echo "tecmint.lan dovecot" > /etc/postfix/transport		# Add your domain with dovecot transport
cat /etc/postfix/transport					# Verify transport file
postmap hash:/etc/postfix/transport

11. Ardından, favori metin düzenleyicinizle Postfix /etc/postfix/ad_sender_login_maps.cf yapılandırma dosyasını oluşturun ve aşağıdaki yapılandırmayı ekleyin.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(userPrincipalName=%s)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
result_attribute= userPrincipalName
debuglevel      = 0

12. Aşağıdaki yapılandırmayla /etc/postfix/ad_virtual_mailbox_maps.cf dosyasını oluşturun.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(objectclass=person)(userPrincipalName=%s))
result_attribute= userPrincipalName
result_format   = %d/%u/Maildir/
debuglevel      = 0

13. Aşağıdaki yapılandırmayla /etc/postfix/ad_virtual_group_maps.cf dosyasını oluşturun.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(objectClass=group)(mail=%s))
special_result_attribute = member
leaf_result_attribute = mail
result_attribute= userPrincipalName
debuglevel      = 0

Her üç yapılandırma dosyasında da server_host, bind_dn, bind_pw ve search_base'den gelen değerleri kendi alan adı özelinizi yansıtacak şekilde değiştirin ayarlar.

14. Ardından, Postfix ana yapılandırma dosyasını açın ve # yorumunu ekleyerek iRedAPD check_policy_service ve smtpd_end_of_data_restrictions'u arayın ve devre dışı bırakın. Aşağıdaki satırların önünde.

nano /etc/postfix/main.cf

Aşağıdaki satırları yorumlayın:

#check_policy_service inet:127.0.0.1:7777
#smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:7777

15. Şimdi, aşağıdaki örneklerde gösterildiği gibi bir dizi sorgu yayınlayarak mevcut bir etki alanı kullanıcısını ve bir etki alanı grubunu kullanarak Samba AD'ye Postfix bağlanmasını doğrulayın.

Sonuç, aşağıdaki ekran görüntüsünde gösterildiği gibi olmalıdır.

postmap -q [email  ldap:/etc/postfix/ad_virtual_mailbox_maps.cf
postmap -q [email  ldap:/etc/postfix/ad_sender_login_maps.cf
postmap -q [email  ldap:/etc/postfix/ad_virtual_group_maps.cf

AD kullanıcı ve grup hesaplarını buna göre değiştirin. Ayrıca, kullandığınız AD grubuna bazı AD kullanıcılarının atanmış olduğundan emin olun.

16. Bir sonraki adımda Samba4 AD DC'yi sorgulamak için Dovecot yapılandırma dosyasını değiştirin. Düzenlemek için /etc/dovecot/dovecot-ldap.conf dosyasını açın ve aşağıdaki satırları ekleyin.

hosts           = tecmint.lan:389
ldap_version    = 3
auth_bind       = yes
dn              = [email 
dnpass          = ad_vmail_password
base            = dc=tecmint,dc=lan
scope           = subtree
deref           = never
user_filter     = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_filter     = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_attrs      = userPassword=password
default_pass_scheme = CRYPT
user_attrs      = =home=/var/vmail/vmail1/%Ld/%Ln/Maildir/,=mail=maildir:/var/vmail/vmail1/%Ld/%Ln/Maildir/

Samba4 AD hesabının posta kutusu, Linux sisteminde /var/vmail/vmail1/alan_adiniz.tld/alan_adiniz_kullanıcı/Maildir/ konumunda depolanacaktır.

17. Dovecot ana yapılandırma dosyasında pop3 ve imap protokollerinin etkinleştirildiğinden emin olun. /etc/dovecot/dovecot.conf dosyasını açarak kota ve acl posta eklentilerinin de etkinleştirilip etkinleştirilmediğini doğrulayın ve bu değerlerin mevcut olup olmadığını kontrol edin.

18. İsteğe bağlı olarak, her etki alanı kullanıcısı için maksimum 500 MB depolama alanını aşmayacak şekilde genel bir sabit kota ayarlamak istiyorsanız, /etc/dovecot/dovecot.d dizinine aşağıdaki satırı ekleyin. conf dosyası.

quota_rule = *:storage=500M 

19. Son olarak, şu ana kadar yapılan tüm değişiklikleri uygulamak için, Postfix ve Dovecot arka plan programlarını yeniden başlatın ve aşağıdaki komutları root ayrıcalıklarıyla vererek durumlarını doğrulayın.

systemctl restart postfix dovecot
systemctl status postfix dovecot

20. IMAP protokolünü kullanarak komut satırından posta sunucusu yapılandırmasını test etmek için aşağıdaki örnekte gösterildiği gibi telnet veya netcat komutunu kullanın.

nc localhost 143
a1 LOGIN ad_user@your_domain.tld ad_user_password
a2 LIST “” “*”
a3 LOGOUT

Bir Samba4 kullanıcı hesabıyla komut satırından IMAP oturumu açabiliyorsanız iRedMail sunucusu, Active Directory hesapları için posta gönderip almaya hazır görünür.

Bir sonraki eğitimde Roundcube web postasının Samba4 AD DC ile nasıl entegre edileceği ve Global LDAP Adres Defterinin nasıl etkinleştirileceği, Roudcube'un nasıl özelleştirileceği, Roundcube web arayüzüne bir tarayıcıdan nasıl erişileceği ve bazı gereksiz iRedMail hizmetlerinin nasıl devre dışı bırakılacağı tartışılacaktır.