Postfix vs. Confixx

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
2rep
Posts: 23
Joined: 2003-04-09 20:57

Postfix vs. Confixx

Post by 2rep » 2003-06-01 22:35

Hallo,

schreit mich bitte nicht gleich voll :oops: aber könnte
mir einer von Euch vielleicht erläutern, wie ich Postfix
auf ein Confixx System installieren kann und dennoch
mein Confixx nicht zerschrotte!?!

Danke

mark
Posts: 295
Joined: 2003-04-15 16:48
Location: Oldenburg

Re: Postfix vs. Confixx

Post by mark » 2003-06-01 22:56

Hi,

also wenn du stumpf postfix installierst, dann schrottest du dir gar nichts von confixx, eher sendmail.

Allerdings musst du natürlich anschließend die confixx-config auf postfix anpassen, aber da kann ich dir auch nicht helfen.

Da solltest du besser im "Admin-Tools" fragen (Oder schiebt da mal jemand ?)

Ich persönlich hab bei meiner 1.6.5 pro eigene Scripte, die mir meine postfix-config bauen, da ich nie geschaut habe, ob confixx 1.6.5 postfix überhaupt unterstützt. Bei confixx 2.0.x bin ich mir aber sicher, dass die version confixx unterstützt und da kann dir sicherlich jemand mal die daten aus seiner confixx-main.cf raussuchen.

Gruß
Mark

sascha
RSAC
Posts: 1345
Joined: 2002-04-22 23:08

Re: Postfix vs. Confixx

Post by sascha » 2003-06-01 23:35

# apt-get install postfix-tls
qpopper
sasl-bin
libsasl-modules-plain
libsasl2
libsasl-gssapi-mit
libsasl-digestmd5-des

# useradd -u 105(Beispiel!) -g nogroup -d /XnirvanaX -s /bin/false -c Confixx-Autoresponder autoresp
# echo "pwcheck_method: pwcheck" >> /etc/postfix/sasl/smtpd.conf
# ln -s /etc/postfix/sasl/smtpd.conf /usr/lib/sasl/smtpd.conf

mkdir /var/run/pwcheck
chown postfix.root /var/run/pwcheck
chmod 700 /var/run/pwcheck
chown autoresp.root /usr/bin/autoresponder.pl

Startscript für pwcheck (/etc/init.d/pwcheck)

Code: Select all

#! /bin/sh
#
# pwcheck       Startet pwcheck für SMTP-Auth mit Postfix
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/pwcheck
NAME=pwcheck
DESC="pwcheck daemon"

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: $NAME"
        $DAEMON
        echo "."
        ;;
  stop)
        echo -n "Stopping $DESC: $NAME "
        /usr/bin/killall -KILL $NAME
        echo "."
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop}" >&2
        exit 1
        ;;
esac

exit 0
# ln -s /etc/init.d/pwcheck /etc/rc2.d/S20pwcheck

# echo "#%PAM-1.0" > /etc/pam.d/smtp
# echo "auth required unix_auth.so" >> /etc/pam.d/smtp
# echo "account required unix_acct.so" >> /etc/pam.d/smtp


In /etc/postfix/master.cf folgendes ändern (chroot des smtpd auf "n")

Code: Select all

# ========================================================================== 
# service type  private unpriv  chroot  wakeup  maxproc command + args 
#               (yes)   (yes)   (yes)   (never) (50) 
# ========================================================================== 
smtp      inet  n       -       n       -       -       smtpd 
Postfix main.cf sollte etwa so aussehen, wobei meine Konfig sicher nicht perfekt ist. Verbesserungen nehme ich gerne entgegen ;).

Code: Select all

# see /usr/share/postfix/main.cf.dist for a commented, fuller
# version of this file.

# Do not change these directory settings - they are critical to Postfix
# operation.
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

smtpd_banner = Was beim Connect zum Server stehen soll... 
setgid_group = postdrop
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no
myhostname = deinhostname.deinedomain.tld
mydomain = deinedomain.tld
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, $mydomain, localhost
relay_domains = $mydestination
relayhost =
mynetworks = 127.0.0.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
default_privs = autoresp

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_relay_domains
maps_rbl_domains = relays.ordb.org
smtpd_client_restrictions = reject_maps_rbl

### CONFIXX POSTFIX ENTRY ###

virtual_maps = hash:/etc/postfix/confixx_virtualUsers, hash:/etc/postfix/confixx_localDomains

### /CONFIXX POSTFIX ENTRY ###
Der letzte Part in der main.cf sollte eigentlich auch beim Aufruf von /root/confixx/admin/subs/postfix_install.pl eingefügt werden.

/etc/init.d/pwcheck start
/etc/init.d/postfix restart

Sollte laufen ;)

robert1968
Posts: 14
Joined: 2003-08-29 17:21

Re: Postfix vs. Confixx

Post by robert1968 » 2004-10-05 21:40

ich hab mich mal an diese anleitung gehalten
leider bekomm ich beim versuch auf den pop3 zu connecten (outlook express) folgende fehlermeldung:
Ein Problem ist bei der Anmeldung am Mailserver aufgetreten. Das Kennwort wurde zurückgewiesen. Konto: 'test', Server: 'mail.meineseite.de', Protokoll: POP3, Serverantwort: '-ERR [SYS/TEMP] Failed to create /var/spool/pop//.web7p1.pop with uid 1286, gid 12. Change permissions.', Port: 110, Secure (SSL): Nein, Serverfehler: 0x800CCC90, Fehlernummer: 0x800CCC92
hat da evtl jemand einen rat?

isch2k
Posts: 13
Joined: 2005-10-04 14:36
Location: Frankenthal

Re: Postfix vs. Confixx

Post by isch2k » 2005-10-04 14:52

Hi, bin neu hier im Forum, also bitte nich hauen, wenn ich was falsch mache!

Ich habe vor ein paar Tagen nen Debian System aufgesetzt.

Es handelt sich um debian woody (kernel: 2.4.29)
Auf diese Basis habe ich ein komplettes Confixx-System installiert.
Als MTA habe ich eben postfix genommen. Als POP3 dient qpopper.

Naja wichtig ist, dass ich postfix nun mit smtp auth ausstatten möchte. Sollte meines erachten kein Problem darstellen, tut es anscheinen aber trotzdem.

Ich habe es also erst ohne howtos probiert und bin gescheitert.
Dann hab ich eine weile gegoogelt und bin auf diesen drei Seiten hängengeblieben:
http://www.debianforum.de/wiki/?page=Postfix+SMTP-AUTH
http://www.rootforum.org/forum/viewtopic.php?t=6387
http://www.rootforum.org/forum/viewtopic.php?t=11886

Deshalb auch der post hier.

Nunja. Fakt ist: Es funktioniert immer noch nicht.
Sobald ich

Code: Select all

smtpd_sasl_auth_enable = yes
setze, ist es nicht mehr möglich Mails zu senden.
Im ersten Moment dachte ich, dass das ganz gut sein sollte, aber auch mit den richtigen Clienteinstellungen hat es nicht geklappt.

Also, ich werde gleich mal configfiles posten und hoffe, dass mir jemand helfen kann!


Gruss Isch2k


    /etc/postfix/main.cf

Code: Select all

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
myhostname = foo.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = foo.de, bar.de, ...
relayhost = mail.foo.de:25
#mynetworks = 0.0.0.0/8
mynetworks = 0.0.0.0/0
#mailbox_command = procmail -a "$EXTENSION"
mailbox_command = /usr/bin/procmail
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_sasl_local_domain = $myhostname

### CONFIXX POSTFIX ENTRY ###
virtual_maps = hash:/etc/postfix/confixx_virtualUsers, hash:/etc/postfix/confixx_localDomains
### /CONFIXX POSTFIX ENTRY ###

#smtpd_sasl_auth_enable = yes
smtpd_sasl_auth_enable = no
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_relay_domains
maps_rbl_domains = relays.ordb.org
smtpd_client_restrictions = reject_maps_rbl
    /etc/postfix/master.cf (Auszug)

Code: Select all

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
    /etc/postfix/sasl/smtpd.conf

Code: Select all

pwcheck_method: PAM
(ja, mehr steht wirklich nich in dem file)




so. Vielen dank schonmal für die Hilfe!

isch2k
Posts: 13
Joined: 2005-10-04 14:36
Location: Frankenthal

Re: Postfix vs. Confixx

Post by isch2k » 2005-10-07 09:39

in einer mehrstündigen Aktion habe ich es mit Hilfe von Monty geschafft mein postfix samt sasl bzw smtp auth zum laufen zu bringen.

Also als erstes mal. Das was in den Tutorials steht ist total veraltet.

Um nicht durch vorher gemachte Fehler behindert zu werden haben wir als erstes mal alle Pakete deinstalliert.

Also erst alle dienste stoppen. je nach dem, was installiert ist, kann das anders aussehen:

Code: Select all

/etc/init.d/postfix stop
/etc/init.d/saslauthd stop
/etc/init.d/pwcheck stop

wie gesagt pwcheck ist eher bei sasl installationen und saslauthd bei sasl2 insallationen!

dazu schauen wir uns am besten zunächst folgendes an:

Code: Select all

dpkg -l *sasl*
dpkg -l *postfix*
Dabei sollte eine Liste rauskommen, die in etwa so aussieht:
ema-hosting:/# dpkg -l *sasl*
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Säubern/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konf./Halb install.
|/ Fehler?=(keiner)/Halten/R=Neuinst. notw/X=beides (Status, Fehler: GROÃ?=schlecht)
||/ Name Version Beschreibung
+++-=================================-=================================-==================================================================================
un libsasl-bin <keine> (keine Beschreibung vorhanden)
un libsasl-digestmd5-des <keine> (keine Beschreibung vorhanden)
un libsasl-digestmd5-plain <keine> (keine Beschreibung vorhanden)
un libsasl-gssapi-heimdal <keine> (keine Beschreibung vorhanden)
pn libsasl-gssapi-mit <keine> (keine Beschreibung vorhanden)
un libsasl-modules <keine> (keine Beschreibung vorhanden)
un libsasl-modules-krb5 <keine> (keine Beschreibung vorhanden)
un libsasl-modules-nonus <keine> (keine Beschreibung vorhanden)
pn libsasl-modules-plain <keine> (keine Beschreibung vorhanden)
ii libsasl2 2.1.19-1.5 Authentication abstraction library
un libsasl2-digestmd5-plain <keine> (keine Beschreibung vorhanden)
un libsasl2-gssapi-mit <keine> (keine Beschreibung vorhanden)
un libsasl2-krb4-mit <keine> (keine Beschreibung vorhanden)
ii libsasl2-modules 2.1.19-1.5 Pluggable Authentication Modules for SASL
un libsasl2-modules-plain <keine> (keine Beschreibung vorhanden)
pn libsasl7 <keine> (keine Beschreibung vorhanden)
pn sasl-bin <keine> (keine Beschreibung vorhanden)
ii sasl2-bin 2.1.19-1.5 Programs for manipulating the SASL users database
ema-hosting:/# dpkg -l *postfix*
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Säubern/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konf./Halb install.
|/ Fehler?=(keiner)/Halten/R=Neuinst. notw/X=beides (Status, Fehler: GROÃ?=schlecht)
||/ Name Version Beschreibung
+++-=================================-=================================-==================================================================================
ii postfix 2.1.5-9 A high-performance mail transport agent
un postfix-doc <keine> (keine Beschreibung vorhanden)
un postfix-ldap <keine> (keine Beschreibung vorhanden)
un postfix-mysql <keine> (keine Beschreibung vorhanden)
un postfix-pcre <keine> (keine Beschreibung vorhanden)
un postfix-pgsql <keine> (keine Beschreibung vorhanden)
un postfix-snap-tls <keine> (keine Beschreibung vorhanden)
ii postfix-tls 2.1.5-9 TLS and SASL support for Postfix
ema-hosting:/#


Egal ob es so aussieht oder nicht. Als erstes bitte mal alle angegebenen installierten Pakete deinstallieren!

Welche Pakete installiert sind sieht man an dem "ii" am Anfang einer jeden Zeile.
Deinstallieren geht wie folgt:

Code: Select all

apt-get remove <paketname>


Wir können auch alle zusammen deinstallieren:

(Beispiel:)

Code: Select all

apt-get remove libsasl2 libsasl2-modules sasl2-bin postfix postfix-tls
Aber wie gesagt. Es sollen die Pakete deinstalliert werden, welche installiert sind und nicht, welche ich als Beispiel gezeigt habe.

nach dem das passiert ist können wir auch schon damit beginnen, es wieder zu installieren.

Wir fangen mit postfix an:

Dazu benötigen wir die Pakete "postfix" und "postfix-tls". Letzteres is für wichtig, damit postfix mit SASL kommunizieren kann.

Code: Select all

apt-get install postfix postfix-tls


Danach koennen wir auch gleich SASL installieren. Wir nutzen allerddings sasl2!

Code: Select all

apt-get install libsasl2 libsasl2-modules sasl2-bin



So. Jetzt ist alles installiert. Kommen wir zur Konfiguration.

Code: Select all

vi /etc/postfix/master.cf


In dieser Datei ist irhgendwo folgende Zeile zu finden:
smtp inet n - - - - smtpd


Diese ersetzt Ihr nun durch diese hier:
smtp inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes
#

Datei speichern ^^


So als nächstes die Datei main.cf

Code: Select all

vi /etc/postfix/main.cf


Ich weiss nicht eure ganze postfix Konfiguration, da möchte ich nun auch nicht drauf eingehen. Also erwähne ich nur mal eben die für SASL wichtigen Operatoren!
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject
mynetworks = 127.0.0.0/8


Das sollte es gewesen sein. Je nach dem, wie Ihr euren Mailserver betreibt könnten diese Einstellungen ein wenig variieren.

Weiter gehts...

Code: Select all

vi /etc/postfix/sasl/smtpd.conf

pwcheck_method:saslauthd
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5


Als nächstes berechtigen wir postfix mit sasl zu "reden"
Dazu öffnen wir die Datei /etc/groups und tragen postfix in die sasl gruppe ein.

Code: Select all

vi /etc/groups

sasl:*:45:

wird zu
sasl:*:45:postfix



nächstes File:

Code: Select all

vi /etc/default/saslauthd


Sollte so aussehen. Wenn nicht ... anpassen!
START=yes
MECHANISMS="pam"



Weiter ....

wir wechseln mal ins Verzeichnis /etc/pam.d

Code: Select all

cd /etc/pam.d/


Dort ist zum einen die Datei "smtp"
und zum anderen eine Datei eures POP3 servers! Bei mir ist das Qpopper!
Die Datei heisst also qpopper! Solltet Ihr auch Qpopper nutzen öffnet diese Datei und schaut sie euch mal an. Bei anderen pop3-deamons öffnet ihr halt die entsprechende Datei!

Code: Select all

vi /etc/pam.d/qpopper
auth required pam_unix_auth.so shadow
account required pam_unix_acct.so


Solle so aussehen.
Dann öffnet Ihr die Datei smtp

Code: Select all

vi /etc/pam.d/smtp
Sollte die datei smtp jetzt davon abweichen
gleicht ihr die datei smtp an!

am besten erstellen wir dazu ein backup der "smtp" und kopieren die qpopper als neue smtp!

Code: Select all

mv /etc/pam.d/smtp /etc/pam.d/smtp.orig
cp /etc/pam.d/qpopper /etc/pam.d/smtp



nun können wir die deamons wieder starten:

Code: Select all

/etc/init.d/saslauthd start
/etc/init.d/postfix start




Nun sollte soweit alles funktionieren... Aber Ihr wisst ja wie es ist.. Es klappt nie wie es soll:p

Also...

So könnt Ihr mal schauen ob euer sasl richtig arbeitet:

Code: Select all

testsaslauthd -u <user> -p <pass>


am besten dazu eine zweite console auf machen... und...

Code: Select all

tail -f /var/log/auth.log


und evtl. eine dritte

Code: Select all

tail -f /var/log/mail.log


Dann könnt ihr LIVE sehen, was passiert, wenn ihr versucht eine mail zu senden!