Aktionen

EFa Appliance Active Directory in MailScanner und Postfix konfigurieren

Aus znilwiki

Anmeldung an der Weboberfläche mit Active Directory Benutzern

  • Legt im Active Directory einen normalen benutzer mit Password an - am besten nur Buchstaben und Zahlen!
  • Prüft dessen Anmeldenamen (siehe Bild unten)
  • Meldet euch per SSH an der Appliance an
  • Wählt 1) Shell
  • LDAP-Modul nachinstallieren (nur bei efa V3, bei efa v4 ist es schon enthalten):
yum install php-ldap
service httpd restart

Danach die Konfiguration anpassen:

nano /var/www/html/mailscanner/conf.php

und folgende Zeilen suchen und ändern:

  • Alles was Gelb hinterlegt ist müsst Ihr an den Domänencontroller und euer AD anpassen
  • Alles was Blau hinterlegt ist müsst Ihr einfach auf diesen Wert ändern

// LDAP settings for authentication

define('USE_LDAP', true);
define('LDAP_SSL', false); // set to true if using LDAP with SSL encryption
define('LDAP_HOST', '192.168.45.50');
define('LDAP_PORT', '389');
define('LDAP_PROTOCOL_VERSION', 3);
define('LDAP_DN', 'DC=znil,DC=local');
define('LDAP_USER', 'ldapSearch@znil.local'); // if no email set: cn=admin,dc=example,dc=com
define('LDAP_PASS', 'DasPasswort!');
define('LDAP_SITE', 'default');
// can be set to 'proxyaddresses' or 'mail'. Please refer to your LDAP system manual for the$
define('LDAP_EMAIL_FIELD', 'proxyaddresses');
// Microsoft Active Directory compatibility support for searches from Domain Base DN
define('LDAP_MS_AD_COMPATIBILITY', true);


Danach den Dienst neu starten:

service mailscanner restart


Nun kann man sich jeder mit seinem Benutzeranmeldenamen udn dem Windows-Passwort an der Appliance anmelden:
ClipCapIt-170310-212340.PNG
Das ist der Name aus diesem Feld. Das kann die Emailadresse sein. Oder hinter dem @ kommt der interne DNS-Domänenname (z.B. znil.local)
Der Benutzer sieht nach der Anmeldung nur Spam-Emails die diesen Betreffen.



Prüfung der Email-Adresse vor deren Annahme von Postfix

Am besten ist es natürlich, wenn Postfix nur Emails von Empfängern akzeptiert die es wirklich gibt.
Dazu müssen wir Postfix ebenfalls das Active Directory abfragen lassen.
Ich nutze hier unverschlüsseltes LDAP was ich mir auf dem Domänencontroller extra freigeschaltet habe: https://znil.net/index.php?title=DN_Distinguished_Name_eines_Benutzers_oder_einer_Gruppe_abfragen_/_herauskriegen
Wir erstellen die folgende Datei:

nano /etc/postfix/ldap_relay_recipient_maps.cf

mit folgendem Inhalt:

#/etc/postfix/ldap_relay_recipient_maps.cf
#example for Windows AD-Server
server_host = ldap://192.168.45.50:389
search_base = DC=znil,DC=local
bind_dn = CN=ldapSearch,OU=3.Funktionsbenutzer,DC=znil,DC=local
bind_pw = DasPasswort!
bind = yes
#query_filter = (|(proxyAddresses=smtp:%s) (proxyAddresses=SMTP:%s))
query_filter = (|(mail=%s)(proxyAddresses=smtp:%s))
#result_attribute = mail
leaf_result_attribute = mail
result_format = OK
version = 3

Bei bind_dn müsst den Eintrag für euren Benutzer für die Abfrage des AD eintragen. Ihr könnt die genaue Schreibweise auf einem Domänencontroller mit dieser Anleitung abfragen: DN Distinguished Name eines Benutzers oder einer Gruppe abfragen / herauskriegen Danach müsste Ihr noch folgende Datei ändern:

nano /etc/postfix/main.cf

fügt ganz am Ende die folgende Zeile ein:

relay_recipient_maps = ldap:/etc/postfix/ldap_relay_recipient_maps.cf


Nun noch Postfix neu starten:

service postfix restart

Ein kleiner Test:
ClipCapIt-170310-214114.PNG

Läuft!



Probleme mit Postfix

geht in der Bash einmal folgende Zeile ein:

postconf -h queue_directory

Falls es dann Fehlermeldungen gibt wie:

postconf: warning: ldap:/etc/postfix/ldap_relay_recipient_maps.cf: unused parameter: query_filter=(|(mail=%s)(proxyAddresses=smtp:%s))
postconf: warning: ldap:/etc/postfix/ldap_relay_recipient_maps.cf: unused parameter: bind=yes
postconf: warning: ldap:/etc/postfix/ldap_relay_recipient_maps.cf: unused parameter: bind_pw=xxxxxxx
postconf: warning: ldap:/etc/postfix/ldap_relay_recipient_maps.cf: unused parameter: version=3
postconf: warning: ldap:/etc/postfix/ldap_relay_recipient_maps.cf: unused parameter: bind_dn=CN=xx,OU=xx,DC=xxx
postconf: warning: ldap:/etc/postfix/ldap_relay_recipient_maps.cf: unused parameter: server_host=xx.xx.xx.xx
postconf: warning: ldap:/etc/postfix/ldap_relay_recipient_maps.cf: unused parameter: result_format=OK
postconf: warning: ldap:/etc/postfix/ldap_relay_recipient_maps.cf: unused parameter: leaf_result_attribute=mail
postconf: warning: ldap:/etc/postfix/ldap_relay_recipient_maps.cf: unused parameter: search_base=DC=xx, DC=xx

dann ändert den Eintrag in der mail.cf wie folgt ab:

nano /etc/postfix/main.cf

am Ende die folgende Zeile wie folgt ändern:

relay_recipient_maps = ldap:ldap_relay_recipient_maps.cf

also ohne den Pfad.
Scheint ab einer bestimmten Postfix-Version so zu sein.


Kommentare

Loading comments...

</comments>