Страница 1 из 1

squid3+clamav+c-icap

Добавлено: 2008-01-31 9:44:45
XliN
Помогите люди с настройкой. Долго бьюсь, никак не получается. На сайте rusfaq.ru задал вопрос и они ответили что такая связка должна работать со squid 3.0
Ну я без проблем обновил дерево портов и установил третий сквид, причем с поддержкой c-icap. Проксик заработал.
Потом установил clamav. Как я понял он встал без проблем.

Код: Выделить всё

SKTV# freshclam
ClamAV update process started at Thu Jan 31 09:21:45 2008
main.inc is up to date (version: 45, sigs: 169676, f-level: 21, builder: sven)
Downloading daily-5609.cdiff [100%]
Downloading daily-5617.cdiff [100%]
Downloading daily-5618.cdiff [100%]
Downloading daily-5619.cdiff [100%]
daily.inc updated (version: 5619, sigs: 29094, f-level: 21, builder: ccordes)
Database updated (198770 signatures) from database.clamav.net (IP: 80.93.48.167)
Следующим этапом стала установка c-icap Его я тоже ставил из портов, как и все выше приведенные проги.
Сделал все по инструкции расположенной на сайте у Лиса, но он что то не завелся. Не проверяет на вирус, который можно для примера скачать.
Вот конфиг:

Код: Выделить всё

PidFile /var/run/c-icap.pid
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 600  
StartServers 3
MaxServers 10
MinSpareThreads     10
MaxSpareThreads     20
ThreadsPerChild     10
MaxRequestsPerChild  0


Port 1344
User nobody
Group nobody

TmpDir /var/tmp
MaxMemObject 131072

ModulesDir /usr/local/c_icap/lib/c_icap
Module logger sys_logger.so
Module perl_handler perl_handler.so

sys_logger.Prefix "C-ICAP:"
sys_logger.Facility local1

Logger file_logger

acl localsquid_respmod src 127.0.0.1 type respmod
acl localsquid src 127.0.0.1
acl externalnet src 0.0.0.0/0.0.0.0
icap_access allow localsquid_respmod
icap_access allow localsquid
icap_access deny externalnet

ServicesDir /usr/local/c_icap/lib/c_icap
Service echo_module srv_echo.so
Service squard_module srv_sguard.so
Service antivirus_module srv_clamav.so

srv_clamav.ScanFileTypes TEXT DATA EXECUTABLE ARCHIVE GIF JPEG MSOFFICE
srv_clamav.SendPercentData 5
srv_clamav.StartSendPercentDataAfter 2M

srv_clamav.MaxObjectSize  5M
srv_clamav.ClamAvTmpDir /var/tmp
srv_clamav.VirSaveDir /var/infected/
srv_clamav.VirHTTPServer "DUMMY"
srv_clamav.ClamAvMaxFilesInArchive 0
srv_clamav.ClamAvMaxFileSizeInArchive 100M
srv_clamav.ClamAvMaxRecLevel 5

Код: Выделить всё

SKTV# /usr/local/bin/c-icap -d 10 -D
Enabling parameter -D
Setting parameter :PidFile=/var/run/c-icap.pid
Setting parameter :Timeout=300
Setting parameter :KeepAliveTimeout=600
Setting parameter :StartServers=3
Setting parameter :MaxServers=10
Setting parameter :MinSpareThreads=10
Setting parameter :MaxSpareThreads=20
Setting parameter :ThreadsPerChild=10
Setting parameter :Port=1344
Setting parameter :User=nobody
Setting parameter :Group=nobody
Setting parameter :TmpDir=/var/tmp
Setting parameter :MaxMemObject=131072
Setting parameter :ModulesDir=/usr/local/c_icap/lib/c_icap
Loading service :logger path sys_logger.so
Registering conf table:sys_logger
Loading service :perl_handler path perl_handler.so
Uknown type of module:perl_handler
Error loading service
Going to search variable Prefix in table sys_logger
Setting parameter :Prefix=C-ICAP:
Going to search variable Facility in table sys_logger
Setting parameter :Logger=file_logger
ACL spec name:localsquid_respmod username:- service:- type:4 port:0 src_ip:127.0.0.1 src_netmask:255.255.255.255 server_ip:0.0.0.0
ACL spec name:localsquid username:- service:- type:0 port:0 src_ip:127.0.0.1 src_netmask:255.255.255.255 server_ip:0.0.0.0
ACL spec name:externalnet username:- service:- type:0 port:0 src_ip:0.0.0.0 src_netmask:0.0.0.0 server_ip:0.0.0.0
ACL entry localsquid_respmod 1  added
ACL entry localsquid 1  added
ACL entry externalnet -1  added
Setting parameter :ServicesDir=/usr/local/c_icap/lib/c_icap
Loading service :echo_module path srv_echo.so
Found handler C_handler for service with extension:.so
Error loading service srv_echo.so: (null)
Error finding symbol "service" in  module srv_echo.so
Error loading service
Loading service :squard_module path srv_sguard.so
Found handler C_handler for service with extension:.so
Error loading service srv_sguard.so: (null)
Error finding symbol "service" in  module srv_sguard.so
Error loading service
Loading service :antivirus_module path srv_clamav.so
Found handler C_handler for service with extension:.so
Error loading service srv_clamav.so: (null)
Error finding symbol "service" in  module srv_clamav.so
Error loading service
Going to search variable ScanFileTypes in table srv_clamav
Going to search variable SendPercentData in table srv_clamav
Going to search variable StartSendPercentDataAfter in table srv_clamav
Going to search variable MaxObjectSize in table srv_clamav
Going to search variable ClamAvTmpDir in table srv_clamav
Going to search variable VirSaveDir in table srv_clamav
Going to search variable VirHTTPServer in table srv_clamav
Going to search variable ClamAvMaxFilesInArchive in table srv_clamav
Going to search variable ClamAvMaxFileSizeInArchive in table srv_clamav
Going to search variable ClamAvMaxRecLevel in table srv_clamav
My hostname is:SKTV
Can not init loggers. Exiting.....
Вот такие пироги. А если в конфиг сквида еще добавлю строчки

Код: Выделить всё

icap_enable on
icap_preview_enable on
icap_preview_size 128
icap_send_client_ip on

icap_service service_avi_req reqmod_precache 0 icap://localhost:1344/srv_clamav
icap_service service_avi respmod_precache 1 icap://localhost:1344/srv_clamav

icap_class class_antivirus service_avi service_avi_req
icap_access class_antivirus allow all
То и сквид перестает работать

Re: squid3+clamav+c-icap

Добавлено: 2008-01-31 11:59:39
XliN
Почти все получилось!! Люди. Вы скорее всего знаете в чем касяк. Я смог запустить c-icap но только под пользователем nobody Под пользователем squid не хочет

Код: Выделить всё

SKTV# sockstat | grep icap
nobody   c-icap     1353  5  tcp4   *:1344                *:*
nobody   c-icap     1352  5  tcp4   *:1344                *:*
nobody   c-icap     1351  5  tcp4   *:1344                *:*
nobody   c-icap     1350  5  tcp4   *:1344                *:*
Но после добавления в конфиг сквида вот этого

Код: Выделить всё

icap_enable on
icap_preview_enable on
icap_preview_size 128
icap_send_client_ip on

icap_service         service_1 reqmod_precache 0 icap://localhost:1344/srv_clamav
icap_service         service_2 respmod_precache 1 icap://localhost:1344/srv_clamav
icap_class           class_antivirus service_2 service_1
icap_access          class_antivirus allow all
отваливается интернет у пользователя и выползает ошибка

Код: Выделить всё

2008/01/31 12:15:42| WARNING: '0.0.0.0/0.0.0.0' is a subnetwork of '0.0.0.0/0.0.0.0'
2008/01/31 12:15:42| WARNING: because of this '0.0.0.0/0.0.0.0' is ignored to keep splay tree searching predictable
2008/01/31 12:15:42| WARNING: You should probably remove '0.0.0.0/0.0.0.0' from the ACL named 'all'
2008/01/31 12:15:42| WARNING: Multiple ICAP services per icap_class are not yet supported. See Squid bug #2087.

Re: squid3+clamav+c-icap

Добавлено: 2008-01-31 13:12:39
Al
XliN писал(а):WARNING: You should probably remove '0.0.0.0/0.0.0.0' from the ACL named 'all'
убери акль all
XliN писал(а):WARNING: Multiple ICAP services per icap_class are not yet supported. See Squid bug #2087.
поддерживается только 1 икап - сервис. второй убери
но у меня все равно не завелось

Re: squid3+clamav+c-icap

Добавлено: 2008-01-31 13:42:43
XliN
В конфиге сквида Или шкапа? Я уже совсем запутался :(
Какой аналог можно использовать?

Re: squid3+clamav+c-icap

Добавлено: 2008-01-31 14:38:59
Al
сквида. насколько я знаю, это мало у кого работает....
альтернатива - сквид клам - но он работает через редиректор и это не очень хорошо
еще можно поставить каскад из проксей, тока не помню, как это называется
вообще google := squid + clamav