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

Squid + антивирус. ICAP

Добавлено: 2007-03-11 12:03:01
vort314
Доброго времени суток.

Подскажите каким образом лучше фильтровать http трафик.
Понимаю что тема скорее всего заезженая, но все же.

Кто и каким образом решил эту проблему.
Судя по поисковикам, многие вообще забили на это :)

Система у меня вот такая.

Freebsd 6.1 в качестве шлюза
Squid 2.6 прозрачный
Rejik

сделал все по статье http://www.lissyara.su/?id=1128
но все работает не стабильно. при пуске методом c-icap -N -d 10 -D
сначало все фунциклирует. Если 1,2 машины. Но...
Решил проверить. На клиентской машине в IE зажимаю клавиши CTRL+F5 секунды на 3
и ICAP забивается сообщениями типа
Error writing to server (errno:32)SIGPIPE signal received.
конфиг собственно вот такой.

#
# This file contains the default settings for c-icap
#


PidFile /var/run/c-icap.pid
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
# set KeepAliveTimeout to -1 for no timeout
KeepAliveTimeout 600
StartServers 10
MaxServers 40
MinSpareThreads 10
MaxSpareThreads 20
ThreadsPerChild 10
MaxRequestsPerChild 0


Port 1344
User squid
Group squid


#ServerAdmin you@your.address # Not implemented yet
#ServerName localhost:1344 # Not implemented yet

TmpDir /var/tmp
MaxMemObject 131072

ServerLog /var/log/c_icap/server.log
AccessLog /var/log/c_icap/access.log
#DebugLevel 3

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

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

##Specify wich logger to use......
#Logger sys_logger
Logger file_logger

## AclControlers example. The default_acl is the buildin acl controller
## To load an extrernal access controller named my_acl.so use:
#Module access_controller my_acl.so

## This parameter needed to specify the order of used acl controllers
## If not specified access control will be disabled
#AclControllers default_acl

## An example of acl lists for default_acl controller.
## acl and icap_access are aliases for default_acl.acl and default_acl.icap_access
#acl localnet_options src 192.168.1.0/255.255.255.0 type options
acl localnet_respmod src 192.168.0.0/255.255.255.0 type respmod
#acl localnet src 192.168.1.0/255.255.255.0
##Use the folllowing to demand use of username ......
##acl localnet src 192.168.1.0/255.255.255.0 user *
#acl externalnet src 0.0.0.0/0.0.0.0
#acl barbarian src 192.168.1.5

#acl squid_respmod src 0.0.0.0 type respmod
#icap_access allow squid_respmod

##An example to specify access to server
#icap_access deny barbarian
#icap_access allow localnet_options
icap_access allow localnet_respmod
#icap_access allow localnet
## http_auth mean that the icap server must try to authenticate the request
## using the http headers ....
#icap_access http_auth localnet
#icap_access deny externalnet

#Also you can specify which hosts to log or not.
# Comment out the folowing two lines to log only the external net
#icap_access nolog localnet
#icap_access log externalnet



##An example for authentication methods ....
## To load an extarnal authentication method module named my_authmethod.so use:
#Module auth_method my_authmethod.so

##The following parameter needed to specify the order of authenticators for
##specific authentication method. file_basic is a buildin authenticator
##for buildin basic authentication method (Not implemented yet......) ......
#AuthMethod basic file_basic


ServicesDir /usr/local/lib/c_icap
Service echo_module srv_echo.so
Service url_check_module srv_url_check.so
Service antivirus_module srv_clamav.so


# Antivirus module settings
# For allowed file types or groups of file types look at c-icap.magic
srv_clamav.ScanFileTypes TEXT DATA EXECUTABLE ARCHIVE GIF JPEG MSOFFICE
#The percentage of data to sent if the downloaded file exceeds the StartSendPercentDataAfter size
srv_clamav.SendPercentData 5
srv_clamav.StartSendPercentDataAfter 2M

##Comment out the following line to enable 204 responces outside previews for srv_clamav
## if your icap client support it. For squid let it off
#srv_clamav.Allow204Responces on

# The Maximum object to be scanned.
srv_clamav.MaxObjectSize 5M
#The directory which clamav library will use as temporary.
#srv_clamav.ClamAvTmpDir /var/tmp
#Sets the maximum number of files in archive.)i Set it to 0 to disable it
srv_clamav.ClamAvMaxFilesInArchive 0
#Sets the maximal archived file size. Set it to 0 to disable it.
srv_clamav.ClamAvMaxFileSizeInArchive 100M
#The maximal recursion level.Set it to 0 to disable it.
srv_clamav.ClamAvMaxRecLevel 5

# And here the viralator-like mode.
# where to save documents
#srv_clamav.VirSaveDir /srv/www/htdocs/downloads/
# from where the documents can be retrieved (you can find the get_file.pl script in contrib dir)
#srv_clamav.VirHTTPServer "http://fortune/cgi-bin/get_file.pl?usen ... ve=1&file="
# The refresh rate....
#srv_clamav.VirUpdateTime 15
# For which filetypes the "virelator like mode" will be used.
#srv_clamav.VirScanFileTypes ARCHIVE EXECUTABLE

Сквид без всего этого добра работает стабильно.
все ставил из портов.

Есть ли еще альтернативы более стабильные ?
Я не исключаю что проблемы могут быть в моем не достаточном уровне знания Freebsd.
но трафик то фильтровать на вирусы все равно нужно. :)

Добавлено: 2007-03-11 17:34:38
Alex Keda
цифирьки, про число деток и прочее - раз в 5-10 увеличь...
И есть полезная кнопочка

Добавлено: 2007-03-11 18:44:56
Гость
lissyara писал(а):цифирьки, про число деток и прочее - раз в 5-10 увеличь...
И есть полезная кнопочка

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

[/quote]

Timeout 300 
KeepAlive On 
MaxKeepAliveRequests 100 
# set KeepAliveTimeout to -1 for no timeout 
KeepAliveTimeout 600 
StartServers 100 
MaxServers 400 
MinSpareThreads 100 
MaxSpareThreads 200 
ThreadsPerChild 100
MaxRequestsPerChild 0

не помогло. :)

И тут я принял единственное верное решение :) увеличил цифирьки в сто раз.
Короче теперь я могу идти пить пиво свободно  :P  до понедельника. Так как консоль SSH слетела и сервер замолчал.

Нужно было бы так поступить еще в пятницу и спокойно попить пивка, а не ломать голову все выходные.

И все же посоветуйте кому не сложно. Что конкретно нужно увеличить и во сколько раз, если пользователей в сети примерно 35-40.  :?

Добавлено: 2007-03-12 9:26:19
Alex Keda
те цифры, что даны на сайте - у меня пашут на 1-2 юзерах.
Юзера не жаловались, но я их не видел уже полтора года :)))

Добавлено: 2007-03-12 10:07:07
Гость
lissyara писал(а):те цифры, что даны на сайте - у меня пашут на 1-2 юзерах.
Юзера не жаловались, но я их не видел уже полтора года :)))
Эх.. Что то я вчера переборщил и с циферками, и с пивком после циферок :)
И слегка опоздал на работу. На какие то жалкие полтора часа... Ну да ладно. 8)

Попробую поэксперементировать с циферками, если что выйдет толковое отпишусь, может кому и пригодится.

Да. Еще вопрос. Вот эти циферки стоит менять, или лучше оставить как было ?
Timeout 300
MaxKeepAliveRequests 100
KeepAliveTimeout 600

Добавлено: 2007-03-12 10:24:55
Alex Keda
ну, скажем так - я довольно долго дёргал пока заработало стабильно :)