Планирую связку Postfixe+Dovekote+mysql (будут использоваться ипользуются виртуальные пользователи)main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailnamesmtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no# appending .domain is the MUA's job.
append_dot_mydomain = no# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4hreadme_directory = no
# TLS parameters
#1smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_sasl_type=dovecot
smtpd_sasl_path=private/auth
smtpd_recipient_restrictions=permit_mynetworks,per mit_sasl_a uthenticated,reject_unauth_destination
smtpd_tls_cert_file=/etc/ssl/certs/postfix.pem
smtpd_tls_key_file=/etc/ssl/private/postfix.pem
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.myhostname = posts.dracon753.ru
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost
relayhost =
mynetworks = 192.168.4.0/24,192.168.3.0/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_alias_domains =
virtual_alias_maps = hash:/etc/postfix/aliases, proxy:mysql:/etc/postfix/mysql-forwards.cf, mysql:/etc/postfix/mysql-email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
master.cfdovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
root@posts:/home/test/rab/pravconfig# dovecot unix - n n - - pipe
Примерный конфиг
dovecot.confprotocols = imap imaps pop3 pop3s
disable_plaintext_auth = no
log_path = /var/log/dovecot.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n
mail_privileged_group = vmail
mail_debug = yes
verbose_proctitle = yes
protocol imap {
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
protocol managesieve {
}
protocol lda {
log_path = /home/vmail/dovecot-deliver.log
auth_socket_path = /var/run/dovecot/auth-master
postmaster_address = andrey@dracon753.ru
mail_plugins = sieve
global_script_path = /home/vmail/globalsieverc
}
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes
auth default {
mechanisms = plain login
passdb pam {
}
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb passwd {
}
userdb static {
args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
}
user = root
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
dict {
}
plugin {
}dovecot-sql.conf
driver = mysql
connect = host=127.0.0.1 dbname=mail user=mailadmin password=123759
default_pass_scheme = PLAIN
password_query = SELECT email as user, password FROM users WHERE email='%u';
Может чего упустил ?
Безопасна ли такая выборака паролей из базы ?
> dovecot-sql.conf
> driver = mysql
> connect = host=127.0.0.1 dbname=mail user=mailadmin password=123759
> default_pass_scheme = PLAIN
> password_query = SELECT email as user, password FROM users WHERE email='%u';
> Может чего упустил ?
> Безопасна ли такая выборака паролей из базы ?Стандартная выборка. Что Вы подразумеваете под словом "безопасна"? Конфиги Ваши, Вы уж простите, мне смотреть лень. Мне и своих хватает. :)
>> dovecot-sql.conf
>> driver = mysql
>> connect = host=127.0.0.1 dbname=mail user=mailadmin password=123759
>> default_pass_scheme = PLAIN
>> password_query = SELECT email as user, password FROM users WHERE email='%u';
>> Может чего упустил ?
>> Безопасна ли такая выборака паролей из базы ?
> Стандартная выборка. Что Вы подразумеваете под словом "безопасна"? Конфиги Ваши, Вы
> уж простите, мне смотреть лень. Мне и своих хватает. :)пароли в базе Mysql хранятся без шифрования, ну и default_pass_scheme = PLAIN , не PLAIN-MD5
>[оверквотинг удален]
>>> driver = mysql
>>> connect = host=127.0.0.1 dbname=mail user=mailadmin password=123759
>>> default_pass_scheme = PLAIN
>>> password_query = SELECT email as user, password FROM users WHERE email='%u';
>>> Может чего упустил ?
>>> Безопасна ли такая выборака паролей из базы ?
>> Стандартная выборка. Что Вы подразумеваете под словом "безопасна"? Конфиги Ваши, Вы
>> уж простите, мне смотреть лень. Мне и своих хватает. :)
> пароли в базе Mysql хранятся без шифрования, ну и default_pass_scheme = PLAIN
> , не PLAIN-MD5Ну и еще в dovecot.conf я не до конца уверен
> пароли в базе Mysql хранятся без шифрования, ну и default_pass_scheme = PLAIN
> , не PLAIN-MD5У меня с шифрованием хранятся. :)
Вот dovecot-sql.conf:
----------------
default_pass_scheme = CRAM-MD5
-----------
А в конфиге давкота:
-----------------
mechanisms = plain login digest-md5 cram-md5
--------------
Пароль кодируется в MD5 средствами postfixadmin. Ну и загоняется в базу пользователей. Сейчас уже точно не помню - но с этим MD5 были какие-то серьезные заморочки вначале. То ли с digest, то ли с cram. Какие-то клиенты (почтовые) глючили.
А - во. В конфиге postfixadmin (config.inc.php) вот эта строчка загоняет пароли в МД5 в базу:
$CONF['encrypt'] = 'dovecot:CRAM-MD5';
В общем так - пошерстите Интернет на предмет MD5 - там несколько видов MD5-шифрования. Хотя правильнее его назвать, пожалуй, не шифрованием, а алгоритмом хэширования.
> А - во. В конфиге postfixadmin (config.inc.php) вот эта строчка загоняет пароли
> в МД5 в базу:
> $CONF['encrypt'] = 'dovecot:CRAM-MD5';
> В общем так - пошерстите Интернет на предмет MD5 - там несколько
> видов MD5-шифрования. Хотя правильнее его назвать, пожалуй, не шифрованием, а алгоритмом
> хэширования.Гммм что-то не то получается
есть база mysql с именами и логинами пользователей (не шифрованы), делаюВот dovecot-sql.conf:
----------------
default_pass_scheme = CRAM-MD5
-----------
А в конфиге давкота:
-----------------
mechanisms = plain login digest-md5 cram-md5паюсь аутглюком зайти на ящик болты в логах
2011-05-30 11:18:23 auth(default): Info: new auth connection: pid=18924
2011-05-30 11:18:24 auth-worker(default): Info: pam(t3@dracon753.ru,192.168.4.15): pam_authenticate() failed: Authentication failure (password mismatch?) (given password: 759)
2011-05-30 11:18:24 auth-worker(default): Info: sql(t3@dracon753.ru,192.168.4.15): query: SELECT email as user, password FROM users WHERE email='t3@dracon753.ru';
2011-05-30 11:18:24 auth-worker(default): Error: sql(t3@dracon753.ru,192.168.4.15): Password in passdb is not in expected scheme CRAM-MD5
2011-05-30 11:18:26 auth(default): Info: client out: FAIL 1 user=t3@dracon753.ru
2011-05-30 11:18:27 imap-login: Info: Disconnected (auth failed, 1 attempts): user=<t3@dracon753.ru>, method=PLAIN, rip=192.168.4.15, lip=192.168.4.25, TLS: Disconnected
2011-05-30 11:18:31 imap-login: Info: Disconnected (auth failed, 1 attempts): user=<t3@dracon753.ru>, method=PLAIN, rip=192.168.4.15, lip=192.168.4.25, TLS: Disconnected
По скажите где затупил ?
default_pass_scheme = PLAIN
> default_pass_scheme = PLAINспасибо разобрался