Exim4 - Plain Auth (realizowana przez sasl)

Konfiguracja serwerów, usług, itp.
divided
Posty: 1
Rejestracja: 05 czerwca 2011, 21:24

Exim4 - Plain Auth (realizowana przez sasl)

Post autor: divided »

Pierwszy post na forum, więc witam serdecznie wszystkich miłośników ciemnego ekranu. Przechodząc do rzeczy: W trakcie dostrajania i konfiguracji exima na vpsie utknąłem przy autoryzacji.
Konfiguracja będzia miałą służyć jako serwer poczty dla wielu klientów, postawiona na vpsie. Aktualnie lata jako samowolka open-relay i chcę to możliwie szybko zmienić.
Jeśli chodzi o samą konfigurację exima to już mu wskazałem metody autoryzacji, tj. zmodyfikowałem configi w /etc/exim4/conf.d/auth/30_exim4-config_templates tak aby przy zapytaniu AUTH PLAIN odwoływał się do sasl, odpowiada za to poniższa sekcja:

Kod: Zaznacz cały

 plain_saslauthd_server:
   driver = plaintext
   public_name = PLAIN
   server_condition = ${if saslauthd{{$auth2}{$auth3}}{1}{0}}
   server_set_id = $auth2
   server_prompts = :
   .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
   server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
   .endif
Wcześniej jeszcze zdefiniowałem sobie macro AUTH_SERVER_ALLOW_NOTLS_PASSWORDS do debuggowania.

Z tego co wyczytałem saslauth powinien zaciągać nazwy kont oraz hasła z pliku /etc/exim4/passwd, gdzie powinny one zostać zapisane w formie: <nazwa_usr>:<zahashowany_pass>:<pass_w_plain_texcie> (choć ten ostatni plain pass nie w każdej metodzie autoryzacji smtp jest wymagany)

W tym miejscu dodam że detale pliku wyglądają następująco:

Kod: Zaznacz cały

-rw-------  1 root Debian-exim   98 Jun  5 13:06 passwd
Natomiast jeśli chodzi o powiazanie usera Debian-exim z grupą sasl to dodałem go za pomocą polecenia usermod -G do grupy sasl, a więc linia w pliku groups wygląda tak:

sasl:x:45:Debian-exim

W jednym z dziesiątek artykułów na temat konfiguracji exima wyczytałem ze demon saslauthd musi chodzic w trybie pam. Exim sam się tym demonem nie interesuje, więc odpaliłem go ręcznie - i przesiaduje na liście procesów jako:

Kod: Zaznacz cały

root     16292  0.0  0.0  53596   960 ?        Ss   20:57   0:00 saslauthd -a pam -n 3
Zalogować próbowałem się na wiele różnych sposobów - od samego połączenia smtp:

Kod: Zaznacz cały

220 serwer ESMTP Exim 4.72 Sun, 05 Jun 2011 21:23:11 +0000
ehlo czolem
250-serwer Hello mojPc.klient.adsl.tplnet.pl [xxx.xx.246.47]
250-SIZE 52428800
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
auth plain
334
AGVjemVrYQAGCAZGYQ==# tu wprowadzam kombinacje '\0auth_login\0tajemnyPass' po przejściach z base64
535 Incorrect authentication data
Gdzie coś się z saslem chyba exim połączył, bo w logu /var/log/exim4/mainlog mam przy tym wpis:
2011-06-05 21:23:30 plain_saslauthd_server authenticator failed for mojPc.klient.adsl.tplnet.pl (czolem) [xxx.xx.246.47]: 535 Incorrect authentication data (set_id=auth_login)

Jak i również przez polecenie testsaslauthd -u auth_login -p <pass>
Gdzie efektem jest:

Kod: Zaznacz cały

0: NO "authentication failed"
Pakiet pobrałem za pomocą apt-get ( nie kompilowałem go sam )

Wybaczcie jeśli zapomniałem dodać jakiś istotnych informacji/logów i jak tylko podacie co jest jeszcze potrzebne to je dorzuce. Generalnie jestem świeżutki i zielony jeśli chodzi o linuxy. Całość stawiam na dystrybucji Debiana Squeeze. Prosiłbym przy okazji jeszcze o info na przyszłość jaki proponujecie pakiet dorzucić żeby całość obsługiwałą pop3 i imap.

Pozdrawiam
ODPOWIEDZ