PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : cyrus 2.2 und mysql debian - was mach ich falsch



zini2001
25.08.08, 19:23
das ist eine gute frage! habe jetzt schon viele howtos durch und sogar das buch von und mit peer heinlein "pop3 und imap" hat mich nicht weitergebracht.

ich schaffe es nicht, mich mit dem cyrus an einer mysql datenbank zu authentifizieren:mad:
irgend wie funktionieren auch die log einträge nicht richtig. das hier ist der einzige eintrag in der /var/log/syslog

badlogin: tralala.net [xx.x.xxx.192] plaintext web3p1 SASL(-13): authentication failure: checkpass failed

installierte pakete: (hoffe ich hab hier keine vergessen reinzukopieren)

cyrus-admin-2.2_2.2.13-10_all.deb
cyrus-clients-2.2_2.2.13-10_i386.deb
cyrus-common-2.2_2.2.13-10_i386.deb
cyrus-imapd-2.2_2.2.13-10_i386.deb
cyrus-nntpd-2.2_2.2.13-10_i386.deb
cyrus-pop3d-2.2_2.2.13-10_i386.deb
libpam0g_0.79-5_i386.deb
libpam-modules_0.79-5_i386.deb
libpam-mysql_0.6.2-1_i386.deb
libpam-runtime_0.79-5_all.deb
libsasl2_2.1.22.dfsg1-8_i386.deb
libsasl2-2_2.1.22.dfsg1-8_i386.deb
libsasl2-modules_2.1.22.dfsg1-8_i386.deb
libsasl2-modules-sql_2.1.22.dfsg1-8_i386.deb
sasl2-bin_2.1.22.dfsg1-8_i386.deb

/etc/imapd.conf

sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sql sasldb
sasl_sql_engine: mysql
sasl_sql_hostnames: localhost
sasl_sql_user: web0
sasl_sql_passwd: web0
sasl_sql_database: mailserver
sasl_sql_verbose: yes
sasl_sql_select: SELECT password FROM virtual_users WHERE user='%u' AND active='1'
sasl_sql_usessl: 0
sasl_log_level: 6
sasl_auto_transition: no
(den sasldb eintrag habe gemacht, damit ich in der virtual_user nicht den cyrus als admin cyradm eintragen muss.das klappt wenigstens)
mysql tabelle:

mysql>
CREATE TABLE `virtual_domains` (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL
) ENGINE = InnoDB;
+----+----------------------------+
| id | name |
+----+----------------------------+
| 1 | domai.dyndns.org |
| 2 | games.dyndns.info |
| 3 | homedomain2008.dyndns.org |
+----+----------------------------+

mysql>
CREATE TABLE `virtual_users` (
id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
domain_id INT(11) NOT NULL,
user VARCHAR(40) NOT NULL,
password VARCHAR(32) NOT NULL,
active TINYINT(4) NOT NULL default '1',
CONSTRAINT UNIQUE_EMAIL UNIQUE (domain_id,user),
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE = InnoDB;

+----+-----------+--------+----------------------------------+--------+
| id | domain_id | user | password | active |
+----+-----------+--------+----------------------------------+--------+
| 1 | 1 | web8p1 | 2048065bbfec | 1 |
| 2 | 2 | web1p1 | 9872cf473a8455e50f9d5b | 1 |
| 3 | 3 | web2p1 | 73e9dc125d04817d85e47d | 1 |
| 4 | 1 | web8p2 | 0f5e2246fce83fbd10ebce | 1 |
+----+-----------+--------+----------------------------------+--------+


homeserver01: telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK homeserver01 Cyrus IMAP4 v2.2.13-Debian-2.2.13-10 server ready
1 login web1p1 web1p1
1 NO Login failed: authentication failure

cyrus/imap[7658]: badlogin: localhost [127.0.0.1] plaintext web1p1 SASL(-13): authentication failure: checkpass failed


homeserver01: imtest -a web8p1 localhost
S: * OK homeserver01 Cyrus IMAP4 v2.2.13-Debian-2.2.13-10 server ready
C: C01 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE AUTH=DIGEST-MD5 AUTH=CRAM-MD5 SASL-IR
S: C01 OK Completed
C: A01 AUTHENTICATE DIGEST-MD5
S: + bm9uY2U9ImlEdUNCcmJBMDloV3YxL09vWVpITHhIaE5LMHVYdk U4NEJsOE9aUDhUUVE9IixyZWFsbT0iaG9tZXNlcnZlcjAxIixx b3A9ImF1dGgsYXV0aC1pbnQsYXV0aC1jb25mIixjaXBoZXI9In JjNC00MCxyYzQtNTYscmM0LGRlcywzZGVzIixtYXhidWY9NDA5 NixjaGFyc2V0PXV0Zi04LGFsZ29yaXRobT1tZDUtc2Vzcw==
Please enter your password:
C: dXNlcm5hbWU9IndlYjhwMSIscmVhbG09ImhvbWVzZXJ2ZXIwMS Isbm9uY2U9ImlEdUNCcmJBMDloV3YxL09vWVpITHhIaE5LMHVY dkU4NEJsOE9aUDhUUVE9Iixjbm9uY2U9IlJTS0I2T2ZzQmVNd0 RmMWVTbzNLWHFQWXlpNWE3b3h1M2VmQmFMbGtOUEE9IixuYz0w MDAwMDAwMSxxb3A9YXV0aC1jb25mLGNpcGhlcj1yYzQsbWF4Yn VmPTEwMjQsZGlnZXN0LXVyaT0iaW1hcC9sb2NhbGhvc3QiLHJl c3BvbnNlPWM0MTYzNjgwMWFlNDE5ZDJiMzYyOGUyYTY4YTIwMj Ri
S: A01 NO authentication failure
Authentication failed. generic failure
Security strength factor: 128


cyrus/imap[7658]: badlogin: localhost [127.0.0.1] DIGEST-MD5 [SASL(-13): authentication failure: client response doesn't match what we generated] <--das mit dem "generated" ist jetzt neu!!

ich bin der meinung das ich alles richtig eingestellt habe. wäre danbar für ideen, an welcher schraube ich noch drehen kann.
gruß

Roger Wilco
25.08.08, 22:01
Deine Passwörter sind in der Datenbank nur als Hash vorhanden, d. h. du kannst nur Klartextmechanismen (PLAIN, LOGIN) benutzen. Außerdem solltest du das MySQL Query Log aktivieren und nachsehen, was beim Loginversuch an die Datenbank geschickt wird.

Benutzt du virtuelle Domains (http://cyrusimap.web.cmu.edu/imapd/install-virtdomains.html) in Cyrus (virtdomains: yes)?

zini2001
26.08.08, 15:42
Deine Passwörter sind in der Datenbank nur als Hash vorhanden, d. h. du kannst nur Klartextmechanismen (PLAIN, LOGIN) benutzen. Außerdem solltest du das MySQL Query Log aktivieren und nachsehen, was beim Loginversuch an die Datenbank geschickt wird.
wenn ich nur plain und/oder login verwende sind kommen ebenfalls fehler meldungen.

homeserver01: imtest -m plain -a web8p1 localhost
S: * OK homeserver01 Cyrus IMAP4 v2.2.13-Debian-2.2.13-10 server ready
C: C01 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE AUTH=DIGEST-MD5 AUTH=CRAM-MD5 SASL-IR
S: C01 OK Completed
Please enter your password:
C: A01 AUTHENTICATE PLAIN AHdlYjhwMQB3ZWI4cDE=
S: A01 NO encryption needed to use mechanism
Authentication failed. generic failure
Security strength factor: 0


cyrus/imap[9645]: badlogin: localhost [127.0.0.1] PLAIN [SASL(-16): encryption needed to use mechanism: security flags do not match required]


homeserver01: imtest -m login -a web8p1 localhost
S: * OK homeserver01 Cyrus IMAP4 v2.2.13-Debian-2.2.13-10 server ready
C: C01 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE AUTH=DIGEST-MD5 AUTH=CRAM-MD5 SASL-IR
S: C01 OK Completed
Please enter your password:
C: L01 LOGIN web8p1 {6}
S: + go ahead
C: <omitted>
S: L01 NO Login failed: authentication failure
Authentication failed. generic failure
Security strength factor: 0

cyrus/imap[9621]: badlogin: localhost [127.0.0.1] plaintext web8p1 SASL(-13): authentication failure: checkpass failed

jetzt nutz ich mal die gelegenheit um ein kleines verständnisproblem (endlich) zu lösen.
die passwörter habe ich mit MD5 eingetragen.

INSERT INTO virtual_users (id, domain_id, user, password) VALUES (1, 1, 'john', MD5('summersun'));
ist das den nicht verschlüsselt?hab mir gerade wiki hash und wiki md5 ansatzweise gelesen und bin auch nicht schlauer. in phpmyadmin kann ich für dqas passwdfeld eine combobox öffnen, in der mir verschiedenste möglichkeiten angeboten werden( md5, password,..) welche sollte ich in meinem fall nutzen?

das mit dem logquery schau ich mir mal an.

Benutzt du virtuelle Domains (http://cyrusimap.web.cmu.edu/imapd/install-virtdomains.html) in Cyrus (virtdomains: yes)?
noch nicht! aber würde ich gerne. wie oben zu sehen verwende ich die notation vom confixx. das postfach soll nicht an einer email adresse gebunden sein. möchte gerne auch mehrere email adressen in ein postfach laufen lassen.

Roger Wilco
26.08.08, 20:49
wenn ich nur plain und/oder login verwende sind kommen ebenfalls fehler meldungen.
allowplaintext ist in der imapd.conf entsprechend gesetzt?


ist das den nicht verschlüsselt?
Richtig (eigentlich gehashed und nicht verschlüsselt, aber das nur am Rande). Und wie soll Cyrus IMAP bzw. SASL dann die Challenge und Response für Verfahren wie CRAM-MD5 oder DIGEST-MD5 berechnen? Dazu benötigt das Programm die Klartextpasswörter.

Und nun stehen nur die MD5 Hashes in der Datenbank. Wie soll das Programm bei der von dir angegebenen SQL-Abfrage bestimmen, ob das Passwort korrekt ist?

Mal davon abgesehen sieht der Inhalt deiner Tabelle virtual_users etwas seltsam aus. Die MD5 Hashes in der Spalte password müssten immer gleich lang sein.

Das beste wäre es, wenn du die Klartextpasswörter in der Datenbank speicherst und diese entsprechend absicherst. Denn entweder gehen die Passwörter im Klartext über die Leitung (-> Abhilfe TLS/SSL) oder stehen im Klartext in der Datenbank und gehen dafür nicht über die Leitung (-> DIGEST-MD5, CRAM-MD5).


in phpmyadmin kann ich für dqas passwdfeld eine combobox öffnen, in der mir verschiedenste möglichkeiten angeboten werden( md5, password,..) welche sollte ich in meinem fall nutzen?
Keine. Oder du änderst die Query in sasl_sql_select entsprechend ab.

zini2001
27.08.08, 14:11
da es sich hier um einen test server handelt post ich mal die ganzen sachen. oben waren die hashes alle gleich lang! hab nur ein paar stellen rausgenommen.
in der virtual_users sieht das jetzt so aus. allerdings hab ich diese variante auch schon probiert. gelesen hab ich in anderen threads ..wie auch jetzt hier... das die passwörter im klartext gespeichert werden sollen. nur konnte ich da noch nix damit anfangen.


mysql> select * from virtual_users;
+----+-----------+--------+----------+--------+
| id | domain_id | user | password | active |
+----+-----------+--------+----------+--------+
| 1 | 1 | web8p1 | web8p1 | 1 |
| 2 | 2 | web1p1 | web1p1 | 1 |
| 3 | 3 | web2p1 | web2p1 | 1 |
| 4 | 1 | web8p2 | web8p2 | 1 |
+----+-----------+--------+----------+--------+

meine /etc/imap.conf

configdirectory: /var/lib/cyrus
partition-default: /var/spool/cyrus/mail
newsspool: /var/spool/news
altnamespace: yes
unixhierarchysep: no
#reject8bit: yes
#munge8bit: no
lmtp_downcase_rcpt: yes
admins: cyrus
#lmtp_admins: postman
#mupdate_admins: mupdateman
#imap_admins: cyrus
#sieve_admins: cyrus
#proxyservers: cyrus
allowanonymouslogin: no
popminpoll: 1
autocreatequota: 0
umask: 077
#sendmail: /usr/sbin/sendmail
sieveusehomedir: false
sievedir: /var/spool/sieve
#mailnotifier: zephyr
#sievenotifier: zephyr
#dracinterval: 0
#drachost: localhost
hashimapspool: true
allowplaintext: yes
#sasl_mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5
sasl_mech_list: PLAIN LOGIN
#allowapop: no
#sasl_minimum_layer: 0
#sasl_maximum_layer: 256
#loginrealms: example.com
#virtdomains: userid
#defaultdomain:
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sql sasldb
sasl_sql_engine: mysql
sasl_sql_hostnames: localhost
sasl_sql_user: web0
sasl_sql_passwd: web0
sasl_sql_database: mailserver
sasl_sql_verbose: yes
sasl_sql_select: SELECT password FROM virtual_users WHERE user='%u' AND active='1'
sasl_sql_usessl: 0
#sasl_log_level: 6
sasl_auto_transition: no
#tls hab ich jetzt raus gelassen...
lmtpsocket: /var/spool/postfix/public/lmtp
idlemethod: poll
idlesocket: /var/run/cyrus/socket/idle
notifysocket: /var/run/cyrus/socket/notify
syslog_prefix: cyrus


Das beste wäre es, wenn du die Klartextpasswörter in der Datenbank speicherst und diese entsprechend absicherst. Denn entweder gehen die Passwörter im Klartext über die Leitung (-> Abhilfe TLS/SSL) oder stehen im Klartext in der Datenbank und gehen dafür nicht über die Leitung (-> DIGEST-MD5, CRAM-MD5).

sorry..will mich jetzt nicht voll blöd anstellen aber irgend wie steh ich jetzt auf der leitung. schubs mich mal bitte runter
stehen jetzt in beiden fällen(tls/ssl und cram/digest) die passwörter im klartext in der DB?

versuche mich jetzt mit klartextpasswd am cyrus anzumelden

homeserver01:~# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK homeserver01 Cyrus IMAP4 v2.2.13-Debian-2.2.13-10 server ready
1 login web1p1 web1p1
1 NO Login failed: authentication failure

080827 14:07:17 14 Connect web0@localhost on mailserver
15 Connect web0@localhost on mailserver
15 Quit
16 Connect web0@localhost on mailserver
16 Query START TRANSACTION
16 Query SELECT password FROM virtual_users WHERE user='web1p1' AND active='1'
14 Quit
16 Query SELECT password FROM virtual_users WHERE user='web1p1' AND active='1'
16 Query COMMIT
16 Quit
17 Connect web0@localhost on mailserver
17 Quit

hier noch meine /etc/mysql/my.cnf


cat /etc/mysql/my.cnf
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0

[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
log = /var/log/mysql/mysql.log
#
# Error logging goes to syslog. This is a Debian improvement :)
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * BerkeleyDB
#
# Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
#skip-bdb
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
#skip-innodb
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
#log = /var/log/mysql/mysql.log
[isamchk]
key_buffer = 16M

#
# * NDB Cluster
#
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
#
# The following configuration is read by the NDB Data Nodes (ndbd processes)
# not from the NDB Management Nodes (ndb_mgmd processes).
#
# [MYSQL_CLUSTER]
# ndb-connectstring=127.0.0.1


#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/

zini2001
27.08.08, 14:28
select abfrage mit postfix versuch->geht. passwd wird richtig ausgelesen.

homeserver01:~# postmap -q web1p1 mysql:/etc/postfix/mysql-virtual-alias-maps.cf
web1p1

080827 14:25:33 37 Connect web0@localhost on mailserver
37 Query SELECT password FROM virtual_users WHERE user='web1p1' AND active='1'
37 Quit

dannochmal mit cyrus. und plötzlich gings auch. warum auch immer :)

homeserver01:~# telnet localhost imap
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK homeserver01 Cyrus IMAP4 v2.2.13-Debian-2.2.13-10 server ready
1 login web1p1 web1p1
1 OK User logged in
6 logout
* BYE LOGOUT received
6 OK Completed
Connection closed by foreign host.



080827 14:26:04 38 Connect web0@localhost on mailserver
38 Quit
39 Connect web0@localhost on mailserver
39 Quit
40 Connect web0@localhost on mailserver
40 Query START TRANSACTION
40 Query SELECT password FROM virtual_users WHERE user='web1p1' AND active='1'
40 Query SELECT password FROM virtual_users WHERE user='web1p1' AND active='1'
40 Query COMMIT
40 Quit
41 Connect web0@localhost on mailserver
41 Quit

wenn das jetzt auh auf dem zielsystem geht...->LUFTSPRUNG

zini2001
27.08.08, 15:16
*macht einen LUFTSPRUNG

:D

zini2001
27.08.08, 15:31
in meinem mailclient Thunderbird habe ich jetzt unter konten "sichere Authentifizierung verwenden" angehakt.

in der /etc/imapd.conf hab ich.. hinzugefügt.

sasl_mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

ein

server:~# imtest -m cram-md5 -a web1p1
WARNING: no hostname supplied, assuming localhost

S: * OK lvps87-230-xx-xxx.dedicated.hosteurope.de Cyrus IMAP4 v2.2.13-Debian-2.2.13-10 server ready
C: C01 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE AUTH=DIGEST-MD5 AUTH=CRAM-MD5 SASL-IR
S: C01 OK Completed
C: A01 AUTHENTICATE CRAM-MD5
S: + PDE0MzA2NjIzOTIuMTE4ODM2NzhAbHZwczg3LTIzMC0zNC0xMT UuZGVkaWNhdGVkLmhvc3RldXJvcGUuZGU+
Please enter your password:
C: d2ViMXAxIGMwYmU2YTBkZDYyMTBkNjlhOGZjYWNlODlhYzI3NG Vl
S: A01 OK Success (no protection)
Authenticated.
Security strength factor: 0
Q01 logout
* BYE LOGOUT received
Q01 OK Completed
Connection closed. scheint zu funzen

cyrus/imap[9729]: login: localhost [127.0.0.1] web1p1 CRAM-MD5 User logged in
auch

server:~# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK lvps87-230-xx-xxx.dedicated.hosteurope.de Cyrus IMAP4 v2.2.13-Debian-2.2.13-10 server ready
1 login web1p1 web1p1
1 OK User logged in
6 logout
* BYE LOGOUT received
6 OK Completed
Connection closed by foreign host.

cyrus/imap[11630]: login: localhost [127.0.0.1] web1p1 plaintext User logged inhier wäre es "nice to know" wie man sich verschlüsselt einloggt.

aber wichtiger ist das ich mich über meinen mailclient sicher einloogen kann.

cyrus/imap[12224]: login: tralala.pool.mediaWays.net [xx.xx.130.203] web3p1 CRAM-MD5 User logged in


da es jetzt keine fehlermeldungen mehr gibt, würd ich gerne wissen ob das jetzt eine sichere vorgehensweise ist. ist es richtig wenn ich schreibe:
das passwd vom client ist auf dem weg zum cyrus mit cram-md5 sicher verschlüsselt?
das passwd wird (beim login vom client) aus der DB sicher verschlüsselt an den cyrus übertragen?

gruß

Roger Wilco
27.08.08, 16:17
sorry..will mich jetzt nicht voll blöd anstellen aber irgend wie steh ich jetzt auf der leitung. schubs mich mal bitte runter
stehen jetzt in beiden fällen(tls/ssl und cram/digest) die passwörter im klartext in der DB?
Du wirfst verschiedene Dinge durcheinander. SSL/TLS ist eine Transportverschlüsselung, d. h. die gesamte Kommunikation wird verschlüsselt. Wenn die Verbindung via SSL/TLS abgesichert ist, können ohne größere Bauchschmerzen Klartextmechanismen wie LOGIN oder PLAIN benutzt werden. Für diese sind keine Klartextpasswörter in der Datenbank notwendig.

Wenn du aber Authentifzierungsmechanismen nutzen willst, die auf einem Challenge/Response-Verfahren beruhen, wie CRAM-MD5 oder DIGEST-MD5, dann müssen die Passwörter im Klartext in deiner Datenbank stehen. Der Vorteil dieser Verfahren ist, dass die Zugangsdaten selbst bei unverschlüsselter Verbindung niemals im Klartext über die Leitung geschickt werden, sondern immer nur berechnete Hashes. Und genau deshalb benötigt der Server die Passwörter im Klartext.


hier wäre es "nice to know" wie man sich verschlüsselt einloggt.
Damit wären wir wieder bei SSL/TLS. Die entsprechenden Direktiven in der imapd.conf dafür sind tls_cert_file und tls_key_file.


das passwd vom client ist auf dem weg zum cyrus mit cram-md5 sicher verschlüsselt?
Ja.


das passwd wird (beim login vom client) aus der DB sicher verschlüsselt an den cyrus übertragen?
Ja.

zini2001
27.08.08, 17:12
DANKE!! vielen dank...

zini2001
29.08.08, 19:26
in phpmyadmin kann ich für dqas passwdfeld eine combobox öffnen, in der mir verschiedenste möglichkeiten angeboten werden( md5, password,..) welche sollte ich in meinem fall nutzen?
Keine. Oder du änderst die Query in sasl_sql_select entsprechend ab.

wie müsste den die query aussehen, wenn ich die passwörte in der DB nicht im klartext stehen lasse.

gruß