The OpenNET Project / Index page

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

Qmail+VpopMail+DrWeb+SpamAssassin (linux mail qmail ssl virus virtual)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: linux, mail, qmail, ssl, virus, virtual,  (найти похожие документы)
From: Alexander V. Afanasenkov <someone@zmail.ru> Subject: Qmail+VpopMail+DrWeb+SpamAssassin Qmail + VpopMail + DrWeb + SpamAssassin Исходные данные: Slackware Linux 8.1 Требования: OpenSSL >= 0.9.6g MySQL >= 3.23.32 UCSPI-TCP Установка UCSPI-TCP сервера. Пакет UCSPI-TCP используется как альтернатива менее надежному и быстродействующему INETD. http://cr.yp.to/ucspi-tcp.html [root@earth tmp]# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz [root@earth tmp]# md5sum ucspi-tcp-0.88.tar.gz 39b619147db54687c4a583a7a94c9163 ucspi-tcp-0.88.tar.gz Для обеспечения правильной работы RBLSMTPD, применим ucspi-tcp-a_record патч. [root@earth tmp]# wget ftp://moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch [root@earth tmp]# md5sum ucspi-tcp-0.88.a_record.patch 554ec0eb60f619667efde3fb5325310d ucspi-tcp-0.88.a_record.patch Для обеспечения поддержки SSL, применим ucspi-tcp-ssl патч. [root@earth tmp]# wget http://www.nrg4u.com/qmail/ucspi-tcp-ssl-20020705.patch.gz [root@earth tmp]# md5sum ucspi-tcp-ssl-20020705.patch.gz 10d5074c18d00e5c62c76ce69d7c975b ucspi-tcp-ssl-20020705.patch.gz [root@earth tmp]# gunzip ucspi-tcp-ssl-20020705.patch.gz [root@earth tmp]# tar xzpf ucspi-tcp-0.88.tar.gz [root@earth tmp]# cd ucspi-tcp-0.88 [root@earth ucspi-tcp-0.88]# patch -p1 < ../ucspi-tcp-0.88.a_record.patch [root@earth ucspi-tcp-0.88]# patch -p0 < ../ucspi-tcp-ssl-20020705.patch Отредактируем conf-home, изменив: /usr/local на: /usr [root@earth ucspi-tcp-0.88]# make [root@earth ucspi-tcp-0.88]# make setup check На этом установка ucspi-tcp завершена, теперь можно удалить ненужные файлы. [root@earth /]# cd /tmp [root@earth tmp]# tm -tf * Пакет ucspi-tcp содержит множество небольших программ, в качестве примера мы рассмотрим работу tcpserver. Строка запуска выглядит следующим образом: [root@earth /]# tcpserver opts host port prog Где, "opts" параметры "host" имя хоста "port" порт "prog" программа Рассмотрим параметры tcpserver, которые стали доступны после применения ucspi-tcp-ssl патча. "-s" Разрешает использование SSL. "-n" Указывает путь к SSL сертификату. Пример: Запуск UW-IMAP с SSL. [root@earth /]# tcpserver -n /etc/ssl/certs/imaps.pem -s -DRH -u 81 -g 81 123.45.67.89 993 /usr/sbin/imapd В рассмотренном примере использовались следующие параметры: "-n" указываем путь к SSL сертификату. "-s" разрешаем использование SSL. "-D" включаем TCP_NODELAY. "-R" запрещаем поиск имени удаленного хоста в ДНС. "-H" запрещаем чтение TCPREMOTEINFO удаленного хоста. "-u" указываем идентификатор пользователя UID. "-g" указываем идентификатор группы GID. "123.45.67.89" IP адрес. "993" порт. Установка Qmail. Qmail - это небольшая, быстрая и безопасная программа пересылки почты. http://cr.yp.to/qmail.html http://www.ru.qmail.org [root@earth tmp]# wget http://cr.yp.to/software/qmail-1.03.tar.gz http://cr.yp.to/qmail/dist.html - MD5 хэш сумма [root@earth tmp]# md5sum qmail-1.03.tar.gz 622f65f982e380dbe86e6574f3abcb7c qmail-1.03.tar.gz Для обеспечения поддержки SMTP-AUTH, применим qmail-smtpd-auth патч. [root@earth tmp]# wget http://members.elysium.pl/brush/qmail-smtpd-auth/dist/qmail-smtpd-auth-0.31.tar.gz [root@earth tmp]# md5sum qmail-smtpd-auth-0.31.tar.gz 6b202f71a99fb41e9e32906017270ba0 qmail-smtpd-auth-0.31.tar.gz Для обеспечения отображения локальной временной зоны, применим qmail-date-localtime патч. [root@earth tmp]# wget ftp://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch [root@earth tmp]# md5sum qmail-date-localtime.patch d566e8bd99b33efee0194e855b8d6995 qmail-date-localtime.patch Для блокирования отправки письма, в случае если IP-адрес отправителя не имеет PTR-записи, применим badmailfrom-unknown патч. [root@earth tmp]# wget http://www.lamer.de/maex/creative/software/qmail/103-bmfunk/badmailunk.diff [root@earth tmp]# md5sum badmailunk.diff fbec64ee8bbd1a0442666ae6dea5bdbb badmailunk.diff Для обеспечения поддержки VpopMail Maildir Quota, применим qmail-maildir++ патч. [root@earth tmp]# wget http://www.shupp.org/patches/qmail-maildir++.patch [root@earth tmp]# md5sum qmail-maildir++.patch 7553829a93411cdaffce31a29323697f qmail-maildir++.patch Создаем пользователей необходимых для работы Qmail. [root@earth tmp]# groupadd -g 81 nofiles [root@earth tmp]# useradd -c "Mail Server" -d /var/qmail -g nofiles -s /bin/false -u 81 qmaild [root@earth tmp]# useradd -c "Mail Server" -d /var/qmail/alias -g nofiles -s /bin/false -u 82 alias [root@earth tmp]# useradd -c "Mail Server" -d /var/qmail -g nofiles -s /bin/false -u 86 qmaill [root@earth tmp]# useradd -c "Mail Server" -d /var/qmail -g nofiles -s /bin/false -u 87 qmailp [root@earth tmp]# groupadd -g 82 qmail [root@earth tmp]# useradd -c "Mail Server" -d /var/qmail -g qmail -s /bin/false -u 83 qmailq [root@earth tmp]# useradd -c "Mail Server" -d /var/qmail -g qmail -s /bin/false -u 84 qmailr [root@earth tmp]# useradd -c "Mail Server" -d /var/qmail -g qmail -s /bin/false -u 85 qmails Отредактируем /etc/shells добавив строку: /bin/false [root@earth tmp]# tar xzpf qmail-1.03.tar.gz [root@earth tmp]# tar xzpf qmail-smtpd-auth-0.31.tar.gz [root@earth tmp]# cd qmail-smtpd-auth-0.31 [root@earth qmail-smtpd-auth-0.31]# cp auth.patch ../qmail-1.03/ [root@earth qmail-smtpd-auth-0.31]# cp base64.c ../qmail-1.03/ [root@earth qmail-smtpd-auth-0.31]# cp base64.h ../qmail-1.03/ [root@earth qmail-smtpd-auth-0.31]# cd ../qmail-1.03/ [root@earth qmail-1.03]# patch -p0 < auth.patch [root@earth qmail-1.03]# patch -p1 < ../qmail-date-localtime.patch [root@earth qmail-1.03]# patch -p1 < ../badmailunk.diff [root@earth qmail-1.03]# patch -p1 < ../qmail-maildir++.patch [root@earth qmail-1.03]# mkdir /var/qmail [root@earth qmail-1.03]# chown root.qmail /var/qmail [root@earth qmail-1.03]# mkdir -p /etc/mail/alias [root@earth qmail-1.03]# mkdir -p /etc/mail/control [root@earth qmail-1.03]# mkdir -p /etc/mail/users [root@earth qmail-1.03]# ln -fs /etc/mail/alias /var/qmail [root@earth qmail-1.03]# ln -fs /etc/mail/control /var/qmail [root@earth qmail-1.03]# ln -fs /etc/mail/users /var/qmail [root@earth qmail-1.03]# ln -fs /usr/bin /var/qmail/bin [root@earth qmail-1.03]# ln -fs /usr/man /var/qmail/man [root@earth qmail-1.03]# make [root@earth qmail-1.03]# make setup check [root@earth qmail-1.03]# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail [root@earth qmail-1.03]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail [root@earth qmail-1.03]# ./config Your hostname is earth Your host's fully qualified name in DNS is earth.mydomain.org. Putting earth.mydomain.org into control/me... Putting mydomain.org into control/defaultdomain... Putting mydomain.org into control/plusdomain... Checking local IP addresses: 127.0.0.1: Adding localhost to control/locals... 123.45.67.89: Adding earth.mydomain.org to control/locals... If there are any other domain names that point to you, you will have to add them to /var/qmail/control/locals. You don't have to worry about aliases, i.e., domains with CNAME records. Copying /var/qmail/control/locals to /var/qmail/control/rcpthosts... Now qmail will refuse to accept SMTP messages except to those hosts. Make sure to change rcpthosts if you add hosts to locals or virtualdomains! В случае, если Вы получили сообщение об ошибке похожее на: Your hostname is earth. hard error Sorry, I couldn't find your host's canonical name in DNS. You will have to set up control/me yourself. То тогда попробуйте выполнить следующее: [root@earth qmail-1.03]# ./config-fast earth.mydomain.org После этого приступим к настройке Qmail. Файл /var/qmail/control/me имеет следующий вид: earth.mydomain.org В файл /var/qmail/control/locals добавим строку: mydomain.org После этого файл /var/qmail/control/locals имеет вид: localhost mydomain.org earth.mydomain.org В файл /var/qmail/control/rcpthosts добавим строку: mydomain.org После этого файл /var/qmail/control/rcpthosts имеет вид: localhost mydomain.org earth.mydomain.org Файл /var/qmail/control/defaultdomain содержит: mydomain.org Файл /var/qmail/control/plusdomain содержит: mydomain.org Создаем файл /var/qmail/control/defaulthost добавив в него строку: mydomain.org Создаем файл /var/qmail/control/badmailfrom-unknown http://www.lamer.de/maex/creative/software/qmail/103-bmfunk/ При отправке письма происходит проверка на наличие PTR-записи для IP-адреса отправителя. В случае, если этот IP-адрес не имеет такой записи - письмо блокируется. Создаем файл /etc/mail/dot-qmail, добавив в него строку: ./Maildir/ [root@earth /]# chmod 511 /etc/mail/dot-qmail [root@earth /]# chown root.root /etc/mail/dot-qmail На данном этапе установка и настройка Qmail окончена, теперь можно удалить ненужные файлы. Установка VpopMail. VpopMail - это вспомогательная программа обеспечивающая управление почтовыми ящиками при помощи технологии виртуальных доменов без заведения системных аккаунтов. http://inter7.com/vpopmail [root@earth tmp]# wget http://inter7.com/vpopmail/vpopmail-5.2.1.tar.gz [root@earth tmp]# md5sum vpopmail-5.2.1.tar.gz 1e299a467db955c95c2966c7aa0ef6e5 vpopmail-5.2.1.tar.gz Создаем пользователя необходимого для работы VpopMail. [root@earth tmp]# groupadd -g 83 vchkpw [root@earth tmp]# useradd -c "VMail Server" -g 83 -s /bin/false -u 88 vpopmail [root@earth tmp]# mkdir -p /home/vpopmail [root@earth tmp]# chown 88.83 /home/vpopmail [root@earth tmp]# tar xzpf vpopmail-5.2.1.tar.gz [root@earth tmp]# cd vpopmail-5.2.1 Отредактируем файл vmysql.h изменив следующие значения: #define MYSQL_UPDATE_USER "root" на: #define MYSQL_UPDATE_USER "vpopmail" #define MYSQL_UPDATE_PASSWD "secret" на: #define MYSQL_UPDATE_PASSWD "my_password" #define MYSQL_READ_USER "root" на: #define MYSQL_READ_USER "vpopmail" #define MYSQL_READ_PASSWD "secret" на: #define MYSQL_READ_PASSWD "my_password" После этого выполним следующее: [root@earth vpopmail-5.2.1]# mysqladmin -u root create vpopmail -p Enter password: [root@earth vpopmail-5.2.1]# mysql -u root mysql -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 3.23.49-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> GRANT ALL PRIVILEGES ON vpopmail.* TO vpopmail@localhost -> IDENTIFIED BY 'my_password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> \q Bye Теперь приступим к сборке VpopMail. [root@earth vpopmail-5.2.1]# ./configure \ --enable-auth-logging=y \ --enable-logging=p \ --enable-default-domain=mydomain.org \ --enable-incdir=/usr/include/mysql \ --enable-libdir=/usr/lib/mysql \ --enable-mysql=y \ --enable-valias=y \ --enable-defaultquota=15000000S vpopmail 5.2.1 Current settings --------------------------------------- vpopmail directory = /home/vpopmail uid = 88 gid = 83 ip alias = OFF --enable-ip-alias-domains=n (default) address extentions = OFF --enable-qmail-ext=n (default) roaming users = OFF --enable-roaming-users=n default user quota = 15000000S -enable-hardquota=15000000S auth module = mysql --enable-mysql=y mysql replication = OFF --enable-mysql-replication=n default table optimization = many domains --enable-many-domains=y default system passwords = OFF --enable-passwd=n default file locking = ON --enable-file-locking=y default file sync = OFF --enable-file-sync=n default disable vdelivermail fsync auth logging = ON --enable-auth-logging=y default mysql logging = OFF --enable-mysql-logging=n default clear passwd = ON --enable-clear-passwd=y (default) valias processing = ON --enable-valias=y pop syslog = show failure attempts with clear text password --enable-logging=p default domain = mydomain.org --enable-default-domain=mydomain.org auth inc = -I/usr/include/mysql auth lib = -L/usr/lib/mysql -lmysqlclient -lz Где, --enable-auth-logging=y - включаем протоколирование аутентификации. --enable-logging=p - протоколирование неудачной попытки аутентификации с отображением введенного пароля. --enable-default-domain=mydomain.org - указываем домен по умолчанию. --enable-incdir=/usr/include/mysql - указываем путь к заголовкам MySQL (достигается путем выполнения mysql_config). --enable-libdir=/usr/lib/mysql - указываем путь к библиотекам MySQL (достигается путем выполнения mysql_config). --enable-mysql=y - включаем поддержку MySQL. --enable-valias=y - включаем поддержку виртуальных aliases. --enable-defaultquota=15000000S - указываем значение квоты по умолчанию (15Мб) [root@earth vpopmail-5.2.1]# make [root@earth vpopmail-5.2.1]# make install-strip После этого приступим к настройке VpopMail. [root@earth vpopmail-5.2.1]# cd /home/vpopmail/bin Первым делом мы должны создать домен. [root@earth bin]# ./vadddomain mydomain.org Please enter password for postmaster: enter password again: Для того чтобы сообщения посланные на earth.mydomain.org, как правило это bounce сообщения, доставлялись не локально а виртуально, выполним следующее: [root@earth bin]# ./vaddaliasdomain earth.mydomain.org mydomain.org После создания виртуальных доменов, приступим к созданию виртуальных пользователей, для этого сделаем следующее: [root@earth bin]# ./vadduser sysadmin@mydomain.org Please enter password for sysadmin: enter password again: Пользователь sysadmin предполагаемый администратор системы. Для просмотра информации о пользователе выполним следующее: [root@earth bin]# ./vuserinfo sysadmin name: sysadmin passwd: $1$YZ8Lf$AUxHEbUTAM2GfZ0ISgdap. clear passwd: test uid: 0 gid: 0 all services available dir: /home/vpopmail/domains/mydomain.org/sysadmin quota: 15000000S usage: 0% account created: Thu Nov 13 14:41:23 2002 last auth: Never logged in В приведенном примере, размер почтового ящика пользователя составляет 15Мб, об этом нам сообщает строка "quota: 15000000S", в случае превышения размера установленной квоты, все приходящие сообщения будут удаляться, для того чтобы уведомить пользователя почтового ящика, а так же тех кто посылает на переполненный ящик письма, мы должны создать файлы .quotawarn.msg и .over-quota.msg, для этого выполним следующее: Создаем файл /home/vpopmail/domains/.quotawarn.msg следующего содержания: From: Postmaster <postmaster@mydomain.org> Reply-To: postmaster@mydomain.org Organization: My Organization To: User:; Subject: Mail quota exceeding MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Dear User, The size of your mailbox has exceeded a warning threshold, that is set by the system administrator. Please contact our IT Department: email: sysadmin@mydomain.org Tel. : +7 (095) 753-xxxx ___ Уважаемый Пользователь! Размер Вашего почтового ящика превысил допустимый порог, который установлен администратором системы. За разъяснениями обратитесь в отдел Информационных Технологий: email: sysadmin@mydomain.org Tel. : +7 (095) 753-xxxx Создаем файл /home/vpopmail/domains/.over-quota.msg следующего содержания: Message rejected. Not enough storage space in user's mailbox to accept message. После этого присвоим соответсвующие права этим файлам, для этого выполним следующее: [root@earth bin]# chown vpopmail.vchkpw /home/vpopmail/domains/.*msg Для просмотра информации о домене, выполним следующее: [root@earth bin]# ./vdominfo earth.mydomain.org domain: mydomain.org uid: 88 gid: 83 dir: /home/vpopmail/domains/mydomain.org users: 2 или [root@earth bin]# ./vdominfo mydomain.org domain: mydomain.org uid: 88 gid: 83 dir: /home/vpopmail/domains/mydomain.org users: 2 В показанном примере earth.mydomain.org ссылается на mydomain.org, поэтому в обоих случаях мы видим одну и ту же информацию, это достигнуто благодаря выполненному ранее vaddaliasdomain. Во время создания домена, нам предлагают ввести пароль для пользователя postmaster, т.к. мы планируем использовать alias'ы этот пользователь нам больше не нужен, поэтому смело его удаляем, выполнив следующую команду: [root@earth bin]# ./vdeluser postmaster@mydomain.org После этого создаем alias'ы для пользователей postmaster, mailer-daemon и root. [root@earth bin]# ./valias -i sysadmin postmaster [root@earth bin]# ./valias -i sysadmin mailer-daemon [root@earth bin]# ./valias -i sysadmin root Для проверки правильности созданных alias'ов, выполним: [root@earth bin]# ./valias -s mydomain.org postmaster@mydomain.org -> sysadmin mailer-daemon@mydomain.org -> sysadmin root@mydomain.org -> sysadmin На этом этапе установка и настройка VpopMail завершена, теперь можно удалить ненужные файлы. Для того чтобы можно было использовать защищенное соединение SSL, нужно сделать следующее: [root@earth /]# cd /etc/ssl [root@earth ssl]# openssl req -new -x509 -nodes -days 365 -out tmp.pem Using configuration from /etc/ssl/openssl.cnf Generating a 1024 bit RSA private key ..................................++++++ .....................++++++ writing new private key to 'privkey.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [RU]: State or Province Name (full name) [RU]: Locality Name (eg, city) [Moscow]: Organization Name (eg, company) [My Organization]: Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) [earth.mydomain.org]: Email Address [sysadmin@mydomain.org]: [root@earth ssl]# cat tmp.pem >> privkey.pem [root@earth ssl]# cp privkey.pem certs/smtps.pem [root@earth ssl]# mv privkey.pem certs/pop3s.pem [root@earth ssl]# chmod 400 certs/smtps.pem [root@earth ssl]# chmod 400 certs/pop3s.pem [root@earth ssl]# rm -f tmp.pem Создаем файл запуска /etc/rc.d/rc.qmail следующего содержания: #!/bin/bash # [ -f /usr/bin/qmail-send ] || exit 0 start() { echo -n "Starting Qmail: " qmail-start "`cat /etc/mail/dot-qmail`" splogger qmail & # SMTP-AUTH tcpserver -p -DRHl localhost -u 88 -g 83 0.0.0.0 25 /usr/bin/tcp-env \ tcp-env /usr/bin/qmail-smtpd `hostname -f` /home/vpopmail/bin/vchkpw /bin/true & # SMTP-AUTH w/RBL's # tcpserver -p -DRHl localhost -u 88 -g 83 0.0.0.0 25 /usr/bin/tcp-env \ # tcp-env rblsmtpd -rlist.dsbl.org -rrelays.osirusoft.com \ # /usr/bin/qmail-smtpd `hostname -f` /home/vpopmail/bin/vchkpw /bin/true & # SMTP-AUTH w/SSL tcpserver -n /etc/ssl/certs/smtps.pem \ -s -p -DRHl localhost -u 88 -g 83 0.0.0.0 465 /usr/bin/tcp-env \ tcp-env /usr/bin/qmail-smtpd `hostname -f` /home/vpopmail/bin/vchkpw /bin/true & # POP3 tcpserver -DRHl localhost -u 88 -g 83 0.0.0.0 110 /usr/bin/qmail-popup \ `hostname -f` /home/vpopmail/bin/vchkpw /usr/bin/qmail-pop3d \ 5>>/var/log/maillog Maildir & # POP3 w/SSL tcpserver -n /etc/ssl/certs/pop3s.pem \ -s -DRHl localhost -u 88 -g 83 0.0.0.0 995 /usr/bin/qmail-popup \ `hostname -f` /home/vpopmail/bin/vchkpw /usr/bin/qmail-pop3d Maildir & touch /var/lock/subsys/qmail } stop() { echo -n "Shutting down Qmail: " killall qmail-send killall tcpserver rm -f /var/lock/subsys/qmail } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac [root@earth ssl]# chmod +x /etc/rc.d/rc.qmail Отредактируем файл /etc/rc.d/rc.M изменив следующую строку: # Start the sendmail daemon: if [ -x /usr/sbin/sendmail ]; then /usr/sbin/sendmail -bd -q15m fi на: # Start the Qmail daemon: if [ -x /etc/rc.d/rc.qmail ]; then /etc/rc.d/rc.qmail start fi Проверим работу Qmail, выполнив следующее: [root@earth /]# /etc/rc.d/rc.qmail start [root@earth /]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 220 earth.mydomain.org ESMTP ehlo 250-earth.mydomain.org 250-AUTH LOGIN CRAM-MD5 PLAIN 250-AUTH=LOGIN CRAM-MD5 PLAIN 250-PIPELINING 250 8BITMIME quit 221 earth.mydomain.org Connection closed by foreign host. [root@earth /]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 220 earth.mydomain.org ESMTP helo test.ru 250 earth.mydomain.org mail from: test@test.ru 250 ok rcpt to: sysadmin@mydomain.org 250 ok data 354 go ahead Hello! . 250 ok 1047563980 qp 15998 quit 221 earth.mydomain.org Connection closed by foreign host. [root@earth /]# tail /var/log/maillog Nov 13 16:58:41 earth qmail: 1047563921.810421 status: local 0/10 remote 0/20 Nov 13 16:59:40 earth qmail: 1047563980.275963 new msg 26657 Nov 13 16:59:40 earth qmail: 1047563980.276639 info msg 26657: bytes 180 from <test@test.ru> qp 15998 uid 88 Nov 13 16:59:40 earth qmail: 1047563980.361960 starting delivery 1: msg 26657 to local mydomain.org-sysadmin@mydomain.org Nov 13 16:59:40 earth qmail: 1047563980.362403 status: local 1/10 remote 0/20 Nov 13 16:59:40 earth qmail: 1047563980.419975 delivery 1: success: did_0+0+1/ Nov 13 16:59:40 earth qmail: 1047563980.420186 status: local 0/10 remote 0/20 Nov 13 16:59:40 earth qmail: 1047563980.420265 end msg 26657 [root@earth /]# telnet localhost 110 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. +OK <16004.1047564474@earth.mydomain.org> user sysadmin +OK pass test +OK list +OK 1 248 . quit +OK Connection closed by foreign host. [root@earth /]# openssl OpenSSL> s_client -host localhost -port 465 -crlf CONNECTED(00000003) depth=0 /C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org verify error:num=18:self signed certificate verify return:1 depth=0 /C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org verify return:1 --- Certificate chain 0 s:/C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org i:/C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org --- Server certificate -----BEGIN CERTIFICATE----- MIIDcTCCAtqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBiDELMAkGA1UEBhMCUlUx CzAJBgNVBAgTAlJVMQ8wDQYDVQQHEwZNb3Njb3cxGDAWBgNVBAoTD015IE9yZ2Fu aXphdGlvbjEbMBkGA1UEAxMSZWFydGgubXlkb21haW4ub3JnMSQwIgYJKoZIhvcN AQkBFhVzeXNhZG1pbkBteWRvbWFpbi5vcmcwHhcNMDMwMzE0MDYxMzE1WhcNMDQw MzEzMDYxMzE1WjCBiDELMAkGA1UEBhMCUlUxCzAJBgNVBAgTAlJVMQ8wDQYDVQQH EwZNb3Njb3cxGDAWBgNVBAoTD015IE9yZ2FuaXphdGlvbjEbMBkGA1UEAxMSZWFy dGgubXlkb21haW4ub3JnMSQwIgYJKoZIhvcNAQkBFhVzeXNhZG1pbkBteWRvbWFp bi5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANo6ebS1nFZlLcPjOOVU aoWKs+S99OtydYQrNME2C2OHrFromnLdTzBWWBBCkVzF+bfUfTi+NeGk1h5K9tvK tVWgAMikhxB4bvJa97ACeEv4TQt2v1DHAOruCyOdVV0AKz5YIJ7K74kEsdMcdqWi xDaUSgkgzcpVoBwCiTffmxrBAgMBAAGjgegwgeUwHQYDVR0OBBYEFJMtbzFyIfU2 n7rlo4LqDZNB28+mMIG1BgNVHSMEga0wgaqAFJMtbzFyIfU2n7rlo4LqDZNB28+m oYGOpIGLMIGIMQswCQYDVQQGEwJSVTELMAkGA1UECBMCUlUxDzANBgNVBAcTBk1v c2NvdzEYMBYGA1UEChMPTXkgT3JnYW5pemF0aW9uMRswGQYDVQQDExJlYXJ0aC5t eWRvbWFpbi5vcmcxJDAiBgkqhkiG9w0BCQEWFXN5c2FkbWluQG15ZG9tYWluLm9y Z4IBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAGKwSK+C2YgB7e1K QUIzuz9mfRRQqSbwesJotVVSE47A/Z9Q9EdaggqiuggdSZwxNMs2Wkg0phBveiwu 8A2bEIQ4luv5Ob0UPSPBUwmOV2pg+C2AyBdECu9oFz6IzpeobSzLnUbzFBfqiDIf Xcs7ZlDwhJifJiNOj7+hJqWOENgj -----END CERTIFICATE----- subject=/C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org issuer=/C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org --- No client certificate CA names sent --- SSL handshake has read 1039 bytes and written 320 bytes --- New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA Server public key is 1024 bit SSL-Session: Protocol : TLSv1 Cipher : DES-CBC3-SHA Session-ID: DA29375FBE57AA725B9FC08703032928C9DD07C9F2D841BF0E71B2AD44D4ACC4 Session-ID-ctx: Master-Key: 9C24572D643A758179C28EECCD7A554984FFF89A882A938EB1EDAFD7B515B14DC7FFD1B7376135C90C6E4C317EE1B958 Key-Arg : None Start Time: 1047625199 Timeout : 300 (sec) Verify return code: 18 (self signed certificate) --- 220 earth.mydomain.org ESMTP helo test.ru 250 earth.mydomain.org mail from:test@test.ru 250 ok rcpt to:sysadmin@mydomain.org 250 ok data 354 go ahead Hello! . 250 ok 1047625241 qp 16250 quit 221 earth.mydomain.org read:errno=0 OpenSSL> quit [root@earth /]# tail /var/log/maillog Nov 14 10:00:41 earth qmail: 1047625241.428757 new msg 26657 Nov 14 10:00:41 earth qmail: 1047625241.429032 info msg 26657: bytes 185 from <test@test.ru> qp 16250 uid 88 Nov 14 10:00:41 earth qmail: 1047625241.540429 starting delivery 3: msg 26657 to local mydomain.org-sysadmin@mydomain.org Nov 14 10:00:41 earth qmail: 1047625241.540589 status: local 1/10 remote 0/20 Nov 14 10:00:41 earth qmail: 1047625241.596982 delivery 3: success: did_0+0+1/ Nov 14 10:00:41 earth qmail: 1047625241.597193 status: local 0/10 remote 0/20 Nov 14 10:00:41 earth qmail: 1047625241.597272 end msg 26657 [root@earth /]# openssl OpenSSL> s_client -host localhost -port 995 CONNECTED(00000003) depth=0 /C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org verify error:num=18:self signed certificate verify return:1 depth=0 /C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org verify return:1 --- Certificate chain 0 s:/C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org i:/C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org --- Server certificate -----BEGIN CERTIFICATE----- MIIDcTCCAtqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBiDELMAkGA1UEBhMCUlUx CzAJBgNVBAgTAlJVMQ8wDQYDVQQHEwZNb3Njb3cxGDAWBgNVBAoTD015IE9yZ2Fu aXphdGlvbjEbMBkGA1UEAxMSZWFydGgubXlkb21haW4ub3JnMSQwIgYJKoZIhvcN AQkBFhVzeXNhZG1pbkBteWRvbWFpbi5vcmcwHhcNMDMwMzE0MDYxMzE1WhcNMDQw MzEzMDYxMzE1WjCBiDELMAkGA1UEBhMCUlUxCzAJBgNVBAgTAlJVMQ8wDQYDVQQH EwZNb3Njb3cxGDAWBgNVBAoTD015IE9yZ2FuaXphdGlvbjEbMBkGA1UEAxMSZWFy dGgubXlkb21haW4ub3JnMSQwIgYJKoZIhvcNAQkBFhVzeXNhZG1pbkBteWRvbWFp bi5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANo6ebS1nFZlLcPjOOVU aoWKs+S99OtydYQrNME2C2OHrFromnLdTzBWWBBCkVzF+bfUfTi+NeGk1h5K9tvK tVWgAMikhxB4bvJa97ACeEv4TQt2v1DHAOruCyOdVV0AKz5YIJ7K74kEsdMcdqWi xDaUSgkgzcpVoBwCiTffmxrBAgMBAAGjgegwgeUwHQYDVR0OBBYEFJMtbzFyIfU2 n7rlo4LqDZNB28+mMIG1BgNVHSMEga0wgaqAFJMtbzFyIfU2n7rlo4LqDZNB28+m oYGOpIGLMIGIMQswCQYDVQQGEwJSVTELMAkGA1UECBMCUlUxDzANBgNVBAcTBk1v c2NvdzEYMBYGA1UEChMPTXkgT3JnYW5pemF0aW9uMRswGQYDVQQDExJlYXJ0aC5t eWRvbWFpbi5vcmcxJDAiBgkqhkiG9w0BCQEWFXN5c2FkbWluQG15ZG9tYWluLm9y Z4IBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAGKwSK+C2YgB7e1K QUIzuz9mfRRQqSbwesJotVVSE47A/Z9Q9EdaggqiuggdSZwxNMs2Wkg0phBveiwu 8A2bEIQ4luv5Ob0UPSPBUwmOV2pg+C2AyBdECu9oFz6IzpeobSzLnUbzFBfqiDIf Xcs7ZlDwhJifJiNOj7+hJqWOENgj -----END CERTIFICATE----- subject=/C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org issuer=/C=RU/ST=RU/L=Moscow/O=My Organization/CN=earth.mydomain.org/Email=sysadmin@mydomain.org --- No client certificate CA names sent --- SSL handshake has read 1039 bytes and written 320 bytes --- New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA Server public key is 1024 bit SSL-Session: Protocol : TLSv1 Cipher : DES-CBC3-SHA Session-ID: 18441A080001955FEA1CE894EB4AEC09E9220E2B8D0B646FEFA2B5BBC913CE82 Session-ID-ctx: Master-Key: B831ECB0E00BD7A7A8346C4A7180F69DFA486EE608319F4C528C792A10F730BE15A66BCB5ED66851E9623D4A1FA2C974 Key-Arg : None Start Time: 1047626005 Timeout : 300 (sec) Verify return code: 18 (self signed certificate) --- +OK <16279.1047626005@earth.mydomain.org> user sysadmin +OK pass test +OK list +OK 1 248 2 253 . quit +OK read:errno=0 OpenSSL> quit На этом этапе установку и настройку Qmail+VpopMail можно считать полностью завершенной. Установка DrWeb. DrWeb - это простая, гибкая и надежная антивирусная программа. http://www.drweb.ru/unix/ [root@earth /]# cd /tmp [root@earth tmp]# wget ftp://ftp.drweb.ru/pub/unix/drweb-4.29.2-glibc.2.3.tar.gz [root@earth tmp]# md5sum drweb-4.29.2-glibc.2.3.tar.gz b0974ca6541b2dfee47fa0fed7ccb6f3 drweb-4.29.2-glibc.2.3.tar.gz [root@earth tmp]# wget ftp://ftp.drweb.ru/pub/unix/drweb-qmail-4.29.10-linux.tar.gz [root@earth tmp]# md5sum drweb-qmail-4.29.10-linux.tar.gz 5715c1f560b91c2a6f3563eff94782cf drweb-qmail-4.29.10-linux.tar.gz Создаем пользователя необходимого для работы DrWeb. [root@earth tmp]# useradd -c "DrWeb AntiVir" -d /var/drweb -g nofiles -s /bin/false -u 45 drweb [root@earth tmp]# cd /etc [root@earth etc]# mkdir init.d [root@earth etc]# for i in {0,1,2,3,4,5,6}; do mkdir rc$i.d; done [root@earth etc]# cd /tmp [root@earth tmp]# tar xzpf drweb-4.29.2-glibc.2.3.tar.gz [root@earth tmp]# cd drweb-4.29.2-glibc.2.2 [root@earth drweb-4.29.2-glibc.2.2]# ./install.sh Enter destination directory (/opt/drweb is default): Select interface language: 0) english 1) russian 0 Dr.Web is installed to /opt/drweb. Edit /drweb32.ini to complete setup. После этого, отредактируем конфигурационный /etc/drweb/drweb32.ini файл, изменив: ;User = drweb на: User = drweb [root@earth drweb-4.29.2-glibc.2.2]# cd ../ [root@earth tmp]# tar xzpf drweb-qmail-4.29.10-linux.tar.gz [root@earth tmp]# cp -r drweb-qmail/etc/drweb/* /etc/drweb/ [root@earth tmp]# cp -r drweb-qmail/opt/drweb/doc/* /opt/drweb/doc/ [root@earth tmp]# cp -r drweb-qmail/opt/drweb/qmail-* /opt/drweb/ После этого, отредактируем конфигурационный /etc/drweb/drweb_qmail.conf файл, изменив: AdminMail = av-master@example.com на: AdminMail = sysadmin@mydomain.org FilterMail = DrWEB-DAEMON@example.com на: FilterMail = MAILER-DAEMON@mydomain.org [root@earth tmp]# /etc/rc.d/rc.qmail stop [root@earth tmp]# mv /var/qmail/bin/qmail-queue /var/qmail/bin/qmail-queue.original [root@earth tmp]# cp /opt/drweb/qmail-queue /var/qmail/bin/ [root@earth tmp]# chown drweb.qmail /var/qmail/bin/qmail-queue [root@earth tmp]# chmod 4711 /var/qmail/bin/qmail-queue [root@earth tmp]# chown -R drweb.nofiles /var/drweb/ [root@earth tmp]# chmod 744 /var/drweb/bases/ [root@earth tmp]# chmod 744 /var/drweb/log/ [root@earth tmp]# chmod 744 /var/drweb/run/ [root@earth tmp]# chmod 774 /var/drweb/infected/ [root@earth tmp]# chmod 774 /var/drweb/spool/ [root@earth tmp]# cp /etc/init.d/drwebd /etc/rc.d/rc.drweb Отредактируем файл /etc/rc.d/rc.M добавив перед запуском Qmail следующую строку: # DrWeb daemon if [ -x /etc/rc.d/rc.drweb ]; then /etc/rc.d/rc.drweb start fi [root@earth tmp]# /etc/rc.d/rc.drweb start Dr.Web (R) daemon for Linux, version 4.29.2 (November 5, 2002) Copyright (c) Igor Daniloff, 1992-2002 Daniloff's Labs and DialogueScience http://www.drweb.ru, support@drweb.ru: +7 (812) 387-64-08 http://www.dials.ru, antivir@dials.ru: +7 (095) 137-01-50 Key file: /opt/drweb/drwebd.key Registration info: 0100005168 Evaluation Key (ID Anti-Virus Lab. Ltd, St.Petersburg) This is an EVALUATION version with limited functionality! To get your registration key, call regional dealer. Loading /var/drweb/bases/drwtoday.vdb - Ok, virus records: 179 Loading /var/drweb/bases/drw42920.vdb - Ok, virus records: 147 Loading /var/drweb/bases/drw42919.vdb - Ok, virus records: 178 Loading /var/drweb/bases/drw42918.vdb - Ok, virus records: 206 Loading /var/drweb/bases/drw42917.vdb - Ok, virus records: 232 Loading /var/drweb/bases/drw42916.vdb - Ok, virus records: 352 Loading /var/drweb/bases/drw42915.vdb - Ok, virus records: 191 Loading /var/drweb/bases/drw42914.vdb - Ok, virus records: 282 Loading /var/drweb/bases/drw42913.vdb - Ok, virus records: 157 Loading /var/drweb/bases/drw42912.vdb - Ok, virus records: 348 Loading /var/drweb/bases/drw42911.vdb - Ok, virus records: 351 Loading /var/drweb/bases/drw42910.vdb - Ok, virus records: 223 Loading /var/drweb/bases/drw42909.vdb - Ok, virus records: 207 Loading /var/drweb/bases/drw42908.vdb - Ok, virus records: 236 Loading /var/drweb/bases/drw42907.vdb - Ok, virus records: 176 Loading /var/drweb/bases/drw42906.vdb - Ok, virus records: 293 Loading /var/drweb/bases/drw42905.vdb - Ok, virus records: 326 Loading /var/drweb/bases/drw42904.vdb - Ok, virus records: 532 Loading /var/drweb/bases/drw42903.vdb - Ok, virus records: 152 Loading /var/drweb/bases/drw42902.vdb - Ok, virus records: 193 Loading /var/drweb/bases/drw42901.vdb - Ok, virus records: 57 Loading /var/drweb/bases/drwebase.vdb - Ok, virus records: 31578 Daemon is installed, TCP socket created on port 3000 [root@earth tmp]# /etc/rc.d/rc.qmail start Автоматизируем процесс обновления вирусных баз DrWeb. [root@earth tmp]# wget http://cpan.org/modules/by-module/String/String-CRC32-1.2.tar.gz [root@earth tmp]# md5sum String-CRC32-1.2.tar.gz 94b13443eac7241a323a876da95ac1c0 String-CRC32-1.2.tar.gz [root@earth tmp]# tar xzpf String-CRC32-1.2.tar.gz [root@earth tmp]# cd String-CRC32-1.2 [root@earth String-CRC32-1.2]# perl Makeperl.PL [root@earth String-CRC32-1.2]# make [root@earth String-CRC32-1.2]# make test [root@earth String-CRC32-1.2]# make install [root@earth String-CRC32-1.2]# crontab -e Указываем запуск скрипта обновления каждый день в 4-ре часа утра. 0 4 * * * /opt/drweb/update/update.pl Для проверки DrWeb, воспользуемся любой почтовой программой, к новому сообщению прикрепим вирусный файл, после чего отправим любому из пользователей. В итоге, отправитель вирусного сообщения получит сообщение вида: Уважаемый Отправитель test@mydomain.org ! Сообщение, отправленное с Вашего адреса (возможно вирусом с другого компьютера) по адресу(ам) test@test.ru инфицировано и не было доставлено. --- Dr.Web report --- Найден(ы) следующий(е) вирус(ы): infected with Win95.CIH.1035 Детализированный отчет Dr.Web: drweb.tmp_6ZrqOx/[text/plain] - Ok drweb.tmp_6ZrqOx/cih.zip - archive ZIP drweb.tmp_6ZrqOx/cih.zip/Win95. CIH.txt - Ok drweb.tmp_6ZrqOx/cih.zip/Win95.CIH.doc - Ok drweb.tmp_6ZrqOx/cih.zip/CIH.#XE infected with Win95.CIH.1035 Статистика сканирования Dr.Web: Infected : 1 --- Dr.Web report --- Ваше сообщение сохранено в карантине под именем: drweb.quarantined_1HAVco Чтобы получить это сообщение, обратитесь к администратору по адресу <sysadmin@mydomain.org>, указав имя, под которым Ваше сообщение сохранено в карантине. --- Антивирусная защита почтовых серверов Dr.Web(R) Daemon for Unix (разработан в Daniloff's Labs) (http://www.drweb.ru, http://www.DialogNauka.ru) Администратор системы получит уведомление вида: Уважаемый Администратор ! Следующее сообщение инфицировано и не было доставлено. Оправитель = test@mydomain.org (возможно подделан) Получатели = test@test.ru Тема = Проверка DrWeb! Идентификатор = <126230840241.20030314125129@mydomain.org> --- Dr.Web report --- Найден(ы) следующий(е) вирус(ы): infected with Win95.CIH.1035 Детализированный отчет Dr.Web: drweb.tmp_6ZrqOx/[text/plain] - Ok drweb.tmp_6ZrqOx/cih.zip - archive ZIP drweb.tmp_6ZrqOx/cih.zip/Win95. CIH.txt - Ok drweb.tmp_6ZrqOx/cih.zip/Win95.CIH.doc - Ok drweb.tmp_6ZrqOx/cih.zip/CIH.#XE infected with Win95.CIH.1035 Статистика сканирования Dr.Web: Infected : 1 --- Dr.Web report --- Сообщение сохранено в карантине под именем: drweb.quarantined_1HAVco Тот кому предназначалось это письмо получит сообщение вида: Уважаемый Получатель ! Сообщение, посланное Вам с адреса test@mydomain.org (возможно подделан) инфицировано и не было доставлено. --- Dr.Web report --- Найден(ы) следующий(е) вирус(ы): infected with Win95.CIH.1035 Детализированный отчет Dr.Web: drweb.tmp_6ZrqOx/[text/plain] - Ok drweb.tmp_6ZrqOx/cih.zip - archive ZIP drweb.tmp_6ZrqOx/cih.zip/Win95. CIH.txt - Ok drweb.tmp_6ZrqOx/cih.zip/Win95.CIH.doc - Ok drweb.tmp_6ZrqOx/cih.zip/CIH.#XE infected with Win95.CIH.1035 Статистика сканирования Dr.Web: Infected : 1 --- Dr.Web report --- Сообщение сохранено в карантине под именем: drweb.quarantined_1HAVco Чтобы получить это сообщение, обратитесь к администратору по адресу <sysadmin@mydomain.org>, указав имя, под которым сохранено сообщение для Вас. --- Антивирусная защита почтовых серверов Dr.Web(R) Daemon for Unix (разработан в Daniloff's Labs) (http://www.drweb.ru, http://www.DialogNauka.ru) На этом этапе установка и настройка DrWeb завершена, теперь можно удалить ненужные файлы. Установка SpamAssassin. SpamAssassin - это почтовый фильтр способный идентифицировать СПАМ. http://www.spamassassin.org [root@earth tmp]# wget http://www.spamassassin.org/released/Mail-SpamAssassin-2.44.tar.gz [root@earth tmp]# md5sum Mail-SpamAssassin-2.44.tar.gz d4ecf16765c338cebf7554c6d0028a2f Mail-SpamAssassin-2.44.tar.gz Для правильной работы SpamAssassin, нужно установить вспомогательные perl-модули, для этого выполним следующее: http://search.cpan.org/ Devel-CoreStack-1.3.tar.gz Digest-HMAC-1.01.tar.gz Digest-MD5-2.23.tar.gz Digest-SHA1-2.02.tar.gz HTML-Parser-3.27.tar.gz HTML-Tagset-3.03.tar.gz MIME-Base64-2.16.tar.gz Net-DNS-0.33.tar.gz Test-Harness-2.26.tar.gz Test-Simple-0.47.tar.gz [root@earth tmp]# md5sum Devel-CoreStack-1.3.tar.gz 483183935fcd4743a4903a183722f559 Devel-CoreStack-1.3.tar.gz [root@earth tmp]# md5sum Digest-HMAC-1.01.tar.gz 32dc54c765100c638b5d7f7ff4c5c626 Digest-HMAC-1.01.tar.gz [root@earth tmp]# md5sum Digest-MD5-2.23.tar.gz e8b65abba70a2ceb3394591e3780cf7b Digest-MD5-2.23.tar.gz [root@earth tmp]# md5sum Digest-SHA1-2.02.tar.gz 5051d6743d96781c677bd6ffeae5e0e9 Digest-SHA1-2.02.tar.gz [root@earth tmp]# md5sum HTML-Parser-3.27.tar.gz f4c935195f93fdf5d8625a05011136e5 HTML-Parser-3.27.tar.gz [root@earth tmp]# md5sum HTML-Tagset-3.03.tar.gz 47c56ab15771fac1a6fdfcbf8bff4288 HTML-Tagset-3.03.tar.gz [root@earth tmp]# md5sum MIME-Base64-2.16.tar.gz fc1b182880d74d82938e1210923cb6c5 MIME-Base64-2.16.tar.gz [root@earth tmp]# md5sum Net-DNS-0.33.tar.gz fa52a47b7f3acb3f61a585aebfcdb74d Net-DNS-0.33.tar.gz [root@earth tmp]# md5sum Test-Harness-2.26.tar.gz ec1b1ebc715614a5b06fe7ff5d355f25 Test-Harness-2.26.tar.gz [root@earth tmp]# md5sum Test-Simple-0.47.tar.gz 4a6c12685bfeadfe8ff6fca70825f90c Test-Simple-0.47.tar.gz [root@earth tmp]# tar xzpf HTML-Tagset-3.03.tar.gz [root@earth tmp]# cd HTML-Tagset-3.03 [root@earth HTML-Tagset-3.03]# perl Makefile.PL [root@earth HTML-Tagset-3.03]# make [root@earth HTML-Tagset-3.03]# make test [root@earth HTML-Tagset-3.03]# make install [root@earth HTML-Tagset-3.03]# cd ../ [root@earth tmp]# tar xzpf HTML-Parser-3.27.tar.gz [root@earth tmp]# cd HTML-Parser-3.27 [root@earth HTML-Parser-3.27]# perl Makefile.PL [root@earth HTML-Parser-3.27]# make [root@earth HTML-Parser-3.27]# make test [root@earth HTML-Parser-3.27]# make install [root@earth HTML-Parser-3.27]# cd ../ [root@earth tmp]# tar xzpf Digest-MD5-2.23.tar.gz [root@earth tmp]# cd Digest-MD5-2.23 [root@earth Digest-MD5-2.23]# perl Makefile.PL [root@earth Digest-MD5-2.23]# make [root@earth Digest-MD5-2.23]# make test [root@earth Digest-MD5-2.23]# make install [root@earth Digest-MD5-2.23]# cd ../ [root@earth tmp]# tar xzpf Digest-SHA1-2.02.tar.gz [root@earth tmp]# cd Digest-SHA1-2.02 [root@earth Digest-SHA1-2.02]# perl Makefile.PL [root@earth Digest-SHA1-2.02]# make [root@earth Digest-SHA1-2.02]# make test [root@earth Digest-SHA1-2.02]# make install [root@earth Digest-SHA1-2.02]# cd ../ [root@earth tmp]# tar xzpf Digest-HMAC-1.01.tar.gz [root@earth tmp]# cd Digest-HMAC-1.01 [root@earth Digest-HMAC-1.01]# perl Makefile.PL [root@earth Digest-HMAC-1.01]# make [root@earth Digest-HMAC-1.01]# make test [root@earth Digest-HMAC-1.01]# make install [root@earth Digest-HMAC-1.01]# cd ../ [root@earth tmp]# tar xzpf MIME-Base64-2.16.tar.gz [root@earth tmp]# cd MIME-Base64-2.16 [root@earth MIME-Base64-2.16]# perl Makefile.PL [root@earth MIME-Base64-2.16]# make [root@earth MIME-Base64-2.16]# make test [root@earth MIME-Base64-2.16]# make install [root@earth MIME-Base64-2.16]# cd ../ [root@earth tmp]# tar xzpf Devel-CoreStack-1.3.tar.gz [root@earth tmp]# cd Devel-CoreStack-1.3 [root@earth Devel-CoreStack-1.3]# perl Makefile.PL [root@earth Devel-CoreStack-1.3]# make [root@earth Devel-CoreStack-1.3]# make test [root@earth Devel-CoreStack-1.3]# make install [root@earth Devel-CoreStack-1.3]# cd ../ [root@earth tmp]# tar xzpf Test-Harness-2.26.tar.gz [root@earth tmp]# cd Test-Harness-2.26 [root@earth Test-Harness-2.26]# perl Makefile.PL [root@earth Test-Harness-2.26]# make [root@earth Test-Harness-2.26]# make test [root@earth Test-Harness-2.26]# make install [root@earth Test-Harness-2.26]# cd ../ [root@earth tmp]# tar xzpf Test-Simple-0.47.tar.gz [root@earth tmp]# cd Test-Simple-0.47 [root@earth Test-Simple-0.47]# perl Makefile.PL [root@earth Test-Simple-0.47]# make [root@earth Test-Simple-0.47]# make test [root@earth Test-Simple-0.47]# make install [root@earth Test-Simple-0.47]# cd ../ [root@earth tmp]# tar xzpf Net-DNS-0.33.tar.gz [root@earth tmp]# cd Net-DNS-0.33 [root@earth Net-DNS-0.33]# perl Makefile.PL You appear to be directly connected to the Internet. I have some tests that try to query live nameservers. Do you want to enable these tests? [y] y [root@earth Net-DNS-0.33]# make [root@earth Net-DNS-0.33]# make test [root@earth Net-DNS-0.33]# make install [root@earth Net-DNS-0.33]# cd ../ [root@earth tmp]# tar xzpf Mail-SpamAssassin-2.44.tar.gz [root@earth tmp]# cd Mail-SpamAssassin-2.44 [root@earth Mail-SpamAssassin-2.44]# perl Makefile.PL [root@earth Mail-SpamAssassin-2.44]# make [root@earth Mail-SpamAssassin-2.44]# make test [root@earth Mail-SpamAssassin-2.44]# make install Отредактируем конфигурационный файл /etc/mail/spamassassin/local.cf изменив значение: #report_header 1 на: report_header 1 #defang_mime 0 на: defang_mime 0 [root@earth Mail-SpamAssassin-2.44]# /usr/bin/spamd -d -i 0.0.0.0 -x -u qmaild Отредактируем файл /etc/rc.d/rc.M добавив перед запуском DrWeb следующую строку: if [ -x /usr/bin/spamd ]; then /usr/bin/spamd -d -i 0.0.0.0 -x -u qmaild fi Для обеспечения взаимодействия SpamAssassin и Qmail, выполним следующее: [root@earth tmp]# wget http://www.nb.net/~lbudney/linux/software/safecat/safecat-1.9.tar.gz [root@earth tmp]# md5sum safecat-1.9.tar.gz 7a32c226379f995eca3a9a6b6d198baf safecat-1.9.tar.gz [root@earth tmp]# tar xzpf safecat-1.9.tar.gz [root@earth tmp]# cd safecat-1.9 Отредактируем файл conf-root, изменив значение: /usr/local на: /usr [root@earth safecat-1.9]# make [root@earth safecat-1.9]# make setup check [root@earth safecat-1.9]# cd После этого, каждому пользователю в его домашний каталог нужно поместить файл .qmail следующего содержания: [root@earth root]# touch /home/vpopmail/domains/mydomain.org/sysadmin/.qmail |/usr/bin/spamc |maildir ./Maildir [root@earth root]# chown vpopmail.83 /home/vpopmail/domains/mydomain.org/sysadmin/.qmail На этом этапе установка и настройка Qmail+VpopMail+DrWeb+SpamAssassin завершена, теперь можно удалить ненужные файлы.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Dim, 04:15, 22/03/2003 [ответить] [смотреть все]
  • +/
    messagewall +qmail + drweb + vpopmail
    дает хороший результат
    messagewall - SMTP прокся с базисной проверкой на многие вещи
    qmail - сама почтовая система
    vpopmail - организация виртуальных доменов с поддержкой *sql, ldap и своей БиДэ (+ вебформы для админства - ленивых)
    drweb - добивает то что прошло из вирей.
     
  • 1.2, Аноним, 12:38, 22/03/2003 [ответить] [смотреть все]
  • +/
    tar wget make И т д ВСЕ делается под root om Не спорю, так удобнее, но п... весь текст скрыт [показать]
     
     
  • 2.3, Alexander V. Afanasenkov, 10:02, 24/03/2003 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Речь шла только о почтовом сервере и защите почтовых ящиков пользователей от СПА... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.19, Дмитрий Ю. Карпов, 18:31, 11/12/2003 [^] [ответить] [смотреть все]  
  • +/
    А какой посоветуете для начала, если раньше обходился POP3 Желательно чтобы зап... весь текст скрыт [показать]
     
  • 1.4, Condor, 17:55, 17/06/2003 [ответить] [смотреть все]  
  • +/
    Hellom
    i make exact that this document but i recive error when i connect to my pop3/pop3s like this:
    telnet localhost 110
    +OK <16279.1047626005@mydomain.org>
    user sysadmin
    +OK
    pass test
    tcprules: error unable to create file /etc/tcp.smtp.23232
    +OK

    any body know how to fix this?

     
  • 1.5, vitalik, 11:12, 18/06/2003 [ответить] [смотреть все]  
  • +/
    Очень хорошая статья.
    Всё толково раписанно.
    Огромное спасибо автору за проделанную работу.
     
  • 1.6, kolez0, 11:42, 18/06/2003 [ответить] [смотреть все]  
  • +/
    все сделал как написано. в итоге не работает доставка. в логе пишет:
    Jun 18 14:08:08 ns qmail: 1055930888.675461 new msg 133984
    Jun 18 14:08:08 ns qmail: 1055930888.675580 info msg 133984: bytes 183 from <nick@capslock.ru> qp 4875 uid 88
    Jun 18 14:08:08 ns qmail: 1055930888.679735 starting delivery 3: msg 133984 to local sysadmin@computercity.ru
    Jun 18 14:08:08 ns qmail: 1055930888.679854 status: local 1/10 remote 0/20
    Jun 18 14:08:08 ns qmail: 1055930888.719900 delivery 3: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/

    что не так?

     
     
  • 2.27, fagot, 19:13, 28/01/2004 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    если такой юзер точно есть, значит у тебя почта обрабатывается по старинке, без ... весь текст скрыт [показать] [показать ветку]
     
  • 1.7, vitalik, 11:11, 20/06/2003 [ответить] [смотреть все]  
  • +/
    Ящика нет такого (ящик sysadmin@computercity.ru) добавь
     
  • 1.8, Vitalik, 11:17, 20/06/2003 [ответить] [смотреть все]  
  • +/
    Вот такая проблема. В The-Bat 1.62i авторизация smtp  работает на ура а в The-Bat 1.60g непроходит авторизацтию и всё :(
    с чем это может быть связанно.
     
  • 1.9, Bazil, 00:06, 26/06/2003 [ответить] [смотреть все]  
  • +/
    статейка на 5 баллов, очень хороший мануал.
     
  • 1.10, GQ, 01:25, 31/07/2003 [ответить] [смотреть все]  
  • +/
    На этом этапе установка и настройка DrWeb завершена, теперь можно удалить
      ненужные файлы.

      [root@earth tmp]# rm -rf *
      [root@earth tmp]# rm -rf /etc/init.d
      [root@earth tmp]# for i in {0,1,2,3,4,5,6}; do rm -rf /etc/rc$i.d; done


    Хорошая шутка. Отчего сразу не rm -rf / ?

     
     
  • 2.11, Maxim Chirkov, 10:12, 31/07/2003 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ужас, убрал подобные гадости Впредь буду более осторожно относится к авторам ст... весь текст скрыт [показать] [показать ветку]
     
  • 1.12, Alexander V. Afanasenkov, 11:03, 15/08/2003 [ответить] [смотреть все]  
  • +/
    До чего невнимательно читают некоторые, то что написано! Да и Максим поспешил выводами!

    Речь идет о Slackware Linux! Все действия правомерны!

     
  • 1.13, GQ, 23:32, 31/08/2003 [ответить] [смотреть все]  
  • +/
    Извини я не знаю, что там у слаквари, но это все же рискованно такие вещи писать, не у всех же именно она.
    Да и вообще рекомендовать делать rm -rf * из под рута не есть правильно.

    PS А почему на слаквари такие действия правомерны? там что инит скрипты как во фре?

     
  • 1.14, help, 18:41, 02/11/2003 [ответить] [смотреть все]  
  • +/
    Помогите плз с траблой... вот лог...

    Nov  2 20:41:04 host qmail: 1067787664.248660 new msg 353416
    Nov  2 20:41:04 host qmail: 1067787664.248989 info msg 353416: bytes 1248 from <my@othermail.ru> qp 598 uid 88
    Nov  2 20:41:04 host qmail: 1067787664.258119 starting delivery 5: msg 353416 to local sysadmin@mydomain.org Nov  2 20:41:04 host qmail: 1067787664.258353 status: local 1/10 remote 0/20
    Nov  2 20:41:04 host qmail: 1067787664.275883 delivery 5: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/
    Nov  2 20:41:04 host qmail: 1067787664.278285 status: local 0/10 remote 0/20
    Nov  2 20:41:04 host qmail: 1067787664.353375 bounce msg 353416 qp 601
    Nov  2 20:41:04 host qmail: 1067787664.355387 end msg 353416

    root@host:/home/vpopmail/bin# vuserinfo sysadmin
    name:   sysadmin и т.д.

    т.е. юзверь сисадмин присутствует...
    но почта ему не доставляецца (
    подскажите в чём трабла...

     
  • 1.15, anonymous, 09:31, 11/11/2003 [ответить] [смотреть все]  
  • +/
    день добрый Стоит RH 9 0 У меня был еще глюк с errno но я прописал его везде и ... весь текст скрыт [показать]
     
     
  • 2.25, u, 11:37, 28/01/2004 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    root server mail-server ucspi-tcp-0 88 patch -p0 ucspi-tcp-ssl-20020705 ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.37, Юрий, 12:55, 22/08/2004 [^] [ответить] [смотреть все]  
  • +/
    на примере slackware 8 1 и 9 0 ошибка с errno происходит вот почему там разные в... весь текст скрыт [показать]
     
  • 1.16, MichaelStahanov, 02:07, 17/11/2003 [ответить] [смотреть все]  
  • +/
    Реальная статья все действительно можно настроить и все работает как надо. Для RH 9.0 есть отличия от написанного. Если кто будет ставить по данной инструкции почту обращайтесь помогу. Только обрати внимание что с момента написания статьи до сего момента прошло время и версии программ поменялись...
     
  • 1.17, MichaelStahanov, 02:08, 17/11/2003 [ответить] [смотреть все]  
  • +/
    Автору большое спасибо.
     
  • 1.18, Серый, 12:44, 11/12/2003 [ответить] [смотреть все]  
  • +/
    Интересная статья, особенно нужна была года 2 назад. Все это без антиспама работало на slackware 8.0, сейчас работает на Suse. Думаю так же легко будет работать на SLES8.
    только иногда полезно еще ezmlm прикручивать, + не согласен что courier-imap - сложная и трудная программа.
     
  • 1.20, Алексей, 19:30, 22/12/2003 [ответить] [смотреть все]  
  • +/
    Хм... поставил qmail+vpopmail smtp работает коректно, а вот pop3 дурит. Захожу телнетом. ввожу user sysop, потом pass x и сервер выдает следуешее: -ERR authorization failed Народ не подскажите где могут быть грабли?
     
     
  • 2.21, Дмитрий Ю. Карпов, 20:11, 22/12/2003 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    1 Что в логах 2 Кажется, у qmail свой POP3-сервер ... весь текст скрыт [показать] [показать ветку]
     
  • 2.22, Konstantin, 16:00, 24/12/2003 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Если домен виртуальный, то user вводится полностью, sysop@domain.com например.
     
  • 1.23, pasya, 14:48, 29/12/2003 [ответить] [смотреть все]  
  • +/
    Кто-нить знает.. умеет ли qmail'овский pop3 работать с starttls??
     
  • 1.24, jekpol, 16:41, 12/01/2004 [ответить] [смотреть все]  
  • +/
    Поставил, все отлично работает. Но почему при тесте на открытый релей telnet relay-test.mail-abuse.org проходит не все тесты. ведь здесь же SMTP-AUTH?
     
  • 1.26, Seregan, 16:36, 28/01/2004 [ответить] [смотреть все]  
  • +/
    Еще раз спасибо Автору и opennet.ru :)
     
  • 1.28, Seregan, 12:11, 06/02/2004 [ответить] [смотреть все]  
  • +/
    Народ, а подскажите, где как чего прописать если у меня связка без vpopmail'a ... В логах spamc пишет, что пришел спам, а дальше что делать не понятно
     
  • 1.29, Bazil, 23:20, 07/02/2004 [ответить] [смотреть все]  
  • +/
    А как заставить SMTP-AUTH работать, я провел кучу экспериментов и ни один не указал на то что авторизация проводится...??? стоит фря 4.9
     
     
  • 2.30, Bazil, 09:51, 09/02/2004 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    заставил работать авторизацию на SMTP, но как заставить сервер в принудиловку вс... весь текст скрыт [показать] [показать ветку]
     
  • 1.31, dimabsd, 19:25, 01/03/2004 [ответить] [смотреть все]  
  • +/
    все шло хорошо, до создания бд на mysql
    после ввода команды

    mysqladmin -u root create vpopmail -p

    выводиться сообщение
    mysqladmin: connect to server at 'localhost' failed
    error: 'Access denied for user: 'root@localhost' (Using password: NO)'

    помогите пожалуйста в чем загвоздка, я раньше не имел дело с mysql

     
     
  • 2.32, Дмитрий Ю. Карпов, 19:54, 01/03/2004 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    1 Укажи в командной строке пароль рута 2 Я не уверен, что MySQL согласится ра... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.33, dimabsd, 18:04, 12/03/2004 [^] [ответить] [смотреть все]  
  • +/
    Проблему решил, но не совсем Команда mysqladmin -u root create vpopmail -p - эт... весь текст скрыт [показать]
     
     
  • 4.44, dr_rest, 14:27, 09/11/2005 [^] [ответить] [смотреть все]  
  • +/
    Та же проблема ! Решить немогу !( Паааамаааагииииитеееееееее !!!!!!
     
  • 1.34, Mikelo, 10:28, 19/03/2004 [ответить] [смотреть все]  
  • +/
    Столкнулся со следующими проблемами, qmail установлен под linux RH. При работе через SSL первая сессия проходит успешно, далее сертификат исчезает (файл становится равным 0) и больше не работает. При отправке сообщений вываливается ошибка что домен получателя не указан в rcpthosts, прописываем ручками, сообщение уходит, но сессия не закрывается. Что я мог сделать не так??
     
  • 1.35, sasa, 13:45, 19/04/2004 [ответить] [смотреть все]  
  • +/
    -ERR unable to write pipe

    проверяю ./vuserinfo user
    >....
    dir: /home/vpopmail/domains/mydomain.org/user
    >....

    проверяю инфо через qmail пользователя vpopmail
    >....
    homedir: /home/vpopmail/Maildir

    Что-то я не прописал.
    1) Возможно отсутствуют глобальные переменные
    2) или в .qmail(qmail-dot) надо что-то  дописать а то он у меня содержит только "./Maildir"

     
  • 1.36, rufat, 11:35, 12/07/2004 [ответить] [смотреть все]  
  • +/
    ya  nastroil vsye tak kak napisanno tut . no u menya kogda instaliruyu  vpopmail  on  ne sozdayot  table  v baze vpopmail .
    Pomagite
     
  • 1.38, bear, 11:27, 05/10/2004 [ответить] [смотреть все]  
  • +/
    Пишу в /etc/mail/spamassassin/local.cf конкретную строчку:
    blacklist_from *@skg.com
    Отправляю письмо с этого адреса. В майллоге читаю следующее:

    Oct 5 07:35:18 srv qmail: 1096961718.233097 new msg 12550147
    Oct 5 07:35:18 srv qmail: 1096961718.233176 info msg 12550147: bytes 20134 from <mek2x347@skg.com> qp 3247 pp 3246 uid 182
    Oct 5 07:35:18 srv qmail: 1096961718.236205 starting delivery 14341: msg 12550147 to local домен.ru-адрес@домен.ru
    Oct 5 07:35:18 srv qmail: 1096961718.236275 status: local 1/10 remote 0/20
    Oct 5 07:35:18 srv qmail: 1096961718.241518 delivery 14341: success: did_1+0+0/
    Oct 5 07:35:18 srv qmail: 1096961718.241594 status: local 0/10 remote 0/20
    Oct 5 07:35:18 srv qmail: 1096961718.241622 end msg 12550147

    Может кто-нить сказать, с чего бы это?

     
  • 1.39, victor76, 10:37, 19/01/2005 [ответить] [смотреть все]  
  • +/
    Вылетает ошибка авторизации когда подсоединяюсь телнетом к 110 порту
    в логах пишет
    vchkpw: setgid 83 failed errno 1
    когда ввожу заведомо неправильный пароль то пишет что пароль неправильный, тоесть гдето нехватает прав, а где не могу допереть
    хелп
     
     
  • 2.42, victor76, 06:52, 08/02/2005 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    vpopmail надо запускать так как сказано в примере с USERID=88
     
  • 1.40, jau, 14:50, 25/01/2005 [ответить] [смотреть все]  
  • +/
    "tcpserver -p -DRHl localhost -u 88 -g 83 0.0.0.0 25 /usr/bin/tcp-env \"
    зачем указывать отпцию -p (paranoid) и тут же указывать ключи ее исключающие -DRH ??
     
  • 1.41, Andrey, 12:43, 26/01/2005 [ответить] [смотреть все]  
  • +/
    а как быть если при установки MIME::Base64
    пишет такую бяку
    cp Base64.pm blib/lib/MIME/Base64.pm
    cp QuotedPrint.pm blib/lib/MIME/QuotedPrint.pm
    /usr/bin/perl -I/usr/perl5/5.6.1/lib/sun4-solaris-64int -I/usr/perl5/5.6.1/lib /usr/perl5/5.6.1/lib/
    ExtUtils/xsubpp  -typemap /usr/perl5/5.6.1/lib/ExtUtils/typemap Base64.xs > Base64.xsc && mv Base64.
    xsc Base64.c
    cc -c  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -xO3 -xdepend   -DVERSION=\"3.00\" -DXS_VERSION=\"
    3.00\" -KPIC -I/usr/perl5/5.6.1/lib/sun4-solaris-64int/CORE  Base64.c
    cc: unrecognized option '-KPIC'
    cc: language depend not recognized
    cc: Base64.c: linker input file unused because linking not done
    Running Mkbootstrap for MIME::Base64 ()
    chmod 644 Base64.bs
    rm -f blib/arch/auto/MIME/Base64/Base64.so
    LD_RUN_PATH="" cc  -G Base64.o  -o blib/arch/auto/MIME/Base64/Base64.so    
    cc: Base64.o: No such file or directory
    cc: no input files
    make: *** [blib/arch/auto/MIME/Base64/Base64.so] Error 1
     
  • 1.43, 4b4, 13:58, 09/02/2005 [ответить] [смотреть все]  
  • +/
    при проверке работы POP3
    telnet localhost 110
    ....
    user sysadmin
    +OK
    pass test
    выдается сообщение -ERR this user has no $HOME/Maildir
    Connection closed ...

    Что делать?

     
     
  • 2.45, rudjuk, 08:49, 27/02/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Не работает почта Всё установилось, но при подключении к почте выдаёт ошибку П... весь текст скрыт [показать] [показать ветку]
     

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





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor