Mailinglist Archive: opensuse-de (2429 mails)
| < Previous | Next > |
Re: Sicherheit - Mailserver mit Lokalen Usern und unversch lüsselter Verbindung - Meinung gesucht
- From: "Artur Cichosz" <artur2000@xxxxxx>
- Date: Wed, 4 Jan 2006 18:11:11 +0100
- Message-id: <00f501c61151$dd123920$0a02a8c0@ares2>
> Man kann die Benutzerverwaltung auch vom System abkoppeln und über eine
> SASL-Datenbank laufen lassen. Das ist ohne große Probleme möglich.
Das denke ich mir auch deswegen habe ich auch nach tips zu bestehenden
How-To's gefragt, die Cyrus mit SASL und lokalen benutzern behandeln.
Also frage ich noch mal - kennt jemand oder hat jemand welche?
> >Wenn sich jemand bereit erklärt mir bei dem SSL/TLS - Problem zu helfen
so schiebe ich gerne noch zusätzliche infos wie z.b. die main.cf nach.
> Brauchst du noch ein Web-Interface? Jedenfalls solltest du ein Zertifikat
> für alle Dienste verwenden, die auf dem Server laufen. Bei Apache oder
> Openssl gibt es Scripte, die ein solches Zertifikat erstellen.
Brauche nicht unbedingt ein Web-Interface. Aber ich schliesse das für die
Zukunft nicht aus.
Erstmal gibt es nur IMAP und POP und ich hätte wohl gerne TLS dabei aber
irgendwie hackt's bei mir irgendwo.
Zu TLS:
1) Die Postfix TLS-Konfiguration habe ich ausprobiert und natürlich
eigene Zertifikate mit openssl nach dem http://www.postfix-howto.de/
erstellt.
2) Dann Postfix entsprechend konfiguriert in /etc/postfix/main.cf
smtp_tls_note_starttls_offer = yes
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = no
smtpd_tls_key_file = /etc/certs/key.pem
smtpd_tls_cert_file = /etc/certs/cert.pem
smtpd_tls_CAfile = /etc/certs/cert.pem
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtp_use_tls = yes
smtp_tls_key_file = /etc/certs/key.pem
smtp_tls_cert_file = /etc/certs/cert.pem
smtp_tls_CAfile = /etc/certs/cert.pem
3) und auch Cyrus entsprechend nach dem gleichen how-to
mit dem gleichen Zertifikat (Kopie) wie für postfix
# mkdir /var/imap
# cp /etc/certs/key.pem /var/imap/server.pem
# cat /etc/certs/cert.pem >> /var/imap/server.pem
# chown cyrus:mail /var/imap/server.pem
# chmod 600 /var/imap/server.pem # Schützt den Key
# echo tls_ca_file: /var/imap/server.pem >> /etc/imapd.conf
# echo tls_cert_file: /var/imap/server.pem >> /etc/imapd.conf
# echo tls_key_file: /var/imap/server.pem >> /etc/imapd.conf
4) SuSEFirewall2 - Ports geöfnet, zur Sicherheit sowohl über den Namen als
auch numerisch. Lokale Client-Firewall ist aus
FW_SERVICES_EXT_TCP="http https pop3 pop3s imap imaps smtp ssh sieve 143 25
110 993 995 2000"
Muss ich irgendeinen dieser Ports auch unter FW_SERVICES_EXT_UDP setzen?
5) Den E-Mail Server lokal getestet nach einem anderen How-To
domino:~ # telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 host ESMTP Postfix
ehlo localhost
250-host
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME
quit
Nach dem How-To ist alles in Ordnung wenn 250-STARTTLS und 250-AUTH
erscheinen - so ist es bei mir
Aber dann macht mich folgendes stutzig. Wenn ich die aktiven Ports überprüfe
mit "netstat -an|grep LISTEN"
bekomme ich folgendes zu sehen:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 :::110 :::* LISTEN
tcp 0 0 :::143 :::* LISTEN
tcp 0 0 :::2000 :::* LISTEN
tcp 0 0 :::80 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::25 :::* LISTEN
Laut howto und auch irgendwie logisch müssen dort auch die ports 993 und 995
für pops und imaps erscheinen, tun sie aber nicht.
Dementsprechend funktioniert auch nicht SSL bei den Clients, zur Info gebe
Paar Einzelheiten was so passiert bei einzelnen Clients
obwohl das sicherlich nicht sehr aussagekräftig ist.
Outlook Express 6
Wenn ich bei bei einem IMAP-Konto unter "erweitert" sowohl für den
Posteingang (993) als auch für den Postausgang (25) die Option "Dieser
Server erfordert eine sichere Verbindung" aktiviere dann bekomme ich beim
versuch die Nachrichten zu holen folgende Fehler-Meldung
Protokoll: IMAP
Port: 993
Secure (SSL): 1
Code: 800ccc0e
Outlook 2000
sagt dabei sogar dass er selbst offline sei.
The Bat
mit der Verbindungs-Option "Secure to dedicated Port (TLS)" sowohl für
Ausgang (Port 25) als auch für Eingang (Port 993) kann seltsamerweise
Mails abrufen (Zauberei ???) aber keine versenden (Log: SEND - TLS protocol
error: Unexpected message.)
Wenn ich wiederum für beide Richtungen STARTTLS wähle kann er weiterhin
Nachrichten abholen aber beim Versenden ein ähnlicher Fehler
SEND - Server reports error. The response is: Nicht unterstützter Befehl.
SEND - Server reports it is not ready, reply: "Nicht unterstützter Befehl."
Pegasus Mail 4
Will sich wie die Outlooks gar nicht verbinden über direkte SSL Verbindung.
Über STARTTLS kann er die Mails abholen (Ich schätze über unverschlüsselte
verbindung als ausweichmethode) aber beim verschicken gehen die mails
irgendwie ins nirvana - keine meldung, nix in der Warteschlange, kein log
auf dem mailserver, keine E-Mail beim Empfänger. Wohl ein Programm-Bug oder
ich check nicht ganz wie man mit dem Ding Mails Verschickt, denn im Ordner
Ausgangskopien sind alle versendeten Mails drin. Schwamm drüber.
Server Log sagt bei allen Programmen (bis auf Pagasus) beim Versenden das
gleiche:
Jan 4 16:47:22 suse93lamp postfix/smtpd[12901]: connect from
aur200.neoplus.adsl.tpnet.pl[83.27.25.200]
Jan 4 16:47:29 suse93lamp postfix/smtpd[12901]: disconnect from
aur200.neoplus.adsl.tpnet.pl[83.27.25.200]
Wo hackt es bei der Postfix-Config? Warum sind die Ports 993 und 995 nicht
aktiv? Hat jemand eine Idee?
----- Original Message -----
From: "Sandy Drobic" <suse-linux@xxxxxxxxxxxxxxxxxxxxxxx>
To: <suse-linux@xxxxxxxx>
Sent: Wednesday, January 04, 2006 12:56 PM
Subject: Re: Sicherheit - Mailserver mit Lokalen Usern und unverschlüsselter
Verbindung - Meinung gesucht
Artur Cichosz wrote:
> Hallo an alle,
>
> ich möchte jemanden von den Sicherheitsexperten in der Liste bitten, eine
kurze Meinung
> zu folgender Sache zu geben.
>
> Ich habe auf die schnelle einen Mailserver mit Postfix + Procmail + Cyrus
+ lokale Benutzer aufsetzen müssen.
> Diese Benutzer authentifizieren sich ja bei ihrer Mailbox mit dem
Linux-Passwort und zu allem Überfluß klappt SSL/TLS auch irgendwie nicht
(Beide Outlooks
> wollen nicht aber auch The Bat und Pegasus Mail) also läuft es im Moment
ohne Verschlüsselung.
>
> Das war also die Ausgangslage und jetzt sieht es folgendermassen aus:
>
> 1) Suse Linux 9.3
> 2) Apache2 Webserver mit PHP4
> 3) Postfix / Cyrus Mailserver mit lokalen Benutzern und ohne TLS
> 4) Lokale Benutzer haben Standard-Rechte (Grupen users, video, dialout)
> 5) SuSEFirewall2 aktiv mit offenen Ports für ssh, pop3, pop3s, imap,
imaps, http, https
> 6) Nur passwortloser SSH-Zugrif über RSA-Keys und nur SSH2
>
>
> Wer kann mir mit einem oder zwei Sätzen kommentieren, wie gross das Risiko
für das System ist kompromitiert zu werden
> wenn die Linux-User Daten bei dem E-Mail-Verkehr im Plain-Text durchs Netz
gehen obwohl kein passwortbasierter Zugang
> über ssh möglich ist.
>
>
> Gibts es eine möglichkeit über eine Postfix-Option die Linux-User oder
Linux-User und Linux-Passwörter auf andere zu mappen
> - vielleicht mit SASL? Kennt jemand ein How-To, dass sich genau mit Cyrus
SASL mit lokalen Usern beschäftigt? In den letzten
> zwei schlaflosen Nächten hatte ich wohl zu viel Input und weiss nicht so
recht wo ich da ansetzen soll.
>
Steht der Server in einem Rechenzentrum und greifen die Anwender über das
Internet auf den Server zu oder ist es ein Server, der hinter der Firewall
innerhalb des Firmennetzwerks steht und den nur die lokalen Anwender
innerhalb des Firmennetzes benutzen sollen und können?
Wenn über das Internet zugegriffen wird, dann sollte TLS für Mail und
Imap/pop Pflicht sein. Ebenso sollten die Client-PCs auf dem aktuellen
Sicherheitsstand sein und, wenn Windows mit aktiver Firewall und Antivirus
laufen.
Man kann die Benutzerverwaltung auch vom System abkoppeln und über eine
SASL-Datenbank laufen lassen. Das ist ohne große Probleme möglich.
>
> P.S.
> Aus Zeitgünden war auf die Schnelle nur diese Lösung möglich aber ich
arbeite bald daran
> die E-Mail-User über MySQL zu authentifizieren. Leider gehts nicht sofort
und die E-Mails müssen sein.
MySQL ist meistens nicht als Option in Postfix oder Cyrus
hereinkompiliert, da muss man selbst die Pakete erstellen, was manchmal
etwas trickreich sein kann. Solange man nicht täglich neue
User/Restriktionen konfiguriert, geht das auch ohne SQL/LDAP.
> Wenn sich jemand bereit erklärt mir bei dem SSL/TLS - Problem zu helfen so
schiebe ich gerne noch zusätzliche infos wie z.b. die main.cf nach.
Brauchst du noch ein Web-Interface? Jedenfalls solltest du ein Zertifikat
für alle Dienste verwenden, die auf dem Server laufen. Bei Apache oder
Openssl gibt es Scripte, die ein solches Zertifikat erstellen.
Sandy
--
Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
suse-linux-unsubscribe@xxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: suse-linux-help@xxxxxxxx
> SASL-Datenbank laufen lassen. Das ist ohne große Probleme möglich.
Das denke ich mir auch deswegen habe ich auch nach tips zu bestehenden
How-To's gefragt, die Cyrus mit SASL und lokalen benutzern behandeln.
Also frage ich noch mal - kennt jemand oder hat jemand welche?
> >Wenn sich jemand bereit erklärt mir bei dem SSL/TLS - Problem zu helfen
so schiebe ich gerne noch zusätzliche infos wie z.b. die main.cf nach.
> Brauchst du noch ein Web-Interface? Jedenfalls solltest du ein Zertifikat
> für alle Dienste verwenden, die auf dem Server laufen. Bei Apache oder
> Openssl gibt es Scripte, die ein solches Zertifikat erstellen.
Brauche nicht unbedingt ein Web-Interface. Aber ich schliesse das für die
Zukunft nicht aus.
Erstmal gibt es nur IMAP und POP und ich hätte wohl gerne TLS dabei aber
irgendwie hackt's bei mir irgendwo.
Zu TLS:
1) Die Postfix TLS-Konfiguration habe ich ausprobiert und natürlich
eigene Zertifikate mit openssl nach dem http://www.postfix-howto.de/
erstellt.
2) Dann Postfix entsprechend konfiguriert in /etc/postfix/main.cf
smtp_tls_note_starttls_offer = yes
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = no
smtpd_tls_key_file = /etc/certs/key.pem
smtpd_tls_cert_file = /etc/certs/cert.pem
smtpd_tls_CAfile = /etc/certs/cert.pem
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtp_use_tls = yes
smtp_tls_key_file = /etc/certs/key.pem
smtp_tls_cert_file = /etc/certs/cert.pem
smtp_tls_CAfile = /etc/certs/cert.pem
3) und auch Cyrus entsprechend nach dem gleichen how-to
mit dem gleichen Zertifikat (Kopie) wie für postfix
# mkdir /var/imap
# cp /etc/certs/key.pem /var/imap/server.pem
# cat /etc/certs/cert.pem >> /var/imap/server.pem
# chown cyrus:mail /var/imap/server.pem
# chmod 600 /var/imap/server.pem # Schützt den Key
# echo tls_ca_file: /var/imap/server.pem >> /etc/imapd.conf
# echo tls_cert_file: /var/imap/server.pem >> /etc/imapd.conf
# echo tls_key_file: /var/imap/server.pem >> /etc/imapd.conf
4) SuSEFirewall2 - Ports geöfnet, zur Sicherheit sowohl über den Namen als
auch numerisch. Lokale Client-Firewall ist aus
FW_SERVICES_EXT_TCP="http https pop3 pop3s imap imaps smtp ssh sieve 143 25
110 993 995 2000"
Muss ich irgendeinen dieser Ports auch unter FW_SERVICES_EXT_UDP setzen?
5) Den E-Mail Server lokal getestet nach einem anderen How-To
domino:~ # telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 host ESMTP Postfix
ehlo localhost
250-host
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME
quit
Nach dem How-To ist alles in Ordnung wenn 250-STARTTLS und 250-AUTH
erscheinen - so ist es bei mir
Aber dann macht mich folgendes stutzig. Wenn ich die aktiven Ports überprüfe
mit "netstat -an|grep LISTEN"
bekomme ich folgendes zu sehen:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 :::110 :::* LISTEN
tcp 0 0 :::143 :::* LISTEN
tcp 0 0 :::2000 :::* LISTEN
tcp 0 0 :::80 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::25 :::* LISTEN
Laut howto und auch irgendwie logisch müssen dort auch die ports 993 und 995
für pops und imaps erscheinen, tun sie aber nicht.
Dementsprechend funktioniert auch nicht SSL bei den Clients, zur Info gebe
Paar Einzelheiten was so passiert bei einzelnen Clients
obwohl das sicherlich nicht sehr aussagekräftig ist.
Outlook Express 6
Wenn ich bei bei einem IMAP-Konto unter "erweitert" sowohl für den
Posteingang (993) als auch für den Postausgang (25) die Option "Dieser
Server erfordert eine sichere Verbindung" aktiviere dann bekomme ich beim
versuch die Nachrichten zu holen folgende Fehler-Meldung
Protokoll: IMAP
Port: 993
Secure (SSL): 1
Code: 800ccc0e
Outlook 2000
sagt dabei sogar dass er selbst offline sei.
The Bat
mit der Verbindungs-Option "Secure to dedicated Port (TLS)" sowohl für
Ausgang (Port 25) als auch für Eingang (Port 993) kann seltsamerweise
Mails abrufen (Zauberei ???) aber keine versenden (Log: SEND - TLS protocol
error: Unexpected message.)
Wenn ich wiederum für beide Richtungen STARTTLS wähle kann er weiterhin
Nachrichten abholen aber beim Versenden ein ähnlicher Fehler
SEND - Server reports error. The response is: Nicht unterstützter Befehl.
SEND - Server reports it is not ready, reply: "Nicht unterstützter Befehl."
Pegasus Mail 4
Will sich wie die Outlooks gar nicht verbinden über direkte SSL Verbindung.
Über STARTTLS kann er die Mails abholen (Ich schätze über unverschlüsselte
verbindung als ausweichmethode) aber beim verschicken gehen die mails
irgendwie ins nirvana - keine meldung, nix in der Warteschlange, kein log
auf dem mailserver, keine E-Mail beim Empfänger. Wohl ein Programm-Bug oder
ich check nicht ganz wie man mit dem Ding Mails Verschickt, denn im Ordner
Ausgangskopien sind alle versendeten Mails drin. Schwamm drüber.
Server Log sagt bei allen Programmen (bis auf Pagasus) beim Versenden das
gleiche:
Jan 4 16:47:22 suse93lamp postfix/smtpd[12901]: connect from
aur200.neoplus.adsl.tpnet.pl[83.27.25.200]
Jan 4 16:47:29 suse93lamp postfix/smtpd[12901]: disconnect from
aur200.neoplus.adsl.tpnet.pl[83.27.25.200]
Wo hackt es bei der Postfix-Config? Warum sind die Ports 993 und 995 nicht
aktiv? Hat jemand eine Idee?
----- Original Message -----
From: "Sandy Drobic" <suse-linux@xxxxxxxxxxxxxxxxxxxxxxx>
To: <suse-linux@xxxxxxxx>
Sent: Wednesday, January 04, 2006 12:56 PM
Subject: Re: Sicherheit - Mailserver mit Lokalen Usern und unverschlüsselter
Verbindung - Meinung gesucht
Artur Cichosz wrote:
> Hallo an alle,
>
> ich möchte jemanden von den Sicherheitsexperten in der Liste bitten, eine
kurze Meinung
> zu folgender Sache zu geben.
>
> Ich habe auf die schnelle einen Mailserver mit Postfix + Procmail + Cyrus
+ lokale Benutzer aufsetzen müssen.
> Diese Benutzer authentifizieren sich ja bei ihrer Mailbox mit dem
Linux-Passwort und zu allem Überfluß klappt SSL/TLS auch irgendwie nicht
(Beide Outlooks
> wollen nicht aber auch The Bat und Pegasus Mail) also läuft es im Moment
ohne Verschlüsselung.
>
> Das war also die Ausgangslage und jetzt sieht es folgendermassen aus:
>
> 1) Suse Linux 9.3
> 2) Apache2 Webserver mit PHP4
> 3) Postfix / Cyrus Mailserver mit lokalen Benutzern und ohne TLS
> 4) Lokale Benutzer haben Standard-Rechte (Grupen users, video, dialout)
> 5) SuSEFirewall2 aktiv mit offenen Ports für ssh, pop3, pop3s, imap,
imaps, http, https
> 6) Nur passwortloser SSH-Zugrif über RSA-Keys und nur SSH2
>
>
> Wer kann mir mit einem oder zwei Sätzen kommentieren, wie gross das Risiko
für das System ist kompromitiert zu werden
> wenn die Linux-User Daten bei dem E-Mail-Verkehr im Plain-Text durchs Netz
gehen obwohl kein passwortbasierter Zugang
> über ssh möglich ist.
>
>
> Gibts es eine möglichkeit über eine Postfix-Option die Linux-User oder
Linux-User und Linux-Passwörter auf andere zu mappen
> - vielleicht mit SASL? Kennt jemand ein How-To, dass sich genau mit Cyrus
SASL mit lokalen Usern beschäftigt? In den letzten
> zwei schlaflosen Nächten hatte ich wohl zu viel Input und weiss nicht so
recht wo ich da ansetzen soll.
>
Steht der Server in einem Rechenzentrum und greifen die Anwender über das
Internet auf den Server zu oder ist es ein Server, der hinter der Firewall
innerhalb des Firmennetzwerks steht und den nur die lokalen Anwender
innerhalb des Firmennetzes benutzen sollen und können?
Wenn über das Internet zugegriffen wird, dann sollte TLS für Mail und
Imap/pop Pflicht sein. Ebenso sollten die Client-PCs auf dem aktuellen
Sicherheitsstand sein und, wenn Windows mit aktiver Firewall und Antivirus
laufen.
Man kann die Benutzerverwaltung auch vom System abkoppeln und über eine
SASL-Datenbank laufen lassen. Das ist ohne große Probleme möglich.
>
> P.S.
> Aus Zeitgünden war auf die Schnelle nur diese Lösung möglich aber ich
arbeite bald daran
> die E-Mail-User über MySQL zu authentifizieren. Leider gehts nicht sofort
und die E-Mails müssen sein.
MySQL ist meistens nicht als Option in Postfix oder Cyrus
hereinkompiliert, da muss man selbst die Pakete erstellen, was manchmal
etwas trickreich sein kann. Solange man nicht täglich neue
User/Restriktionen konfiguriert, geht das auch ohne SQL/LDAP.
> Wenn sich jemand bereit erklärt mir bei dem SSL/TLS - Problem zu helfen so
schiebe ich gerne noch zusätzliche infos wie z.b. die main.cf nach.
Brauchst du noch ein Web-Interface? Jedenfalls solltest du ein Zertifikat
für alle Dienste verwenden, die auf dem Server laufen. Bei Apache oder
Openssl gibt es Scripte, die ein solches Zertifikat erstellen.
Sandy
--
Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
suse-linux-unsubscribe@xxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: suse-linux-help@xxxxxxxx
| < Previous | Next > |