URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 61628
[ Назад ]

Исходное сообщение
"postfix+сlamаv"

Отправлено Wedmak , 08-Ноя-05 16:27 
Привествую всех.
Делаю инет-шлюз на линухе (mandriva выбор дистриба - другой вопрос) надо:
1. почтовик+проверка на вирусы
поставил postfix, вроде прикрутил clamav+calmsmtpd, но при тесте почему то не может создать clamd.sock и письмо не доходит до адресата. менял права на каталог, менял каталог - нифига.

Содержание

Сообщения в этом обсуждении
"postfix+сlamаv"
Отправлено jonatan , 08-Ноя-05 17:21 
http://www.citforum.ru/operating_systems/linux/clamav_postfix/

"postfix+сlamаv"
Отправлено Gleb , 08-Ноя-05 20:23 
>Привествую всех.
>Делаю инет-шлюз на линухе (mandriva выбор дистриба - другой вопрос) надо:
>1. почтовик+проверка на вирусы
>поставил postfix, вроде прикрутил clamav+calmsmtpd, но при тесте почему то не может
>создать clamd.sock и письмо не доходит до адресата. менял права на
>каталог, менял каталог - нифига.


Очень похоже, что clamd запускается от пользователя clamav
clamd.conf
...
User clamav
...

а clamsmtpd.conf
...
User: clamav
...
вероятно закоментировано


"postfix+сlamаv"
Отправлено Wedmak , 09-Ноя-05 08:48 
Извиняюсь за длинный пост - настройки:

clamd.conf

LogFile /var/log/clamav/clamd.log
LogVerbose
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/lib/clamav/tmp
DatabaseDirectory /var/lib/clamav
LocalSocket /var/run/clamav/clamd.sock
FixStaleSocket
MaxThreads 64
ReadTimeout 300
FollowDirectorySymlinks
FollowFileSymlinks
User clamav
AllowSupplementaryGroups
ScanPE
ScanOLE2
ScanMail
ScanHTML
ScanArchive

clamsmtpd.conf

OutAddress: 10026
Listen:0.0.0.0:10025
ClamAddress: /var/run/clamav/clamd.sock
TempDirectory: /tmp
User: clamav

main.cf

# These are only the parameteus changed from a default install
# see /etc/postfix/main.cf.dist for a commented, fuller version of this file.

# These are changed by postfix install script
readme_directory = /usr/share/doc/postfix-2.1.5/README_FILES
sample_directory = /usr/share/doc/postfix-2.1.5/samples
html_directory = /usr/share/doc/postfix-2.1.5/html
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
command_directory = /usr/sbin
manpage_directory = /usr/share/man
daemon_directory = /usr/lib/postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
queue_directory = /var/spool/postfix
mail_owner = postfix

# User configurable parameters
myhostname = mail.svet.ru
mydomain = svet.ru
inet_interfaces = localhost, 192.168.0.29
mydestination = $myhostname, $mydomain
#mynetworks_style = host
mynetworsks_style = 192.168.0.0/24
delay_warning_time = 4h
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) (Mandrakelinux)
unknown_local_recipient_reject_code = 450
smtp-filter_destination_concurrency_limit = 2
lmtp-filter_destination_concurrency_limit = 2
smtpd_sasl_path = /etc/postfix/sasl:/usr/lib/sasl2
recipient_delimiter = +
owner_request_special = no
alias_maps = hash:/etc/postfix/aliases
#, hash:/var/lib/mailman/data/aliases

content_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings


master.cf

smtp    inet    n    -    y    -    -    smtpd
#smtps    inet  n       -       n       -       -       smtpd
#  -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission   inet    n       -       n       -       -       smtpd
#  -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes -o smtpd_etrn_restrictions=reject
#628      inet  n       -       n       -       -       qmqpd
pickup    fifo    n    -    y    60    1    pickup
  -o content_filter=
  -o receive_override_options=
cleanup    unix    n    -    y    -    0    cleanup
qmgr    fifo    n    -    y    300    1    qmgr
#qmgr     fifo  n       -       n       300     1       oqmgr
tlsmgr    fifo    -    -    y    300    1    tlsmgr
rewrite    unix    -    -    y    -    -    trivial-rewrite
bounce    unix    -    -    y    -    0    bounce
defer    unix    -    -    y    -    0    bounce
trace    unix    -    -    y    -    0    bounce
verify    unix    -    -    y    -    1    verify
flush    unix    n    -    y    1000?    0    flush
proxymap  unix  -       -       n       -       -       proxymap
smtp    unix    -    -    y    -    -    smtp
relay    unix    -    -    y    -    -    smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq    unix    n    -    y    -    -    showq
error    unix    -    -    y    -    -    error
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp    unix    -    -    y    -    -    lmtp
anvil    unix    -    -    y    -    1    anvil
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# maildrop. See the Postfix MAILDROP_README file for details.
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=nobody argv=/usr/bin/maildrop -d ${recipient}
#
# Cyrus. Please See the Postfix CYRUS_README file for details
#
# deliver interface (deprecated), to use this also use
# postconf -e cyrus-deliver_destination_recipient_limit=1
cyrus-deliver     unix  -       n       n       -       -       pipe
  user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
#
# for default cyrus socket placement
cyrus     unix  -       n       n       -       -       lmtp
  -o lmtp_cache_connection=yes
#
# if you configure cyrus socket in the chroot jail
cyrus-chroot     unix  -       -       y       -       -       lmtp
  -o lmtp_cache_connection=yes
#
# for lmtp to cyrus via tcp
cyrus-inet    unix    -    -    y    -    -    lmtp
  -o lmtp_cache_connection=yes
  -o lmtp_sasl_auth_enable=yes
  -o lmtp_sasl_password_maps=hash:/etc/postfix/cyrus_lmtp_sasl_pass
  -o lmtp_sasl_security_options=noanonymous
#
# UUCP. Unix to Unix CoPy
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=/usr/bin/uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# these are not distributed with Mandrakelinux
#
#ifmail    unix  -       n       n       -       -       pipe
#  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
#bsmtp     unix  -       n       n       -       -       pipe
#  flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

##### START OF CONTENT FILTER CUSTOMIZATIONS #####
# Please see the Postfix FILTER_README for details.
# These sample entries expect your content filter to
# listen on port 10025 and to inject mail back into
# postfix on port 10026.
#
# to enable such content filter run the command
#    postconf -e content_filter=smtp-filter:127.0.0.1:10025
#    postconf -e smtp-filter_destination_concurrency_limit=2
# or
#    postconf -e content_filter=lmtp-filter:127.0.0.1:10025
#    postconf -e lmtp-filter_destination_concurrency_limit=2
# and the command
#    postconf -e receive_override_options=no_address_mappings
#
# AV scan
scan    unix    -    -    n    -    16    smtp

127.0.0.1:10026    inet    n    -    n    -    -    smtpd
  -o content_filter=
  -o smtpd_restriction_classes=
  -o smtpd_client_restrictions=
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o mynetworks=127.0.0.0/8
  -o smtpd_authorized_xforward_hosts=127.0.0.0/8
  -o strict_rfc821_envelopes=yes
  -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
#  -o smtpd_client_connection_limit_exceptions=127.0.0.0/8

lmtp-filter    unix    -    -    y    -    -    lmtp
  -o lmtp_data_done_timeout=1200
  -o smtp_send_xforward_command=yes

smtp-filter    unix    -    -    y    -    -    smtp
  -o smtp_data_done_timeout=1200
  -o smtp_send_xforward_command=yes

##### END OF CONTENT FILTER CUSTOMIZATIONS #####  


"postfix+сlamаv"
Отправлено Wedmak , 09-Ноя-05 09:03 
а вот что выдает postfix

Nov  9 08:46:34 router ipop3d[7130]: pop3 service init from 192.168.0.23
Nov  9 08:46:34 router ipop3d[7130]: Login user=denis host=[192.168.0.23] nmsgs=0/0
Nov  9 08:46:34 router ipop3d[7130]: Logout user=denis host=[192.168.0.23] nmsgs=0 ndele=0
Nov  9 08:56:53 router postfix/smtpd[7171]: connect from unknown[192.168.0.23]
Nov  9 08:56:53 router postfix/smtpd[7171]: 40121489D: client=unknown[192.168.0.23]
Nov  9 08:56:53 router postfix/cleanup[7174]: 40121489D: message-id=<253287879.20051109085919@svet.ru>
Nov  9 08:56:53 router postfix/qmgr[7119]: 40121489D: from=<denis@svet.ru>, size=672, nrcpt=1 (queue active)
Nov  9 08:56:53 router postfix/smtp[7175]: connect to 127.0.0.1[127.0.0.1]: Connection refused (port 10025)

далее ошибки ?

Nov  9 08:56:53 router postfix/smtp[7175]: 40121489D: to=<tools@svet.ru>, relay=none, delay=0, status=deferred (connect to 127.0.0.1[127.0.0.1]: Connection refused)
Nov  9 08:56:53 router postfix/smtpd[7171]: disconnect from unknown[192.168.0.23]


"postfix+сlamаv"
Отправлено Gleb , 09-Ноя-05 09:34 
>далее ошибки ?
>
>Nov  9 08:56:53 router postfix/smtp[7175]: 40121489D: to=<tools@svet.ru>, relay=none, delay=0, status=deferred (connect to 127.0.0.1[127.0.0.1]: Connection refused)
>Nov  9 08:56:53 router postfix/smtpd[7171]: disconnect from unknown[192.168.0.23]


а разве
mynetworsks_style = 192.168.0.0/24
и
mynetworsks = 192.168.0.0/24
одно и тоже?
я, почему-то, не вижу в main.cf этого параметра

mynetworsks = 192.168.0.0/24, 127.0.0.0/8
(127.0.0.0/8 - обязательно)


"postfix+сlamаv"
Отправлено jonatan , 09-Ноя-05 09:17 
Для начала убедитесь, что clamd успешно запускается, создает файл сокета, pid-файл.

>smtp-filter_destination_concurrency_limit = 2
>lmtp-filter_destination_concurrency_limit = 2
Правильно будет так.

/etc/postfix/master.cf:

smtp-filter unix - - y - - smtp
  -o smtp_data_done_timeout=1200
  -o smtp_send_xforward_command=yes
  -o smtp_destination_concurrency_limit=2

lmtp-filter unix - - y - - lmtp
  -o lmtp_data_done_timeout=1200
  -o lmtp_send_xforward_command=yes
  -o lmtp_destination_concurrency_limit=2


"postfix+сlamаv"
Отправлено Wedmak , 09-Ноя-05 09:34 
>Для начала убедитесь, что clamd успешно запускается, создает файл сокета, pid-файл.

А вот тут еще одна непонятка. clamd я не нашел вообще, ставил из rpm пакетов, и rpm -q clamav гворит что пакет установлен. ни файл сокета ни pid не создались.


"postfix+сlamаv"
Отправлено jonatan , 09-Ноя-05 09:38 
Часто clamd "идет" отдельным пакетом.

rpm -qa clam*
clamav-0.86.2-1.1.el3.rf
clamav-db-0.86.2-1.1.el3.rf
clamd-0.86.2-1.1.el3.rf


"postfix+сlamаv"
Отправлено Wedmak , 09-Ноя-05 10:32 
спасибо. все заработало. тока почему то clamsmtpd считывает конф из /usr/etc, а не как в доке /usr/local/etc. но это думаю мелочи.