Стоит связка postfix(2.1.5,1)+clamav+clamsmtpd(1.1), система freebsd 4.10
Никакие рары не прикручены, в свойствах кламава указано проверять архивы.
Примерно раз в три/четыре месяца кламав вываливается с ошибкой:Mon Jun 6 17:09:05 2005 -> /var/tmp/clamsmtpd.bJhBha: Worm.Mytob.CL FOUND
Mon Jun 6 17:11:58 2005 -> Segmentation fault :-( Bye..
Mon Jun 6 21:37:49 2005 -> +++ Started at Mon Jun 6 21:37:49 2005
Mon Jun 6 21:37:49 2005 -> clamd daemon 0.85.1 (OS: freebsd4.10, ARCH: 386, CPU: i386)
Mon Jun 6 21:37:49 2005 -> Log file size limited to 1048576 bytes.
Mon Jun 6 21:37:49 2005 -> Verbose logging activated.
Mon Jun 6 21:37:49 2005 -> Running as user clamav (UID 106, GID 106)
Mon Jun 6 21:37:49 2005 -> Reading databases from /usr/local/share/clamav
Mon Jun 6 21:37:50 2005 -> Protecting against 35439 viruses.
Mon Jun 6 21:37:50 2005 -> WARNING: Socket file /var/run/clamav/clamd exists. Unclean shutdown? Removing...
Mon Jun 6 21:37:50 2005 -> Unix socket file /var/run/clamav/clamd
Mon Jun 6 21:37:50 2005 -> Setting connection queue length to 64
Mon Jun 6 21:37:50 2005 -> Listening daemon: PID: 18384
Mon Jun 6 21:37:50 2005 -> Archive: Archived file size limit set to 1048576 bytes.
Mon Jun 6 21:37:50 2005 -> Archive: Recursion level limit set to 3.
Mon Jun 6 21:37:50 2005 -> Archive: Files limit set to 100.
Mon Jun 6 21:37:50 2005 -> Archive: Compression ratio limit set to 250.
Mon Jun 6 21:37:50 2005 -> Archive support enabled.
Mon Jun 6 21:37:50 2005 -> Archive: RAR support disabled.
Mon Jun 6 21:37:50 2005 -> Portable Executable support enabled.
Mon Jun 6 21:37:50 2005 -> Mail files support enabled.
Mon Jun 6 21:37:50 2005 -> OLE2 support enabled.
Mon Jun 6 21:37:50 2005 -> HTML support enabled.
Mon Jun 6 21:37:50 2005 -> Self checking every 18000 seconds.Первый раз это произошло на версии clamav-0.80_3, последний раз произошло на версии clamav-0.85.1, железо сервера проверенное, система стоит без перезагрузки 160 дней.
хз, ну и ребуть сервак иногда :) ради клама ничего не жалко.
может, стоит откат сделать??
лично я пока на 0.84: лень....
Обновись до последней версии как ClamAV, так и clamsmtpd. А вообще можно и постфикс обновить.
>Обновись до последней версии как ClamAV, так и clamsmtpd. А вообще можно
>и постфикс обновить.Что толку то все обновлять (к тому же кламав последний)?
Проблема вылазит только у кламава, причем как в версии 0,80 так и в 0,85,1.
И точно выявить ее очень трудно, т.к проявляется раз в несколько месяцев.Может ли это быть связано с архивированными аттачами?
# cat clamd.conf
LogFile /var/log/clamd.log
LogFileMaxSize 10M
LogTime
LogVerbose
PidFile /tmp/clamd.pid
TemporaryDirectory /tmp
LocalSocket /tmp/clamd.sock
FixStaleSocket
StreamMaxLength 20M
MaxThreads 20
ReadTimeout 300
IdleTimeout 60
MaxDirectoryRecursion 20
FollowDirectorySymlinks
FollowFileSymlinks
SelfCheck 3600
#VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v"
#User clamav
#AllowSupplementaryGroups
#ExitOnOOM
#Foreground
#LeaveTemporaryFiles
DisableDefaultScanOptions
ScanPE
DetectBrokenExecutables
ScanOLE2
ScanMail
#MailFollowURLs
ScanHTML
ScanArchive
ScanRAR
ArchiveMaxFileSize 100M
ArchiveMaxRecursion 20
ArchiveMaxFiles 30000
ArchiveMaxCompressionRatio 3000
ArchiveLimitMemoryUsage
ArchiveBlockEncrypted
ArchiveBlockMaxэто мой, давай свой.
##
## Please read the clamd.conf(5) manual before editing this file.
### Uncomment this option to enable logging.
# LogFile must be writable for the user running daemon.
# A full path is required.
# Default: disabled
LogFile /var/log/clamav/clamd.log# By default the log file is locked for writing - the lock protects against
# running clamd multiple times (if want to run another clamd, please
# copy the configuration file, change the LogFile variable, and run
# the daemon with --config-file option).
# This option disables log file locking.
# Default: disabled
#LogFileUnlock# Maximal size of the log file.
# Value of 0 disables the limit.
# You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes)
# and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes). To specify the size
# in bytes just don't use modifiers.
# Default: 1M
#LogFileMaxSize 2M# Log time with each message.
# Default: disabled
LogTime# Also log clean files. Useful in debugging but drastically increases the
# log size.
# Default: disabled
#LogClean# Use system logger (can work together with LogFile).
# Default: disabled
#LogSyslog# Specify the type of syslog messages - please refer to 'man syslog'
# for facility names.
# Default: LOG_LOCAL6
#LogFacility LOG_MAIL# Enable verbose logging.
# Default: disabled
LogVerbose# This option allows you to save a process identifier of the listening
# daemon (main thread).
# Default: disabled
PidFile /var/run/clamav/clamd.pid# Optional path to the global temporary directory.
# Default: system specific (usually /tmp or /var/tmp).
TemporaryDirectory /var/tmp# Path to the database directory.
# Default: hardcoded (depends on installation options)
DatabaseDirectory /usr/local/share/clamav# The daemon works in a local OR a network mode. Due to security reasons we
# recommend the local mode.# Path to a local socket file the daemon will listen on.
# Default: disabled
LocalSocket /var/run/clamav/clamd# Remove stale socket after unclean shutdown.
# Default: disabled
FixStaleSocket# TCP port address.
# Default: disabled
#TCPSocket 3310# TCP address.
# By default we bind to INADDR_ANY, probably not wise.
# Enable the following to provide some degree of protection
# from the outside world.
# Default: disabled
#TCPAddr 127.0.0.1# Maximum length the queue of pending connections may grow to.
# Default: 15
MaxConnectionQueueLength 64# Close the connection if this limit is exceeded.
# Default: 10M
StreamMaxLength 2M# Maximal number of threads running at the same time.
# Default: 10
MaxThreads 64# Waiting for data from a client socket will timeout after this time (seconds).
# Value of 0 disables the timeout.
# Default: 120
#ReadTimeout 300# Waiting for a new job will timeout after this time (seconds).
# Default: 30
#IdleTimeout 60# Maximal depth directories are scanned at.
# Default: 15
#MaxDirectoryRecursion 20# Follow directory symlinks.
# Default: disabled
#FollowDirectorySymlinks# Follow regular file symlinks.
# Default: disabled
#FollowFileSymlinks# Perform internal sanity check (database integrity and freshness).
# Default: 1800 (30 min)
SelfCheck 18000# Execute a command when virus is found. In the command string %v will
# be replaced by a virus name.
# Default: disabled
#VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v"# Run as a selected user (clamd must be started by root).
# Default: disabled
User clamav# Initialize supplementary group access (clamd must be started by root).
# Default: disabled
AllowSupplementaryGroups# Don't fork into background.
# Default: disabled
#Foreground# Enable debug messages in libclamav.
# Default: disabled
#Debug# Do not remove temporary files (for debug purposes).
# Default: disabled
#LeaveTemporaryFiles
# By default clamd uses scan options recommended by libclamav. This option
# disables recommended options and allows you to enable selected ones below.
# DO NOT TOUCH IT unless you know what you are doing.
# Default: disabled
#DisableDefaultScanOptions##
## Executable files
### PE stands for Portable Executable - it's an executable file format used
# in all 32-bit versions of Windows operating systems. This option allows
# ClamAV to perform a deeper analysis of executable files and it's also
# required for decompression of popular executable packers such as UPX, FSG,
# and Petite.
# Default: enabled
#ScanPE# With this option clamav will try to detect broken executables and mark
# them as Broken.Executable
# Default: disabled
#DetectBrokenExecutables
##
## Documents
### This option enables scanning of Microsoft Office document macros.
# Default: enabled
#ScanOLE2##
## Mail files
### Enable internal e-mail scanner.
# Default: enabled
ScanMail# If an email contains URLs ClamAV can download and scan them.
# WARNING: This option may open your system to a DoS attack.
# Never use it on loaded servers.
# Default: disabled
#MailFollowURLs
##
## HTML
### Perform HTML normalisation and decryption of MS Script Encoder code.
# Default: enabled
#ScanHTML
##
## Archives
### ClamAV can scan within archives and compressed files.
# Default: enabled
#ScanArchive# Due to license issues libclamav does not support RAR 3.0 archives (only the
# old 2.0 format is supported). Because some users report stability problems
# with unrarlib it's disabled by default and you must uncomment the directive
# below to enable RAR 2.0 support.
# Default: disabled
#ScanRAR# The options below protect your system against Denial of Service attacks
# using archive bombs.# Files in archives larger than this limit won't be scanned.
# Value of 0 disables the limit.
# Default: 10M
ArchiveMaxFileSize 1M# Nested archives are scanned recursively, e.g. if a Zip archive contains a RAR
# file, all files within it will also be scanned. This options specifies how
# deep the process should be continued.
# Value of 0 disables the limit.
# Default: 5
ArchiveMaxRecursion 3# Number of files to be scanned within an archive.
# Value of 0 disables the limit.
# Default: 1000
ArchiveMaxFiles 100# If a file in an archive is compressed more than ArchiveMaxCompressionRatio
# times it will be marked as a virus (Oversized.ArchiveType, e.g. Oversized.Zip)
# Value of 0 disables the limit.
# Default: 250
#ArchiveMaxCompressionRatio 300# Use slower but memory efficient decompression algorithm.
# only affects the bzip2 decompressor.
# Default: disabled
#ArchiveLimitMemoryUsage# Mark encrypted archives as viruses (Encrypted.Zip, Encrypted.RAR).
# Default: disabled
#ArchiveBlockEncrypted# Mark archives as viruses if ArchiveMaxFiles, ArchiveMaxFileSize, or
# ArchiveMaxRecursion limit is reached.
# Default: disabled
#ArchiveBlockMax
##
## Clamuko settings
## WARNING: This is experimental software. It is very likely it will hang
## up your system!!!
### Enable Clamuko. Dazuko (/dev/dazuko) must be configured and running.
# Default: disabled
#ClamukoScanOnAccess# Set access mask for Clamuko.
# Default: disabled
#ClamukoScanOnOpen
#ClamukoScanOnClose
#ClamukoScanOnExec# Set the include paths (all files in them will be scanned). You can have
# multiple ClamukoIncludePath directives but each directory must be added
# in a seperate line.
# Default: disabled
#ClamukoIncludePath /home
#ClamukoIncludePath /students# Set the exclude paths. All subdirectories are also excluded.
# Default: disabled
#ClamukoExcludePath /home/guru# Don't scan files larger than ClamukoMaxFileSize
# Value of 0 disables the limit.
# Default: 5M
#ClamukoMaxFileSize 10M
на мой взгляд - слишком небольшие параметры под очереди, архивы и т.д. типа StreamMaxLength 2M. может, стоит мой конф (ессно, под группы и пути правленный) временно поюзать?
>на мой взгляд - слишком небольшие параметры под очереди, архивы и т.д.
>типа StreamMaxLength 2M. может, стоит мой конф (ессно, под группы и
>пути правленный) временно поюзать?Поставил в своем конфиге опции:
StreamMaxLength 50M
ReadTimeout 300
IdleTimeout 60
Debug
Через полгодика посмотрим что получилось :-)
Если не секрет у тебя кламав хоть раз вываливался с сегментатион файлт?
какая версия стоит? как часто перегружается? какая система?
>Если не секрет у тебя кламав хоть раз вываливался с сегментатион файлт?
я и есть секрет :)))последние года 3 его и юзаю в "промышленных" целях, остальные как-то не приживаются: дорогие, ключи кончаются, видимых преимуществ для почтарей не наблюдаю.
версии соотв, от 0.6х на фрях 4.хххххх (до 5.4 - первая стабильная 5-ка на мой взгляд), реденько под разными линухами (в основном суси + мдк). в кору валился когда-то так давно, что уже и не помню (может, этого и не было).
ядра всегда только свои. некоторые системы не перезагружаются (одна есть - uptime около 500 дней), почтари postfix (иногда CGP)
>некоторые системы не перезагружаются (одна есть - uptime2 года не апгрейдилась?
не моя :) народ когда-то дал деньгу, и была установка.
я предлагал несколько раз, но руководитель считает:
если его устраивает (т.е. всё работает) = зачем платить лишнее бабло?
так что года полтора всё в замороженном состоянии, а мне та система как бы по-барабану.
>хз, ну и ребуть сервак иногда :) ради клама ничего не жалко.
>
>может, стоит откат сделать??
>лично я пока на 0.84: лень....Тоже вот начинаю думать написать скрипт который по крону раз в час бы смотрел запушен ли кламав и если нет то перестартовывал его.
И снова упал clamav, уже в третий раз на моей памяти.
Правка конфига (см выше) не помогла.
Кстати проапредил clamav-0.86.1, clamsmtp-1.4.1.
Ни у кого не появилось мыслей из за чего так может быть.
Сейчас написал скрипт который раз в полчаса запускается, что если в очереди писем больше 500, то перегружает все демоны.
FreeBSD 4.9, Postfix 2.0.15, clamav-devel - периодически обновляемый, clamsmtpd. Выцепил part2 от раровского архива который валит clamd - внешне ничем не отличается. С clamav-devel-20050806 (самый свежий, собран с опциями по умолчанию)та же история. Если есть желание потестить свои инсталляции - могу выложить... Пятиметровый архив.
Решения не нашел.
У меня такая же лажа но что бы ее небыло делаю следующее перехожу под юзера кламовского и запускаю все пашет вот теперь нужно скрипт запуска написать и все будет ОК