auth smtp met postfix wil niet lukken

Pagina: 1
Acties:

  • Grom
  • Registratie: Juli 2002
  • Laatst online: 25-11-2024

Grom

lief hè!

Topicstarter
Ik wil smtp authentication (sasl) instellen voor postfix op mijn Debian (Woody) server zodat ik waar ook ter wereld e-mail kan verzenden vanuit outlook express op mijn laptop.
Dit wil echter niet lukken.

Wat wil ik verder:
Kunnen aanmelden bij postfix met de gewone linux gebruikersnaam en wachtwoord (Pam).
Als dit gelukt is wil ik tls instellen zodat alles keurig over een secure verbinding gaat.

Wat heb ik gedaan:

Op de adsl modem poort 25 open gezet en een poortmap gemaakt naar de server
(192.168.1.5). Firewall op server staat uit.

apt-get install van
- postfix-tls
- sasl2-bin
- libsasl-modules-plain
n.b. postfix was al geïnstalleerd en werkt al jaren prima.

Met behulp van deze howto http://www.metaconsultancy.com/whitepapers/smtp.htm heb ik getracht het een en ander aan de praat te krijgen. Ik heb alleen de voor mij relevante zaken gebruikt.

Daarnaast heb ik gekeken en gexperimenteerd met delen uit deze howto's
http://silicon-verl.de/home/flo/software/postfixsasl.html
http://people.brad-x.com/~diamondc/postfix-tls-smtpauth.html
http://postfix.state-of-m...etter/smtpauth/index.html
http://www.thecabal.org/~devin/postfix/smtp-auth.txt
http://www.tuxhausen.de/postfix_smtp_auth-1.html
http://www.tcbug.org/postfix_smtpauth.html
http://lists.ssc.com/pipe...2003-November/018650.html

Alles heb ik in linux als root gedaan.

Toegevoegd aan etc/postfix/main.cf
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# grom auth smtp
smtpd_sasl_auth_enable = yes
# smtpd_tls_auth_only = yes


smtpd_recipient_restrictions = permit_mynetworks,
                               permit_sasl_authenticated,
                               reject_unauth_destination,
                               permit


# grom tls (ssl) verbinding
# smtpd_use_tls = yes
# smtpd_tls_cert_file = /etc/postfix/example.crt
# smtpd_tls_key_file = /etc/postfix/example.key


In etc/postfix een map sasl aangemaakt met daarin smtpd.conf met als inhoud:
code:
1
2
pwcheck_method: saslauthd
mech_list: plain login


In etc/default/saslauthd staat:
code:
1
2
3
4
5
6
7
# This needs to be uncommented before saslauthd will be run automatically
START=yes

# You must specify the authentication mechanisms you wish to use.
# This defaults to "pam" for PAM support, but may also include
# "shadow" or "sasldb"
MECHANISMS=pam


In etc/pam.d heb ik een bestand smtp gemaakt met als inhoud:
code:
1
2
3
4
auth        required      pam_unix.so
account     required      pam_unix.so
password    required      pam_unix.so
session     required      pam_unix.so


als ik telnet naar localhost:25 en een ehlo doe voor domijn.nl krijg ik dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
server2:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 smtp.domijn.nl ESMTP Postfix (Debian/GNU)
ehlo domijn.nl
250-smtp.domijn.nl
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-XVERP
250 8BITMIME


Een ping naar domijn.nl komt normaal terug.
code:
1
2
3
server2:~# ping domijn.nl
PING domijn.nl (xx.xxx.xx.xxx): 56 data bytes
64 bytes from xx.xxx.xx.xxx: icmp_seq=0 ttl=254 time=2.1 ms


Maar een ping naar smtp.domijn.nl komt terug met het ip van mijn host :?
code:
1
2
3
4
server2:~# ping smtp.domijn.nl
PING server.host.nl (xxx.xxx.x.xx): 56 data bytes
64 bytes from xxx.xxx.x.xx: icmp_seq=0 ttl=58 time=18.2 ms
etc



In outlook express heb ik ingesteld dat de mail verzonden moet worden via:
smtp.domijn.nl en dat verificatie vereist is met instellingen van de server voor inkomende mail (naam en wachtwoord van de linux gebruiker).
n.b. phalen van de mail (courier-imap) gaat perfect.

Oulook Express komt dan met de vraag om naam en wachtwoord in te vullen. Wat ik daar ook probeer niets werkt.

Als ik voor de server het lokale ipadres (192.168.1.5) invul blijft het het zelfde.

Logfiles:
/var/log/auth.log ==> geen melding
/var/log/mail.log ==> geen melding


Dit alles heb ik getest via mijn lokale netwerk maar ook door met een isdn inbelverbinding het zelfde te proberen (ander ip).

Ik ben hier al dagen mee bezig en kom niet verder.
Kan iemand me een duwtje de goede richting in geven?

[ Voor 4% gewijzigd door Grom op 16-02-2005 13:34 . Reden: toevoeging ]


  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 09:56
Dit heb ik in /etc/postfix/main.cf:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
smtpd_recipient_restriction = permit_sasl_authenticated, permit_mynetworks, check_relay_domains

# SASL
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous

smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/ssl/certs/imapd.pem
smtpd_tls_cert_file = /etc/ssl/certs/imapd.pem
smtpd_tls_CAfile = /etc/ssl/certs/imapd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtpd_sasl_application_name = smtpd


In /etc/postfix/sasl/smtpd.conf:
code:
1
pwcheck_method: saslauthd



Verder dien je saslauthd als volgt te starten, omdat sasl vanuit de chroot van postfix gestart wordt en je anders de authd niet kan bereiken:
code:
1
saslauthd -a pam -m /var/spool/postfix/var/run/saslauthd/


(zorg wel dat die dir bestaat: mkdir -p /var/spool/postfix/var/run/saslauthd/&&chown root:sasl /var/spool/postfix/var/run/saslauthd/ )

/etc/pam.d/smtpd:
code:
1
2
3
@include common-auth
@include common-account
@include common-session


Zo werkt het bij mij iig met debian Sarge.

[ Voor 5% gewijzigd door Jelmer op 16-02-2005 13:40 ]


  • Grom
  • Registratie: Juli 2002
  • Laatst online: 25-11-2024

Grom

lief hè!

Topicstarter
bedankt Jelmer ik heb jouw setup deels gebruikt en krijg nu in de logfiles wel berichten maar werken doet het helaas nog niet.

In de mail.log kan ik zien dat er op alle zaken gecontroleerd wordt of een mail gerelaid kan worden behalve op de username en password combinatie.
Hierdoor wordt een mailtje dat ik via een andere verbinding (inbel, ander ip) probeer te versturen op alle zaken afgekeurd en dus niet verstuurt.

Het lijkt er op dat de inlog voor postfix, als ik het zo kan noemen, niet gebeurt.
Courier-imap geeft daar overigens wel keurig een melding van.

Om dat inloggen gaat het nu helemaal, alleen daarmee kan ik postfix bewegen om mail die aan geen enkele voorwaarden voldoet behalve een geldige naam/ww combinatie toch te versturen.

Wat nu ook uit de auth.log blijkt is dat postfix/smtpd de berkeley db (etc/sasldb) niet kan openen (invalid argument) :? Die staat is wel maar ik heb, denk ik, juist aangegeven dat hij pam moet gebruiken.

Kortom: ik sta voor raadsels. :(

  • Lancer
  • Registratie: Januari 2002
  • Laatst online: 09:13

Lancer

What the......

Staat de SASL smtpd.conf file op je juiste plaats? Bij mij staat ie in /usr/lib/sasl (fedora). De sasl config onder de postfix directory lijkt me onhandig. Sasl staat los van postfix.

Je kunt niet in een systeem meten zonder het systeem te beinvloeden.... (gevolg van de Heisenberg onzekerheidsrelatie)


Verwijderd

Die smtpd.conf staat wel op de juiste plaats, maar je zult rekening moeten houden met het feit dat postfix een aantal rechten nodig heeft om bij de sasl database te komen (is de database ge-owned door group "mail" bijv.?) en dat Postfix in een chroot draait (zie ook master.cf). Als je postfix eens (tijdelijk!) uit die chroot haalt, misschien dat het dan wel werkt...

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 09:56
Niet nodig, bij mij draait ie vrolijk in de chroot. Je moet er alleen voor zorgen dat saslauthd z'n socket in die chroot plaatst. (zie mn vorige post)

  • Grom
  • Registratie: Juli 2002
  • Laatst online: 25-11-2024

Grom

lief hè!

Topicstarter
Verwijderd schreef op woensdag 16 februari 2005 @ 19:27:
Die smtpd.conf staat wel op de juiste plaats, maar je zult rekening moeten houden met het feit dat postfix een aantal rechten nodig heeft om bij de sasl database te komen (is de database ge-owned door group "mail" bijv.?) en dat Postfix in een chroot draait (zie ook master.cf). Als je postfix eens (tijdelijk!) uit die chroot haalt, misschien dat het dan wel werkt...
Postfix uit de chroot halen heb ik geprobeert, zonder resultaat echter.
Ik wil de linux username/passwd combinatie gebruiken voor aanmelding bij "postfix" (pam) en niet de sasldb database. Moet ik daar soms iets speciaals voor doen? De, door mij gelezen, howto's zeggen daar niets over.
Jelmer schreef op woensdag 16 februari 2005 @ 19:40:
Niet nodig, bij mij draait ie vrolijk in de chroot. Je moet er alleen voor zorgen dat saslauthd z'n socket in die chroot plaatst. (zie mn vorige post)
Ook dat heb ik geprobeert alleen weet ik niet of me dat goed gelukt is.Hoe kan ik dat onderzoeken?
n.b. wie moet er allemaal in de sasl-group zitten? Tijdens de installatie is die niet aangemaakt.
Pagina: 1