PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SMTP ohne Auth mit Postfix und Cyurs



triptrop
19.12.05, 11:57
Hallo :)

Nachdem ich mit hilfreichen Tips meinen Mail-Server mit Postfix und Cyrus nun am Laufen habe, stehe ich noch vor einem Problem ! :eek:

Wir haben hier einen Server mit einem Programm, dass E-Mails "ohne Authentifizierung" also SMTP ohne Auth versenden muss.

1.)
Wie kann ich nun Postfix anweisen, ohne Auth zu arbeiten (evlt. nur für alle Anfragen, die von diesem Server kommen und wenn das nicht einzuschränken geht, dann muss ich den Mail-Server ganz aufmachen (keine Angst, er hängt hinter unserer Firewall ;) ) ???

2.)
Muss ich in Cyurs für SMTP ohne AUTH auch noch etwas anpassen ?

Ich habe in der main.cf beide Varianten versucht, aber ich komme nur mit Benutzernamen und Passwort über Outlook an meine Mails...also kann ich auch nur dann Versenden. Dieses möchte ich aber ohne Benutzernamen bzw. Passwortüberprüfung ?




lmtp_sasl_security_options = anonymous
smtp_sasl_security_options = anonymous



Imapd.conf



allowanonymouslogin: yes

tschloss
19.12.05, 12:06
Der IMAP Server spielt beim Versenden keine Rolle.

"Keine Authentifizierung" ist beim Postfix eigentlich der Normalfall (das SMTP Protokoll hat ja eigentlich auch keine Auth).
Es gibt dafür eine Reihe von Möglichkeiten, z.B. nach Client-IP Verbindungen zu erlauben/verbieten.

Willst du mal deine postconf / master posten? Da kann man sicher sehen, wie die Auth eingehängt ist und wie man sie los wird bzw. gegen einfache Filter ersetzt.

Greetz
Thomas

PS: keine Ahnung, ob man sinnvoll einen MTA mit und ohne Auth konfiguriren kann, also Auth in bestimmten Fällen weglassen?

Fly
19.12.05, 12:30
Bitte, wie wäre eine Dokumentation zu lesen? Willst du wirklich einen Mailserver betreiben, wo du keine Ahnung hast, was dahinter steckt? Es macht auch umso viel mehr Spaß, wenn man eine Dokumentation liest! Hast du nicht ein Postfixbuch von Kyle Dent, darin ist detailiert über SASL Auth bzw. beschrieben? :)

tschloss
19.12.05, 12:46
Bitte, wie wäre eine Dokumentation zu lesen? Willst du wirklich einen Mailserver betreiben, wo du keine Ahnung hast, was dahinter steckt? Es macht auch umso viel mehr Spaß, wenn man eine Dokumentation liest! Hast du nicht ein Postfixbuch von Kyle Dent, darin ist detailiert über SASL Auth bzw. beschrieben? :)

Guter Punkt!
Ds Buch ist wirklich gut!

Greetz
Thomas

triptrop
19.12.05, 13:21
Natürlich möchte ich den Mail-Server auch verstehen ;) und ich bemühe mich auch :ugly:

Kurze Erklärung:

Ich habe vor zwei Wochen mit dem Projekt angefangen und jede Menge HowTos gelesen...leider gibt unter den Distributionen unterschiede und selbst wenn man nur die HowTos von einer Distribution liest, gibt es in der Versionen unterschiede.

Ich muss dazu sagen, mit Linux habe ich bisher (fast) nicht gearbeitet...ist also auch neu für mich.
Ein Buch habe ich mir gekauft:
"Postfix - Ralf Hildebrandt vom dpunkt Verlag"

Das Problem ist, dass der Server in 2 Wochen laufen muss...wenn es für mich wär, dann würde ich mir auch die Zeit nehmen, das ganze Buch von A-Z zu lesen...leider muss ich den Server auf der Arbeit einrichten und hier interessiert es nicht, ob ich jemals einen E-Mail-Server eingerichtet habe oder von Linux noch wenig Kenntnisse vorhanden sind

Deshalb bin ich ja auch froh, dass ich hier so schnell Hilfe bekomme....:) :)

Hier jetzt die main.cf und master.cf


readme_directory = /usr/share/doc/packages/postfix/README_FILES
biff = no
mail_owner = postfix
mail_spool_directory = /var/mail
# mail_spool_directory = /var/spool/imap/user
canonical_maps = hash:/etc/postfix/canonical
virtual_maps = hash:/etc/postfix/virtual
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
#================================================= ==============================
myhostname = mail-server.meine_domain-it.de
mydomain = meine_domain-it.de
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 172.16.0.0/16, 127.0.0.0/8, 130.10.0.0/16
myorigin = $mydomain
relay_domains = $mydestination
program_directory = /usr/lib/postfix
#================================================= ==============================
# inet_interfaces = 127.0.0.1 ::1
inet_interfaces = all
# inet_interfaces = $myhostname
#================================================= ==============================
masquerade_domains =
defer_transports =
# disable_dns_lookups = no
disable_dns_lookups = yes
relayhost =
#================================================= ==============================
unknown_local_recipient_reject_code = 550
#================================================= ==============================
#mailbox_command =
mailbox_command = /usr/lib/cyrus/bin/deliver -m $MAILBOX -a $USER $USER
#mailbox_command = /usr/lib/cyrus/bin/deliver
local_transport = lmtp
#================================================= ==============================
#mailbox_transport = cyrus
mailbox_transport = lmtp:unix:/var/spool/postfix/public/lmtp
#mailbox_transport = lmtp:unix:var/lib/imap/socket/lmtp
#================================================= ==============================
#================================================= ==============================
lmtp_sasl_auth_enable = yes
#lmtp_sasl_security_options = anonymous
#smtp_sasl_security_options = anonymous
lmtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
lmtp_destination_concurrency_limit = 100
lmtp_destination_recipient_limit = 0
#================================================= ==============================
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions =
smtpd_helo_required = no
smtpd_helo_restrictions =
strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains, reject_unauth_destination
#================================================= ==============================
# SASL Konfiguration
#Wieder ein Workaround für ältere Clients und Outlook
broken_sasl_auth_clients = yes
smtp_sasl_auth_enable = no
smtpd_sasl_auth_enable = no
smtpd_use_tls = no
smtp_use_tls = no
# smtpd_sasl_local_domain = $myhostname
# smtpd_sasl_security_options = noanonymous
# smtpd_sasl_exceptions_networks = 172.16.0.0/16
# smtpd_client_restrictions = permit_sasl_authenticated
# Ende der SASL Konfiguration
#================================================= ==============================
# alias_maps = hash:/etc/aliases
alias_maps = hash:/etc/aliases
# mailbox_size_limit = 2147483648
mailbox_size_limit = 2147483648
# message_size_limit = 10240000
message_size_limit = 16777216





# DO NOT SHARE THE POSTFIX QUEUE BETWEEN MULTIPLE POSTFIX INSTANCES.
#
# ================================================== ========================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ================================================== ========================
smtp inet n - n - - smtpd -v
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes -o smtpd_etrn_restrictions=reject
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
#tlsmgr fifo - - n 300 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
#localhost:10025 inet n - n - - smtpd -o content_filter=
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# maildrop. See the Postfix MAILDROP_README file for details.
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
cyrus unix - n n - - pipe
user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($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
procmail unix - n n - - pipe
flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}

Fly
19.12.05, 15:02
Ich habe auch schon oft mit HOWTOs probiert. Die verwirren nur, da einige schlampig ausdrücken oder die logische Sachen werden von Autoren nicht beschrieben, da denen einfach zu selbstverständlich ist... und man fängt bei jedem howto immer von vorne an :ugly:

Wetten wir, dass du auch mit dem Buch innerhalb von 2 Wochen schaffst, als 5 tagen für ein einziges Problem zu kämpfen. :)

tschloss
19.12.05, 15:55
Und nochmals: ich weiss gar nicht, ob es prinzipiell möglich ist, Auth eingeschaltet zu lassen, aber in bestimmten Fällen (welche?) ohne Auth zu connecten.

Wenn überhaupt, dann geht das vielleicht indem man das über unterschiedliche Kanäle (anderer Port oder Socket) mit zwei unterschiedlich konfigurierten SMTP-Prozessen arbeitet.
Bei SPamassassin habe ich das auch schon gesehen, um zu vermeiden, dass bereits gescannte Mails nochmals gescannt werden.

Das wäre jetzt so die Richtung, wo ich graben würde.
Ist das eigentlich wichtig, dass das über denselben MTA geht wie der Rest? Kannst Du den anderen Kram nicht anders (zweiter MTA oder Direktauslieferung an Ziel MTA) abwickeln?

Jedenfalls kann ich dir nicht mehr sagen.
Viel Erfolg
Thomas