Обсуждение статьи тематического каталога: Qmail+VpopMail+DrWeb+SpamAssassin (linux mail qmail ssl virus virtual)Ссылка на текст статьи: http://www.opennet.me/base/net/qmail_antispam.txt.html
messagewall +qmail + drweb + vpopmail
дает хороший результат
messagewall - SMTP прокся с базисной проверкой на многие вещи
qmail - сама почтовая система
vpopmail - организация виртуальных доменов с поддержкой *sql, ldap и своей БиДэ (+ вебформы для админства - ленивых)
drweb - добивает то что прошло из вирей.
# tar
# wget
# make
И т.д.
ВСЕ делается под root'om. Не спорю, так удобнее, но попробовал бы автор ТАК поставить, например, Courier-IMAP.Плохой стиль работы!
Тем более, недопустим в HOW-TO. Начинающим нужно вдалбливать
$wget
$tar
$make
$make test
$sudo make install
или
$su
#make install
Речь шла только о почтовом сервере и защите почтовых ящиков пользователей от СПАМ'а и вирусов, а не безопасной работе в ОС Linux.К тому же, наверное к начинающим пользователям это нельзя отнести, скорее всего к тем, кто желает почтовый сервер Qmail с поддержкой виртуальных аккаунтов, защитой от СПАМ'а и вирусов.
Courier-IMAP - слишком сложный и тяжелый, существуют иные безопасные IMAP сервера, которые лучше и проще.
> Courier-IMAP - слишком сложный и тяжелый,
> существуют иные безопасные IMAP сервера, которые лучше и проще.А какой посоветуете для начала, если раньше обходился POP3?
Желательно чтобы запускался из-под inetd.
Ещё хочется создать на сервере ряд IMAP4-папок и сделать часть из них общими, так чтобы юзеры могли обмениваться данными через эти папки, не задействуя пересылку по SMTP, и работать с общими документами, лежащими в этих папках (т.е. использовать IMAP4 вместо файлового доступа).
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
+OKany body know how to fix this?
Очень хорошая статья.
Всё толково раписанно.
Огромное спасибо автору за проделанную работу.
все сделал как написано. в итоге не работает доставка. в логе пишет:
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)/что не так?
если такой юзер точно есть, значит у тебя почта обрабатывается по старинке, без vpopmail. Попробуй принять почту для юзера, который имеется в /etc/passwd - должно выйти :) Если да - плохо значит vpopmail ставил
Ящика нет такого (ящик sysadmin@computercity.ru) добавь
Вот такая проблема. В The-Bat 1.62i авторизация smtp работает на ура а в The-Bat 1.60g непроходит авторизацтию и всё :(
с чем это может быть связанно.
статейка на 5 баллов, очень хороший мануал.
На этом этапе установка и настройка 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 / ?
>На этом этапе установка и настройка 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;Ужас, убрал подобные гадости. Впредь буду более осторожно относится к авторам статей.
До чего невнимательно читают некоторые, то что написано! Да и Максим поспешил выводами!Речь идет о Slackware Linux! Все действия правомерны!
Извини я не знаю, что там у слаквари, но это все же рискованно такие вещи писать, не у всех же именно она.
Да и вообще рекомендовать делать rm -rf * из под рута не есть правильно.PS А почему на слаквари такие действия правомерны? там что инит скрипты как во фре?
Помогите плз с траблой... вот лог...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 353416root@host:/home/vpopmail/bin# vuserinfo sysadmin
name: sysadmin и т.д.т.е. юзверь сисадмин присутствует...
но почта ему не доставляецца %(((
подскажите в чём трабла...
день добрыйСтоит RH 9.0.
У меня был еще глюк с errno но я прописал его везде и tcpserver скомпилировался. В чем суть ?
krb5.h взяд из /usr/kerberos/includeкак с этим бороться? Все делал по инструкции
./load qmail-remote control.o constmap.o timeoutread.o \
timeoutwrite.o timeoutconn.o tcpto.o now.o dns.o ip.o \
ipalloc.o ipme.o quote.o ndelay.a case.a sig.a open.a \
lock.a seek.a getln.a stralloc.a alloc.a substdio.a error.a \
str.a fs.a auto_qmail.o `cat dns.lib` `cat socket.lib`
dns.o(.text+0xf5): In function `resolve':
: undefined reference to `__dn_expand'
dns.o(.text+0x1aa): In function `findname':
: undefined reference to `__dn_expand'
dns.o(.text+0x242): In function `findname':
: undefined reference to `__dn_expand'
dns.o(.text+0x2ae): In function `findip':
: undefined reference to `__dn_expand'
dns.o(.text+0x3b6): In function `findmx':
: undefined reference to `__dn_expand'
dns.o(.text+0x475): more undefined references to `__dn_expand' follow
dns.o(.text+0x4b8): In function `dns_init':
: undefined reference to `__res_search'
dns.o(.data+0xc): undefined reference to `__res_query'
collect2: ld returned 1 exit status
make: *** [qmail-remote] Ошибка 1С уважением, Михаил
root@server:~/mail-server/ucspi-tcp-0.88# patch -p0 < ../ucspi-tcp-ssl-20020705.patch
patching file Makefile
patching file tcpserver.c
root@server:~/mail-server/ucspi-tcp-0.88# make
...после применения патча и при попытки компиляции, выходит:
rm -f trylsock.o trylsock
./load tcpserver rules.o remoteinfo.o timeoutconn.o cdb.a \
dns.a time.a unix.a byte.a -lcrypto -lssl `cat socket.lib`
tcpserver.o(.text+0x5cb): In function `doit':
: undefined reference to `errno'
tcpserver.o(.text+0x15c7): In function `allwrite':
: undefined reference to `errno'
tcpserver.o(.text+0x1627): In function `allwritessl':
: undefined reference to `errno'
remoteinfo.o(.text+0x6b): In function `mywrite':
: undefined reference to `errno'
remoteinfo.o(.text+0xfb): In function `myread':
: undefined reference to `errno'
timeoutconn.o(.text+0x51): more undefined references to `errno' follow
/usr/lib/gcc-lib/i486-slackware-linux/3.2.3/../../../libssl.a(s23_srvr.o)(.text+0x24): In function `ssl23_accept':
: undefined reference to `RAND_add'
/usr/lib/gcc-lib/i486-slackware-linux/3.2.3/../../../libssl.a(t1_enc.o)(.text+0x93): In function `tls1_change_cipher_state':
: undefined reference to `COMP_CTX_new'
/usr/lib/gcc-lib/i486-slackware-linux/3.2.3/../../../libssl.a(t1_enc.o)(.text+0x105): In function `tls1_change_cipher_state':
: undefined reference to `EVP_CIPHER_CTX_init'
/usr/lib/gcc-lib/i486-slackware-linux/3.2.3/../../../libssl.a(t1_enc.o)(.text+0x282): In function `tls1_change_cipher_state':
: undefined reference to `EVP_CipherInit_ex'
/usr/lib/gcc-lib/i486-slackware-linux/3.2.3/../../../libssl.a(t1_enc.o)(.text+0x641): In function `tls1_change_cipher_state':
root@server:~/mail-server/ucspi-tcp-0.88# openssl version
OpenSSL 0.9.7c 30 Sep 2003Slackware 9.1
на примере slackware 8.1 и 9.0
ошибка с errno происходит вот почему
там разные версии glibc и так вышло что рашьше errno была переменной а теперь функция возвращающая значение (так кажется ).
короче говоря у меня эта проблемма вылечилась установкой патча или всего пакета (netqamil) а родном сайте.
Реальная статья все действительно можно настроить и все работает как надо. Для RH 9.0 есть отличия от написанного. Если кто будет ставить по данной инструкции почту обращайтесь помогу. Только обрати внимание что с момента написания статьи до сего момента прошло время и версии программ поменялись...
Автору большое спасибо.
Интересная статья, особенно нужна была года 2 назад. Все это без антиспама работало на slackware 8.0, сейчас работает на Suse. Думаю так же легко будет работать на SLES8.
только иногда полезно еще ezmlm прикручивать, + не согласен что courier-imap - сложная и трудная программа.
Хм... поставил qmail+vpopmail smtp работает коректно, а вот pop3 дурит. Захожу телнетом. ввожу user sysop, потом pass x и сервер выдает следуешее: -ERR authorization failed Народ не подскажите где могут быть грабли?
> Хм... поставил qmail+vpopmail smtp работает коректно, а вот pop3 дурит. > Захожу телнетом. ввожу user sysop, потом pass x и сервер выдает:
> -ERR authorization failed Народ не подскажите где могут быть грабли?
1) Что в логах?
2) Кажется, у qmail свой POP3-сервер.
Если домен виртуальный, то user вводится полностью, sysop@domain.com например.
Кто-нить знает.. умеет ли qmail'овский pop3 работать с starttls??
Поставил, все отлично работает. Но почему при тесте на открытый релей telnet relay-test.mail-abuse.org проходит не все тесты. ведь здесь же SMTP-AUTH?
Еще раз спасибо Автору и opennet.ru :)
Народ, а подскажите, где как чего прописать если у меня связка без vpopmail`a ... В логах spamc пишет, что пришел спам, а дальше что делать не понятно
А как заставить SMTP-AUTH работать, я провел кучу экспериментов и ни один не указал на то что авторизация проводится...??? стоит фря 4.9
заставил работать авторизацию на SMTP, но как заставить сервер в принудиловку всех авторизовывать?
все шло хорошо, до создания бд на 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
> все шло хорошо, до создания бд на mysql
> после ввода команды
> mysqladmin -u root create vpopmail -p
> выводиться сообщение
> mysqladmin: connect to server at 'localhost' failed
> error: 'Access denied for user: 'root@localhost' (Using password: NO)'1) Укажи в командной строке пароль рута.
2) Я не уверен, что MySQL согласится работать под рутом (telnetd и sshd не соглашаются). Используй др.юзера, указанного как админ SQL-сервера, а не всей системы.
> все шло хорошо, до создания бд на mysql
> после ввода команды
> mysqladmin -u root create vpopmail -p
> выводиться сообщение
> mysqladmin: connect to server at 'localhost' failed
> error: 'Access denied for user: 'root@localhost' (Using password: NO)'
> 1) Укажи в командной строке пароль рута.
>
> 2) Я не уверен, что MySQL согласится работать под рутом (telnetd и sshd > не соглашаются). Используй др.юзера, указанного как админ SQL-сервера, > а не всей системы.Проблему решил, но не совсем.
Командаmysqladmin -u root create vpopmail -p - это в Linux-е, а у меня FreeBSD.
Нужно было вводить вот-так:
mysqladmin -u root -p create vpopmailТеперь проблема в другом.
Дошел до пункта, где нужно создавать виртуальный домен командой:
./vadddomain mydomain.org
на что получаю ответ
Please enter password for postmaster: <ввожу какой нибудь пароль>
enter password again: <подтверждаю этот пароль>could not connect to mysql update server Access denied for user: 'vpopmail@localhost' (Using password: YES) with database
could not connect to mysql update server Access denied for user: 'vpopmail@localhost' (Using password: YES)
vmysql: sql error[c]: MySQL server has gone away
vmysql: sql error[b]: MySQL server has gone away
could not open assign file
vmysql: sql error[3]: MySQL server has gone away
Error: Domain does not existПожалуйста подскажите,как быть,я не очень силен в MySQL.
PS: mysqld естественно запущен.
при вводе команды "mysqladmin status", ответ:mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user: 'root@localhost' (Using password: NO)'при вводе команды "mysqladmin -p status", ответ:
Enter password: <ввожу пароль>
Uptime: 1243 Threads: 1 Questions: 13 Slow queries: 0 Opens: 12 Flush tables: 1 Open tables: 6 Queries per second avg: 0.010Может чтобы домен заводить нужно тоже пароль ввести? Хотя такой функции я у этой команды не нашел.
Спецы дайте совета.
Жду ответа.
Та же проблема ! Решить немогу !( Паааамаааагииииитеееееееее !!!!!!
Столкнулся со следующими проблемами, qmail установлен под linux RH. При работе через SSL первая сессия проходит успешно, далее сертификат исчезает (файл становится равным 0) и больше не работает. При отправке сообщений вываливается ошибка что домен получателя не указан в rcpthosts, прописываем ручками, сообщение уходит, но сессия не закрывается. Что я мог сделать не так??
-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"
ya nastroil vsye tak kak napisanno tut . no u menya kogda instaliruyu vpopmail on ne sozdayot table v baze vpopmail .
Pomagite
Пишу в /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Может кто-нить сказать, с чего бы это?
Вылетает ошибка авторизации когда подсоединяюсь телнетом к 110 порту
в логах пишет
vchkpw: setgid 83 failed errno 1
когда ввожу заведомо неправильный пароль то пишет что пароль неправильный, тоесть гдето нехватает прав, а где не могу допереть
хелп
vpopmail надо запускать так как сказано в примере с USERID=88
"tcpserver -p -DRHl localhost -u 88 -g 83 0.0.0.0 25 /usr/bin/tcp-env \"
зачем указывать отпцию -p (paranoid) и тут же указывать ключи ее исключающие -DRH ??
а как быть если при установки 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
при проверке работы POP3
telnet localhost 110
....
user sysadmin
+OK
pass test
выдается сообщение -ERR this user has no $HOME/Maildir
Connection closed ...Что делать?
Не работает почта.
Всё установилось, но при подключении к почте выдаёт ошибку.При подключении через телнет к 25 порту:
# telnet rudjuk.kiev.ua 25
Trying 62.149.12.83...
Connected to rudjuk.kiev.ua.
Escape character is '^]'.
421 unable to read controls (#4.3.0)
Connection closed by foreign host.При подключении через телнет к 110 порту:
# telnet rudjuk.kiev.ua 110
Trying 62.149.12.83...
Connected to rudjuk.kiev.ua.
Escape character is '^]'.
+OK <410.1141018396@server>
user sergey@rudjuk.kiev.ua
+OK
pass *****
-ERR authorization failed
Connection closed by foreign host.Пароль вводится правильно.
Из-за чего это может быть?
Что сделать, чтоб заработало?P.S. Ещё в логах почты пишется:
# tail -f /var/log/maillog
Feb 27 00:00:00 server newsyslog[3431]: logfile turned over
Feb 27 07:30:15 server authdaemond.plain: restarting authdaemond children
Feb 27 07:30:15 server authdaemond.plain: modules="authcustom authcram authuserdb authvchkpw authpam", daemons=5
Feb 27 07:31:11 server authdaemond.plain: modules="authcustom authcram authuserdb authvchkpw authpam", daemons=5