Login
Immer anmelden
SSL Login

 
Newsletter
Werbung
Shopping
International Shopping
 
 


Yatego Shopping bei über 10000 Händlern und über
3 Mio. Artikel.


Linux

:

Linux-Bücher

Handy
Shop

  und Computer.

Viele Services

:

Apple iPad Reader,


Ratgeber,

 

Techniktops,

 

Yatego Clicks

  & über 3000

Gutscheine.

 
Do, 5. Juni 2003, 00:00

Postfix mit SMTP-Authentifikation

Geschwafel

Wenn Sie über Ihren eigenen Mailserver aus dem Netzwerk E-Mails versenden wollen, dann ist dies problemlos möglich, ohne daß andere Ihren Server zum Spammen mißbrauchen können. Sie können Ihrem Mailserver das Relaying (weiterleiten der Mails) nur aus dem lokalen Netzwerk erlauben und allen anderen verbieten.

Was ist aber, wenn Sie mit einem Laptop z.B. von außerhalb ins Internet gehen und auch von dort Mails versenden wollen? In den meisten Fällen werden Sie eine dynamische IP-Adresse haben. Dadurch ist die Angabe einer IP-Adresse, von welcher aus Relaying erlaubt ist, so gut wie nicht mehr möglich bzw. äußerst unpraktisch (per SSH anmelden, IP dem Mailserver bekannt machen und diesen dann neu starten).

Aus diesem Grund ist die Anmeldung per Login und Paßwort wohl die eleganteste Methode, um den Zugang zum Mailserver zu kontrollieren. Es gibt zwar noch andere Methoden, z.B. smtp-after-pop, aber diese sind etwas tricky bzw. unsauber (meiner Meinung nach). Deshalb ziehe ich die Login/Paßwort-Methode vor.

Ziel

Wenn eine E-Mail versendet wird, soll uns der SMTP-Server einen Login-Prompt anbieten, an dem wir unseren Login und das Paßwort eingeben können - theoretisch. Den Login-Prompt möchten wir nicht selbst sehen und auch die Eingabe des Logins und des Paßwortes soll der Mailclient übernehmen. Allerdings stellen die üblichen Mailserver in der Standardkonfiguration diese Funktionalität nicht zur Verfügung.

All you need is...

  • Einen Rechner mit installiertem Linux ;-) Bei mir hier handelt es sich um ein Valhalla im Standard-Serversetup (Red Hat 7.3)
  • Postfix
  • Cyrus-SASL (Simple Authentication and Security Layer) stellt verschiedene Mechanismen und Methoden zur Authentifikation bereit. Wer es ganz genau wissen will, kann es in RFC 2222 nachlesen :-). Im Moment bin ich zufrieden, wenn es funktioniert.

Software

Es wäre durchaus möglich, sich die Originalquellen der Software zu besorgen, aber es gibt bereits vorkonfigurierte SRPM-Pakete im Internet. Tuomo Soini hat dies freundlicherweise getan und stellt die Pakete zum Download bereit.

Postfix gibt es auf http://tis.foobar.fi/software/?postfix. Im Moment (12.08.2002 14:27) ist postfix-1.1.11-t4.src.rpm aktuell. Cyrus-SASL gibt es auf http://tis.foobar.fi/software/?sasl in Version cyrus-sasl-1.5.27-t28.src.rpm.

Bauen und Installieren der RPMs

Das Bauen der RPMs sollte man, wie alles in einem Linuxsystem, wenn es sich vermeiden läßt, nicht als root-User durchführen. Also gehen wir als normaler User ran: Zuerst sind ein paar Verzeichnisse anzulegen (habe ich in meinem Homeverzeichnis getan. Da ich Holger heiße, ist das bei mir /home/holger oder kurz ~/):

[holger@mail holger]$ pwd
/home/holger
[holger@mail holger]$ mkdir -p rpm/BUILD rpm/RPMS/i386 rpm/SOURCES
rpm/SPECS rpm/SRPMS
[holger@mail holger]$ tree
.
`-- rpm
|-- BUILD
|-- RPMS
|   `-- i386
|-- SOURCES
|-- SPECS
`-- SRPMS
7 directories, 0 files

Wie Sie sehen, zeigt die Ausgabe von tree schön die angelegten Verzeichnisse vom aktuellen Verzeichnis aus an.

Nun sollte man dem RPM-Manager noch mitteilen, daß wir nicht als root, sondern als normaler User arbeiten. Hierzu legen wir in unserem Homeverezichnis eine Datei mit dem Namen .rpmmacros an und schreiben folgenden Inhalt hinein:

%_topdir $HOME/rpm

Mittlerweile sollten Sie sich die beiden Pakete heruntergeladen haben. Wenn nicht, wäre jetzt ein guter Zeitpunkt dafür:-) Gut, nachdem Sie die Pakete haben, kann es losgehen. Als erstes wird das SASL-Paket (bzw. die Quellen) mit folgendem Befehl installiert (immer noch im Homeverzeichnis):

rpm -ivh cyrus-sasl-1.5.27-t28.src.rpm

Wenn wir den tree-Befehl jetzt nochmal wiederholen, sehen Sie, daß tatsächlich etwas installiert wurde :-o

[holger@mail holger]$ tree
.
|-- cyrus-sasl-1.5.27-t28.src.rpm
|-- postfix-1.1.11-t4.src.rpm
`-- rpm
    |-- BUILD
    |-- RPMS
    |   `-- i386
    |-- SOURCES
    |   |-- cyrus-sasl-1.5.21-des.patch
    |   |-- cyrus-sasl-1.5.24-rpath.patch
    |   |--
cyrus-sasl-1.5.27-autoconf.patch
    |   |--
cyrus-sasl-1.5.27-ldap_mysql.ChangeLog
    |   |--
cyrus-sasl-1.5.27-ldap_mysql.README
    |   |--
cyrus-sasl-1.5.27-ldap_mysql.patch
    |   |--
cyrus-sasl-1.5.27-saslauthd-automake.patch
    |   |-- cyrus-sasl-1.5.27.tar.gz
    |   |-- cyrus-sasl-authd-conf
    |   |-- cyrus-sasl-authd-rc
    |   |-- cyrus-sasl-authd.pamd
    |   `-- cyrus-sasl-pwcheck-rc
    |-- SPECS
    |   `-- cyrus-sasl.spec
    `-- SRPMS

Jetzt wechseln wir ins Verzeichnis ~/rpm/SPECS und bauen mit dem Kommando rpm -ba cyrus-sasl.spec das installierbare RPM.

[holger@mail holger]$ cd rpm/SPEC
[holger@mail holger]$ rpm -ba cyrus-sasl.spec

Die tree-Ausgabe erspare ich uns jetzt mal, da es bereits über 400 Dateien in über 40 Verzeichnissen sind ;-)

Als nächstes sollten wir uns mal informieren, ob bereits ein SASL installiert ist. Hierfür können wir auch wieder den Paketmanager befragen:

[holger@mail holger]$ rpm -qa | grep sasl
cyrus-sasl-1.5.24-25
cyrus-sasl-md5-1.5.24-25
cyrus-sasl-devel-1.5.24-25
cyrus-sasl-plain-1.5.24-25

Wie Sie sehen, ist bei mir schon was drauf. Ich werde das zuerst entfernen. Hierzu sind allerdings root-Rechte von Nöten: Also su root: (Sie können es auch updaten mit rpm -Uhv dateiname für update).

[root@mail root]# rpm -e --nodeps cyrus-sasl
[root@mail root]# rpm -e --nodeps cyrus-sasl-md5
[root@mail root]# rpm -e --nodeps cyrus-sasl-devel
[root@mail root]# rpm -e --nodeps cyrus-sasl-plain

Nun ins Verzeichnis wechseln, in dem die kompilierten RPMs abgelegt worden sind (~/rpm/RPMS/i386). Dort finden Sie einige RPMs:

Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Forum
Neue Nachrichten