The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Корпоративный почтовый сервер на базе Postfix (postfix mail imap sasl crypt tls auth clamav spam virus freebsd)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: postfix, mail, imap, sasl, crypt, tls, auth, clamav, spam, virus, freebsd,  (найти похожие документы)
From: Сергей Святкин Newsgroups: email Date: Mon, 09 Mar 2006 14:31:37 +0000 (UTC) Subject: Корпоративный почтовый сервер на базе Postfix PDF версия: http://www.opennet.ru/soft/postfix_mail.pdf Почтовый сервер Postfix + Courier-Imap + SASL2 + TLS + PostgreSQL + Squirrelmail + ClamAV + Greylist Вместо предисловия Данная статья составлена из заметок, писавшихся для самого себя по материалам различных статей, с целью собрать все необходимое лично мне в одном месте. Так что на копирайты и ориги нальность не претендую. Однако считаю, что сей манускрипт все же может оказаться полезным, особенно для начинающих. Прежде чем приступать к настройке по данной статье, рекомендую внимательно прочитать ее до конца. От чтения документации к устанавливаемым программам данная статья не освобождает, так как описание многих параметров конфигурационных файлов остались в тени. Также рекомендую ознакомиться с использованными в статье материалами, спи сок которых дан в конце текста. 1. Предварительная настройка системы Почтовый сервер, создание которого описывается ниже, был поднят на FreeBSD версии 6.0. Описывать установку и настройку самой ОС я не буду, скажу только о том, что нужно непосред ственно для работы почтового сервера. Первым делом необходимо полностью отключить Sendmail, который ставится по умолчанию вместе с системой. Для этого необходимо проделать следующее. Во-первых, в /etc/rc.conf допи шем строки: sendmail_enable="NONE" mta_start_script="" sendmail_outbound_enable="NO" sendmail_submit_enable="NO" sendmail_msp_queue_enable="NO" Во-вторых, необходимо создать файл /etc/periodic.conf (если он не существует), и дописать туда следующие строчки: daily_clean_hoststat_enable="NO" daily_status_mail_reject_enable="NO" daily_status_include_submit_mailq="NO" daily_submit_queuerun="NO" Понадобится еще доустановить из пакетов/портов gmake и sudo. Об их установке также не буду распространяться, из пакетов все ставится за 5 минут и без проблем. Но приведу здесь свой конфиг sudoers для дальнейшей работы. У меня он совсем небольшой: /usr/local/etc/sudoers: Cmnd_Alias POSTGRES = /usr/local/bin/createuser, /usr/local/bin/createdb, \ /usr/local/bin/createlang, /usr/local/bin/dropdb, \ /usr/local/bin/droplang, /usr/local/bin/dropuser, \ /usr/local/bin/initdb, /usr/local/bin/pg_config, \ /usr/local/bin/pg_controldata, /usr/local/bin/pg_ctl, \ /usr/local/bin/pg_dump, /usr/local/bin/pg_dumpall, \ /usr/local/bin/pg_resetxlog, /usr/local/bin/postgres, \ /usr/local/bin/postmaster, /usr/local/bin/psql root ALL = (ALL) ALL pgsql All = POSTGRES Насколько я понимаю, все это обозначает следующее: root может творить все, что хочет, а пользователь pgsql может только запускать программы для работы с PostgreSQL из каталога /usr/local/bin/. 2. Установка программ Все программное обеспечение ставится из портов по нижеприведенной схеме. Я рекомендую ставить приложения именно в перечисленном порядке. Ибо однажды я решил поставить Courier после Postfix, и он отказался собираться. Но если есть желание экспериментировать, то ставьте в том порядке, который вам нравится. Версии устанавливаемых приложений даны просто для сведения. 2.1. OpenSSL 0.9.7i - из портов Нужен для создания сертификатов безопасности сервера и клиентов. cd /usr/ports/security/openssl make OPENSSL_OVERWRITE_BASE=yes install 2.2. PostgreSQL 8.0.4 - из портов В базе PostgreSQL будем хранить всю информацию о пользователях нашей почтовой систе мы, а также иную служебную информацию - транспортные таблицы, алиасы, и т.д. cd /usr/ports/databases/postgresql80-server make install Опции установки - NLS и PAM (последняя нужна только если планируете использовать saslauthd и PAM-PgSQL) 2.3. CYRUS-SASL 2.1.21 - из портов Этот порт будет обеспечивать нам SMTP-авторизацию пользователей почтового сервера. cd /usr/ports/security/cyrus-sasl2 make WITHOUT_OTP=yes WITH_PGSQL=/usr/local/lib install А вот дальше можно установить демона авторизации, а можно и не делать этого, зависит от того, каким способом будет выполняться обращение к БД пользователей для SMTP-авторизации. Если вы хотите использовать saslauthd, то необходимо будет поставить еще и PAM-PgSQL (см. пункт 2.6). Я лично обошелся без saslauthd, но для полноты картины все же расскажу и о нем. cd /usr/ports/security/cyrus-sasl2-saslauthd make install Если saslauthd использоваться не будет, то вышеуказанный порт ставить не надо. 2.4. Courier-Imap 4.0.6.1 - из портов Courier-IMAP будет исполнять роль POP3 и IMAP сервера. cd /usr/ports/mail/courier-imap make install Опции установки - OPENSSL и AUTH_PGSQL Долго он ставится... 2.5. Postfix 2.2.5 - из портов Postfix - основа всей нашей системы, собственно MTA. cd /usr/ports/mail/postfix make install Опции установки - SASL2, TLS, PgSQL. Ближе к окончанию установки будет задано еще несколько вопросов, отвечаем на них, используя предлагаемые по умолчанию варианты: You need user "postfix" added to group "mail". Would you like me to add it? - [y]? y Would you like to activate Postfix in /etc/mail/mailer.conf [n]? n 2.6. PAM-PGSQL 0.6.1 - из портов Нужен для организации доступа демона авторизации saslauthd к базе PostgreSQL. Есте ственно, ставить только в том случае, если вы будете использовать saslauthd - тогда установите его, как описано в пункте 2.3. Если saslauthd не используется, этот пункт просто пропускаете. cd /usr/ports/security/pam-pgsql make install В ходе экспериментов по установке данной связки сей порт изматерился, что хочет библио теку libtool-1.3.5 - хотя уже была установлена libtool-1.5.20, и почему-то отказался ее скачивать. Пришлось найти в инете libtool-1.3.5.tar.gz и руками подсунуть в /usr/ports/distfiles. Возможно, вам это и не грозит. 2.7. PHP 4.4.1 - из портов Нужен для организации WWW -доступа к нашему почтовому серверу. В процессе установки будет также собран и установлен WWW-сервер Apache2. cd /usr/ports/lang/php4 make install Опции установки - APACHE2 и OPENSSL По завершению установки обращаем внимание на то, что инсталлятор предлагает нам доба вить в конфиг Апача (/usr/local/etc/apache2/httpd.conf) следующие параметры: AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps Не лишним будет также добавить к списку файлов, определяющих индексный файл веб-ди ректории по умолчанию еще и файл index.php 2.8. Squirrelmail 1.4.5 - из портов Этот порт, собственно, и обеспечит доступ к нашему почтовому серверу через WWW-интер фейс. cd /usr/ports/mail/squirrelmail make install В процессе установки вылезет окно Options for php4-mbstring 4.4.1 - в нем оставим все как есть и нажмем Ok. По завершению установки опять-таки обратим внимание на рекомендации инсталлятора - нам предлагают изменить в файле /usr/local/etc/php.ini (этот файл не существует и нужно будет скопировать его из примера /usr/local/etc/php.ini-recommended) два параметра: file_uploads = On session.auto_start = 1 2.9. ClamAV 0.87 - из портов Бесплатный и надежный антивирус, который будет проверять нашу почту на предмет на личия всякой гадости в письмах. cd /usr/ports/security/clamav make install Опции установки - LIBUNRAR 2.10. ClamSMTP 1.5 - из портов С помощью этого порта мы заставим работать в одной упряжке ClamAV и Postfix cd /usr/ports/security/clamsmtp make install 2.11. Postgrey 1.21 - из портов Система защиты от спама на основе технологии серых списков. cd /usr/ports/mail/postgrey make WITH_BDB_VER=43 install Вместе с этим портом будет также установлена база данных BerkeleyDB, версию которой мы указали параметром WITH_BDB_VER=43. Для работы postgrey требуется BerkeleyDB версии не ниже 4.1. По этой схеме все прошло без эксцессов. Можно приступать к конфигурированию. 3. Конфигурирование программ 3.1 Настройка PostgreSQL Сначала с помощью chsh поменяем пользователю pgsql оболочку по умолчанию на /sbin/nologin. И слегка подточим запускной скрипт PostgreSQL /usr/local/etc/rc.d/010.pgsql.sh, ко торый нам сделал порт. Найдем там строчки: postgresql_command() { su -l ${postgresql_user} -c "exec ${command} ${command_args}" } postgresql_initdb() { su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}" } И поменяем их так, чтобы работало через sudo: postgresql_command() { /usr/local/bin/sudo -u ${postgresql_user} ${command} ${command_args} } postgresql_initdb() { /usr/local/bin/sudo -u ${postgresql_user} ${prefix}/bin/initdb -D ${post gresql_data}" } Теперь добавляем в /etc/rc.conf строку postgresql_enable="YES" (чтобы PostgreSQL стартовал вместе с системой) и запускаем первичную инициализацию базы данных: /usr/local/etc/rc.d/010.pgsql.sh initdb И запустим PostgreSQL: /usr/local/etc/rc.d/010.pgsql.sh start Далее создадим пользователя БД, от имени которого будет работать Postfix: sudo -u pgsql /usr/local/bin/createuser Вводим имя пользователя postfix, на все последующие вопросы отвечаем n, и вознагражда емся сообщением CREATE USER. Но этот пользователь у нас имеет доступ к базе данных без па роля, надо это исправить: sudo -u pgsql /usr/local/bin/psql template1 alter user postfix with password `postfix'; На что нам говорят ALTER USER. Но нам нужен еще и пользователь для работы с самой ба зой данных, так как пользователю postfix прав на создание записей мы не предоставим. Первая мысль - выйти из psql и повторить вышеописанное createuser... но вот если сначала сделать select * from pg_shadow; то увидим, что пользователь pgsql уже существует. Так что на только остается сменить ему пароль: alter user pgsql with password `postgres'; Не путайте пользователей БД PostgreSQL - postfix и pgsql с одноименными пользователями системы! Это совершенно разные учетные записи, пользователи БД имеют отношение только к базе PostgreSQL. Выйдем из psql (команда \q) и настроим /usr/local/pgsql/data/pg_hba.conf. Тут надо будет привести строчки в самом конце файла вот к такому виду: TYPE DATABASE USER CIDR METHOD local all all md5 host all all 127.0.0.1/32 md5 #host all all ::1/128 trust Последняя строка - для IPv6. Надеюсь, она вам не нужна, поэтому просто закомментируйте ее. Перезапустите PostgreSQL. И наконец, создаем то, ради чего связались с PostgreSQL - нашу базу данных почтовых пользователей: sudo -u pgsql /usr/local/bin/createdb mailbase Теперь прежде чем что-то делать, у нас спрашивают пароль. Вводим пароль postgres и переходим к созданию таблиц: sudo -u pgsql /usr/local/bin/psql mailbase Опять вводим пароль и приступаем: create table user_accounts ( login varchar(32) unique not null, password varchar(32) unique not null, smtplogin varchar(128) unique, smtppassword varchar(128) unique, email varchar(128) unique not null, mailbox varchar(256) unique not null, realname varchar(128)); create table user_aliases ( username varchar(32) not null, alias varchar(128) not null); create table transport ( location varchar(128) unique not null, transport varchar(128) not null default `virtual:'); В награду нам - сообщения CREATE TABLE после каждого ввода ;. Теперь дадим пользо вателю БД postfix право выполнять оператор select для этих таблиц: grant select on user_accounts, user_aliases, transport to postfix; И видим сообщение GRANT - права присвоены. После этого добавим в БД запись для тесто вого пользователя: insert into user_accounts values (`testuser', `password', `smtptestuser', `smtppassword', `tes tuser@home.net', `/mail/virtual/testuser@home.net/Maildir/', `Test user'); Если все прошло удачно, то увидим сообщение INSERT <циферки>. Можно полюбоваться на содержимое таблицы mailboxes, выполнив: select * from user_accounts; Не помешает также задать запись в таблице transport: Insert into transport values (`home.net', `virtual:'); Таблицу алиасов можно заполнить позднее. Шестое поле в таблице user_accounts описывает местоположение каталога почтового ящика пользователя. На моей системе под ящики пользователей отведен отдельный раздел, который монтируется как /mail. Создадим каталог /mail/virtual для хранения почты, и присвоим права на доступ к нему для пользователя postfix и группы maildrop: mkdir /mail/virtual chown postfix:maildrop /mail/virtual Осталось подточить PostgreSQL на предмет логирования обращений к БД, очень пригодится для отладки. Для этого создадим каталог /var/pgsql, сделаем пользователя pgsql его владельцем и в файле /usr/local/pgsql/data/postgresql.conf добавим, раскомментируем или изменим следующие параметры: # все ошибки выдаем на STDERR... log_destination = `stderr' # ... и перенаправляем их в файл redirect_stderr = true # каталог, где будет находиться лог-файл log_directory = `/var/pgsql' # имя лог-файла log_filename = `postgresql.log' # далее задаем уровень детализации логов client_min_messages = log log_min_messages = info log_min_error_statement = info # сохраняем в логах информацию о подключениях, отключениях и времени # выполнения операций log_connections = true log_disconnections = true log_duration = true # каждую строку лога предваряем текущим временем log_line_prefix = `%s' # и выводим в лог полную информацию log_statement = `all' На этом с настройкой PostgreSQL можно закончить. Остается только придумать, как вносить записи в БД, не работая непосредственно с почтовым сервером. Вариантов много - доступ через www, или написание клиента БД PostgreSQL для удаленной работы с windows-машины секретар ши. Компоненты для работы с PostgreSQL через ODBC или напрямую в природе имеются. А пока можно написать скрипты для добавления пользователей и алиасов непосредственно из shell: Добавить пользователя - ins_users.sh #!/bin/sh PGPASSWORD=postgres export PGPASSWORD sudo -u pgsql /usr/local/pgsql/bin/psql -A -q -t -c \ "insert into user_accounts values ('$1', '$2', '$3', '$4', '$5', '$6', '$7')" mailbase Добавим себя, любимого: ./ins_users.sh shrdlu shrdlupass shrdlu@home.net smtppass shrdlu@home.net \ /mail/virtual/shrdlu@home.net/Maildir/ Sergey_Svyatkin Добавить алиас - ins_aliases.sh #!/bin/sh PGPASSWORD=postgres export PGPASSWORD sudo -u pgsql /usr/local/pgsql/bin/psql -A -q -t -c \ "insert into user_aliases values ('$1', '$2')" mailbase Добавим алиасы для root, postmaster и abuse: ./ins_aliases root shrdlu@home.net ./ins_aliases postmaster shrdlu@home.net ./ins_aliases abuse shrdlu@home.net 3.2. Настройка Postfix Идем в /usr/local/etc/postfix, и правим файл main.cf. Поскольку я намерен выкинуть из него все, что сочту лишним - комментарии и параметры, значения которых я оставлю по умолчанию, то на всякий случай сделаю копию этого файла - main.cf.old. В итоге должно получиться следую щее: # каталог в котором будет находиться очередь писем, обрабатываемых postfix queue_directory = /var/spool/postfix # каталог выполняемых файлов административных команд postfix command_directory = /usr/local/sbin # каталог выполняемого файла демона postfix daemon_directory = /usr/local/libexec/postfix # Путь к команде, используемой взамен стандартного sendmail sendmail_path = /usr/local/sbin/sendmail # Путь к исполняемому файлу, используемому для перестройки псевдонимов newaliases_path = /usr/local/bin/newaliases # Путь к команде, отображающей состояние почтовой очереди mailq_path = /usr/local/bin/mailq # Документация в html-формате html_directory = no # База документации на все устанавливаемые программы manpage_directory = /usr/local/man # Примеры конфигурационных файлов postfix. sample_directory = /usr/local/etc/postfix # Файлы readme readme_directory = no # Имя пользователя, с правами которого работает почта mail_owner = postfix # Группа, от имени которой будут работать команды обработки почтовой очереди setgid_group = maildrop # Права по умолчанию, используемые агентом локальной доставки. # Не указывайте здесь привилегированного пользователя или владельца Postfix! default_privs = nobody # Имя нашего хоста. myhostname = mail.home.net #Имя нашего домена mydomain = home.net # Адреса интерфейсов, на которых нужно ждать smtp-соединений inet_interfaces = all # Домены, для которых будет приниматься почта mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # списки наших локальных пользователей: local_recipient_maps = # С каким кодом отклонять письма для несуществующих пользователей unknown_local_recipient_reject_code = 550 # Подсети из которых почта принимается, не проходя многих проверок. # Перекрывает параметр mynetworks_style. Можете добавить сюда ваши подсети, # я же в дальнейшем буду использовать принцип не доверяй никому, поэтому # указал только локальную подсеть mynetworks = 127.0.0.0/8 # Списки алиасов, используемых для локальной доставки alias_maps = hash:/etc/mail/aliases alias_database = hash:/etc/mail/aliases # Используем Maildir-style для пользовательских ящиков home_mailbox = Maildir/ # Строка представления вашего SMTP сервера (может быть любой) smtpd_banner = $myhostname ESMTP # запрещаем использование команды VRFY disable_vrfy_command = yes # Обязательно требуем использования команд HELO или EHLO smtpd_helo_required = yes Это базовая настройка, которую мы будем постепенно дополнять в ходе дальнейших усовер шенствований. Теперь самое время выполнить команду newaliases, а потом сказать postfix check. Если postfix ни на что не отругается можно продолжать править main.cf. Добавляем туда: # списки транспортов transport_maps = pgsql:/usr/local/etc/postfix/transport.cf # куда складывать почту транспорту virtual virtual_mailbox_base = / # списки почтовых ящиков virtual_mailbox_maps = pgsql:/usr/local/etc/postfix/mailbox.cf # списки алиасов virtual_alias_maps = pgsql:/usr/local/etc/postfix/alias.cf # uid и gid пользователей virtual_uid_maps = static:125 virtual_gid_maps = static:126 Цифры 125 и 126 - это идентификаторы пользователя postfix и группы maildrop в файлах /etc/passwd и /etc/group соответственно. Перед тем, как вписывать эти числа, загляните в эти файлы - вдруг у вас они другие. То есть вся почта у нас будет принадлежать одному пользователю postfix. И создаем необходимые вспомогательные файлы: touch /usr/local/etc/postfix/transport.cf Вписываем в него: host = localhost user = postfix password = postfix dbname = mailbase table = transport select_field = transport where_field = location touch /usr/local/etc/postfix/mailbox.cf В него пишем: host = localhost user = postfix password = postfix dbname = mailbase table = user_accounts select_field = mailbox where_field = email touch /usr/local/etc/postfix/alias.cf В него пишем: host = localhost user = postfix password = postfix dbname = mailbase table = user_aliases select_field = alias where_field = username Для верности еще раз сделаем postfix check. Если все нормально, то запустим Postfix ко мандой postfix start, и запустив telnet localhost 25, попробуем послать письмо нашему пользовате лю testuser. Если все пройдет гладко, то мы увидим, что в каталоге /mail/virtual создался каталог /testuser@home.net/Maildir, а в нем - еще три каталога - cur, new и tmp. Все это говорит о том, что письмо нашло своего героя, и ожидает, пока он заберет его. Так что самое время перейти к на стройке SMTP-авторизации. Но перед этим накропаем еще один скрипт для запуска Postfix во вре мя старта системы (почему-то порт такого скрипта не предлагает): touch /usr/local/etc/rc.d/360.postfix.sh #!/bin/sh case "$1" in start) echo "Starting POSTFIX..." /usr/local/sbin/postfix start ;; stop) echo "Stopping POSTFIX..." /usr/local/sbin/postfix stop ;; restart) echo "Restarting POSTFIX..." /usr/local/sbin/postfix reload ;; esac sleep 3 exit 0 3.3. Настройка SASL 3.3.1. Настройка без использования saslauthd. Создаем файл /usr/local/lib/sasl2/smtpd.conf со следующим содержимым: pwcheck_method: auxprop log_level: 9 auxprop_plugin: sql sql_engine: pgsql sql_user: postfix sql_passwd: postfix sql_hostnames: 127.0.0.1 sql_database: mailbase sql_select: select smtppassword from user_accounts where smtplogin='%u' sql_verbose: yes Строчки log_level: 9 и sql_verbose: yes пригодятся только для отладки, впоследствии их можно удалить. 3.3.2. Настройка с использованием saslauthd и PAM-PGSQL. Сначала заглянем в /usr/local/share/doc/pam-pgsql и почитаем README. После осмысле ния, чего от нас хотят, и чего хотим мы, проделываем следующее. Создаем файл /usr/local/lib/sasl2/smtpd.conf со следующим содержимым: pwcheck_method: saslauthd Теперь создаем файл /etc/pam_pgsql.conf: database = mailbase host = localhost user = postfix password = postfix table = user_accounts user_column = smtplogin pwd_column = smtppassword pw_type = clear Затем создаем /etc/pam.d/smtp (именно smtp!): auth required pam_pgsql.so account required pam_pgsql.so password required pam_pgsql.so И в заключении, заглянем в /usr/local/etc/rc.d. Там нас будет интересовать файл saslauthd.sh, запускающий демона авторизации SASL. Заглянув внутрь этого файла, увидим, что нужно доба вить в /etc/rc.conf строчку saslauthd_enable="YES" что мы и проделаем. Поскольку все прекрасно работает и без связки saslauthd/PAM, то в дальнейшем я буду на страивать систему, опираясь только на способ, описанный в пункте 3.3.1. 3.3.3. Настройка Postfix и проверка работы SMTP-аутентификации. Допишем в /usr/local/etc/postfix/main.cf строки: # включаем плагин sasl2 для smtpd авторизации smtpd_sasl_auth_enable = yes # запрещаем анонимную аутентификацию smtpd_sasl_security_options = noanonymous # разрешаем авторизацию клиентов, использующих устаревшую версию команды AUTH broken_sasl_auth_clients = yes # имя области аутентификации SASL - лучше оставить пустым smtpd_sasl_local_domain = # ограничения, выполняющиеся при обработке команды RCPT TO smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination Введем дополнительные ограничения на соединение с нашим сервером: # Проверяем, что нам предъявляют в HELO/EHLO и: # принимаем всю почту для postmaster и abuse, ибо postmaster обязан # быть доступным при любом раскладе smtpd_helo_restrictions = check_recipient_access hash:/usr/local/etc/postfix/postmaster_access, # существуют особы, приближенные к особе - клиенты, чей почтовый сервер # настроен криво, но почту с которого надо все же принимать во избежание # скандалов с руководством - заносим их в белый список check_helo_access hash:/usr/local/etc/postfix/helo_access, # принимаем, если клиент прошел SASL-аутентификацию permit_sasl_authenticated, # принимаем, если клиент из доверенной подсети permit_mynetworks, # отвергаем хосты с неверными именами reject_invalid_hostname, # отвергаем хосты, которые не имеют А или МХ записей в DNS reject_unknown_hostname, # отвергаем хосты с именами не в FQDN-форме reject_non_fqdn_hostname Не забудем создать файлы postmaster_access и helo_access: touch /usr/local/etc/postfix/postmaster_access touch /usr/local/etc/postfix/helo_access Вписываем в postmaster_access: postmaster@home.net OK abuse@home.net OK Вписываем в helo_access: vasya.pupkin.local OK И делаем postmap postmaster_access postmap helo_access Теперь перезагрузим сервер, и приступим к проверке работоспособности SASL. Для начала, попробуем послать письмо куда-либо за пределы home.net (иначе письмо будет принято в любом случае и вы не увидите как работает SASL), на что получим в /var/log/maillog: Nov 15 19:53:28 mail postfix/smtpd[668]: connect from unknown[192.168.211.1] Nov 15 19:53:28 mail postfix/smtpd[668]: NOQUEUE: reject: RCPT from unknown[192.168.211.1]: 554 <shrdlu@svgc.ru.>: Relay access denied; from=<testuser@home.net.> to=<shrdlu@svgc.ru.> proto=ESMTPhelo=<192.168.211.1> Nov 15 19:53:28 mail postfix/smtpd[668]: disconnect from unknown[192.168.211.1] Коротко и ясно. Теперь настроим почтовый клиент на использование SMTP-авторизации и повторим попытку. Видим следующее: Nov 17 15:44:18 mail postfix/smtpd[528]: connect from unknown[192.168.211.1] Nov 17 15:44:18 mail postfix/smtpd[528]: E08A160FD: client=unknown[192.168.211.1], sasl_method=CRAM-MD5,sasl_username=smtptestuser Nov 17 15:44:18 mail postfix/cleanup[536]: E08A160FD: message-id=<19327532578.20051117154102@home.net.> Nov 17 15:44:18 mail postfix/qmgr[445]: E08A160FD: from=<testuser@home.net.>, size=679, nrcpt=1 (queue active) Nov 17 15:44:18 mail postfix/smtpd[528]: disconnect from unknown[192.168.211.1] Главное - видим строчку Nov 17 15:44:18 mail postfix/smtpd[528]: E08A160FD: client=unknown[192.168.211.1], sasl_method=CRAM-MD5,sasl_username=smtptestuser То есть, мы добились желаемого результата, и SASL таки принял нашу авторизацию. 3.4. Настройка Courier-Imap Для настройки Courier-IMAP нам следует для начала отредактировать /usr/local/etc/auth lib/authdaemonrc. Поправьте в нем следующие параметры: # список модулей, используемых демоном авторизации authmodulelist="authpgsql" # включение вывода отладочной информации: # DEBUG_LOGIN=2 - включение отладочной информации и логирование паролей. # нужно только на этапе отладки! DEBUG_LOGIN=2 После этого отредактируем файл /usr/local/etc/authlib/authpgsqlrc, с тем, чтобы в нем содер жалось следующее: # порт для соединения с PostgreSQL PGSQL_PORT 5432 # имя пользователя, который будет работать с БД PGSQL_USERNAME postfix # пароль этого пользователя PGSQL_PASSWORD postfix # К какой БД подключаемся PGSQL_DATABASE mailbase # Имя таблицы в БД PGSQL_USER_TABLE user_accounts # Поле таблицы БД, содержащее пароль пользователя PGSQL_CLEAR_PWFIELD password # id владельца почтового ящика (у нас postfix) PGSQL_UID_FIELD 125 # id группы, владеющей ящиком (у нас maildrop) PGSQL_GID_FIELD 126 # Поле таблицы БД, содержащее логин пользователя PGSQL_LOGIN_FIELD login # ? домашний каталог, что ли? PGSQL_HOME_FIELD mailbox # Поле таблицы БД, содержащее имя пользователя PGSQL_NAME_FIELD realname # Поле таблицы БД, содержащее путь к ящику PGSQL_MAILDIR_FIELD mailbox Теперь можно запускать Courier. При установке из порта заботливый инсталлятор уже создал для нас все необходимые скрипты запуска всех сервисов Courier-Imap в каталоге /usr/lo cal/etc/rc.d/. Нас сейчас интересуют скрипты courier-authdaemon.sh, courier-imap-pop3d.sh и courier-imap-imapd.sh. Не поленимся заглянуть в них, и увидим, что для автоматического запуска при загрузке сервера нам необходимо всего лишь поместить в /etc/rc.conf нижеприведенные пара метры: courier_authdaemond_enable="YES" courier_imap_pop3d_enable="YES" Если вместо сервера POP вы планируете использовать сервер IMAP, то добавьте в /etc/rc.conf courier_imap_imapd_enable="YES" вместо courier_imap_pop3d_enable="YES" А в общем-то, ничто не мешает использовать POP и IMAP одновременно. Проделав это, пе резагружаем сервер (или стартуем вышеуказанные сервисы вручную), и пробуем проверить почту с помощью telnet localhost 110 (143 для IMAP) или через почтовый клиент. 3.5. Настройка TLS-SSL Сразу скажу, что реализация данной части - дело тяжелое. Потому что будет очень много ру тинной возни, если делать все по правилам. Первым делом нам понадобится доверенный сертификат - Certificate Authority (далее CA), чтобы иметь возможность подписывать и проверять клиентские сертификаты. Если все делать по правилам, то такой сертификат нужно создать, а затем подписать его у одного из корневых дове ренных центров сертификации. Но это стоит денег. Если ваша организация заинтересована, ска жем, в развитии своего представительства в Internet, то именно это и стоит сделать. Но если вы всего лишь небольшая фирма, которая нуждается всего-навсего в почтовом сервере, то можно обойтись самоподписанным доверенным сертификатом. Итак, приступаем. Для начала определимся с местом, где у нас будут лежать наш сертификат и сертификаты пользователей. Поразмыслив, я решил держать их в каталоге /usr/local/ssl, но вы, возможно, решите, что есть и более подходящее для них место - оставляю это на ваше усмотре ние. Внутри этого каталога проделаем следующее: mkdir db mkdir ca mkdir clients touch /usr/local/ssl/db/index.txt echo "01" > /usr/local/ssl/db/serial Скрипт для создания нашего самоподписанного доверенного сертификата (CA): touch /usr/local/ssl/make_ca.sh #!/bin/sh openssl req -new -newkey rsa:4096 -nodes -keyout ./ca/ca.key -x509 -days 3650 \ -subj /C=RU/ST=Russia/L=Samara/O=HOMENET\ Inc/OU=IT/CN=mail.home.net/emailAddress=postmaster@home.net \ -out ./ca/ca.crt Запускаем скрипт make_ca.sh. Какое-то время он будет возиться с генерацией секретного ключа длиной в 4096 бит, на слабой машине это займет время... можете уменьшить длину ключа до 1024 или 2048 бит, если очень не терпится все поскорее попробовать. В итоге мы получим два файла в каталоге /usr/local/ssl/ca: ca.crt - это наш самоподписанным доверенный сертификат, и ca.key - его секретный ключ. Теперь нам необходим скрипт для создания клиентских сертифика тов: touch /usr/local/ssl/make_cleint_cert.sh #!/bin/sh openssl req -new -newkey rsa:4096 -nodes -keyout ./clients/client_$1.key \ -subj /C=RU/ST=Russia/L=Samara/O=HOMENET/OU=IT/CN=$1/emailAddress=$2 \ -out ./clients/client_$1.csr; openssl ca -config ca.config -in ./clients/client_$1.csr -out ./clients/client_$1.crt -batch; openssl pkcs12 -export -in ./clients/client_$1.crt -inkey ./clients/client_$1.key \ -certfile ./ca/ca.crt -out ./clients/client_$1.p12 -passout pass:$3 Прежде чем запускать этот скрипт, создадим файл конфигурации для подписывания запро сов на сертификацию: touch /usr/local/ssl/ca.config [ ca ] default_ca = CA_CLIENT [ CA_CLIENT ] dir = /usr/local/ssl certs = $dir/clients new_certs_dir = $dir/db database = $dir/db/index.txt serial = $dir/db/serial certificate = $dir/ca/ca.crt private_key = $dir/ca/ca.key default_days = 3650 default_crl_days = 3 default_md = md5 policy = policy_anything [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional Скрипт make_ca.sh будет использоваться крайне редко - для первого создания нашего СА, и для генерации нового по истечению срока действия текущего СА. Однако, опцией -days мы устанавливаем срок действия сертификата аж на 10 лет, так что часто это делать не придется, раз ве что в случае компрометации сертификата (тьфу-тьфу-тьфу!). Скрипт make_cleint_cert.sh будет использоваться нами гораздо чаще, чем хотелось бы - если все делать по правилам. То есть, мы должны выдать уникальный сертификат каждому со труднику, имеющему почтовый ящик на нашем сервере. Причем выдать его на не слишком дли тельный срок, в идеале - месяца на 3, но во всяком случае не больше, чем на год. А по прошествии этого срока выдать всем новые сертификаты. Прибавьте к этому увольняемых и нанимаемых со трудников... в общем, если у вас много народу - этим лучше заниматься специальной группе secu rity officer's. Зато при этом у вас будет полноценный шифрованный канал с авторизацией и аутен тификацией пользователей. Но можно поступить и проще. Создать всего лишь один клиентский сертификат, не на персо ну, а на всю контору, и использовать его. И можно еще дополнительно облегчить себе жизнь, за дав ему срок действия, равный сроку действия СА. Лет эдак на 20. Все это, естественно, будет де латься в ущерб безопасности, так как ни о какой аутентификации пользователей речи не идет, да и в случае кражи сертификата вы можете очень нескоро узнать об этом. Но шифрование у вас все равно останется. Какой вариант выбрать - решайте сами. Теперь создадим клиентский сертификат. Запустим скрипт make_cleint_cert.sh с параметра ми имя_клиента e-mail клиента пароль на файл клиентского сертификата: make_cleint_cert.sh Test_User testuser@home.net q1w2e3 Сначала опять будет генерироваться ключ, затем будет создан и подписан сертификат поль зователя. На экран вываливается информация о сертификате, и вот мы получили все необходимое: client_Test_User.crt - файл клиентского сертификата client_Test_User.key - файл закрытого ключа client_Test_User.csr - запрос на подписание сертификата client_Test_User.p12 - клиентский сертификат для передачи клиенту Теперь научим почтовые службы работать с этими сертификатами. Начнем с Postfix. Допи шем в /usr/local/etc/postfix/main.cf следующие строки: # использовать tls для приёма почты smtpd_use_tls = yes # включать возможность авторизации только в режиме tls smtpd_tls_auth_only = yes # уровень детализации логов в режиме tls smtpd_tls_loglevel = 3 # Запрашивать заголовки сообщений с информацией о сертификатах и шифровании smtpd_tls_received_header = yes # Периодичность очистки кэша TLS-сессии smtpd_tls_session_cache_timeout = 3600s # генератор случайных чисел для TLS tls_random_source = dev:/dev/urandom # наши ssl ключи и сертификаты smtpd_tls_key_file = /usr/local/ssl/ca/ca.key smtpd_tls_cert_file = /usr/local/ssl/ca/ca.crt smtpd_tls_CAfile = /usr/local/ssl/ca/ca.crt И перезапустим Postfix - postfix reload. Теперь попробуем зайти через telnet localhost 25 и дать команду ehlo. Нам вывалят список поддерживаемых команд, в числе которых мы должны увидеть starttls. Напечатаем starttls, и сервер ответит нам - Ready to start TLS. После этого два раза наберем quit, чтобы попрощаться с сервером. Не забывайте - теперь благодаря включению smtpd_tls_auth_only = yes мы можем использо вать SMTP-авторизацию только в режиме TLS. Если вам необходимо авторизовать клиентов, кото рые не используют TLS - отключите эту опцию. Остается только передать клиенту файл с расширением p12 - в этот файл записаны и защи щены паролем записываются сертификат клиента, СА сертификат и секретный ключ клиента. По сле того, как сертификат передан клиенту, следует удалить на сервере файлы клиентского закры того ключа, запроса на подписание и конечно самого сертификата в формате PKS#12. Ну и, разу меется, необходимо передать ему также и пароль q1w2e3 - пароль на файл клиентского серти фиката. Предположим, что мы это уже проделали, попробуем его установить. Запускаем The Bat!. Выбираем наш почтовый ящик, идем в Account - Properties - General. Видим там кнопочку Edit personal Certificates, и нажимаем ее. В открывшемся окне нажимаем кнопку Import... и открываем файл client_Test_User.p12. В окне Input PFX password - Input password to decrypt data stored in client_Test_User.p12 вводим пароль на файл клиентского серти фиката - q1w2e3. Вылезает окно Input PFX password - Input password to decrypt a private key stored in client_Test_User.p12 - еще раз вводим q1w2e3. И видим, что в окне теперь отобража ются два сертификата - наш персональный и доверенный сертификат сервера. Выбрав любой из них, и нажав кнопку View, увидим, что This CA root certificate is not trusted because it is not in the Trusted Root CA. То есть The Bat! не желает просто так доверять нашему самоподписанному сертификату. Исправляем ситуацию, переходим на закладку Certification Path, выбираем наш СА, и нажимаем кнопку Add to Trusted. На запрос подтверждения отвечаем Yes. Теперь ви дим, что наши сертификаты The Bat! считает правильными. Теперь настроим The Bat! на от правку почты через TLS: идем Account - Properties - Transport и в списке Connections выбираем Secure to regular port (STARTTLS). Напишем письмо нашему test user'у, отправим его и посмот ри в логи: Nov 18 01:56:40 mail postfix/smtpd[1490]: initializing the server-side TLS engine Nov 18 01:56:40 mail postfix/smtpd[1490]: connect from unknown[192.168.211.3] Nov 18 01:56:41 mail postfix/smtpd[1490]: setting up TLS connection from unknown[192.168.211.3] Nov 18 01:56:41 mail postfix/smtpd[1490]: SSL_accept:before/accept initialization Nov 18 01:56:41 mail postfix/smtpd[1490]: read from 08096980 [080C0000] (11 bytes => -1 (0xFFFFFFFF)) Nov 18 01:56:41 mail postfix/smtpd[1490]: SSL_accept:error in SSLv2/v3 read client hello A Nov 18 01:56:41 mail postfix/smtpd[1490]: read from 08096980 [080C0000] (11 bytes => 11 (0xB)) Nov 18 01:56:41 mail postfix/smtpd[1490]: 0000 16 03 01 00 2f 01 00 00|2b 03 01 ..../... +.. [пропустим этот кошмар...] Nov 18 01:56:41 mail postfix/smtpd[1490]: 0020 fc 2e c5 3a dc d2 b3 23|9b 9c 51 bb 49 2b f9 ...:...# ..Q.I+. Nov 18 01:56:41 mail postfix/smtpd[1490]: SSL_accept:SSLv3 flush data Nov 18 01:56:41 mail postfix/smtpd[1490]: TLS connection established from unknown[192.168.211.3]: TLSv1 with cipher RC4-SHA (128/128 bits) Nov 18 01:56:41 mail postfix/smtpd[1490]: 6EF9860DE: client=unknown[192.168.211.3] Nov 18 01:56:41 mail postfix/cleanup[1496]: 6EF9860DE: message-id=<1852745703.20051119205209@home.net.> Nov 18 01:56:41 mail postfix/qmgr[1365]: 6EF9860DE: from=<testuser@home.net.>, size=752, nrcpt=1 (queue active) Nov 18 01:56:41 mail postfix/smtpd[1490]: disconnect from unknown[192.168.211.3] Nov 18 01:56:41 mail postfix/virtual[1498]: 6EF9860DE: to=<testuser@home.net.>, relay=virtual, delay=0, status=sent (delivered to maildir) Nov 18 01:56:41 mail postfix/qmgr[1365]: 6EF9860DE: removed Боже, какой ужас... надо срочно изменить детализацию логов... вместо smtpd_tls_loglevel = 3 поставим smtpd_tls_loglevel = 1. Но главное, мы увидели, что установилось защищенное соеди нение - TLS connection established from unknown[192.168.211.3]: TLSv1 with cipher RC4-SHA (128/128 bits), и наше письмо ушло под его защитой. Но это еще не все. Если мы посмотрим в ис ходный текст письма на стороне получателя, то увидим там: Received: from stationxp01.home.net (unknown [192.168.211.3]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by mail.home.net (Postfix) with ESMTP id 6EF9860DE for <testuser@home.net.>; Fri, 18 Nov 2005 01:56:41 +0000 (UTC) То есть, на данный момент имеем защищенное соединение, но не имеем аутентификации. Исправляемся. Добавим в /usr/local/etc/postfix/main.cf строчки: # требовать сертификаты от клиентов smtpd_tls_ask_ccert = yes # место расположения отпечатков клиентских сертификатов relay_clientcerts = hash:/usr/local/etc/postfix/fingerprints Снимем отпечаток с пользовательского сертификата: openssl x509 -fingerprint -in client_Test_User.crt и скопируем последовательность разделенных двоеточиями цифр из строки MD5 Finger print в файл usr/local/etc/postfix/fingerprints. После этой числовой последовательности можно (и нужно) для собственной информации и для того, чтобы отработала команда postmap дописать туда имя клиента. Делаем: postmap fingerprints postfix reload И снова отправим письмо многострадальному ТестЮзеру. Оп-ля. Опять не то, потому что получаем: Received: from stationxp01.home.net (unknown [192.168.211.3]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client did not present a certificate) by mail.home.net (Postfix) with ESMTP id CE91E60DA for <testuser@home.net.>; Sat, 19 Nov 2005 21:25:48 +0000 (UTC) То есть я при отправке письма для testuser сертификат серверу почему-то не представил. За щищенное соединение установилось, но аутентификация не прошла. Очень долго я бился с этим вопросом, но ничего не выходило. Но вот я наткнулся на это: http://www.opennet.ru/openforum/vsluhforumID14/414.html Процитирую оттуда: ----- >как заставить the bat (3.5 у меня) предоставлять клиентские сертификаты при отправке >почты с использованием технологии TLS? Т.е. в настройках аккаунта я сертификат >импортировал, однако в заголовке письма (Client did not present a certificate), >через почтового клиента мозиллы все работает. the_bat редкостная дрянь в свете работы с ssl. могу вам сообщить, что в него вкомпи лирован openssl_0.95 от 99года... то есть, по идее нормально с tls он будет работать только с продуктами собранными с поддержкой этого анахронизма. (в 0.96 изменилась структура, вплоть до названий переменных). баг на работу с ssl открыт нами ещё в 2000 году, однако воз и ныне там. ----- Вот тебе и раз. Вот тебе и мой любимый The Bat. Поэкспериментировав с Outlook Express об наружил, что сей продукт ведет себя точно также. И чего от этой дряни еще ожидать... Ставить Microsoft Outlook мне не захотелось. Но в том же самом треде упоминалась Mozilla, о которой я только слышал, но не видел. Скачал Mozilla Thunderbird (далее, говоря Mozilla, я всегда буду иметь в виду именно почтовый клиент Mozilla Thunderbird, а не одноименный браузер), и начал настраивать. Пропущу общую настройку, перейду сразу к сертификатам. Меню Tools - Account Settings - ветка Security - кнопка Manage Certificates. В открывшемся окне жмем кнопку Im port и выбираем наш сертификат client_Test_User.p12. Вводим наш хитрый пароль q1w2e3 для дешифрации сертификата и видим в окошке наш CA и свой персональный сертификат. Если выде лим персональный сертификат, и нажмем View, то увидим, что Mozilla не признает его - Could not verify this certificate because the issuer is not trusted. Нехорошо это. Переходим на вкладку Au thorities и ищем в списке наш CA HOMENET Inc. Выделяем mail.home.net и жмем кнопку Edit. В открывшемся окошечке Edit CA certificate trust settings. Возможностей немного, нас интересует флажок This certificate can identify mail users. Этот флажок и включаем, хотя никто не мешает выделить и все остальные. Жмем Ок, возвращаемся на вкладку Your certificates, и снова посмотрим на наш сертификат - This certificate has been verified for the following uses: - и ниже перечислено, для чего именно данный сертификат разрешен к использованию. Пробуем от править почту, и видим, как Mozilla ругается под заголовком Web site Certified by an Unknown Authority. Хм. Ну ладно. Снова вернемся в меню Tools - Account Settings - ветка Security - кноп ка Manage Certificates -вкладка Authorities - ищем наш CA HOMENET Inc - кнопка Edit. Включаем все оставшиеся флажки и выходим. Пробуем отправить почту - тишь, благодать, и ушедшее по назначению письмо. И вот теперь testuser, получив письмо, может в нем увидеть то, к чему мы стремились: Received: from [192.168.211.3] (unknown [192.168.211.3]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "Test_User", Issuer "mail.home.net" (verified OK)) by mail.home.net (Postfix) with ESMTP id 569B160DA for <testuser@home.net.>; Mon, 21 Nov 2005 20:02:12 +0000 (UTC) Значит, можно быть уверенным, что письмо пришло по шифрованному каналу, и именно от меня. Итого имеем: безопасную передачу почты по шифрованному каналу мы имеем с любым по чтовым клиентом, а вот аутентификацию - на данный момент только с Мозиллой. Если аутенти фикация не менее важна, чем безопасность, то придется срочно переходить на нее... Теперь займемся настойками Courier-Imap. Отредактируем файл /usr/local/etc/courier- imap/pop3d, поменяем в нем всего два параметра (для наших целей этого вполне достаточно): # используемые алгоритмы авторизации в обычном режиме и в режиме TLS POP3AUTH="LOGIN CRAM-MD5 CRAM-SHA1" POP3AUTH_TLS="LOGIN CRAM-MD5 CRAM-SHA1" Далее отредактируем файл /usr/local/etc/courier-imap/pop3d-ssl, в нем поменяем следующие параметры: # запускаем работу механизма ssl для pop3-сервера POP3DSSLSTART=YES # Список алгоритмов шифрации TLS_CIPHER_LIST=HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM # Сертификат сервера (pem-формат). Внутри данного файла должны содержаться # сертификат и НЕЗАШИФРОВАННЫЙ секретный ключ, поэтому доступ к данному файлу # на чтение должен быть предоставлен только пользователю courier. TLS_CERTFILE=/usr/local/ssl/ca/ca.crt # путь к каталогу (или файлу),содержащему "доверенные" сертификаты. Сервер # использует данные сертификаты, если опция TLS_VERIFYPEER установлена в PEER # или REQUIREPEER. TLS_TRUSTCERTS=/usr/local/ssl/clients/ В заключении добавим в /etc/rc.conf строку courier_imap_pop3d_ssl_enable="YES" А строку courier_imap_pop3d_enable="YES" наоборот закомментируем, запретив использование POP3 без шифрования. И перезапустим сервер. После этого попробуем получить почту по защищенному каналу. Для этого зайдем в свой ства нашего аккаунта в Mozilla, и в ветке Server settings включим флажки Use secure connection (SSL) (обратим внимание, что в окошечке Port при этом номер порта 110 автоматически сменится на 995) и Use secure authentication. Пробуем получить почту. И ничего не происходит, Mozilla надолго задумалась. Смотрим в maillog: Feb 24 13:34:11 mail pop3d-ssl: couriertls: /usr/local/ssl/ca/ca.crt: error:0906D06C:PEM routines:PEM_read_bio:no start line Правильно - Courier хочет, чтобы параметр TLS_CERTFILE указывал на файл, содержащий и секретный ключ, и сертификат сервера. Исправляемся: cd /usr/local/ssl/ca cp ca.key server.pem cat ca.crt >> server.pem В итоге имеем ключ сервера и его сертификат в одном файле. Теперь в файле /usr/lo cal/etc/courier-imap/pop3d-ssl поправим параметр TLS_CERTFILE: TLS_CERTFILE=/usr/local/ssl/ca/server.pem Перезапустим Courier-Imap (/usr/local/etc/rc.d/courier-imap-pop3d-ssl.sh restart) и снова пы таемся проверить почту. О чудо, письмо пришло. Что же в логах? Смотрим: Feb 24 13:39:51 mail authdaemond: LOG: statement: SELECT login, '', password, 125, 126, mailbox, mailbox,'', realname, '' FROM user_accounts WHERE login = 'testuser' Feb 24 13:39:52 mail authdaemond: LOG: duration: 26.169 ms Feb 24 13:39:52 mail authdaemond: Authenticated: sysusername=<null>, sysuserid=125, sysgroupid=126, home dir=/mail/virtual/testuser@home.net/Maildir/, address=testuser, fullname=Test User, maildir=/mail/virtual/testuser@home.net/Maildir/, quota=<null>, options=<null> Feb 24 13:39:52 mail authdaemond: Authenticated: clearpasswd=password, passwd=<null> Feb 24 13:39:52 mail pop3d-ssl: LOGIN, user=testuser, ip=[192.168.211.3] Feb 24 13:39:52 mail pop3d-ssl: LOGOUT, user=testuser, ip=[192.168.211.3], top=0, retr=776, time=0 Если заглянуть в debug.log, то увидим, что авторизация у нас прошла с использованием CRAM-MD5: Mar 2 19:14:08 mail pop3d-ssl: Connection, ip=[192.168.211.3] Mar 2 19:14:09 mail authdaemond: received auth request, service=pop3, authtype=cram-md5 Mar 2 19:14:09 mail authdaemond: authpgsql: trying this module Mar 2 19:14:09 mail authdaemond: cram: challenge=PDE2NTlCMUIwMkM4Q0M0OTJCRkI3ODcwRUQxMDFDQkJGQG1haWw+, response=dGVzdHVzZXIgOGRmN2Y0ZDJhYTIxZGMwYjdjNzk0ZTUzMjUxYWY4ZGQ= Mar 2 19:14:09 mail authdaemond: cram: decoded challenge/response, username 'testuser' Mar 2 19:14:09 mail authdaemond: SQL query: SELECT login, '', password, 125, 126, mailbox, mailbox, '', realname, '' FROM user_accounts WHERE login = 'testuser' Mar 2 19:14:09 mail authdaemond: cram validation succeeded Как видим, все прошло успешно. Единственное замечание - в логе открытым текстом виден наш пароль. Происходит это оттого, что на период отладки я установил в файле /usr/local/etc/auth lib/authdaemonrc параметр DEBUG_LOGIN=2. По завершению отладки надо будет вернуть ему значение по умолчанию 0. Продолжаем настройку. В файле /usr/local/etc/courier-imap/pop3d-ssl поправим следующие параметры: # включать механизм TLS в любых случаях POP3_TLS_REQUIRED=1 # аутентификация клиентов через сертификаты - проверяем, если клиент передал # сертификат TLS_VERIFYPEER=PEER Перезапускаем courier-imap-pop3d-ssl, и пробуем снова получить письмо. Mozilla сообщает, что Could not establish an encrypt connection because your certificate was rejected by mail.home.net. Error code: -12271.. Смотрим в лог почтового сервера, и видим там сообщение: Feb 24 13:45:58 mail pop3d-ssl: couriertls: accept: error:140890B2:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:no certificate returned Тут я надолго застрял, пока не дал себе труд внимательно перечитать статью В. Калошина ISPMail-HOWTO. v.2.0, где и нашел выход из этой ситуации. Идем в каталог /usr/local/ssl/clients, и делаем следующее: cp client_Test_User.crt client_Test_User.pem c_rehash /usr/local/ssl/clients Видим сообщение: Doing /usr/local/ssl/clients client_Test_User.pem => 88f5eb9d.0 Перезапускаем courier-imap-pop3d-ssl, и проверяем почту. Теперь все в порядке. По идее, дальше следовало бы в /usr/local/etc/courier-imap/pop3d-ssl изменить параметр TLS_VERIFYPEER: TLS_VERIFYPEER=REQUIREPEER Нужно это для того, чтобы почта отдавалась только если клиент предоставляет ssl-сертифи кат, которому мы доверяем. Однако, ни Mozilla, ни другие клиенты с этим параметром почему-то не работают как должно. Если его включить, то станет невозможным забирать с сервера почту, а в логах увидим сообщение: error 140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate Обидно. К сожалению, с аутентификацией по сертификатам через почтовый клиент здесь ни чего не выходит. Но то, что у нас получилось - авторизация CRAM-MD5 по шифрованному кана лу тоже дает неплохую защиту, так что можно остановиться и на этом. Остается только слегка изменить скрипт, создающий клиентские сертификаты, чтобы каж дый раз не копировать сертификаты, не выполнять c_rehash вручную и автоматом добавлять отпе чатки пользовательских ключей в /usr/local/etc/postfix/fingerprints. Помучавшись немного со сценариями оболочки, я решил переписать скрипт на Perl, получилось вот что (на изящество не претендую): touch /usr/local/ssl/make_cleint_cert.pl #!/usr/bin/perl `openssl req -new -newkey rsa:4096 -nodes -keyout ./clients/client_$ARGV[0].key -subj /C=RU/ST=Russia/L=Samara/O=HOMENET/OU=IT/CN=$ARGV[0]/emailAddress=$ARGV[1] -out ./clients/client_$ARGV[0].csr`; `openssl ca -config ca.config -in ./clients/client_$ARGV[0].csr -out ./clients/client_$ARGV[0].crt -batch`; `openssl pkcs12 -export -in ./clients/client_$ARGV[0].crt -inkey ./clients/client_$ARGV[0].key -certfile ./ca/ca.crt -out ./clients/client_$ARGV[0].p12 -passout pass:$ARGV[2]`; `cp ./clients/client_$ARGV[0].crt ./clients/client_$ARGV[0].pem`; `c_rehash /usr/local/ssl/clients`; `openssl x509 -fingerprint -in ./clients/client_$ARGV[0].crt > /usr/local/ssl/clients/fingerprint.txt`; open (FP, "</usr/local/ssl/clients/fingerprint.txt"); flock (FP,2); $line = <FP>; chomp $line; close (FP); ($head, $fingerprint) = split('=', $line); $result = $fingerprint." ".$ARGV[0]; open (FP, ">>/usr/local/etc/postfix/fingerprints"); flock (FP,2); print FP "$result\n"; close (FP); `cd /usr/local/etc/postfix`; `postmap /usr/local/etc/postfix/fingerprints`; `postfix reload`; exit 0; На этом с настройкой TLS-SSL слава богу, закончено. Теперь можно аналогичным образом настроить IMAP-SSL. Тем более, что IMAP нам так или иначе понадобится для работы Squirrel Mail. Отредактируем в файле /usr/local/etc/courier-imap/imapd следующие параметры: # адреса, на которых imapd-сервер ожидает соединения, 0 - все адреса. # поскольку imapd нам нужен только для работы Squirrelmail, то разрешим # соединения только с localhost ADDRESS=127.0.0.1 # определяет возможности imapd-сервера в ответ на команду CAPABILITY IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT \ THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE" Далее отредактируем файл /usr/local/etc/courier-imap/imapd-ssl, в нем поменяем следующие параметры: # запускаем работу механизма ssl для imap-сервера. IMAPDSSLSTART=YES # включать механизм TLS в любых случаях IMAP_TLS_REQUIRED=1 # Список доступных алгоритмов шифрования. TLS_CIPHER_LIST=HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM # Сертификат сервера (pem-формат). Внутри данного файла должны содержаться # сертификат и НЕЗАШИФРОВАННЫЙ секретный ключ, поэтому доступ к данному файлу # на чтение должен быть предоставлен только пользователю courier. TLS_CERTFILE=/usr/local/ssl/ca/server.pem # путь к каталогу (или файлу),содержащему "доверенные" сертификаты. Сервер # использует данные сертификаты, если опция TLS_VERIFYPEER установлена в PEER # или REQUIREPEER. TLS_TRUSTCERTS=/usr/local/ssl/clients/ # аутентификация клиентов через сертификаты - проверяем, если клиент # передал сертификат TLS_VERIFYPEER=PEER В заключении добавим в /etc/rc.conf строки courier_imap_imapd_enable="YES" courier_imap_imapd_ssl_enable="YES" И перезагрузим сервер или запустим службы IMAP вручную. Для более тонких настроек серверов pop3 и imap рекомендую ознакомится с содержимым файлов imapd-ssl.dist, imapd.dist, pop3d-ssl.dist, и pop3d.dist из каталога /usr/local/etc/courier- imap. 3.6. Настройка ClamAV. Начнем настраивать наш антивирус. Для начала ознакомимся со стартовыми скриптами, ко торые порты ClamAV и ClamSMTP положили при установке в /usr/local/etc/rc.d - clamav- clamd.sh, clamav-freshclam.sh и clamsmtpd.sh. Первый скрипт запускает демона антивируса, вто рой позволяет в автоматическом режиме обновлять антивирусные базы, а третий запускает демо на, с помощью которого антивирус будет вызываться Postfix'ом при получении каждого письма. Ознакомившись с их содержимым, видим, что для автозапуска всего этого при старте сервера необходимо добавить в /etc/rc.conf следующие строчки: clamav_clamd_enable="YES" clamav_freshclam_enable="YES" clamsmtpd_enable="YES" Далее разбираемся с конфигурационными файлами. Начнем с /usr/local/etc/clamd.conf. При водим его вот такому виду: LogFile /var/log/clamav/clamd.log LogTime LogSyslog LogVerbose PidFile /var/run/clamav/clamd.pid TemporaryDirectory /tmp DatabaseDirectory /var/db/clamav LocalSocket /var/run/clamav/clamd FixStaleSocket User clamav ScanRAR Затем поправим /usr/local/etc/freshclam.conf: DatabaseDirectory /var/db/clamav UpdateLogFile /var/log/clamav/freshclam.log LogVerbose LogSyslog PidFile /var/run/clamav/freshclam.pid DatabaseOwner clamav AllowSupplementaryGroups DNSDatabaseInfo current.cvd.clamav.net DatabaseMirror database.clamav.net И в заключении отредактируем /usr/local/etc/clamsmtpd.conf: OutAddress: 10026 ClamAddress: /var/run/clamav/clamd Header: X-Virus-Scanned: ClamAV using ClamSMTP TempDirectory: /tmp User: clamav VirusAction: /usr/local/sbin/virus_action.sh Все остальные параметры в этих файлах можно оставить по умолчанию, но тем не менее, будет не вредно все же ознакомиться с ними, изучив примеры конфигурационных файлов, которые создают соответствующие порты. Скрипт, упомянутый в параметре VirusAction, предназначен для выполнения неких действий при обнаружении вируса. Например, можно отправлять postmaster'у письмо с уведомлением об успешном уничтожении вируса: touch /usr/local/sbin/virus_action.sh #!/bin/sh virmsg="/tmp/msg.body" touch $virmsg echo "Hello, Postmaster!" >> $virmsg echo >> $virmsg echo "-------------------------------------------------------" >> $virmsg echo "ClamAv has been detect a virus" $VIRUS >> $virmsg echo "in mail from: " $SENDER >> $virmsg echo "to " $RECIPIENTS >> $virmsg echo >> $virmsg echo "Message has been killed" >> $virmsg date "+%d-%m-%Y %H:%M:%S" >> $virmsg echo "---" >> $virmsg echo "Best regards - your ClamAv" >> $virmsg cat $virmsg | mail -s "Virus detected!" postmaster@home.net rm -f $virmsg И в заключении, научим Postfix использовать все вышеперечисленное. Для начала добавим в /usr/local/etc/postfix/main.cf следующие строчки: content_filter = scan:127.0.0.1:10025 receive_override_options = no_address_mappings А в /usr/local/etc/postfix/master.cf допишем вот такой фрагмент: scan unix - - n - 16 smtp -o smtp_send_xforward_command=yes 127.0.0.1:10026 inet n - n - 16 smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks_style=host -o smtpd_authorized_xforward_hosts=127.0.0.0/8 Теперь попробуем проверить, как это все у нас работает. Перезагружаем сервер, или вруч ную перезапускаем Postfix, ClamAV, FreshClam и ClamSMTP. Пока сервер перезагружается, подго товим тестовый вирус - создадим в любом текстовом редакторе файл eicar.com, содержащий сиг натуру тестового вируса: X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* И попробуем отправить этот файл нашему Test User'у. Как и ожидалось, письма мы не полу чим, а в /var/log/clamd.log видим сообщение: Fri Feb 24 19:54:48 2006 -> /tmp/clamsmtpd.NIuyXl: Eicar-Test-Signature FOUND Также можно заглянуть и в /var/log/maillog, там мы тоже видим, что антивирус расправился с непрошенным гостем: Feb 24 19:57:35 mail postfix/smtpd[651]: connect from unknown[192.168.211.3] Feb 24 19:57:35 mail postfix/smtpd[651]: setting up TLS connection from unknown[192.168.211.3] Feb 24 19:57:36 mail postfix/smtpd[651]: fingerprint=F6:1C:F1:CC:9F:1E:A7:96:D2:CC:6A:D7:EE:4F:4B:88 Feb 24 19:57:36 mail postfix/smtpd[651]: Verified: subject_CN=Test_User, issuer=mail.home.net Feb 24 19:57:36 mail postfix/smtpd[651]: TLS connection established from unknown[192.168.211.3]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits) Feb 24 19:57:36 mail postfix/smtpd[651]: 7AD581704C: client=unknown[192.168.211.3], sasl_method=CRAM-MD5, sasl_username=smtptestuser Feb 24 19:57:36 mail postfix/cleanup[658]: 7AD581704C: message-id=<43FF2E50.1040008@home.net.> Feb 24 19:57:36 mail postfix/qmgr[467]: 7AD581704C: from=<testuser@home.net.>, size=1276, nrcpt=1 (queueactive) Feb 24 19:57:36 mail postfix/smtpd[651]: disconnect from unknown[192.168.211.3] Feb 24 19:57:36 mail clamsmtpd: 100001: accepted connection from: 127.0.0.1 Feb 24 19:57:36 mail postfix/smtpd[660]: connect from localhost[127.0.0.1] Feb 24 19:57:36 mail postfix/smtpd[660]: CC5931704F: client=unknown[192.168.211.3] Feb 24 19:57:36 mail clamsmtpd: 100001: from=testuser@home.net, to=testuser@home.net, status=VIRUS:Eicar-Test-Signature Feb 24 19:57:36 mail postfix/smtp[659]: 7AD581704C: to=<testuser@home.net.>, relay=127.0.0.1[127.0.0.1], delay=0, status=sent (250 Virus Detected; Discarded Email) Feb 24 19:57:36 mail postfix/smtpd[660]: disconnect from localhost[127.0.0.1] Feb 24 19:57:36 mail postfix/qmgr[467]: 7AD581704C: removed Если теперь мы проверим почту postmaster'а, то увидим, что ему пришло письмо с уведомле нием об обнаружении и убиении зараженного письма. Можете усложнить задачу, и заархивировать eicar.com с помощью WinRAR версии 3 - ре зультат будет тем же. Только не пробуйте закрывать архив паролем - ClamAV не взломщик, а ан тивирус, запароленные архивы он по умолчанию не трогает (и не должен). Хотя есть возможность заставить его просто прибивать запароленные или зашифрованные архивы, но это уж чересчур. 3.7. Настройка Postgrey. Postgrey - это очень простая и при этом очень эффективная система защиты от спама. Прин цип ее работы состоит в том, что любое приходящее на почтовый сервер письмо отбрасывается с сообщением Временно не может быть принято, повторите попытку позже, одновременно запо миная информацию об этом письме в своей базе данных, помещая его в так называемый серый список. Получив такой ответ, добропорядочный сервер-отправитель добросовестно повторит попытку снова передать нам это письмо спустя какой-то промежуток времени. На сей раз, сравнив пришедшее письмо с информацией из своего серого списка, Postgrey пропустит это письмо, а информация о нем будет перемещена в белый список. При следующей попытке обмена письма ми между нами и этим отправителем письма будут приниматься уже без задержек. Но если это письмо пришло нам от спамера? В этом случае ставка делается на то, что спамер будет либо настойчиво долбиться раз за разом, практически не делая пауз между попытками до ставить сообщение, либо же наоборот, получив ответ о невозможности доставить письмо, прекра тит попытки переслать его нам. При таком раскладе по прошествии некоторого времени Postgrey переместит информацию о письме из серого списка в черный, и при следующей попытке спа мера всучить нам свой мусор его письма будут отвергнуты без лишних проволочек. Через определенные промежутки времени происходит очистка черных и белых списков, так что вышеописанные ситуации могут снова повторяться для систем, уже бывших ранее извест ными нашему серверу. У этой системы есть и достоинства и недостатки. К достоинствам относится ее простота как в работе, так и в конфигурировании (по сути, почти никакого конфигурирования и не требуется, кроме как настройка MTA для использования Postgrey) и высокая надежность. К недостаткам можно отнести возникновение задержек при доставке почты, что в некоторых случаях может быть критично. Этот недостаток достаточно легко обходится занесением известных отправителей в по стоянный белый список, однако это требует дополнительных телодвижений, за что и критикует ся. Ну и конечно, не исключена вероятность ложных срабатываний - но от этого не застрахован ни один антиспам-фильтр. Лично у меня Postgrey работает уже больше года, и никаких нареканий на него за это время не было, только пользователи одно время приставали с вопросами: Что случи лось, спама нет, а нормальная почта ходит исправно? Итак, приступим. Начинаем, как всегда, с изучения каталога /usr/local/etc/rc.d, где видим стартовый скрипт postgrey.sh. Из его содержимого видно, что для автоматического запуска Post grey во время старта системы нужно поместить в /etc/rc.conf строку: postgrey_enable="YES" Что мы и проделаем. Далее пытаемся найти описание работы сего чуда. После долгих и без успешных поисков обнаруживаем в /usr/ports/mail/postgrey/work/postgrey-1.21 файл README, из которого явствует, что нам следует выполнить команду perldoc postgrey. Хм, и впрямь доку ментацию показывает... читаем, и видим, что нам необходимо в /usr/local/etc/postfix/main.cf доба вить к smtpd_recipient_restrictions параметр check_policy_service inet:127.0.0.1:10023. Причем до бавлять этот параметр следует ОБЯЗАТЕЛЬНО после reject_unauth_destination. Ну что ж, проде лаем это: smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023 А теперь попробуем проверить, как оно работает. Перезагрузим сервер. И попробуем отпра вить письмо нашему ТестЮзеру, скажем, от админа сервера mail.work.net. Пробуем получить нашу почту - ничего нет. Смотрим в maillog. Во-первых, видим, что запустился Postgrey: Feb 25 15:16:15 mail postgrey[533]: Process Backgrounded Feb 25 15:16:15 mail postgrey[533]: 2006/02/25-15:16:15 postgrey (type Net::Server::Multiplex) starting!pid(533) Feb 25 15:16:15 mail postgrey[533]: Binding to TCP port 10023 on host localhost Feb 25 15:16:15 mail postgrey[533]: Setting gid to "225 225" Feb 25 15:16:15 mail postgrey[533]: Setting uid to "225" А далее видно, что произошло с письмом к ТестЮзеру: Feb 25 15:17:05 mail postfix/smtpd[579]: connect from unknown[192.168.132.200] Feb 25 15:17:05 mail postfix/smtpd[579]: NOQUEUE: reject: RCPT from unknown[192.168.132.200]: 450 <testuser@home.net.>: Recipient address rejected: Greylisted for 300 seconds (see http://isg.ee.ethz.ch/tools/postgrey/help/home.net.html); from=<root@work.net.> to=<testuser@home.net.> pro to=ESMTP helo=<mail.work.net> Feb 25 15:17:05 mail postfix/smtpd[579]: disconnect from unknown[192.168.132.200] Как видим, в ответ на попытку доставить почту для testuser@home.net сервер ответил, что письмо не принято, но занесено в серый список на 300 секунд. Теперь надо подождать некото рое время, пока удаленный сервер снова попытается доставить нам почту. И вот наконец: Feb 25 15:28:40 mail postfix/smtpd[635]: connect from unknown[192.168.132.200] Feb 25 15:28:40 mail postgrey[533]: delayed 695 seconds: client=192.168.132.200, from=root@work.net,to=testuser@home.net Feb 25 15:28:40 mail postfix/smtpd[635]: E2C0717050: client=unknown[192.168.132.200] Feb 25 15:28:40 mail postfix/cleanup[642]: E2C0717050: message-id=<20060225150827.0DF5AB842@mail.work.net.> Feb 25 15:28:40 mail postfix/qmgr[467]: E2C0717050: from=<root@work.net.>, size=600, nrcpt=1 (queue active) Feb 25 15:28:40 mail postfix/smtpd[635]: disconnect from unknown[192.168.132.200] Feb 25 15:28:41 mail clamsmtpd: 100000: accepted connection from: 127.0.0.1 Feb 25 15:28:41 mail postfix/smtpd[644]: connect from localhost[127.0.0.1] Feb 25 15:28:41 mail postfix/smtpd[644]: 416F417053: client=unknown[192.168.132.200] Feb 25 15:28:41 mail postfix/cleanup[642]: 416F417053: message-id=<20060225150827.0DF5AB842@mail.work.net.> Feb 25 15:28:41 mail postfix/qmgr[467]: 416F417053: from=<root@work.net.>, size=813, nrcpt=1 (queue active) Feb 25 15:28:41 mail postfix/smtp[643]: E2C0717050: to=<testuser@home.net.>, relay=127.0.0.1[127.0.0.1], delay=1, status=sent (250 Ok: queued as 416F417053) Feb 25 15:28:41 mail clamsmtpd: 100000: from=root@work.net, to=testuser@home.net, status=CLEAN Feb 25 15:28:41 mail postfix/smtpd[644]: disconnect from localhost[127.0.0.1] Feb 25 15:28:41 mail postfix/qmgr[467]: E2C0717050: removed Feb 25 15:28:41 mail postfix/virtual[646]: 416F417053: to=<testuser@home.net.>, relay=virtual, delay=0, status=sent (delivered to maildir) Feb 25 15:28:41 mail postfix/qmgr[467]: 416F417053: removed Итак, теперь Postgrey знаком с сервером mail.work.net. и в течении какого-то промежутка времени будет принимать от него почту без лишних проволочек. В этом легко убедиться, снова от правив письмо от root@work.net к testuser@home.net - теперь оно придет мгновенно. В заключении, несколько слов о постоянных белых списках. Обратите внимание - в каталоге /usr/local/etc/postfix есть два файла: postgrey_whitelist_clients и postgrey_whitelist_recipients. В первом из них можно указывать доверенные домены, почта с которых не будет заноситься в серые списки, а будет доставляться безо всяких проверок. Во втором файле указываются ваши адреса, почта на которые также не должна подвергаться проверке Postgrey - по умолчанию туда занесены адреса postmaster и abuse. Это служебные адреса, и они ДОЛЖНЫ быть доступны всем и всегда. Рекомендую сразу же очистить содержимое файла postgrey_whitelist_clients (что за данные туда внесены неизвестно) и вписать туда те домены, которым вы доверяете. И если вы не используете в smtpd_recipient_restrictions опцию permit_mynetworks, а в параметре mynetworks у вас указано только 127.0.0.0./8, то впишите ваш домен в postgrey_whitelist_clients. 3.8. Настройка доступа к почтовому серверу через WWW. Для начала сконфигурируем Web-сервер Apache, и попробуем к нему подключиться. Первым делом (как и всегда) изучаем скрипты запуска, которые порт положил в /usr/local/etc/rc.d. Видим, что к Апачу относятся два файла - 000.apache2libs.sh и apache2.sh. Изучение первого ни на какие мысли не наводит, а из второго видно, что необходимо поместить в /etc/rc.conf строчки apache2_enable="YES" и apache2ssl_enable="YES". Начнем с обычного Апача без SSL. Переза гружаем сервер, запускаем Opera и пытаемся зайти на http://mail.home.net. Пускает и показывает страничку, сообщающую, что если вы это видите, значит все в порядке. Значит, так тому и быть. Теперь попробуем завести Апач с SSL. Добавим в apache2ssl_enable="YES" в /etc/rc.conf и снова перезагрузимся. Пробуем снова зайти на http://mail.home.net - по идее, сейчас нас должны послать куда подальше... так оно и есть. Пробуем https://mail.home.net - и опять отлуп. Ну идем разбирать ся в чем дело. Хм, а ведь Апач и вовсе не запустился... жалуется на отсутствие сертификатов - что есть правильно, мы ж ему не сказали где лежат наши сертификаты. Исправляемся, правим /usr/lo cal/etc/apache2/ssl.conf: SSLCertificateFile /usr/local/ssl/ca/ca.crt SSLCertificateKeyFile /usr/local/ssl/ca/ca.key И перезагружаемся. На сей раз Апач ни на что не отругался. Снова пробуем постучаться на http://mail.home.net - пускает. На https://mail.home.net - ага, вылезает окошечко Certificate signer not found - Opera не знает о существование HOMENET Inc. Если мы сейчас нажмем кнопку Ac cept, то увидим стандартную стартовую страничку Апача, а в адресной строчке появится значок замочка и надпись HOMENET Inc (RU). Щелкнув мышкой по этой надписи, мы увидим инфор мацию о сертификате, а также строчку TLS v1.0 256 bit AES (1024 bit DHE_RSA/SHA), что гово рит нам об установлении шифрованного канала между нами и сервером mail.home.net c ключом шифрования длиной в 256 бит - уже неплохо. Закроем эту страничку и попробуем научить Opera работать с сертификатом, который мы уже выдали нашему Тест Юзеру. Идем в меню Tools - Preferences - вкладка Advanced - Security. Жмем кнопку Manage Cer tificates.... Откроется Certificate Manager. На вкладке Personal жмем кнопку Import... и ищем по дискам наш сертификат client_Test_User.p12. Нас просят ввести пароль сертификата (q1w2e3, если еще не забыли), вводим его и попадаем в окно Import key and certificate. Так... в поле ниже видим две надписи - Test_User и mail.home.net... выделяем mail.home.net и жмем Ok. Снова просят ввести пароль. Еще раз вводим наш хитрый пароль. Видим, что в персональные сертификаты до бавился сертификат ТестЮзера. Но в поле Issuer пусто. Ладно... нажмем кнопку Ok и снова зайдем в Manage Certificates... О, в поле Issuer появилась надпись mail.home.net! Заглянем теперь на вкладку Authorities и теперь тоже увидим mail.home.net в списке сертификационных центров. По идее, Opera теперь должна без вопросов заходить на https://mail.home.net - ну-ка, проверим... да, так и есть. Что уже есть хорошо. Но еще далеко не все. Теперь начинаем плотно изучать /usr/local/etc/apache2/httpd.conf и /usr/local/etc/apache2/ssl. conf. Наша задача - разрешать www-доступ к почте только через безопасное соединение и только людям, имеющим наши сертификаты, плюс помимо этого еще и иметь область, не имеющую отно шения к веб-почте, доступ в которую возможен и без SSL-шифрования. Начнем с нуля. Предварительно подготовим файловую структуру www-сервера. По умолча нию Апач размещает ее в /usr/local/www, туда же установился и SquirrelMail, ну пусть там оно все и остается (хотя, конечно, можно переместить контент www-сервера и в другое более подходящее вам место). Удалим из /usr/local/www все, кроме каталога squirrelmail, и создадим там каталоги /cgi-bin (для ваших CGI-программ) и /data (здесь будем держать данные, доступ к которым можно осуществлять без SSL-шифрования). В каталоге /usr/local/www/data создадим простенький in dex.html, содержащий что-нибудь вроде Welcome to HOMENET!. Скопируем usr/local/etc/apache2/httpd.conf в usr/local/etc/apache2/httpd.conf.default, а /usr/local/etc/apache2/ssl.conf в /usr/local/etc/apache2/ssl.conf.default и напишем конфиги Апача заново. У меня получилось вот что: /usr/local/etc/apache2/httpd.conf # ### Section 1: Global Environment # # корневой каталог http-сервера ServerRoot "/usr/local" ScoreBoardFile /var/run/apache_runtime_status # месторасположение pid-файла PidFile /var/run/httpd.pid # время в секундах перед получением или отсылкой таймаута Timeout 300 # разрешаем постоянные соединения (более одного запроса с соединения) KeepAlive On # максимальное количество запросов в постоянном соединении MaxKeepAliveRequests 100 # время в течении которого ожидается новый запрос клиента при постоянном # соединении KeepAliveTimeout 15 <IfModule prefork.c> # число одновременно запускаемых процессов сервера StartServers 5 # минимальное число зарезервированных процессов сервера MinSpareServers 5 # максимальное число зарезервированных процессов сервера MaxSpareServers 10 # максимальное число порождаемых серверных процессов MaxClients 150 # максимальное количество запросов, обслуживаемых одним процессом сервера # 0 - неограничено MaxRequestsPerChild 0 </IfModule> # слушаем на порту 80 в ожидании соединений Listen 80 # # Dynamic Shared Object (DSO) Support # # загружаем необходимые нам модули LoadModule access_module libexec/apache2/mod_access.so LoadModule alias_module libexec/apache2/mod_alias.so LoadModule auth_module libexec/apache2/mod_auth.so LoadModule cgi_module libexec/apache2/mod_cgi.so LoadModule dir_module libexec/apache2/mod_dir.so LoadModule log_config_module libexec/apache2/mod_log_config.so LoadModule logio_module libexec/apache2/mod_logio.so LoadModule mime_module libexec/apache2/mod_mime.so LoadModule mime_magic_module libexec/apache2/mod_mime_magic.so LoadModule setenvif_module libexec/apache2/mod_setenvif.so <IfDefine SSL> LoadModule ssl_module libexec/apache2/mod_ssl.so </IfDefine> # модуль PHP рекомендуется загружать после модуля SSL LoadModule php4_module libexec/apache2/libphp4.so # ### Section 2: 'Main' server configuration # # пользователь и группа, от имени которых запускается Apache User www Group www # почтовый адрес администратора www-сервера ServerAdmin postmaster@home.net # имя вашего сервера ServerName mail.home.net:80 # используем в ссылках на себя самого имя хоста и порт, предоставленные # клиентом UseCanonicalName Off # корневой каталог документов www-сервера DocumentRoot "/usr/local/www/data" <Directory /> # запрещаем в этом каталоге запуск CGI, переходы по символическим ссылкам, # SSI и выдачу индекса каталога Options None # запрещаем перекрытие директив из файла .htaccess AllowOverride None # и запрещаем доступ к этому каталогу Order Deny,Allow Deny from all </Directory> # похожим образом настраиваем свойства для каталога документов <Directory "/usr/local/www/data"> AllowOverride None Order allow,deny Allow from all </Directory> # список файлов, которые будут переданы клиенту при обращении к каталогу DirectoryIndex index.html index.php # устанавливаем имя файла, содержащего дополнительные правила конфигурации # для каждого каталога AccessFileName .htaccess # запрещаем просмотр этих файлов через браузер <FilesMatch "^\.ht"> Order allow,deny Deny from all </FilesMatch> # конфигурация MIME-типов TypesConfig etc/apache2/mime.types DefaultType text/plain <IfModule mod_mime_magic.c> MIMEMagicFile etc/apache2/magic </IfModule> # сохраняем в логах IP-адреса клиентов вместо имен их хостов HostnameLookups Off # путь к лог-файлу ошибок ErrorLog /var/log/httpd-error.log # Уровень детализации логов # LogLevel: Control the number of messages logged to the error_log. # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # форматы логов LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog /var/log/httpd-access.log combined # изменяем заголовок HTTP-ответа сервера на Server: Apache ServerTokens Prod # отключаем подпись Apache внизу сгенерированных им страниц ServerSignature Off # алиас и каталог для CGI-программ ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/" <Directory "/usr/local/www/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> # используем русский и английский языки AddLanguage en .en AddLanguage ru .ru # перечисляем используемые кодировки AddCharset ISO-8859-1 .iso8859-1 .latin1 AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen AddCharset ISO-8859-3 .iso8859-3 .latin3 AddCharset ISO-8859-4 .iso8859-4 .latin4 AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru # For russian, more than one charset is used (depends on client, mostly): AddCharset WINDOWS-1251 .cp-1251 .win-1251 AddCharset CP866 .cp866 AddCharset KOI8-r .koi8-r .koi8-ru AddCharset KOI8-ru .koi8-uk .ua AddCharset ISO-10646-UCS-2 .ucs2 AddCharset ISO-10646-UCS-4 .ucs4 AddCharset UTF-8 .utf8 # определяем дополнительные типы данных AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # определяем обработчик CGI AddHandler cgi-script .cgi AddHandler type-map var # следующие директивы модифицируют HTTP-ответы с тем, чтобы избежать # некоторых известных проблем с браузерами BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully BrowserMatch "MS FrontPage" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully BrowserMatch "^gnome-vfs" redirect-carefully BrowserMatch "^XML Spy" redirect-carefully BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully # используем внешний файл конфигурации ssl <IfModule mod_ssl.c> Include etc/apache2/ssl.conf </IfModule> /usr/local/etc/apache2/ssl.conf # Настраиваем генератор случайных чисел, указываем метод # для рандомизации. Указывается два источника рандомизации: # начальный (startup) и инициализирующийся при присоединении # клиента (connect). Возможные значения для этого параметра: # builtin - встроенный источник рандомизации, # file:имя_файла - читаются данные из файла, # file:имя_файла число_байт - читается только определённое # число байт из файла SSLRandomSeed startup file:/dev/urandom 1024 SSLRandomSeed connect file:/dev/urandom 1024 <IfDefine SSL> # Слушаем на порту 443(https). Listen 443 ## ## SSL Global Context ## # определяем дополнительные типы данных AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl # Определяем способ запроса пароля к секретному ключу сервера как built-in, # или можно определить путь к внешнему скрипту, но в большинстве случаев # достаточно built-in-метода. SSLPassPhraseDialog builtin # Определяем кеширование данных ssl в файле данных (none для отключения # кеширования) и таймаут обновления данных в кеше. Можно использовать # при указании файла кеша специальный формат shm (shm:/path/file [size]), # который обеспечивает высокую производительность и работает через механизм # shared memory. SSLSessionCache dbm:/var/run/ssl_scache SSLSessionCacheTimeout 300 SSLMutex file:/var/run/ssl_mutex # Определяем виртуальный сервер, висящий на том же # IP-адресе, что и основной, но слушающий на 443 порту. <VirtualHost _default_:443> # Основные настройки виртуального сервера. DocumentRoot "/usr/local/www/squirrelmail" ServerName mail.home.net:443 ServerAdmin postmaster@home.net ErrorLog /var/log/httpd-error.log TransferLog /var/log/httpd-access.log <Directory /> AllowOverride None Order Allow,Deny Allow from all </Directory> # включаем ssl для данного виртуального сервера. SSLEngine on SSLProtocol -all +TLSv1 +SSLv3 # Список доступных алгоритмов шифрования. Формат списка такой же, как и у # команды openssl ciphers (MEDIUM, HIGH, NULL, элементы разделяются :, # исключение элемента осуществляется знаком !). SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM # cертификат сервера. данный сертификат должен быть в формате pem. SSLCertificateFile /usr/local/ssl/ca/ca.crt # Секретный ключ сервера, которым он будет расшифровывать данные клиента. # Если ключ зашифрован, то при запуске апача будет спрашиваться пароль, как # определено в опции SSLPassPhraseDialog. SSLCertificateKeyFile /usr/local/ssl/ca/ca.key # Следующие директивы описывают CA-сертификаты. Если указан параметр # SSLCACertificatePath, то CA-сертификаты загружаются из указанного каталога # (в этом каталоге должны также размещаться символические ссылки с именем # hash-value.N, при добавлении нового файла сертификата в данный каталог # необходимо воспользоваться специальным makefile, идущим вместе с модулем). # Если указан параметр SSLCACertificateFile, то все СА-сертификаты хранятся # в одном pem-файле (сертификаты просто записываются один за другим в данный # файл без всяких разделитетлей, т.к. любой сертификат имеет маркер начала и # конца) #SSLCACertificateFile /usr/local/ssl/ca/ca.crt # Список сертификатов, которые считаются недействительными (certificate # revocation list - CRL) по неким причинам: по происшествии срока действия, # по потере секретного ключа и.т.д. #SSLCARevocationFile /usr/local/ssl/db/crl.pem # Требуем от клиента посылки своего сертификата для выполнения # аутентификации. #SSLVerifyClient require # Число шагов от сертификата клиента до CA-сертификата в иерархии # сертификатов. #SSLVerifyDepth 1 <FilesMatch "\.(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "/usr/local/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> # Переменные, устанавливаемые для некоторых браузеров. Вообще-то все браузеры # должны получить перед завершением ssl-сеанса сообщение от сервера, что # соответствует стандарту, но некоторые очень некорректно (мягко говоря) # завершают работу с ssl, поэтому приходится устанавливать переменную # ssl-unclean-shutdown, которая говорит о том, что при завершении соединения # сервер не должен ни посылать сообщение, ни принимать подтверждение от # браузера (что тоже может делаться некоторыми браузерами). SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog /var/log/httpd-ssl_request.log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost> </IfDefine> Проверим, как у нас все это работает. Перезапустим Апач (/usr/local/etc/rc.d/apache2 restart), и приведем index.html в каталоге /usr/local/www/data к вот такому виду: <html><head><title>Welcome to HOMENET!</title></head> <body><center><h2>Welcome to HOMENET!<hr> <a href="https://mail.home.net">Enter to web mail</a></h2> </center></body></html> Попробуем влезть на http://mail.home.net. Только на сей раз для чистоты эксперимента вме сто Opera воспользуемся Internet Explorer, которому мы пока не устанавливали SSL-сертификаты. Открываем нашу страничку, никаких вопросов нам не задают - отлично, значит, имеем незащи щенную область, куда можно складывать общедоступные документы. Теперь нажмем на ссылку Enter to web mail. Первым делом видим окошечко, где нам сообщают, что начинается просмотр через безопасное соединение - пока все прекрасно, жмем Ок. Через некоторое время появится окошко, уведомляющее нас, что IE не смог проверить сертификат нашего сервера - на данный момент это нормально, мы еще не устанавливали в IE наши сертификаты, Нажимаем Yes, чтобы продолжить просмотр. И наконец нам выдают страничку, с таким текстом: ERROR: Config file "config/config.php" not found. You need to configure SquirrelMail before you can use it. Все пра вильно, мы еще не сконфигурировали SquirrelMail, поэтому получаем отлуп. Однако в статусной строке IE появился значок замочка, уведомляющий нас о том, что мы находимся в защищенной зоне www-сервера под защитой ключа шифрования длиной в 128 бит. На данном этапе это как раз то, чего мы добивались. Теперь можно перейти к конфигурированию SquirrelMail. Напоминаю, что для работы SquirrelMail нам необходим работающий IMAP4 сервер, поэто му если вы до сей поры использовали только POP3/POP3-SSL, вам необходимо вернуться к разде лам 3.4 - 3.5 и настроить службы imap Courier-IMAP. Если imap у вас уже работает, можно про должать. Перейдем в каталог /usr/local/www/squirrelmail и запустим скрипт configure. Это программа конфигурирования SquirrelMail. Не вредно будет в свободное время поблуждать по всем менюш кам для ознакомления с ее возможностями. А пока приступим к конфигурированию. Выбираем пункт 2 - Server settings. Там первым делом изменяем Domain на наш home.net. Возвращаемся в главное меню и выбираем пункт 10 - Languages. Указываем Default Language - ru_RU, Default Charset - koi8-r. И на этом можно и закончить (для начала). Печатаем Q для выхода и соглаша емся с предложением сохранить изменения. Видим сообщение: You might want to test your config uration by browsing to http://your-squirrelmail-location/src/configtest.php. Значит, запускаем Internet Explorer, и идем по адресуhttps://mail.home.net/src/configtest.php. И вот результат: SquirrelMail configtest This script will try to check some aspects of your SquirrelMail configuration and point you to errors whereever it can find them. You need to go run conf.pl in the config/ directory first before you run this script. SquirrelMail version: 1.4.5 Config file version: 1.4.0 Config file last modified: 27 February 2006 14:58:35 Checking PHP configuration... PHP version 4.4.1 OK. PHP extensions OK. Checking paths... Data dir OK. Attachment dir OK. Plugins are not enabled in config. Themes OK. Default language OK. Base URL detected as: https://mail.home.net/src Checking outgoing mail service.... SMTP server OK (220 mail.home.net ESMTP) Checking IMAP service.... IMAP server ready (* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information.) Capabilities: * CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFER ENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS Checking internationalization (i18n) settings... gettext - Gettext functions are available. You must have appropriate system locales compiled. mbstring - Mbstring functions are available. recode - Recode functions are unavailable. iconv - Iconv functions are unavailable. timezone - Webmail users can change their time zone settings. Checking database functions... not using database functionality. Congratulations, your SquirrelMail setup looks fine to me! Login now Вроде как все в порядке. Пытаемся залогиниться, нажав на ссылку Login now. Попадаем на страничку ввода имени и пароля, где группа разработчиков SquirrelMail приветствует нас на чи стейшем русском языке. Введем логин и пароль нашего ТестЮзера - и ура, попадаем в почтовый ящик со стандартным www-интерфейсом. Пошлем ТестЮзеру письмо, нажмем ссылку Обно вить - и видим наше только что отправленное письмо. Теперь добьемся того, чтобы в защищенную зону www-сервера мог получить доступ только человек, имеющий наш сертификат - на текущий момент это может сделать любой. Для этого необходимо в файле /usr/local/etc/apache2/ssl.conf раскомментировать строки #SSLCACertificateFile /usr/local/ssl/ca/ca.crt #SSLVerifyClient require #SSLVerifyDepth 1 и перезапустить Апач. Попытаемся теперь войти на https://mail.home.net и увидим, что нам предлагают указать сертификат для доступа к защищенной области. Поскольку у нас не установ лен в IE ни один сертификат, то попасть туда мы не сможем. Если же сейчас мы попытаемся ис пользовать для доступа Opera, то мы сможем указать наш сертификат и зайти в почту, так как в Оперу мы уже установили наш сертификат. Но давайте научим этому и Internet Explorer. Найдем на диске наш сертификат client_Test_User.p12 и дважды щелкнем по нему мышкой. Запустится ма стер импорта сертификатов, следуя указаниям которого мы проинсталлируем наш сертификат. За мечу, что чтобы защитить наш сертификат от неавторизованного доступа, следует задействовать функцию "Enable strong private key protection" (Разрешить защиту приватного ключа). Кроме того, чтобы защититься от кражи сертификата стоит отменить возможность экспортировать сертификат: флажок "Mark this key as exportable" (Пометит этот ключ как экспортируемый) следует отключить. Также следует поставить уровень безопасности браузера в состояние "High" (Высокий). Мы уви дим это в следующем шаге Import Wizard (Мастера Импорта). При таких настройках пароль будет запрашиваться всегда, когда браузеру потребуется использовать этот клиентский сертификат. Проделав все это, снова запустим IE и попытаемся войти на https://mail.home.net. И теперь мы можем указать, что для входа на этот сервер следует предъявить сертификат на имя ТестЮзера. Выбрав его из списка, нажав Ок и введя пароль, который мы установили для сертификата при его импорте в браузер, мы успешно оказываемся на страничке входа SquirrelMail. Осталось решить последний вопрос - что делать, если мы узнали, что выданный нами сертификат пользователя скомпрометирован или же просто понадобилось запретить кому-либо из клиентов доступ к нашему серверу. Для этого предусмотрена процедура отзыва сертификатов. Чтобы отозвать сертификат, необходимо обновить информацию о нем в нашей базе сертификатов - не просто так мы городили несколько служебных каталогов и файлов в /usr/local/ssl. Вначале создадим список отозванных сертификатов. Перейдем в каталог /usr/local/ssl и создадим скрипт up date_revocation_list.sh: #!/bin/sh openssl ca -config ca.config -gencrl -md sha1 -out ./db/crl.pem Этим скриптом мы создаем или обновляем список отозванных сертификатов. Обратите внимание: в файле /usr/local/ssl/ca.config есть параметр default_crl_days =3 Это означает, что вы должны обновлять список отозванных сертификатов не реже чем раз в 3 дня, поэтому необходимо предусмотреть запуск скрипта update_revocation_list.sh по cron раз в трое суток. Собственно отзыв сертификата будем осуществлять скриптом revoke_cert.sh (создадим его в каталоге /usr/local/etc/postfix/certs): #!/bin/sh openssl ca -config ca.config -revoke ./clients/$1 openssl ca -config ca.config -gencrl -md sha1 -out ./db/crl.pem В заключении, необходимо сказать Апачу, где смотреть список отозванных сертификатов. Раскомментируем в /usr/local/etc/apache2/ssl.conf строку #SSLCARevocationFile /usr/local/ssl/db/crl.pem Перезапустите Апач. А теперь отзовем сертификат ТестЮзера командой revoke_cert.sh client_Test_User.crt И попытаемся теперь зайти на https://mail.home.net через Internet Explorer. Выполняем все формальности с выбором сертификата и вводом пароля, но вместо ожидаемой странички Squirrel Mail видим сообщение Security Alert The security certificate for this site has been revoked. This site should not be trusted. Попасть в защищенную зону веб-сервера мы более не можем. Заключение Если у вас получилось сделать все вышеописанное, то в ваших руках достаточно гибкая и за щищенная почтовая система, пригодная для использования в организации среднего масштаба. Но конечно, нет предела совершенству, многое осталось за рамками статьи, так что все в ваших ру ках, совершенствуйте эту систему. Удачи! В заключении, нельзя не упомянуть источники информации и людей, без которых эта статья не была бы написана. 1. ISPMail-HOWTO. v.2.0 © Viacheslav "multik" Kaloshin 2. Основы работы с OpenSSL © Vsevolod A. Stakhov 3. Использование OpenSSL © Vsevolod A. Stakhov 4. Работа с Web-сервером Russian Apache © Артем Подстрешный 5. Apache 2 с SSL/TLS: Шаг за Шагом © Artur Maj 6. Почтовая система на базе Postfix, PostgreSQL, с фильтрацией вирусов и спама © Владимир В. Агапов AKA -=Onix=- 7. Postfix Documentation - http://www.postfix.org/documentation.html 8. Courier-Imap Documentation http://www.courier-mta.org/imap/ 9. ClamAv Documentetion http://www.clamav.net/doc/ 10. ClamSMTP Documentation http://memberwebs.com/nielsen/software/clamsmtp/ 11. Cyrus SASL library, version 2 http://www.csu.ac.ru/~srg/local_doc/libsasl2/ 12. и многие многие другие, писавшие в форумах opennet.ru За сим прощаюсь Сергей Святкин AKA SHRDLU 2005-2006

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Phoenix (??), 23:44, 09/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень познавательная статья
    нашел несколько интересных вещей, которые докрутил к своему Postfix'у.
     
     
  • 2.173, alex (??), 12:40, 10/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вот еще один хороший ман по настройке postfix http://info-linux.ru/article/103
     

  • 1.4, Rooler (?), 12:25, 13/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Воспользовался статейкой все работает отлично только вот беда в логах начало появляцца следующее

    from=<>, size=25272, nrcpt=1 (queue active)
    to=<qtyucuqfngi@haniastuff.com>, relay=none, delay=15235, status=deferred (connect to 127.0.1.51[127.0.1.51]: Can't assign requested address)

    кто и куда и что шлет неизвесно( Open relay отсутствует

     
     
  • 2.5, SHRDLU (??), 07:27, 15/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    В логах обычно больше, чем одна строчка выдается, смотри внимательнее.
    connect to 127.0.1.51 - проверь конфиги свои еще раз
    Кто и что шлет можно посмотреть, поискав в подкаталогах /var/spool/postfix/defer и /var/spool/postfix/deferred
     
     
  • 3.7, Rooler (?), 10:46, 20/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    чет непойму где ошибка( поскажите есть сеть 192.168.0.0/24 так вот только этой сети можно принимать и отправлять почту
    конфиг постфикса полностью взят со статьи
     

  • 1.6, Algor (??), 09:34, 17/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >А ты ничего не путаешь? sudo позволяет разрешенному пользователю выполнять команду как
    >суперпользователь или другой пользователь, и логинится при этом не требуется. В
    >отличии от su.
    >Насчет смены шелла - согласен, вопрос конечно спорный... сам до конца не
    >уверен, стоит ли это делать, хотя проблем ПОКА не замечал. А
    >лишний пользователь с shell, отличным от nologin - тоже не есть
    >гуд.
    Читай man sudoers на предмет runas, в твоем случае чтобы выполнялись только определенные команды под pgsql надо прописать:
    ALL ALL = (pgsql) POSTGRES
     
  • 1.8, sit (?), 07:45, 22/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    все делаю по статье, когда дело доходит до добавления в main.cf
    # списки транспортов
            transport_maps = pgsql:/usr/local/etc/postfix/transport.cf
            # куда складывать почту транспорту virtual
            virtual_mailbox_base = /
            # списки почтовых ящиков
            virtual_mailbox_maps = pgsql:/usr/local/etc/postfix/mailbox.cf
            # списки алиасов
            virtual_alias_maps = pgsql:/usr/local/etc/postfix/alias.cf
            # uid и gid пользователей
            virtual_uid_maps = static:125
            virtual_gid_maps = static:126
    postfix отказывается запускать.
     
     
  • 2.9, SHRDLU (??), 12:45, 22/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Логи смотреть будем?
     

  • 1.10, sit (?), 03:49, 23/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    при старте вот такая беда
    /usr/local/etc/postfix/post-install: Error: "no transport_maps = pgsql:/usr/local/etc/postfix/transport.cf virtual_mailbox_base = / virtual_mailbox_maps = pgsql:/usr/local/etc/postfix/mailbox.cf virtual_uid_maps =static:125 # pgsql:/usr/local/etc/postfix/uids.cf virtual_gid_maps =static:126 # pgsql:/usr/local/etc/postfix/gids.cf" should be "no" or an absolute path name.
    postfix/postfix-script: warning: unable to create missing queue directories
     
     
  • 2.13, SHRDLU (??), 07:18, 23/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Error: "no transport_maps =

    postfix check что говорит? Синтаксис main.cf проверял? Файлики *.cf существуют по указанным путям?

    >postfix/postfix-script: warning: unable to create missing queue directories

    postconf -n что показывает? В частности, значение queue_directory.

    Имхо, у тебя просто куча синтаксических ошибок в конфиге.

     

  • 1.11, sit (?), 04:28, 23/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    a postfix в логах /var/log/maillog пишет
    Mar 23 18:18:34 mail1 postfix/postfix-script: warning: unable to create missing queue directories
     
  • 1.12, sit (?), 07:18, 23/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    все спасиба разобрался хорошая статья
     
  • 1.14, anonymous (??), 12:50, 23/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    a kak naschet quot dlia kagdogo usera ?
     
     
  • 2.15, SHRDLU (??), 12:58, 23/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >a kak naschet quot dlia kagdogo usera ?

    Лично я не вижу в этом большого смысла.
    Если речь идет о квотах на размер почтового ящика, необходимо предусмотреть в таблицах индивидуальные uid и gid для пользователей.
    Если речь идет о квотах на размер письма - письмо все равно принимается полностью, и только потом отбрасывается, если квота превышена - экономить траффик это не поможет.

     
     
  • 3.24, YMSSSG (?), 12:30, 25/04/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Пофиг на траффик. Гораздо хуже когда толпе модемных пользователей свалится большое письмо которое они не могут выкачать.
     
     
  • 4.26, SHRDLU (??), 12:19, 28/04/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Существуют глобальные директивы message_size_limit - ограничение на размер письма и mailbox_size_limit - на размер ящика. Смотри в main.cf.
     

  • 1.16, Andl (?), 12:58, 29/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня небольшая проблема с aliases - т е таблица существует, но MTA сообщает user unknown. В чем грабли?
     
     
  • 2.17, Andl (?), 13:31, 29/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Пардон, рука дрогнула, закомментировал случайно.
    В остальном - отличная статья! Автор, пиши еще!
     

  • 1.21, criticus (ok), 11:16, 18/04/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как описано ставить postgresql так ничего не заработает.

    после утановки из портов придется сделать так:
    adduser pgsql
    mkdir /usr/local/pgsql/data
    chown pgsql /usr/local/pgsql/data
    su - pgsql
    /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

    /usr/local/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

     
  • 1.22, Dmitry M. Reznitsky (?), 13:17, 23/04/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пара моментов.
    1. Прежде всего, на сегодняшний день cd postgresql80-server ; make install фэйлится, потому как в портах уже лежат 8.1... , а 8.1... идёт с предустановленной поддержкой ipv6, из-за чего хост ::1 надо оставлять в конфиге

    2. Ещё можно установить expect - если я правильно понимаю, это приведёт к тому, что появится возможность через веб менять пароль.

     
  • 1.23, Dmitry M. Reznitsky (?), 00:29, 24/04/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если я делаю всё, как здесь описано, в качестве списка imap capabilities я получаю:
    CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE ACL ACL2=UNION STARTTLS LOGINDISABLED

    Из-за чего squirellmail отказывается работать...

     
  • 1.25, nix (??), 17:51, 26/04/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    после
    postmap postmaster_access

    postfix: fatal: /usr/local/etc/postfix/main.cf, line 87: missing '=' after attribute name: "hash:/usr/local/etc/postfix/helo_access," бей запятой так же. если поставить = то проходит без ошибок но /var/log/messages :

    Apr 26 12:06:19 serv postfix/smtpd[6979]: fatal: unsupported dictionary type: pgsql - про строки
    transport_maps = pgsql:/usr/local/etc/postfix/transport.cf
    virtual_mailbox_maps = pgsql:/usr/local/etc/postfix/mailbox.cf
    virtual_alias_maps = pgsql:/usr/local/etc/postfix/alias.cf

     
     
  • 2.29, logan (?), 01:30, 19/05/2006 [^] [^^] [^^^] [ответить]  
  • +/
    все параметры SMTP_RESTRICT нужно писать в одну строку.... знаю что неудобно, а что делать?
    я другого решения не отловил
     

  • 1.27, Tala (??), 10:04, 12/05/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    cd /usr/ports/security/openssl
         make OPENSSL_OVERWRITE_BASE=yes install
    пишет что порты не поддерживают динамической root
    please undefine OPENSSL_OVERWRITE_BASE and use instead WITH_OPENSSL_PORT=yes
    error code 1
    ----------
    почему
     
     
  • 2.28, SHRDLU (??), 11:47, 12/05/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Первое что приходит на ум - обновился порт. Вследствии чего могли измениться и параметры настройки порта. Кстати порт дает достаточно однозначную рекомендацию, что надо сделать -
    "undefine OPENSSL_OVERWRITE_BASE and use instead WITH_OPENSSL_PORT=yes" - вместо OPENSSL_OVERWRITE_BASE используйте WITH_OPENSSL_PORT=yes.
     

  • 1.30, romzzzec (?), 13:35, 28/05/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    проблема с localhost
    проблема заключается в следующем: неполучается поlключиться к localhost:5432 .
    через psql входит, в логе - получено подсоединение: хост=[local] порт=
    через pgadmin заходит только по IP , в логе - получено подсоединение: хост=*.*.*.* порт=62381
    если указывать localhost или 127.0.0.1 - ERROR : Error connecting to the server: не удалось подсоединиться к серверу: Can't assign requested address
    Работает ли сервер на хосте "127.0.0.1" и принимает ли
    TCP/IP соединения по порту 5432?

    postgresql.log:
    LOG: could not bind socket for statistics collector: Can't assign requested address
    LOG: disabling statistics collector for lack of working socket
    LOG: система была отключена: 2006-05-26 10:19:50 MSD
    LOG: контрольная точка: 0/A81C00
    LOG: redo-запись: 0/A81C00; undo-запись: 0/0; отключение: TRUE
    LOG: ID следующей транзакции: 721; следующий OID: 17260
    LOG: система готова к использованию

    в чем проблема может быть ? все делал как написано :) или подскажите как заставить postfix обращаться не к localhost а по IP.

     
  • 1.31, Mike (??), 17:27, 09/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а я застрял на пункте 3.1 Настройка PostgreSQL. =(
    не хочет он запускаться стандартным спопобом: /usr/local/etc/rc.d/010.pgsql.sh start
    pg_ctl: команда не указана
    Наберите "pg_ctl --help" для более подробной информации.

    в чем грабли?

     
     
  • 2.34, Voffka (?), 13:15, 05/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >а я застрял на пункте 3.1 Настройка PostgreSQL. =(
    >не хочет он запускаться стандартным спопобом: /usr/local/etc/rc.d/010.pgsql.sh start
    >pg_ctl: команда не указана
    >Наберите "pg_ctl --help" для более подробной информации.
    >
    >в чем грабли?
    Вот как надо писать!

    initdb_cmd="postgresql_initdb"

    postgresql_command()
           {
               /usr/local/bin/sudo -u ${postgresql_user} ${command} ${command_args} ${rc_arg}
           }

    postgresql_initdb()
           {
               /usr/local/bin/sudo -u ${postgresql_user} ${prefix}/bin/initdb -D ${postgresql_data}
           }

    run_rc_command "$1"


     
     
  • 3.76, intelligentik (??), 18:23, 28/12/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Вот как вы написали у меня произошла инициализация и старт постгрей система фря... текст свёрнут, показать
     
     
  • 4.156, Neon (??), 18:05, 10/01/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Не хочет запускаться?  
    >>sudo -u pgsql /usr/local/etc/rc.d/010.pgsql.sh initdb

    говорит
    >>sudo: no passwd entry for default!

    Делал всё по статье. pgsql без шела .
    Подскажите в чём проблема , бьюс уже который день

     

  • 1.32, Михей (?), 12:34, 03/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в пункте 3.2 сказано:
    Для верности еще раз сделаем postfix check. Если все нормально, то запустим Postfix ко мандой postfix start, и запустив telnet localhost 25...
    все сделал как описано, перепроверил несколько раз, но не создается директория /testuser@home.net/Maildir -почему??? что не так?
     
     
  • 2.33, SHRDLU (??), 13:24, 03/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >все сделал как описано, перепроверил несколько раз, но не создается директория /testuser@home.net/Maildir
    >-почему??? что не так?

    Каталог пользователя создастся только после того, как ему придет хоть одно письмо.
    Из твоего сообщения не видно, что ты именно отправил ему письмо через телнет, а не просто сделал telnet localhost 25 - quit. Если же ты отправил письмо на этот адрес, а его нет, тогда начинаем изучать логи почтовика, постгреса и т.д. Ты логи смотрел?

     

  • 1.35, max (??), 12:32, 07/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошая статейка Но большие проблемы
    courier-imap не ставится ошибки выкидывает типа postgre ненайден
    что может быть?
     
     
  • 2.36, SHRDLU (??), 16:30, 07/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    "Типа не найден" - а конкретнее? Что в логах?
    Каков вопрос, таков ответ - PostgreSQL вообще был установлен? Как? Какие версии ставятся?

    Давайте более подробно описывать проблемы, а? С логами и версиями. Меня один кекс просто достал по мылу с этой статьей. Пишет "все делаю по статье, а ничо не работает". В итоге выясняется, что вместо postgresql он ставит mysql, собирает половину из портов, половину руками...

     

  • 1.37, Yakon (?), 15:38, 24/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    /usr/local/etc/rc.d/010.pgsql.sh initdb

    The files belonging to this database system will be owned by user "pgsql".
    This user must also own the server process.

    The database cluster will be initialized with locale C.

    creating directory /usr/local/pgsql/data ... ok
    creating directory /usr/local/pgsql/data/global ... ok
    creating directory /usr/local/pgsql/data/pg_xlog ... ok
    creating directory /usr/local/pgsql/data/pg_xlog/archive_status ... ok
    creating directory /usr/local/pgsql/data/pg_clog ... ok
    creating directory /usr/local/pgsql/data/pg_subtrans ... ok
    creating directory /usr/local/pgsql/data/base ... ok
    creating directory /usr/local/pgsql/data/base/1 ... ok
    creating directory /usr/local/pgsql/data/pg_tblspc ... ok
    selecting default max_connections ... 10
    selecting default shared_buffers ... 50
    creating configuration files ... ok
    creating template1 database in /usr/local/pgsql/data/base/1 ... FATAL:  could not create shared memory segment: Function not implemented
    DETAIL:  Failed system call was shmget(key=1, size=1122304, 03600).
    child process exited with exit code 1
    initdb: removing data directory "/usr/local/pgsql/data"

    Застрял на 3.1
    Что не так?

     
     
  • 2.38, SHRDLU (ok), 21:55, 24/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >creating template1 database in /usr/local/pgsql/data/base/1 ... FATAL:  could not create shared
    >memory segment: Function not implemented
    >DETAIL:  Failed system call was shmget(key=1, size=1122304, 03600).
    >child process exited with exit code 1
    >initdb: removing data directory "/usr/local/pgsql/data"
    >
    >Застрял на 3.1
    >Что не так?

    Во-первых, версия PostgreSQL? Ребята, порты обновляются все время! У меня нет времени следить за всеми их обновлениями, но мне тоже интересно, какие грабли на каких версиях возникают у людей?
    Касательно проблемы - возможно, проблемы с памятью - ее нехватка или сбойные модули.

     
  • 2.45, Voffka (?), 15:17, 29/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    пересобери ядро с включением вот этих опций options SYSVSHM options ... текст свёрнут, показать
     

  • 1.39, Евгений (??), 22:41, 07/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вопрос -
    настраиваю, получаю при тест. письме

    Aug  7  localhost postfix/virtual[6227]: 7EDE313409: to=<testuser2@xx.com.ua>, relay=virtual, delay=8, status
    =deferred (recipient testuser2@xx.com.ua: bad uid 89 in virtual_uid_maps)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    хотя у меня
    /etc/passwd :
    postfix:x:89:89

    группа
    postdrop:x:90:    (Linux)

    main.cf :

    virtual_uid_maps = static:89
    virtual_gid_maps = static:90

    где я ошибся?


     
     
  • 2.40, Евгений (??), 22:48, 08/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    вопрос решен
     

  • 1.41, Алексей (??), 14:10, 14/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это моя первая установка почтового сервера. Уже месяц как все отлично работает. Одна пробема не могу прикрутить вэб-интерфейс SquirrelMail.
    При входе браузер выдает ошибку:

    Недопустимый запрос: IMAP server does not appear to support the authentication method selected. Please contact your system administrator.

    В конфигурации белки указал
    Authentication type    : cram-md5
    Secure IMAP (TLS)      : false
    Server software        : courier


    Может кто сталкивался? Подскажите в какую сторону копать.

     
  • 1.42, rituk (??), 09:22, 23/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    При установке PHP4 в конфиге есть только Apache, но нету apache2. Хорошо устанавливаю apache - но он устанавливается без поддержки SSL (в apache2 она встроена). Соответственно при настройке Web-интерфейса все не так...
    Подскажет может кто-нибудь, кто поборол эту проблему, как решить?
     
     
  • 2.43, Алексей (??), 14:57, 23/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Установка PHP-4.4.3

    # ./configure --prefix=/usr/compile/php-4.4.3 --with-apxs2=/usr/local/apache/bin/apxs  --with-openssl --with-gettext --enable-mbstring=all --with-iconv
    # make
    # make install

    # cp -p .libs/libphp5.so /usr/compile/apache/modules

    Я делал так. Вроде работает.

     
     
  • 3.44, evgeniy1 (ok), 15:42, 23/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
        А никто связку postfix+mailman не настраивал?
     

  • 1.46, visitor (ok), 19:42, 02/09/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    помогите пож разобраться почему не отправляется мыло, а в маиллоге вот такие строки:
    Sep  2 18:40:56 tserver postfix/smtpd[98849]: warning: SASL authentication failure: no secret in database
    Sep  2 18:40:56 tserver postfix/smtpd[98849]: warning: unknown[xxx.xxx.xxx.xxx]: SASL CRAM-MD5 authentication failed
    все делал как в статье :(
     
  • 1.47, trv (?), 19:44, 12/09/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Настроил pgsql. Скачал и пересобрал postfix с поддержкой pgsql. Все конфиги, такие, как у автора. При попытке подключиться к smtp телнетом, postfix падает.
    Пробовал мучить конфиг.
    Выяснил, что падает при попытке прочитать
    virtual_mailbox_maps = pgsql:/etc/postfix/mailbox.cf или что-то типа того.

    Что всё это значит и как лечить?

     
     
  • 2.48, trv (?), 17:03, 16/09/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Ладно уж.. Сам разобрался.
     
     
  • 3.160, alex (??), 13:46, 03/04/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Так как дружище?? Ты разобрался и не поделился опытом :(
    У меня та же трабла ..ковыряю 4 дня уже..
    Если Ты ещё бываешь тут, помоги!
     

  • 1.49, v0v0 (??), 02:02, 07/11/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    интересно, с новыми версиями The Bat, а MS Outlook возможна авторизация? Кто-нить может проверить этих клиентов?
     
  • 1.50, 4diz (?), 11:26, 14/11/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Делаю всё по статье.
    Всё нормально до момента когда нужно ставить Courier-Imap.
    Удовлетворяя зависимости пытается ставить courier-authlib-pgsql-0.58_2. и вот тут бок.
    configure: error: --with-authpgsql specified but no libpq.so
    такая библиотека есть в /usr/local/lib.
    не могу понять в чем дело. хелп плиз
     
     
  • 2.51, evgeniy1 (ok), 13:43, 14/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Делаю всё по статье.
    >Всё нормально до момента когда нужно ставить Courier-Imap.
    >Удовлетворяя зависимости пытается ставить courier-authlib-pgsql-0.58_2. и вот тут бок.
    >configure: error: --with-authpgsql specified but no libpq.so
    >такая библиотека есть в /usr/local/lib.
    >не могу понять в чем дело. хелп плиз

    Телепаты в отпуске.  Пиши версии и прочее - подробно.
    Если собираешь в linux, попробую помочь.
    Я собирал courier-imap в linux CentOS4, собрался без таких проблем, страндартных пакетов postgres-*devel* ему для сборки хватило. Ну и поставился потом без проблем.

     
     
  • 3.53, SHRDLU (ok), 14:05, 14/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >>Делаю всё по статье.
    >Если собираешь в linux, попробую помочь.

    И если действительно собирает в линуксе, значит уже не по статье делает... статья под bsd заточена.

     
     
  • 4.54, evgeniy1 (ok), 14:45, 14/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Делаю всё по статье.
    >>Если собираешь в linux, попробую помочь.
    >
    >И если действительно собирает в линуксе, значит уже не по статье делает...
    >статья под bsd заточена.

      Насчет линукса я про себя писал, как делает автор вопроса - не знаю.

     
  • 2.52, SHRDLU (ok), 13:53, 14/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Делаю всё по статье.
    >Всё нормально до момента когда нужно ставить Courier-Imap.
    >Удовлетворяя зависимости пытается ставить courier-authlib-pgsql-0.58_2. и вот тут бок.
    >configure: error: --with-authpgsql specified but no libpq.so
    >такая библиотека есть в /usr/local/lib.
    >не могу понять в чем дело. хелп плиз

    Не поленился. Поднял на виртуалке FreeBSD 6.1, подтянул свежие порты и "сделал все по статье" (с) - все встало с полпинка. Так что первым делом настраивай cvsup и обновляй порты.

     
     
  • 3.55, 4diz (?), 22:32, 15/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо. Все получилось.
    Единственная проблема:
    Всё отлично работает без saslauthd.
    Если же идти по пути saslauthd/pam-pgsql, то получается
    postfix/smtpd[91595]: warning: SASL authentication failure: no user in db
    postfix/smtpd[91595]: warning: SASL authentication failure: no secret in database
    postfix/smtpd[91595]: warning: [XX.XX.XX.XX]: SASL CRAM-MD5 authentication failed

    Но я думаю и так проживу, но всё же интересно )


     
     
  • 4.56, SHRDLU (ok), 07:30, 16/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Если же идти по пути saslauthd/pam-pgsql, то получается
    >postfix/smtpd[91595]: warning: SASL authentication failure: no user in db
    >postfix/smtpd[91595]: warning: SASL authentication failure: no secret in database
    >postfix/smtpd[91595]: warning: [XX.XX.XX.XX]: SASL CRAM-MD5 authentication failed

    А вот это проверять уже безумно лень. И вообще это было оставленов в статье только "для совместимости с предыдущими версиями". Помню только, что сам постоянно напарывался на всякие непонятные глюки, делая copy/paste конфигов, при этом постоянно вставлялись лишние пробелы, на которые система реагировала самым неожиданным образом.

     
  • 2.57, Parviz (?), 10:32, 22/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Zdrastvuyte!U menya toje samaya problema s Courier-Imap.no ya ni ponel. mne vse cvsup servera nastroit ili tolka ustanovka?
     
     
  • 3.58, SHRDLU (ok), 11:10, 22/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Zdrastvuyte!U menya toje samaya problema s Courier-Imap.no ya ni ponel. mne vse
    >cvsup servera nastroit ili tolka ustanovka?

    Не понял вопроса. Что значит "все cvsup сервера настроить"???
    Настройте обновления дерева портов и выполните его (дерева) обновление. О настройке cvsup читать тут - http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/cvsup.html

     

  • 1.59, parviz (?), 23:30, 26/11/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ya novicok, perviy raz server ustanavlivayu.
    u menya Courier-Imap ne ustanavlevaetsa
    ustanovil cvsup without_gui i obnavil porti, opat ne polucaetsa.
    nastroil cvsup kak zdes http://www.opennet.ru/base/sys/update_ports.txt.html
     
     
  • 2.60, SHRDLU (ok), 07:24, 27/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >u menya Courier-Imap ne ustanavlevaetsa

    Логи изучать будем? Или хотя бы приводить их, аргументируя свои проблемы?

     
     
  • 3.61, 43081 (??), 18:19, 10/12/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Добрый день Зайстрял на создиние сертификата зайпускаю sh make_ca sh после гене... текст свёрнут, показать
     
     
  • 4.64, SHRDLU (ok), 11:26, 11/12/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Что ж, проверяем root ttyp2 usr local ssl make_ca sh Generating a 4096 b... текст свёрнут, показать
     
     
  • 5.67, 43081 (ok), 14:09, 11/12/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Большое спасибо Я непонил что изменилось в make_ca sh но скрипт который вы опис... текст свёрнут, показать
     

  • 1.63, parviz (?), 20:58, 10/12/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ya ni magu courier-imap ustanovit, cvsup obnavil opat toje samoe, pishit tak

    checking for shl_load .... no
    checking for shl_load in -ldld .... no
    checking for connect in -lsocket .... no
    checking for connect in -lsocket (cached) .... no
    checking for dbopen in -ldb .... no
    checking for db_open in -ldb .... no
    i drugie
    configure: error: --with-authpgsql specified but no libpq.so
    ===> Script "configure" failed unexpectedly.
    Please report the problem to oliver@FreeBSD.org [maintainer] and attach the "/usr/ports/databases/courier-authlib-pgsql/work/courier-authlib-0.58/config.log"

    a mojet mne FreeBSD 6.0 versiyu ustanovit, ili kak?
    pomagite razbiratsa.
    Sposibo.

     
     
  • 2.65, SHRDLU (ok), 11:31, 11/12/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >ya ni magu courier-imap ustanovit, cvsup obnavil opat toje samoe, pishit tak
    ...
    >Please report the problem to oliver@FreeBSD.org [maintainer] and attach the "/usr/ports/>databases/courier-authlib-pgsql/work/courier-authlib-0.58/config.log"

    Прогрессс налицо, присутствует вывод инсталлера, но версии курьера и freebsd я по-прежнему должен определять телепатически?
    Попробуйте для разнообразия помучать такими вопросами мэйнтейнера порта, чей e-mail указан в сообщении об ошибке... хотя не уверен, что он Вам ответит...

    >a mojet mne FreeBSD 6.0 versiyu ustanovit, ili kak?

    Или как. Последняя версия 6.1 вообще-то.


     
  • 2.75, intelligentik (??), 13:24, 27/12/2006 [^] [^^] [^^^] [ответить]  
  • +/
    в версии 6.1 тоже самое пишет :-(
     

  • 1.66, gerdge (??), 12:45, 11/12/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Доброго времени суток. Помогите пожалуйста решить проблемму.
    При создании клиенского сертификата пишет следуюшее

    Generating a 4096 bit RSA private key
    ..........................++
    ........................................++
    writing new private key to './clients/client_info.key'
    -----
    Using configuration from ca.config
    policy_anything is an unsupported message digest type
    38293:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_lib.c:329:group= name=unique_subject
    No certificate matches private key

    создаются 4 файла client_info.crt client_info.csr client_info.key client_info.p12
    но фалы client_info.crt и client_info.p12 0байт

    в чем пробема ?
    заранее спасибо

     
     
  • 2.68, gerdge (??), 15:36, 11/12/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Звиняюсь за глупый вопрос... ручки у меня корявые ... а глазки заленились ошибку искать :)
     

  • 1.69, 43081 (ok), 22:39, 11/12/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сталкнулся с еще одной проблемой. Все делаю точно по статье, но антивирусник не хочет работать. с ним и почта не доставляется в логах вот что:

    postfix/qmgr[684]: warning: connect to transport scan: Connection refused


    а при отправке письма вот:

    postfix/qmgr[684]: 5C3A150A4B: to=<xxx@xxx.ru>, relay=none, delay=1439, delays=1439/0.01/0/0, dsn=4.3.0, status=deferred (mail transport unavailable)

    Что делать

     
     
  • 2.70, SHRDLU (ok), 11:28, 12/12/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Сталкнулся с еще одной проблемой. Все делаю точно по статье, но антивирусник
    >не хочет работать. с ним и почта не доставляется в логах

    >Что делать

    То же самое, что и в прошлый раз - ВНИМАТЕЛЬНО проверять ВСЕ конфиги и скрипты.
    Демон clamd запущен? ClamSMTP установлен? И запущен?

     

  • 1.71, SP (?), 09:42, 15/12/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    При установке PHP4 в конфиге есть только Apache, но нету apache2. как уго установить
     
     
  • 2.72, SHRDLU (ok), 11:41, 15/12/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >При установке PHP4 в конфиге есть только Apache, но нету apache2. как
    >уго установить

    Если набрать в /usr/ports/lang/php4 слова make config, при внимательном прочтении обнаруживается строчка "Build Apache module" - третья сверху. Если на мысли не наводит, то поясняю - делаем cd /usr/ports/www/apache2 и там набираем make install. Когда Апач установится, можно будет вернуться к установке php, включив упомянутую опцию.

     

  • 1.73, parviz (?), 13:41, 23/12/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я устанавил все необходимые порты.При запуске первичной инициализации базы данных:
         /usr/local/etc/rc.d/010.pgsql.sh initdb
    было сообщени sudo command not found.
    После установки sudo(Опции установки вставил -OPIE и SHELL...), при повторном запуске получил сообщение
         /usr/local/etc/sudoers is mode 0644, should be 0440
     
     
  • 2.74, SHRDLU (ok), 12:18, 24/12/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >После установки sudo(Опции установки вставил -OPIE и SHELL...), при повторном запуске получил
    >сообщение
    >     /usr/local/etc/sudoers is mode 0644, should be 0440

    И какое слово тут непонятно? Файл sudoers имеет права доступа 0644, а должны быть 0440...

    И кстати - НЕ BСПОЛЬЗУЙТЕ описанный в статье вариант с sudo! Оставьте стартовые скрипты как есть, плюс почитайте доку и изучите профиль в домашнем каталоге postgresql. При росте объема бызы и ее сложности вариант с sudo дишит вас многих интересных возможностей.


     

  • 1.77, parviz (?), 12:22, 03/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сталкнулся с еще одной проблемой.

    postfix# /usr/local/etc/rc.d/postgresql initdb
    The files belonging to this database system will be owned by user "pgsql".
    This user must also own the server process.

    The database cluster will be initialized with locale C.

    initdb: directory "/usr/local/pgsql/data" exists but is not empty
    If you want to create a new database system, either remove or empty
    the directory "/usr/local/pgsql/data" or run initdb
    with an argument other than "/usr/local/pgsql/data".

     
     
  • 2.78, SHRDLU (ok), 21:43, 06/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Сталкнулся с еще одной проблемой.

    Родное сердце! Прочти все-таки документацию, и выучи английский хотя бы в рамках "технического английского". Или держи на рабочем месте словарь.

     
     
  • 3.79, apr2504 (ok), 19:50, 17/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Возникла интересная проблема: хост с Postfix'ом находится за двумя файерволлами,
    письма не отсылаются только на ОДИН почтовый сервер(таймаут во время передачи тела сообщения)и то с большими вложениями. После отключения NAT'а на первом от почтовика шлюзе
    отсылаются нормально. С чем такое может быть связано, есть идеи? Искажение MIME? Заранее спасибо за ответы.

     

  • 1.80, alexgo (?), 01:14, 21/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Аутентификация клиента по сертификату на imap сервере courier в почтовом клиенте Mozilla Thunderbird работает!

    При установленном параметре

    TLS_VERIFYPEER=REQUIREPEER

    ошибка в лог вида

    error 140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate

    выдается в том случае, когда клиент Mozilla Thunderbird настроен не правильно. Описание правильной настройки приведено на http://wiki.cacert.org/wiki/EmailCertificates . Если вкратце, то в параметрах учетной записи на вкладке "защита" надо выбрать личный сертификат для подписи и личный сертификат для шифрования (это должен быть именно тот сертификат, который будет использоваться для аутентификации клиента). В параметрах сервера ставим использовать защищенное соединение SSL, а галочку "Использовать защищённую аутентификацию" ("Use secure authentication") НЕ ставим.

    После этого у меня все работает

    Система Debian 3.1
    courier - 3.0.8
    openssl - 0.9.7e

    Пользовательский сертификат и сертификат сервера подписаны self-signed CA.

     
  • 1.81, reekoff (ok), 17:12, 12/02/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня вот здесь затык:

    >>Для верности еще раз сделаем postfix check. Если все нормально, то
    >>запустим Postfix ко мандой postfix start, и запустив telnet localhost
    >>25, попробуем послать письмо нашему пользовате лю testuser. Если все
    >>пройдет гладко...
    telnet localhost 25  впадает в ступор при mail from:
    при этом на консоль сыпется:
    postfix/trivial-rewrite[###]: fatal: pgsql:/usr/local/etc/postfix/alias.cf(0,lock|fold_fix):  table lookup problem
    а в maillog:
    Feb 12 15:26:20 mail3 postfix/trivial-rewrite[70464]: warning: pgsql query failed: fatal error from host localhost: ERROR:  permission denied for relation user_aliases?
    Feb 12 15:26:20 mail3 postfix/trivial-rewrite[70464]: fatal: pgsql:/usr/local/etc/postfix/alias.cf(0,lock|fold_fix): table lookup problem
    Feb 12 15:26:21 mail3 postfix/master[70312]: warning: process /usr/local/libexec/postfix/trivial-rewrite pid 70464 exit status 1
    Feb 12 15:26:21 mail3 postfix/master[70312]: warning: /usr/local/libexec/postfix/trivial-rewrite: bad command startup -- throttling
    Feb 12 15:26:21 mail3 postfix/smtpd[70341]: warning: premature end-of-input on private/rewrite socket while reading input attribute name
    Feb 12 15:26:21 mail3 postfix/smtpd[70341]: warning: problem talking to service rewrite: Unknown error: 0
    где может быть ошибка?

     
     
  • 2.82, SHRDLU (ok), 07:11, 13/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >host localhost: ERROR:  permission denied for relation user_aliases?
    >где может быть ошибка?

    Юзер, под которым происходит подкдючение к БД, не имеет прав на работу с таблицей user_aliases.
    Соответственно, либо ты накосячил в конфигах (проверяй синтаксис), либо не завел юзера БД, от имени которого работает postfix и/или не дал ему прав работать с таблицами -
    grant select on user_accounts, user_aliases, transport to postfix;


     
     
  • 3.83, reekoff (ok), 12:26, 20/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    SASL authentication failure: no secret in database
    SASL CRAM-MD5 authntication failed

    вроде бы довольно понятные эти слова, но куда копать не знаю...

     
     
  • 4.84, SHRDLU (ok), 12:53, 20/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >SASL authentication failure: no secret in database
    >SASL CRAM-MD5 authntication failed
    >вроде бы довольно понятные эти слова, но куда копать не знаю...

    копать в сторону логов постгреса и /usr/local/lib/sasl2/smtpd.conf...
    нет пользователя в базе или некорректно написан запрос на выборку из БД

     
     
  • 5.85, reekoff (ok), 17:33, 01/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А в usr local etc postfix master cf допишем вот такой фрагмент scan ... текст свёрнут, показать
     
     
  • 6.86, SHRDLU (ok), 11:56, 02/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >после перезагрузки постфикс не стартует с записью:
    >fatal: /usr/local/etc/postfix/master.cf: line 91: bad transport type: -o
    >line 91 это   -o smtpd_authorized_xforward_hosts=127.0.0.0/8

    Поиск СИНТАКСИЧЕСКИХ ошибок в чужих конфигах и указывание на них пальцем - услуга платная.
    И не забываем листать документацию к новым версиям устанавливаемых программ.


     
  • 6.87, Voffka (?), 13:29, 13/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Где же ваша винимательность?
    Вот же как надо!
    127.0.0.1:10026 inet n -        n       -       16      smtpd
    -o content_filter=
    -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
    -o smtpd_helo_restrictions=
    .....и так далее


     
     
  • 7.88, evgeniy1 (ok), 16:42, 13/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Понадобилось поставит на новый сервер эту схему вместе с sasl, ставлю - авториз... текст свёрнут, показать
     
     
  • 8.89, SHRDLU (ok), 07:09, 14/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    И не должна log_level 9 http www freebsd org cgi ports cgi query cyrus-sas... текст свёрнут, показать
     
     
  • 9.90, Евгений (??), 01:37, 17/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Не подскажет ли кто, как указать courier му pop3-ssl использовать только md5 д... текст свёрнут, показать
     
     
  • 10.91, SHRDLU (ok), 14:25, 17/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Очевидно, надо поколдовать с содержимым строчек POP3AUTH и POP3AUTH_TLS и их ан... текст свёрнут, показать
     
     
  • 11.92, Евгений (??), 15:51, 17/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    в том-то и дело, что пробовал как с POP3AUTH CRAM-MD5 CRAM-SHA1 POP3AUTH_TLS... текст свёрнут, показать
     
     
  • 12.93, SHRDLU (ok), 20:19, 17/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    http www freebsd org cgi ports cgi query courier-imap stype all Последняя верс... текст свёрнут, показать
     
     
  • 13.94, Евгений (??), 01:19, 18/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    я имел в виду общую версию http www courier-mta org download php Version 0 ... текст свёрнут, показать
     
     
  • 14.95, SHRDLU (ok), 15:33, 18/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Прошу прощения, не сообразил Не могу ничего сказать по этому поводу, так как не ... текст свёрнут, показать
     
  • 14.96, SHRDLU (ok), 09:45, 22/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    В общем, у меня тоже не получилось вообще отключить возможность plain-text аутен... текст свёрнут, показать
     
     
  • 15.97, arriah (??), 19:08, 25/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Установил все согласно статьи, но возникли вопросы 1 Поменял пароли и на postf... текст свёрнут, показать
     
     
  • 16.98, SHRDLU (ok), 19:38, 25/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    В usr local pgsql data pg_hba conf что написано Откуда взялось содержимое PWD ... текст свёрнут, показать
     
     
  • 17.99, arriah (??), 19:42, 25/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю, откуда PWD взялся Все делал по статье, сервер запустил, проблема был... текст свёрнут, показать
     
  • 15.100, evgeniy1 (ok), 15:53, 26/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Увы, некоторые люди по сей день используют такие неполноценные клиенты, как outl... текст свёрнут, показать
     
  • 9.101, shamann (ok), 18:57, 30/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Доброго времени суток всем Если делать в точности как в статье, те smtplogin ... текст свёрнут, показать
     
     
  • 10.102, evgeniy1 (ok), 19:10, 30/03/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Зависит от того, что в базе в таблице вписано У меня, например, это не до... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (21)

  • 1.103, virk (??), 13:33, 16/04/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Система
    FreeBSD6.1
    Postgresql 8.0.12
    Postfix 2.4.0

    После того как пытаюсь отправить письмо через telnet localhost 25
    mail from: name@domen.ru

    сессия подвисает
    в логах pgsql

    UTCLOG:  подсоединение авторизировано: пользователь=postfix база=mailbase
    UTCLOG:  команда: set client_encoding to 'LATIN1'
    UTCERROR:  преобразование между LATIN1 и KOI8 не поддерживается
    UTCКОМАНДА:  set client_encoding to 'LATIN1'

    Как победить эту проблему?
    Немогу сообразить, как заставить postgresql работать в latin1 (потому что переводить с koi8 в latin1 база не может).

    Заставить работать postfix с koi8 насколько я понял нельзя.
    Знатоки помогите.

     
  • 1.105, chosen (??), 10:40, 26/06/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    1. аутентификация sasl работает только через saslauthd
    2. и то только auth plain, на auth cram-md5 в логах клиента ругань вида:
    [17:39:42]  C: AUTH CRAM-MD5
    [17:39:42]  S: 334 PDE3NDYyMTM1NzkuODQ3NDMzMkBteDIuem5hY29tLnJ1Pg==
    [17:39:42]  C: c3NsIDViOTMyM2U3ZWI1OWZlMmYyNjQzOWM4MmE4MDIwOGNh
    [17:39:42]  S: 535 5.7.0 Error: authentication failed: authentication failure


    подскажите плз куда рыть

     
     
  • 2.106, chosen (??), 11:04, 26/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    дополнение:
           при аутентификация не через saslauthd, я даже не наблюдаю в логах pgsql попытки
           выполнить запрос:
           select smtppassword from user_accounts where smtplogin='%u'

    вас ист дас???

     
     
  • 3.107, SHRDLU (ok), 12:03, 26/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >я даже не наблюдаю в логах pgsql попытки выполнить запрос:

    конфиги в студию...

     
     
  • 4.108, chosen (??), 13:31, 26/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    smtpd.conf ----------------
    pwcheck_method: auxprop
    auxprop_plugin: sql
    mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5
    sql_engine: pgsql
    sql_user: postfix
    sql_passwd: *********
    sql_hostnames: 127.0.0.1
    sql_database: mailbase
    sql_select: select smtppassword from user_accounts where smtplogin='%u'
    sql_verbose: yes
    log_level: 9

    еще какие конфы нужны ???

     
     
  • 5.109, SHRDLU (ok), 13:42, 26/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

    Это необязательно.

    >еще какие конфы нужны ???

    От постфикса, вестимо, в части, касающейся SASL...
    Если так хочется вариант с saslauthd, то /etc/pam_pgsql.conf, /etc/pam.d/smtp. Но этот вариант я на практически не применял, и вряд ли добавлю что-то к написанному в статье.

    И кстати, не забыл ли сделать симлинк на sasl-библиотеки:
    ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
    ?

     
     
  • 6.110, Ech (?), 17:01, 26/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Добавить пользователя - ins_users.sh

           #!/bin/sh
           PGPASSWORD=postgres
           export PGPASSWORD
           sudo -u pgsql /usr/local/pgsql/bin/psql -A -q -t -c \
            "insert into user_accounts values ('$1', '$2', '$3', '$4', '$5', '$6',
           '$7')" mailbase
    Получаецо не сущ таких путей

    main# /etc/ins_users.sh
    sudo: /usr/local/pgsql/bin/psql: command not found
    Откуда это взялось?

     
     
  • 7.115, SHRDLU (ok), 07:11, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >main# /etc/ins_users.sh
    >sudo: /usr/local/pgsql/bin/psql: command not found
    >Откуда это взялось?

    Видимо, ошибся, когда текст правил перед отправкой сюда. Должно быть /usr/local/bin/psql, конечно.
    Странно, что только сейчас на это обратили внимание...

     
  • 6.111, chosen (??), 02:38, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    в postfix все что дает "postconf | grep smtpd_sasl"

    smtpd_sasl_auth_enable = yes
    smtpd_sasl_authenticated_header = no
    smtpd_sasl_exceptions_networks =
    smtpd_sasl_local_domain =
    smtpd_sasl_path = /usr/local/lib/sasl2/smtpd.conf
    smtpd_sasl_security_options = noanonymous
    smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
    smtpd_sasl_type = cyrus

     
  • 6.112, chosen (??), 03:08, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    да еще вопрос по установке cyrus-sasl-2.1.22

    make WITHOUT_OTP=yes WITH_PGSQL=/usr/local/lib

    по пути /usr/local/lib/ какие lib'ы postgresql'я должны лежать
    у меня есть папка /usr/local/lib/postgresql/

    а в Makefile есть:

    .if defined(WITH_PGSQL)
    USE_PGSQL=      yes
    CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
    .else
    CONFIGURE_ARGS+=--without-pgsql
    .endif

    так вот на что должно указывать ${LOCALBASE}????

     
  • 6.113, chosen (??), 05:52, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    ну и насколько понял sasl вообще не видит sql (далее строка из debug.log)


    Jun 27 12:45:14 beta postfix/smtpd[83216]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql

     
     
  • 7.114, chosen (??), 06:56, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    спс запахало!!!!!
     
     
  • 8.116, SHRDLU (ok), 07:14, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    И что было Потому как в конфигах криминала не вижу разве что пробел где лишний... текст свёрнут, показать
     
     
  • 9.117, Ech (?), 13:06, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    что то у меня при команде telnet 192 168 0 25 25 , выдает следующее Trying 192 ... текст свёрнут, показать
     
     
  • 10.118, SHRDLU (ok), 13:14, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    далее следует набирать smtp-команды ответы сервера помечены helo mail dom... текст свёрнут, показать
     
     
  • 11.119, Ech (?), 13:21, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    логмэил Jun 27 15 15 51 main postfix master 937 warning process usr local l... текст свёрнут, показать
     
     
  • 12.120, SHRDLU (ok), 13:35, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Похоже, ты постфикс собрал без поддержки postgresql... текст свёрнут, показать
     
     
  • 13.121, Ech (?), 14:36, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    ХМ странно, точно помню, что ставил галки на TLS и PGSQL Только, что посмотре... текст свёрнут, показать
     
     
  • 14.122, Ech (?), 15:50, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    собрал с поддержкой postgres , при конекте с оутлука теперь в логах следующее J... текст свёрнут, показать
     
     
  • 15.123, Ech (?), 18:35, 27/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А вот логфайл месенгера main postfix trivial-rewrite 2223 fatal pgsql usr lo... текст свёрнут, показать
     
     
  • 16.124, SHRDLU (ok), 07:13, 28/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Сдается мне, ты и постгрес через jопу поставил и настроил Что это у тебя за п... текст свёрнут, показать
     
     
  • 17.125, zeek (??), 12:32, 28/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Странное дело, по сути при получении почты выбирается строка из mailbox, и оттуд... текст свёрнут, показать
     
     
  • 18.126, zeek (??), 12:52, 28/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    разобрался, сама BSD клеит общее положение с наличием всех начальных слешей, и и... текст свёрнут, показать
     
  • 17.127, Ech (?), 12:11, 04/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    ниче не натворил все по статье, IPv6 зареймил, а вот на алиас сф чего то ругаеца... текст свёрнут, показать
     
     
  • 18.128, SHRDLU (ok), 12:11, 06/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Чего-то он у тебя то на одно, то на другое ругается на мысли не наводит синт... текст свёрнут, показать
     
     
  • 19.129, nikm (?), 12:08, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Помогите пожалуйста с проблемой в SquirrelMail Все работает нормально, мочта хо... текст свёрнут, показать
     
     
  • 20.130, Евгений (??), 12:35, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    По сути - при любом таком вот письме потрудись привести логи и соотв кусок ко... текст свёрнут, показать
     
  • 21.131, nikm (?), 12:43, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Я извиняюсь Вот кусок лога Aug 3 10 50 04 mail postfix smtpd 92177 connect ... текст свёрнут, показать
     
  • 22.132, evgeniy1 (ok), 14:08, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Система не хочет релеить письма от localhost domain com ua смотри настройки для ... текст свёрнут, показать
     
  • 23.133, nikm (?), 14:13, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    как сказано в статье, только lo0 Подсети из которых почта принимается, не прох... текст свёрнут, показать
     
  • 24.134, evgeniy1 (ok), 14:27, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    слушай, ты издеваешься или просто хочешь письмами покидаться Если покидаться, ... текст свёрнут, показать
     
  • 25.135, nikm (?), 14:33, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    вот весь конфиг, какая его часть интересна я не знаю, поэтому высылаю весь кат... текст свёрнут, показать
     
  • 26.136, evgeniy1 (ok), 15:06, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Запомни на будущее - если задаешь такой вот вопрос, приводи конфиги сразу Обраб... текст свёрнут, показать
     
  • 27.137, nikm (?), 15:35, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален сделал так smtpd_helo_restrictions permit_mynetworks,... текст свёрнут, показать
     
  • 28.138, evgeniy1 (ok), 15:40, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    _Все_ restrictions измени, вписав в них mynetworks Хотя я ж сказал - так неп... текст свёрнут, показать
     
  • 26.139, SHRDLU (ok), 15:42, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    добавь сюда permit_mynetworks и в mynetworks можешь загнать адреса своей локалки... текст свёрнут, показать
     
  • 27.140, nikm (?), 15:52, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    ОГРОМНОЕ СПАСИБО Так в итоге и сделал, все работает буду смотреть теперь по ... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (35)

  • 1.141, Maritanna (ok), 12:31, 26/09/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поднимаю сервер впервые Все делала по статье Столкнулась с такой ошибкой, точ... текст свёрнут, показать
     
     
  • 2.143, SHRDLU (ok), 13:55, 26/09/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Поднимаю сервер впервые.  Все делала по статье. Столкнулась с такой ошибкой,
    >точнее даже рядом ошибок:
    >В логах целый букет:
    >Sep 26 11:27:39 gwsrv postfix/smtpd[3003]: connect from unknown[127.0.0.1]
    >Sep 26 11:28:01 gwsrv postfix/trivial-rewrite[3004]: warning: connect to pgsql server localhost: could
    >not connect to server: Connection refused??Is the server running on host
    >"localhost" and accepting??TCP/IP connections on port 5432??

    Видно, что postfix не дружит с postgresql, соответственно, смотреть логи постгреса на предмет выяснения, как и под кем postfix пытается к нему приконнектиться, также проверить содержимое /usr/local/pgsql/data/pg_hba.conf

     

  • 1.142, nowice (?), 12:55, 26/09/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А возможно ли настроить этот сервер для того, чтобы еще и снаружи почту принимал?
     
     
  • 2.144, SHRDLU (ok), 14:39, 26/09/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >А возможно ли настроить этот сервер для того, чтобы еще и снаружи
    >почту принимал?

    Да.

     

  • 1.145, nowice (?), 14:48, 26/09/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вопрос я задал не корректно. Мне нужно поставить сервер, который бы обрабатывал почту клиентов локальной сети, принимал от провайдера почту (сервер провайдера просто отсылает всю почту в локальную сеть) и рассылал по конкретным почтовым ящикам. Из прочтения данной статьи, я понял, что описываемая установка сервера будет работать только в локальной сети. Что нужно доработать под мою задачу?
     
     
  • 2.146, SHRDLU (ok), 14:52, 26/09/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Что нужно доработать под мою задачу?

    Если я опять-таки все правильно понял, то под твою задачу нужно только установить и настроить fetchmail


     

  • 1.147, nowice (?), 20:13, 27/09/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    остановился на установке Postgrey...
    вылетает с ошибкой:
    Postgrey requires databases/p5-BerkeleyDB to be built with Berkeley DB 4.1 or newer. Please reinstall it with the WITH_BDB_VER set to 41 or newer.

    поставил databases/db46 параметр WITH_BDB_VER указываю, пробовал поставить отдельно p5-BerkeleyDB... не ставится... вылетает та же ошибка.
    что делать? 2 дня уже парюсь...

     
     
  • 2.148, SHRDLU (ok), 21:20, 27/09/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >остановился на установке Postgrey...
    >вылетает с ошибкой:
    >Postgrey requires databases/p5-BerkeleyDB to be built with Berkeley DB 4.1 or newer.
    >Please reinstall it with the WITH_BDB_VER set to 41 or newer.
    >поставил databases/db46 параметр WITH_BDB_VER указываю, пробовал поставить отдельно p5-BerkeleyDB... не ставится... вылетает
    >та же ошибка.
    >что делать? 2 дня уже парюсь...

    А порты давно обновлялись? Помнится, последний раз когда ставил postgrey, он был уже версии 1.27 и было достаточно просто сказать make install безо всяких дополнительных параметров, а наиболее подходящую ему версию berkeleydb он без лишних вопросов собирал и ставил сам.

     
     
  • 3.149, kirill (??), 00:20, 15/10/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Такая проблема: не до конца работает скрипт make_cleint_cert.pl
    Дело втом, что при записи в файл /etc/postfix/fingerprints выдается сообщение =: not found.
    Как я понял просто у скрипта не получается разбить строку
     

  • 1.150, Алексей (??), 11:12, 26/10/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Первый раз ставлю почтовик.
    ставлю по статье и наткнулся на камень -
    прописал sasl в конфиге и вот такие сообщения валяться в логи, подскажите что такое
    Oct 26 00:04:07 mail-server postfix/smtpd[29898]: fatal: SASL per-process initialization failed
    Oct 26 00:04:08 mail-server postfix/master[4761]: warning: process /usr/local/libexec/postfix/smtpd pid 29898 exit status 1
    Oct 26 00:04:08 mail-server postfix/master[4761]: warning: /usr/local/libexec/postfix/smtpd: bad command startup -- throttling
    Oct 26 00:05:08 mail-server postfix/smtpd[29902]: warning: SASL per-process initialization failed: generic failure
    Где собака порылась
    торможу и не могу понять где ковырять
     
  • 1.151, bioX (?), 21:19, 28/10/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Доброго времени суток.
    Вопрос такой: возможно ли заставить squrrel mail корректно работать если почтарь и вебинтерфейс находятся физически на разных машинах.
    Лично я столкнулся с такой проблеммой: веб морда пускает в ящик, видно письма в ящике, но тоько кликаеш по любому элементу в веб морде - сразу выкидывает и пишет что я не залогинился.
    Инфы по этому поводу в инете найти не удалось.
    Помогите чем можете.
     
     
  • 2.152, MiGus (?), 12:41, 16/11/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Собрал по инструкции, работает всё отлично, правда Squirrelmail не прикручивал за ненадобностью.

    Есть вопрос: а если я хочу несколько почтновых доменов обслуживать ? Как я понимаю, проблем не должно быть, достаточно добавить в транспорт дополнительные домены.
    И попутно: как для разных доменов делать групповые алиасы ? В случае с одним доменом всё просто - в таблицу user_aliases добавляется например запись office для ящиков bob@123.net и для pete@123.net - всё как бы работает, обоим приходит. А в случае если мне нужно алиас office@123.net (для bob@123.net и pete@123.net) и office@abc.com (ann@abc.com и для mary@abc.com)?

     

  • 1.153, SiLex (?), 13:35, 27/11/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всё работает, но наткнулся на следующий косяк почтовые фаилы создаються с правами 600 (чтение запись для овнера), владелецем указан root\wheel, в следствии чего при попытке зобрать почту с сервера опера говорит
    "Сообщение не существует! [Ответ сервера:-ERR Can't open the message file - it's gone!]"
    потом я вручную делаю chmood 644 етому фаилу и почта проходит, в логах тишина говорит: юзер такойто афторизировался, юзер такойто логофнулся при этом никаких варнингов и ошибок :(
    зомучал сёдня гугл такое в печатление что такой щастливый токо я.
     
     
  • 2.154, SiLex (?), 14:06, 27/11/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Всё проблема разрешилось, невнимательно гайд читал :)
     
     
  • 3.163, nowice (?), 09:03, 04/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Всё проблема разрешилось, невнимательно гайд читал :)

    А по-подробнее? Где и что невнимательно прочитал? Такая-же проблема... :(

     

  • 1.155, Zheka (?), 06:11, 13/12/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    сделал все по доке, нормально воркает
    есть пара но

    у меня на старом сервере под кумылом имя пользователя это полностью название почтового ящика, в качестве смтп логина тож название почтового ящика.

    в данном примере если указывать просто логин, то все работает если в базу забить в логин почтовый ящик идет отлуп, в бате
    !13.12.2007, 11:51:16: SEND  - Письмо не отправлено. Сервер сообщает: 5.7.1 <sea-jay@mail.ru>: Relay access denied

    в логах сервера

    Dec 13 12:02:18 mail postfix/smtpd[3766]: warning: SASL authentication failure: no secret in database
    Dec 13 12:02:18 mail postfix/smtpd[3766]: warning: unknown[192.4.15.44]: SASL CRAM-MD5 authentication failed: authentication
    failure
    Dec 13 12:02:18 mail postfix/smtpd[3766]: NOQUEUE: reject: RCPT from unknown[192.4.15.44]: 554 5.7.1 <test@mail.ru>: Rela
    y access denied; from=<test@mail.myhost.ru> to=<test@mail.ru> proto=ESMTP helo=<[192.4.15.44]>

    методом экспериментов понял что ему не нравиться в логине символ "собачки" @

    это можно как нибудь полечить?

     
     
  • 2.157, pavel (??), 21:23, 28/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Подскажите пожалуйста, в чем проблема?  

    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 mail.home.net ESMTP
    helo localhost
    250 mail.home.net
    mail from: root@home.net
    250 2.1.0 Ok
    RCPT To: pavel@home.net
    250 2.1.5 Ok
    data
    354 End data with <CR><LF>.<CR><LF>
    fhfgh
    fgh
    .
    250 2.0.0 Ok: queued as 06A9016B2ED
    quit
    221 2.0.0 Bye

    В логах появляется это:

    mail postfix/smtpd[1115]: connect from localhost[127.0.0.1]
    mail postfix/smtpd[1115]: 06A9016B2ED: client=localhost[127.0.0.1]
    mail postfix/cleanup[1136]: 06A9016B2ED: message-id=<20080228205551.06A9016B2ED@mail.home.net>
    mail postfix/qmgr[845]: 06A9016B2ED: from=<root@home.net>, size=332, nrcpt=1 (queue active)
    mail postfix/local[1138]: 06A9016B2ED: to=<pavel@home.net>, relay=local, delay=32, delays=32/0.03/0/0.02, dsn=5.1.1, status=bounced (unknown user: "pavel")
    mail postfix/cleanup[1136]: AE4A316B2F5: message-id=<20080228205558.AE4A316B2F5@mail.home.net>
    mail postfix/bounce[1139]: 06A9016B2ED: sender non-delivery notification: AE4A316B2F5
    mail postfix/qmgr[845]: AE4A316B2F5: from=<>, size=2017, nrcpt=1 (queue active)
    mail postfix/qmgr[845]: 06A9016B2ED: removed
    mail postfix/local[1138]: AE4A316B2F5: to=<pavel@home.net>, orig_to=<root@home.net>, relay=local, delay=0.12, delays=0.07/0.01/0/0.04, dsn=5.1.1,status=bounced (unknown user: "pavel")
    mail postfix/qmgr[845]: AE4A316B2F5: removed
    mail postfix/smtpd[1115]: disconnect from localhost[127.0.0.1]

    Уже проверял все, настройки и базу данных, но не могу понять, почему он его не видит.

     

  • 1.158, pavel (??), 18:53, 04/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Помогло добавление этих строчек,

    local_transport = virtual
    local_recipient_maps = $virtual_mailbox_maps

    но в чем проблема именно у меня я пока не понял. Кто знает поясните.

     
  • 1.159, pavel (??), 23:30, 04/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня опять проблема ((
    При SMTP авторизации выдает
    mail postfix/smtpd[1299]: SQL engine 'mysql' not supported
    mail postfix/smtpd[1299]: auxpropfunc error no mechanism available
    mail postfix/smtpd[1313]: SQL engine 'mysql' not supported
    mail postfix/smtpd[1313]: auxpropfunc error no mechanism available

    вот файл
    vi /usr/local/lib/sasl2/smtpd.conf
    pwcheck_method: auxprop
    log_level:9
    auxprop_plugin: sql
    sql_engine: pgsql
    sql_user: postfix
    sql_password: postfix
    sql_hostnames:127.0.0.1
    sql_database: mailbase
    sql_select: select smtppassword from user_accounts where smtplogin='%u'
    sql_verbose: yes

    наблюдается еще проблема, если не ставить в почтовом клиенте авторизацию, то письма легко проходят а, с ней (авторизацией) пишет ошибку описанную выше.. Помогите плизз

     
  • 1.161, Vladimir (??), 12:04, 27/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как можно отправить e-mail всем пользователям домена? Есть домен @pupkin.ru, нужно что письма дошли всем на у кого почта *@pupkin.ru.
    Почтовая система postfix.
     
  • 1.162, Georg Andreev (?), 10:51, 20/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В первую голову - спасибо автору статьи, удалось запустить почтовый сервисок на 30 юзеров как по нотам. Но ноты кончились, а кто нибудь ткнет носом как в данной схеме реализовать vacation? Или не так - как с этой схемы безболезненно перейти на LDAP?
     
  • 1.164, Tailer (?), 11:10, 08/10/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    #!/bin/sh
           PGPASSWORD=postgres
           export PGPASSWORD
           sudo -u pgsql /usr/local/pgsql/bin/psql -A -q -t -c \
            "insert into user_accounts values ('$1', '$2', '$3', '$4', '$5', '$6',
           '$7')" mailbase
    Выдает- /bin/sh: Event not found
    В чем проблема ?

     
  • 1.165, grandy (ok), 01:48, 05/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    доброго времени суток!
    У меня проблема следующего характера.
    При отправке писем на некоторые сервера(но не на все) происходит timeout  при доставке.
    Вот такое:
    (host solidbud.com[74.53.28.130] said: 421 firehawk.websitewelcome.com SMTP incoming data timeout - closing connection. (in reply to end of DATA command))
    (conversation with kms-ua.com[195.248.234.152] timed out while sending MAIL FROM)
    (lost connection with mx.strefa.interia.pl[217.74.64.36] while sending message body)
    (host mx2.id4.pl[194.114.145.8] said: 421 4.4.2 relay.id4.pl Error: timeout exceeded (in reply to MAIL FROM command))
    (conversation with alt1.gmail-smtp-in.l.google.com[209.85.129.114] timed out while sending end of data -- message may be sent more than once)

    Сначала думал что проблема в настройках Postfix'a и виставил вот такие значения переменных:
    smtp_connect_timeout = 300s
    smtp_data_done_timeout = 900s
    smtp_data_init_timeout = 300s
    smtp_data_xfer_timeout = 300s
    smtp_helo_timeout = 300s
    smtp_mail_timeout = 300s
    smtp_rcpt_timeout = 300s

    Но не помогло!
    Начал копать в сторону настроек сети, ставил в sysctl.conf такое:
    net.inet.tcp.rfc1323=0

    И то не помогло.

    Подскажыте пожалуйста где собака зарыта!
    Спасибо!

     
  • 1.166, grandy (ok), 12:25, 19/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тут давно уже нет никого! Если есть откликнитесь.
     
  • 1.167, KomaLex (ok), 07:43, 21/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня вопрос по сертификатам. Вот сделал я сертификат, как описанно в статье. Настроил все работает. По идее я думал этот сертификат нужно отдавать пользователю, у которого есть ящик на моем почтовом сервере. Настраиваю все так устанавливаю в клиент сертификат. А этот пользователь сам себе может письмо отправлять, а если я хочу отправить кому то другому письмо, то он пишет сертификата нет. Я наверно не совсем понял смысл этих сертификатов...
     
  • 1.168, Дамир (??), 12:44, 24/08/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Доброго времени суток, господа Админы!!!
    2.4. Courier-Imap 4.0.6.1 - из портов
    Courier-IMAP будет исполнять роль POP3 и IMAP сервера.
    cd /usr/ports/mail/courier-imap
    make install
    Опции установки - OPENSSL и AUTH_PGSQL...
    Опция AUTH_PGSQL есть,а опции OPENSSL нет...
    Это нармально ?!, если нет, то как быть... заранее благодарен...
     
     
  • 2.169, KomaLex (ok), 06:39, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Доброго времени суток, господа Админы!!!
    >2.4. Courier-Imap 4.0.6.1 - из портов
    >Courier-IMAP будет исполнять роль POP3 и IMAP сервера.
    >cd /usr/ports/mail/courier-imap
    >make install
    >Опции установки - OPENSSL и AUTH_PGSQL...
    >Опция AUTH_PGSQL есть,а опции OPENSSL нет...
    >Это нармально ?!, если нет, то как быть... заранее благодарен...

    Это нормально, поддержка в новых версиях включена по умолчанию.


     
     
  • 3.170, Дамир (??), 08:27, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>Доброго времени суток, господа Админы!!!
    >>2.4. Courier-Imap 4.0.6.1 - из портов
    >>Courier-IMAP будет исполнять роль POP3 и IMAP сервера.
    >>cd /usr/ports/mail/courier-imap
    >>make install
    >>Опции установки - OPENSSL и AUTH_PGSQL...
    >>Опция AUTH_PGSQL есть,а опции OPENSSL нет...
    >>Это нармально ?!, если нет, то как быть... заранее благодарен...
    >
    >Это нормально, поддержка в новых версиях включена по умолчанию.

    Благодарю за исчерпывающий, лаконичный ответ!!!
    С уваженим,

     

  • 1.171, Дамир (??), 14:13, 30/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Доброе времени суток Госода, Админы у меня следующая проблема --------------... текст свёрнут, показать
     

    лог модерирования

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру