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:
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:
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 = 192.168.45.50 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
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
</comments>