Forum Linux.pl

Oprogramowanie => Narzędzia administracyjne => Wątek zaczęty przez: hki w 2008-01-01, 17:17:51

Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-01, 17:17:51
[root@seraaq saslauthd]# saslfinger -s
saslfinger - postfix Cyrus sasl configuration wto sty  1 17:24:36 EST 2008
version: 1.0.5
mode: server-side SMTP AUTH

-- basics --
Postfix: 1.1.12
System: Red Hat Linux release 9 (Shrike)

-- smtpd is linked to --
        libsasl.so.7 => /usr/lib/libsasl.so.7 (0x40023000)

-- active SMTP AUTH and TLS parameters for smtpd --
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous


-- listing of /usr/lib/sasl --
razem 136
drwxr-xr-x    2 root     root         4096 lip 10 14:47 .
drwxr-xr-x   30 root     root        12288 paź 19 11:28 ..
-rwxr-xr-x    1 root     root          771 maj  3  2004 libanonymous.la
-rwxr-xr-x    1 root     root         9420 maj  3  2004 libanonymous.so
-rwxr-xr-x    1 root     root         9420 maj  3  2004 libanonymous.so.1
-rwxr-xr-x    1 root     root         9420 maj  3  2004 libanonymous.so.1.0.17
-rwxr-xr-x    1 root     root          755 maj  3  2004 liblogin.la
-rwxr-xr-x    1 root     root        11191 maj  3  2004 liblogin.so
-rwxr-xr-x    1 root     root        11191 maj  3  2004 liblogin.so.0
-rwxr-xr-x    1 root     root        11191 maj  3  2004 liblogin.so.0.0.7
-rwxr-xr-x    1 root     root          757 maj  3  2004 libplain.la
-rwxr-xr-x    1 root     root        10839 maj  3  2004 libplain.so
-rwxr-xr-x    1 root     root        10839 maj  3  2004 libplain.so.1
-rwxr-xr-x    1 root     root        10839 maj  3  2004 libplain.so.1.0.16

-- listing of /usr/lib/sasl2 --
razem 240
drwxr-xr-x    2 root     root         4096 sty  1 16:04 .
drwxr-xr-x   30 root     root        12288 paź 19 11:28 ..
-rwxr-xr-x    1 root     root          780 maj  3  2004 libanonymous.la
-rwxr-xr-x    1 root     root        15084 maj  3  2004 libanonymous.so
-rwxr-xr-x    1 root     root        15084 maj  3  2004 libanonymous.so.2
-rwxr-xr-x    1 root     root        15084 maj  3  2004 libanonymous.so.2.0.15
-rwxr-xr-x    1 root     root          752 maj  3  2004 liblogin.la
-rwxr-xr-x    1 root     root        15432 maj  3  2004 liblogin.so
-rwxr-xr-x    1 root     root        15432 maj  3  2004 liblogin.so.2
-rwxr-xr-x    1 root     root        15432 maj  3  2004 liblogin.so.2.0.15
-rwxr-xr-x    1 root     root          752 maj  3  2004 libplain.la
-rwxr-xr-x    1 root     root        15390 maj  3  2004 libplain.so
-rwxr-xr-x    1 root     root        15390 maj  3  2004 libplain.so.2
-rwxr-xr-x    1 root     root        15390 maj  3  2004 libplain.so.2.0.15
-rwxr-xr-x    1 root     root          791 maj  3  2004 libsasldb.la
-rwxr-xr-x    1 root     root        17992 maj  3  2004 libsasldb.so
-rwxr-xr-x    1 root     root        17992 maj  3  2004 libsasldb.so.2
-rwxr-xr-x    1 root     root        17992 maj  3  2004 libsasldb.so.2.0.15
-rw-r--r--    1 root     root           97 sty  1 16:25 smtpd.conf

-- listing of /etc/postfix/sasl --
razem 12
drwxr-xr-x    2 root     root         4096 sty  1 16:18 .
drwxr-xr-x    3 root     root         4096 sty  1 17:13 ..
-rw-r--r--    1 root     root           97 sty  1 16:18 smtpd.conf




-- content of /usr/lib/sasl2/smtpd.conf --
pwcheck_method:  saslauthd
#saslauthd_path:  /var/run/saslauthd/mux
mech_list:       plain login

-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method:  saslauthd
#saslauthd_path:  /var/run/saslauthd/mux
mech_list:       plain login

-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method:  saslauthd
#saslauthd_path:  /var/run/saslauthd/mux
mech_list:       plain login


-- active services in /etc/postfix/master.cf --
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (50)
smtp    inet    n       -       -       -       -       smtpd
pickup  fifo    n       -       y       60      1       pickup
cleanup unix    n       -       y       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
rewrite unix    -       -       y       -       -       trivial-rewrite
bounce  unix    -       -       y       -       0       bounce
defer   unix    -       -       y       -       0       bounce
flush   unix    n       -       y       1000?   0       flush
smtp    unix    -       -       n       -       -       smtp
showq   unix    n       -       y       -       -       showq
error   unix    -       -       y       -       -       error
local     unix  -       n       n       -       -       local
virtual unix    -       n       y       -       -       virtual
lmtp    unix    -       -       y       -       -       lmtp
proxymap  unix  -       -       n       -       -       proxymap
cyrus     unix  -       n       n       -       -       pipe
  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail.postfix ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

-- mechanisms on localhost --
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN

-- end of saslfinger output --

[root@seraaq saslauthd]#                    


do tego:

[root@seraaq saslauthd]# testsaslauthd -u hki -p paslo -f /var/spool/postfix/var/run/saslauthd/mux
0: OK "Success."
[root@seraaq saslauthd]#    

mysle ze problem lezy w sokecie. tylko nie mam pojecia gdzie postfix go szuka w przypadku chrootowanego postfixa  w /var/spool/postfix/var/run/saslauthd w przypadku niechrootowanego w /var/state/saslauthd wszedzie porobione sa linki symboliczne i zarowno w jednym i w drugim katalogu autoryzuje przez socket i testsaslauthd.

w logach maili jest to:

Jan  1 17:27:47 seraaq postfix/smtpd[28714]: connect from unknown[192.168.2.3]
Jan  1 17:27:47 seraaq postfix/smtpd[28714]: warning: unknown[192.168.2.3]: SASL PLAIN authentication failed
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-02, 10:58:20
Czy ta szczegółowa instrukcja nie rozwiąże Twoich problemów?
http://postfix.state-of-mind.de/patrick.koetter/smtpauth/

M.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-02, 16:09:44
obawiam sie, ze nie poniewaz probowlaem juz na wszystkie sposoby a juz kilka razy stawialem postfixa z saslem i bylo dobrze. jak wylacze sasauthd z init.d komunikat w logach jest taki sam z tego wniosek ze postfix najprawdopodobniej nie znajduje socketa tylko pytanie brzmi gdzie niechrootowany postfix szuka tego cocketa.. sam juz nie wime ocb..
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-02, 16:11:33
To w pliku konfiguracyjnym tego nie ma?
Możesz sam zrobić chroot do tego katalogu i spróbować zrobić strace -f -e trace=file wtedy zobaczysz gdzie szuka plików.

M.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-02, 16:37:38
to musi byc w ogole jakis bug poniewaz zainstalowany postfix i cyrus-sasl z paczki rh9 tez nie dzialaja. co do pliku konfiguracyjnego, nigdzie nei znalazlem informacji zeby okreslalo sie gdzie ma szukac socketa.

jesli chodzi o ten chroot katalogu to mzoesz przyblizyc temat ktory katalog ma zchrotawac i co dokladnie trzeba wykonac zeby to sprawdzic?
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-02, 16:39:54
Zobacz jeszcze to - pod koniec artykułu
http://linio.terramail.pl/ps.html

M.

P.S. Bardziej w środku
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-03, 09:58:28
juz przerabialem to wszystko..link syboliczny do socketow sasla jest we wszystkich mozliwych miejscach z ktorych moze korzystac postfix. co do

smtpd_sasl_local_domain =

nie moge zostawic pustej bo nie startuje musi byc zahaszowana.

problem klienta mailowego rowniez wykluczam bo przez telnet tez nie autoryzuje.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-03, 10:17:37
Czy sprawdzasz go w ten sposób:

Testing SASL authentication in the Postfix SMTP server

To test the server side, connect (for example, with telnet) to the Postfix SMTP server port and you should be able to have a conversation as shown below. Information sent by the client (that is, you) is shown in bold font.

    $ telnet server.example.com 25
    . . .
    220 server.example.com ESMTP Postfix
    EHLO client.example.com
    250-server.example.com
    250-PIPELINING
    250-SIZE 10240000
    250-ETRN
    250-AUTH DIGEST-MD5 PLAIN CRAM-MD5
    250 8BITMIME
    AUTH PLAIN AHRlc3QAdGVzdHBhc3M=
    235 Authentication successful

Instead of AHRlc3QAdGVzdHBhc3M=, specify the base64 encoded form of \\0username\\0password (the \\0 is a null byte). The example above is for a user named `test' with password `testpass'.

In order to generate base64 encoded authentication information you can use one of the following commands:

    % printf '\\0username\\0password' | mmencode

    % perl -MMIME::Base64 -e \\
        'print encode_base64("\\0username\\0password");'



M.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-03, 15:09:26
[root@seraaq root]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 seraaq.com ESMTP Postfix
ehlo localhost
250-seraaq.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-XVERP
250 8BITMIME
AUTH PLAIN AGhraQBoYWthbG4zMzE=
535 Error: authentication failed


oczywiscie dane do autoryzyacji wygenerowane z perla. sprawdzalem rowniez na danych pobranych z negu i userze systemowym test i pass test
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-03, 15:15:00
Jak dla mnie brakuje tu linii:
250 - AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5.

Może już to podsyłałem:
http://www.wains.be/index.php/2006/11/18/postfix-chroot-sasl-authentication-saslauthd/

Rozumiem, że gdy nie jest w chroot to wszystko działa ok?

M.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-03, 15:22:52
"250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN"

reszty nie musze miec bo nie korzystam z innej autoryzacji poza plain

co do chrota.. nie dziala w zadnej mozliwej kombinacji..
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-03, 15:26:19
Nie działa w żadnej możliwej konfiguracji chroota czy nie działa w ogóle?

M.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-03, 15:31:32
autoryzacja nie dziala w chroocie i bez chroota.. zawsze ten sam log: autentication failed

a da sie jakos loglevel zwiekszyc zeby dopisywal cos jeszcze? niby w konfigu postfixa zwiekszalem loglevel ale zawsze dostaje tylko to.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-03, 15:35:44
Można zrobić inaczej. Uruchom postfixa. Znajdź jego pid. Uruchom:
strace -f -o plikj_akiś_pusty -p
Jak znajdziesz coś ciekawego w nim to podeślij. Możesz obciąć wynik strace dodając np: -e trace=file

M.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-03, 15:55:44
postfix    387  0.0  0.6  6076 1624 ?        S    10:09   0:02 [qmgr]
postfix    720  0.0  0.5  4708 1368 ?        S    15:09   0:00 [pickup]
postfix    795  0.0  0.5  4724 1380 ?        S    16:02   0:00 [trivial-rewrite]


ktory pid sledzic?
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-03, 15:59:42
Zobacz netstat który pid odpowiada za słuchanie na porcie 25.
Opcja -f w strace będzie śledziła wszystkie wątki.

M.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-03, 16:27:25
netstat
tcp        0      0 *:smtp                  *:*                     LISTEN      1278/

ps aux
root       1278  0.0  0.5  4700 1392 ?        T    10:09   0:00 [master]

strace
[root@seraaq root]# strace -f -o plik -p 1278
trace: ptrace(PTRACE_SYSCALL, ...): Operation not permitted
detach: ptrace(PTRACE_DETACH, ...): Operation not permitted
[root@seraaq root]# strace -f -o plik -p 1278
detach: ptrace(PTRACE_DETACH, ...): Operation not permitted
[root@seraaq root]# cat plik
[root@seraaq root]# cat plik


pidy normalnych programow strace sprawdza prawidlowo
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-03, 16:38:11
Sprawdź z opcją -e trace=file czy nie odwołuje się do tego socketa.

M.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-03, 16:39:32
Podeślij config postfixa z grep'em na "sas".

M.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-03, 16:44:43
w ogole nie moge stracowac tego pidu.. to nie wyglada w ogole na pid postfixa:

root       1278  0.0  0.5  4700 1392 ?        T    10:09   0:00 [master]
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-03, 16:45:46
Ale:
1) Robisz to jako root
2) Postfix nie działa w chroot

M.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-03, 16:52:41
tak.. w ogole strace wywala mi postfixa.. nie moge go pozniej zrestartowac ..
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-03, 16:56:07
A co z konfiguracją o którą prosiłem?

M.
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: hki w 2008-01-03, 17:00:31
[root@seraaq root]# cat /etc/postfix/main.cf | grep sasl
smtpd_sasl_path = smtpd
smtpd_sasl_type = cyrus
#smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
broken_sasl_auth_clients = yes
Tytuł: Postfix 1 + cyrus-sasl2 nie autoryzuje.
Wiadomość wysłana przez: w 2008-01-03, 21:36:04
Pozwól, że jutro na to spojrzę bo dziś jestem już trochę zmęczony.

M.