Wyszukiwanie w witrynie

Jak skonfigurować i zintegrować usługi iRedMail z Samba4 AD DC — część 11


W tym samouczku dowiemy się, jak modyfikować główne demony iRedMail świadczące usługi pocztowe, odpowiednio Postfix służący do przesyłania poczty i Dovecot dostarczający pocztę do skrzynek pocztowych kont, w celu zintegrowania ich obu z kontrolerem domeny Active Directory Samba4.

Integrując iRedMail z Samba4 AD DC, zyskasz korzyści z następujących funkcji: uwierzytelnianie użytkowników, zarządzanie i status poprzez Samba AD DC, tworzenie list mailowych za pomocą grup AD i globalnej książki adresowej LDAP w Roundcube.

Wymagania

  1. Zainstaluj iRedMail na CentOS 7, aby zintegrować Samba4 AD

Krok 1: Przygotuj system iRedMail do integracji Sama4 AD

1. W pierwszym kroku musisz przypisać statyczny adres IP swojemu urządzeniu, jeśli używasz dynamicznego adresu IP dostarczonego przez serwer DHCP.

Uruchom polecenie ifconfig, aby wyświetlić listę nazw interfejsów sieciowych komputera i edytować właściwy interfejs sieciowy za pomocą niestandardowych ustawień IP, wydając polecenie nmtui-edit dla właściwej karty sieciowej.

Uruchom polecenie nmtui-edit z uprawnieniami roota.

ifconfig
nmtui-edit eno16777736

2. Po otwarciu interfejsu sieciowego do edycji dodaj odpowiednie ustawienia statycznego adresu IP, upewnij się, że dodałeś adresy IP serwerów DNS swojego DC Samba4 AD i nazwę swojej domeny, aby wysłać zapytanie do realm ze swojej maszyny. Użyj poniższego zrzutu ekranu jako przewodnika.

3. Po zakończeniu konfigurowania interfejsu sieciowego zrestartuj demona sieciowego, aby zastosować zmiany i wydaj serię poleceń ping względem nazwy domeny i nazw FQDN kontrolerów domeny samba4.

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. Następnie zsynchronizuj czas z kontrolerem domeny Samba, instalując pakiet ntpdate i zapytaj serwer NTP maszyny Samba4, wydając poniższe polecenia:

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

5. Możesz chcieć, aby czas lokalny był automatycznie synchronizowany z serwerem czasu Samba AD. Aby osiągnąć to ustawienie, dodaj zaplanowane zadanie uruchamiane co godzinę, wydając polecenie crontab -e i dodając następujący wiersz:

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

Krok 2: Przygotuj Samba4 AD DC do integracji z iRedMail

6. Teraz przejdź na komputer z systemem Windows z zainstalowanymi narzędziami RSAT do zarządzania usługą Samba4 Active Directory, jak opisano w tym samouczku tutaj.

Otwórz Menedżera DNS, przejdź do Stref wyszukiwania do przodu swojej domeny i dodaj nowy rekord A, rekord MX i rekord PTR wskazujący adres IP Twojego systemu iRedMail. Skorzystaj z poniższych zrzutów ekranu jako wskazówek.

Dodaj rekord A (zamień odpowiednio nazwę i adres IP urządzenia iRedMail).

Dodaj rekord MX (pozostaw domenę podrzędną pustą i dodaj priorytet 10 dla tego serwera pocztowego).

Dodaj rekord PTR, rozwijając go do Stref wyszukiwania wstecznego (odpowiednio zamień adres IP serwera iRedMail). Jeśli jeszcze nie skonfigurowałeś strefy odwrotnej dla swojego kontrolera domeny, przeczytaj poniższy samouczek:

  1. Zarządzaj zasadami grupy DNS Samba4 z poziomu systemu Windows

7. Po dodaniu podstawowych rekordów DNS, które zapewniają prawidłowe działanie serwera pocztowego, przejdź do maszyny iRedMail, zainstaluj pakiet bind-utils i zapytaj nowo dodany zapisy pocztowe zgodnie z sugestią w poniższym fragmencie.

Serwer DNS Samba4 AD DC powinien odpowiedzieć rekordami DNS dodanymi w poprzednim kroku.

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

Na komputerze z systemem Windows otwórz okno Wiersza poleceń i wydaj polecenie nslookup względem powyższych rekordów serwera pocztowego.

8. Jako ostatni warunek wstępny utwórz nowe konto użytkownika z minimalnymi uprawnieniami w Samba4 AD DC o nazwie vmail, wybierz silne hasło dla tego użytkownika i upewnij się, że hasło tego użytkownika nigdy nie wygasa.

Konto użytkownika vmail będzie używane przez usługi iRedMail do wysyłania zapytań do bazy danych Samba4 AD DC LDAP i pobierania kont e-mail.

Aby utworzyć konto vmail, użyj narzędzia graficznego ADUC z komputera Windows podłączonego do domeny z zainstalowanymi narzędziami RSAT, jak pokazano na poniższych zrzutach ekranu, lub użyj wiersza poleceń samba-tool bezpośrednio z kontrolera domeny, jak wyjaśniono w następnym temacie.

  1. Zarządzaj usługą Active Directory Samba4 z wiersza poleceń systemu Linux

W tym przewodniku zastosujemy pierwszą metodę wspomnianą powyżej.

9. W systemie iRedMail przetestuj zdolność użytkownika vmail do wysyłania zapytań do bazy danych LDAP Samba4 AD DC, wydając poniższe polecenie. Zwrócony wynik powinien być całkowitą liczbą wpisów obiektów dla Twojej domeny, jak pokazano na poniższych zrzutach ekranu.

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

Uwaga: Zastąp nazwę domeny i podstawową nazwę domeny LDAP w Samba4 AD („cn=users,dc=tecmint,dc=lan” ) odpowiednio.

Krok 3: Zintegruj usługi iRedMail z Samba4 AD DC

10. Teraz nadszedł czas, aby majstrować przy usługach iRedMail (Postfix, Dovecot i Roundcube), aby zapytać kontroler domeny Samba4 o konta pocztowe.

Pierwszą usługą, która zostanie zmodyfikowana będzie agent MTA Postfix. Wydaj następujące polecenia, aby wyłączyć szereg ustawień MTA, dodaj nazwę swojej domeny do domeny lokalnej Postfix i domen skrzynek pocztowych i użyj agenta Dovecot do lokalnego dostarczania otrzymanych wiadomości e-mail do skrzynek pocztowych użytkowników.

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. Następnie utwórz plik konfiguracyjny Postfix /etc/postfix/ad_sender_login_maps.cf w swoim ulubionym edytorze tekstu i dodaj poniższą konfigurację.

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. Utwórz plik /etc/postfix/ad_virtual_mailbox_maps.cf z następującą konfiguracją.

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. Utwórz plik /etc/postfix/ad_virtual_group_maps.cf z poniższą konfiguracją.

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

We wszystkich trzech plikach konfiguracyjnych zamień wartości z server_host, bind_dn, bind_pw i search_base, aby odzwierciedlić własną domenę ustawienia.

14. Następnie otwórz główny plik konfiguracyjny Postfixa, wyszukaj i wyłącz iRedAPD check_policy_service i smtpd_end_of_data_restrictions, dodając komentarz # przed następującymi liniami.

nano /etc/postfix/main.cf

Skomentuj następujące wiersze:

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

15. Teraz sprawdź powiązanie Postfixa z Samba AD, używając istniejącego użytkownika domeny i grupy domeny, wydając serię zapytań, jak pokazano w poniższych przykładach.

Wynik powinien być podobny do pokazanego na poniższym zrzucie ekranu.

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

Odpowiednio zamień konta użytkowników i grup AD. Upewnij się także, że grupa AD, z której korzystasz, ma przypisanych kilku członków użytkowników AD.

16. W następnym kroku zmodyfikuj plik konfiguracyjny Dovecot, aby wysłać zapytanie do Samba4 AD DC. Otwórz plik /etc/dovecot/dovecot-ldap.conf do edycji i dodaj następujące linie.

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/

Skrzynka pocztowa konta Samba4 AD będzie przechowywana w lokalizacji /var/vmail/vmail1/twoja_domena.tld/twoja_domena_użytkownika/Maildir/ w systemie Linux.

17. Upewnij się, że w głównym pliku konfiguracyjnym dovecot włączone są protokoły pop3 i imap. Sprawdź, czy wtyczki poczty quota i acl są również włączone, otwierając plik /etc/dovecot/dovecot.conf i sprawdź, czy te wartości są obecne.

18. Opcjonalnie, jeśli chcesz ustawić globalny twardy limit na nieprzekraczający maksymalnie 500 MB miejsca dla każdego użytkownika domeny, dodaj następujący wiersz w pliku /etc/dovecot/dovecot. conf plik.

quota_rule = *:storage=500M 

19. Na koniec, aby zastosować wszystkie wprowadzone do tej pory zmiany, uruchom ponownie i sprawdź status demonów Postfix i Dovecot, wydając poniższe polecenia z uprawnieniami roota.

systemctl restart postfix dovecot
systemctl status postfix dovecot

20. Aby przetestować konfigurację serwera pocztowego z wiersza poleceń przy użyciu protokołu IMAP, użyj polecenia telnet lub netcat, jak pokazano w poniższym przykładzie.

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

Jeśli możesz zalogować się IMAP z wiersza poleceń za pomocą konta użytkownika Samba4, serwer iRedMail wydaje się gotowy do wysyłania i odbierania poczty dla kont Active Directory.

W następnym samouczku omówimy, jak zintegrować pocztę internetową Roundcube z Samba4 AD DC i włączyć globalną książkę adresową LDAP, dostosować Roudcube, uzyskać dostęp do interfejsu internetowego Roundcube z przeglądarki i wyłączyć niektóre niepotrzebne usługi iRedMail.