Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:mail_c7:dovecot_6 [30.07.2014 21:07. ] – [10-auth.conf] djangocentos:mail_c7:dovecot_6 [22.07.2019 15:04. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 8: Zeile 8:
   - **GID** : Gruppen-ID, die beim Anlegen des Benutzerkontos, der Unterverzeichnisse für die eMails, SIEVE-Scripte und individuellen Benutzerdaten und der eMails verwendet wird.   - **GID** : Gruppen-ID, die beim Anlegen des Benutzerkontos, der Unterverzeichnisse für die eMails, SIEVE-Scripte und individuellen Benutzerdaten und der eMails verwendet wird.
   - **Home-Verzeichnis**: Benutzerverzeichnis, in dem das Benutzerkonto, die Unterverzeichnisse für die eMails, SIEVE-Scripte und individuellen Benutzerdaten sowie der eMails verwendet wird.   - **Home-Verzeichnis**: Benutzerverzeichnis, in dem das Benutzerkonto, die Unterverzeichnisse für die eMails, SIEVE-Scripte und individuellen Benutzerdaten sowie der eMails verwendet wird.
- 
  
 ===== Authentifizierungsquellen ===== ===== Authentifizierungsquellen =====
Zeile 28: Zeile 27:
 Authentifizierungs-Anfragen, oder Neudeutsch **//lookups//**, werden von unserem Dovecot-Mailserver an verschiedenen Stellen in abwechselnden Formen benötigt. Authentifizierungs-Anfragen, oder Neudeutsch **//lookups//**, werden von unserem Dovecot-Mailserver an verschiedenen Stellen in abwechselnden Formen benötigt.
   * **passdb-lookup** : Der passdb-lookup wird von Dovecot immer dann ausgeführt, wenn die [[http://de.wikipedia.org/wiki/Autorisierung|Autorisierung]] des Benutzers gefordert wird. Im Genauen wird hierbei geprüft, ob das genannte Passwort dem Anmeldenamen/Benutzerkonto zugeordnet werden kann. Diese Autorisierungsüberprüfung ist immer dann notwendig, wenn sich ein Kunde am IMAP/POP3-Server bzw. am Managed-SIEVE-Server anmeldet. Passt Passwort und Anmeldenamen zusammen, wird dem Benutzer der Zugriff gestattet, passt das Passwort nicht, wird der Anmeldevorgang mit einer Fehlermeldung abgebrochen.   * **passdb-lookup** : Der passdb-lookup wird von Dovecot immer dann ausgeführt, wenn die [[http://de.wikipedia.org/wiki/Autorisierung|Autorisierung]] des Benutzers gefordert wird. Im Genauen wird hierbei geprüft, ob das genannte Passwort dem Anmeldenamen/Benutzerkonto zugeordnet werden kann. Diese Autorisierungsüberprüfung ist immer dann notwendig, wenn sich ein Kunde am IMAP/POP3-Server bzw. am Managed-SIEVE-Server anmeldet. Passt Passwort und Anmeldenamen zusammen, wird dem Benutzer der Zugriff gestattet, passt das Passwort nicht, wird der Anmeldevorgang mit einer Fehlermeldung abgebrochen.
-  * **userdb-lookup** : Bei einem userdb-lookup ermittelt unser Dovecot-Server die Umgebungsvariablen des genannten/benötigten Benutzerkontos. Im einfachsten Fall muss natürlich ein userdb-lookup nach einem erfolgreichen passdb-lookup erfolgen, da der Dovecotserver wissen muss, wo die Inhalte zu dem Benutzerkonto zu finden sind. \\ Ein userdb-lookup muss aber auch ausgeführt werden, wenn unser Dovecot-Server eine Nachricht, die er via **LMTP** empfängt, in das richtige Benutzerkonto mit der zugehörigen GID und UID abspeichern will. Ein weiterer Anwendungsfall ist das Thema //Shared Folders// /* link zum Kapitel shardfolders einfügen! */ FIXME. Hier muss der Dovecot-Server z.B. wo er die geteilten Mailkonto(teile) finden kann.+  * **userdb-lookup** : Bei einem userdb-lookup ermittelt unser Dovecot-Server die Umgebungsvariablen des genannten/benötigten Benutzerkontos. Im einfachsten Fall muss natürlich ein userdb-lookup nach einem erfolgreichen passdb-lookup erfolgen, da der Dovecotserver wissen muss, wo die Inhalte zu dem Benutzerkonto zu finden sind. \\ Ein userdb-lookup muss aber auch ausgeführt werden, wenn unser Dovecot-Server eine Nachricht, die er via **LMTP** empfängt, in das richtige Benutzerkonto mit der zugehörigen GID und UID abspeichern will. Ein weiterer Anwendungsfall ist das Thema [[centos:mail_c7:dovecot_7|Shared Folders und Shared Namespace]]. Hier muss der Dovecot-Server z.B. wo er die geteilten Mailkonto(teile) finden kann.
  
  
Zeile 280: Zeile 279:
 === dovecot-sql.conf.ext === === dovecot-sql.conf.ext ===
 Bei der RPM-Installation unseres Dovecot-Servers, wurde im Verzeichnis //**/usr/share/doc/dovecot-2.2.13/example-config**// bereits eine Vorlagedatei für die nun folgende Konfiguration des SQL-Auth-Mechanismus angelegt. Diese Datei kopieren wir nun in das Dovecot-Konfigurationsverzeichnis //**/etc/dovecot**//. Bei der RPM-Installation unseres Dovecot-Servers, wurde im Verzeichnis //**/usr/share/doc/dovecot-2.2.13/example-config**// bereits eine Vorlagedatei für die nun folgende Konfiguration des SQL-Auth-Mechanismus angelegt. Diese Datei kopieren wir nun in das Dovecot-Konfigurationsverzeichnis //**/etc/dovecot**//.
-   # cp /usr/share/doc/dovecot-2.2.13/example-config/dovecot-sql.conf.ext /etc/dovecot/+   # cp /usr/share/doc/dovecot-2.2.*/example-config/dovecot-sql.conf.ext /etc/dovecot/
  
 Die wichtigsten Konfigurationsparameter in dieser Datei, die wir unseren Bedürfnissen nach anpassen müssen sind: Die wichtigsten Konfigurationsparameter in dieser Datei, die wir unseren Bedürfnissen nach anpassen müssen sind:
Zeile 412: Zeile 411:
 # Django : 2013-02-06 # Django : 2013-02-06
 # default: unset # default: unset
-password_query = SELECT username AS user, password FROM mailbox WHERE username = '%u' AND active = '1'+password_query = SELECT username AS user, password, 10000 AS userdb_uid, 10000 AS userdb_gid, \ 
 +  CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u' AND active = '1'
  
 # userdb query to retrieve the user information. It can return fields: # userdb query to retrieve the user information. It can return fields:
Zeile 551: Zeile 551:
 Nur so ist sichergestellt, dass die Passworte nie über das Internet übertragen werden müssen. Denn dort liegt das größte Bedrohungspotential. Unser Postmaster und Netzwerkadministrator hat auch ohne Passwort jederzeit die Möglichkeit auf Daten der Nutzer zuzugreifen!</WRAP> Nur so ist sichergestellt, dass die Passworte nie über das Internet übertragen werden müssen. Denn dort liegt das größte Bedrohungspotential. Unser Postmaster und Netzwerkadministrator hat auch ohne Passwort jederzeit die Möglichkeit auf Daten der Nutzer zuzugreifen!</WRAP>
  
 +=== 10-auth.conf ==
 +Zur Aktivierung des Authentifizierungs-Mechanismus **SQL** müssen wir nun nur noch den richtigen **!include** in der Konfigurationsdatei //**/etc/dovecot/conf.d/10-auth.conf**// setzen.
 +   # vim /etc/dovecot/conf.d/10-auth.conf
 +<code bash>...
 +
 +#!include auth-deny.conf.ext
 +#!include auth-master.conf.ext
 +
 +# Django : 2014-07-30
 +# default: !include auth-system.conf.ext
 +# Umstellung auf den Authentifizierungs-Mechanismus SQL
 +#!include auth-system.conf.ext
 +!include auth-sql.conf.ext
 +#!include auth-ldap.conf.ext
 +#!include auth-passwdfile.conf.ext
 +#!include auth-checkpassword.conf.ext
 +#!include auth-vpopmail.conf.ext
 +#!include auth-static.conf.ext
 +</code>
 +
 +Ferner definieren wir in der //**/etc/dovecot/conf.d/10-auth.conf**// noch welche Authentifizierungs-Mechanismen über die Option **auth_mechanisms** erlaubt sein sollen. Im Falle von **plain** **login** **digest-md5** **cram-md5** wäre das dann nachfolgender Code-Schnippsel
 +   # vim /etc/dovecot/conf.d/10-auth.conf
 +<code bash>...
 +
 +# Space separated list of wanted authentication mechanisms:
 +#   plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey
 +#   gss-spnego
 +# NOTE: See also disable_plaintext_auth setting.
 +# Django : 2014-05-23
 +# default: auth_mechanisms = plain
 +auth_mechanisms = plain login digest-md5 cram-md5
 +
 +...
 +</code>
 +
 +Somit ergibt sich folgende komplette Konfigurationsdatei  //**/etc/dovecot/conf.d/10-auth.conf**//.
 +    # vim /etc/dovecot/conf.d/10-auth.conf
 +<file bash /etc/dovecot/conf.d/10-auth.conf>##
 +## Authentication processes
 +##
 +
 +# Disable LOGIN command and all other plaintext authentications unless
 +# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
 +# matches the local IP (ie. you're connecting from the same computer), the
 +# connection is considered secure and plaintext authentication is allowed.
 +# See also ssl=required setting.
 +#disable_plaintext_auth = yes
 +
 +# Authentication cache size (e.g. 10M). 0 means it's disabled. Note that
 +# bsdauth, PAM and vpopmail require cache_key to be set for caching to be used.
 +#auth_cache_size = 0
 +# Time to live for cached data. After TTL expires the cached record is no
 +# longer used, *except* if the main database lookup returns internal failure.
 +# We also try to handle password changes automatically: If user's previous
 +# authentication was successful, but this one wasn't, the cache isn't used.
 +# For now this works only with plaintext authentication.
 +#auth_cache_ttl = 1 hour
 +# TTL for negative hits (user not found, password mismatch).
 +# 0 disables caching them completely.
 +#auth_cache_negative_ttl = 1 hour
 +
 +# Space separated list of realms for SASL authentication mechanisms that need
 +# them. You can leave it empty if you don't want to support multiple realms.
 +# Many clients simply use the first one listed here, so keep the default realm
 +# first.
 +#auth_realms =
 +
 +# Default realm/domain to use if none was specified. This is used for both
 +# SASL realms and appending @domain to username in plaintext logins.
 +#auth_default_realm = 
 +
 +# List of allowed characters in username. If the user-given username contains
 +# a character not listed in here, the login automatically fails. This is just
 +# an extra check to make sure user can't exploit any potential quote escaping
 +# vulnerabilities with SQL/LDAP databases. If you want to allow all characters,
 +# set this value to empty.
 +#auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
 +
 +# Username character translations before it's looked up from databases. The
 +# value contains series of from -> to characters. For example "#@/@" means
 +# that '#' and '/' characters are translated to '@'.
 +#auth_username_translation =
 +
 +# Username formatting before it's looked up from databases. You can use
 +# the standard variables here, eg. %Lu would lowercase the username, %n would
 +# drop away the domain if it was given, or "%n-AT-%d" would change the '@' into
 +# "-AT-". This translation is done after auth_username_translation changes.
 +#auth_username_format = %Lu
 +
 +# If you want to allow master users to log in by specifying the master
 +# username within the normal username string (ie. not using SASL mechanism's
 +# support for it), you can specify the separator character here. The format
 +# is then <username><separator><master username>. UW-IMAP uses "*" as the
 +# separator, so that could be a good choice.
 +#auth_master_user_separator =
 +
 +# Username to use for users logging in with ANONYMOUS SASL mechanism
 +#auth_anonymous_username = anonymous
 +
 +# Maximum number of dovecot-auth worker processes. They're used to execute
 +# blocking passdb and userdb queries (eg. MySQL and PAM). They're
 +# automatically created and destroyed as needed.
 +#auth_worker_max_count = 30
 +
 +# Host name to use in GSSAPI principal names. The default is to use the
 +# name returned by gethostname(). Use "$ALL" (with quotes) to allow all keytab
 +# entries.
 +#auth_gssapi_hostname =
 +
 +# Kerberos keytab to use for the GSSAPI mechanism. Will use the system
 +# default (usually /etc/krb5.keytab) if not specified. You may need to change
 +# the auth service to run as root to be able to read this file.
 +#auth_krb5_keytab = 
 +
 +# Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and
 +# ntlm_auth helper. <doc/wiki/Authentication/Mechanisms/Winbind.txt>
 +#auth_use_winbind = no
 +
 +# Path for Samba's ntlm_auth helper binary.
 +#auth_winbind_helper_path = /usr/bin/ntlm_auth
 +
 +# Time to delay before replying to failed authentications.
 +#auth_failure_delay = 2 secs
 +
 +# Require a valid SSL client certificate or the authentication fails.
 +#auth_ssl_require_client_cert = no
 +
 +# Take the username from client's SSL certificate, using 
 +# X509_NAME_get_text_by_NID() which returns the subject's DN's
 +# CommonName. 
 +#auth_ssl_username_from_cert = no
 +
 +# Space separated list of wanted authentication mechanisms:
 +#   plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey
 +#   gss-spnego
 +# NOTE: See also disable_plaintext_auth setting.
 +# Django : 2014-05-23
 +# default: auth_mechanisms = plain
 +auth_mechanisms = plain login digest-md5 cram-md5
 +
 +##
 +## Password and user databases
 +##
 +
 +#
 +# Password database is used to verify user's password (and nothing more).
 +# You can have multiple passdbs and userdbs. This is useful if you want to
 +# allow both system users (/etc/passwd) and virtual users to login without
 +# duplicating the system users into virtual database.
 +#
 +# <doc/wiki/PasswordDatabase.txt>
 +#
 +# User database specifies where mails are located and what user/group IDs
 +# own them. For single-UID configuration use "static" userdb.
 +#
 +# <doc/wiki/UserDatabase.txt>
 +
 +#!include auth-deny.conf.ext
 +#!include auth-master.conf.ext
 +
 +# Django : 2014-07-30
 +# default: !include auth-system.conf.ext
 +# Umstellung auf den Authentifizierungs-Mechanismus passwd-file
 +#!include auth-system.conf.ext
 +!include auth-sql.conf.ext
 +#!include auth-ldap.conf.ext
 +#!include auth-passwdfile.conf.ext
 +#!include auth-checkpassword.conf.ext
 +#!include auth-vpopmail.conf.ext
 +#!include auth-static.conf.ext
 +</file>
  
  
Zeile 581: Zeile 752:
  
  
 +
 +Haben wir die Benutzerauthentifizierung erfolgreich abgeschlossen, vervollständigen wir die Grundkonfiguration unseres Dovecot-Servers mit der Definition von **[[centos:mail_c7:dovecot_1?&#mailbox_location_vmail-directory|Mailbox Location und vmail-Directory]]**.
  
 ====== Links ====== ====== Links ======
Zeile 586: Zeile 759:
   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
- 
-~~DISCUSSION~~ 
  
  
  • centos/mail_c7/dovecot_6.1406754455.txt.gz
  • Zuletzt geändert: 30.07.2014 21:07.
  • von django