Здравствуйте. Я ещё новичёк в лунукс и тд. Пытаюсь выполнить моё текущее задание - поставить прокси по приведённой выше схеме. Данная схема принципиальна - единственное что можно изменить это скрипт\програму делающую редирект к clamav.
Система: Debian-3.1r3 Все програмы ставил из репозитариев кроме squidclam.
Даже не знаю с чего начать... В общем всё поставлено по различным руководствам, но эффекта нет. Для двух редиректоров я использую вот этот скрипт:
#!/usr/bin/perl
# # manyplex.pl - if you want to use more than one redirector in squid #
############### # This file is part of an extension of SquiVi2. # # SquiVi2 is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # SquiVi2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with SquiVi2; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Copyright 2004 Steffen Schoch (sschoch@users.sourceforge.net) ###############
############### # Versionsnummer my $VERSION = '1.0';
use strict; use IPC::Open2; use IO::Handle;
# define here your redirectors (use a comma sperated list) my $redirectors = [ '/usr/bin/squidGuard -c /etc/squid/squidGuard.conf', '/usr/bin/squidclam', ]; #'/usr/bin/squidclam', # Attention: keep in mind that the order of your redirectors is important. # It doesn't make sense to scan for viruses on pages you restrict access to... # So place first your tools which restrict access, then the tools which do the # content filtering!
##### no need to change anything below this line #####
# init $| = 1; STDOUT->autoflush(1); my $line; my $return; my $i;
# open progamms my $pidlist = []; my $rlist = []; my $wlist = []; for($i = 0; $i < @$redirectors; $i++) { $pidlist->[$i] = open2($rlist->[$i], $wlist->[$i], $redirectors->[$i]); }
# wait for data... while($line = <>) { for($i = 0; $i < @$redirectors; $i++) { $wlist->[$i]->print($line); $return = $rlist->[$i]->getline; last if($return ne "\n" and $return ne $line); # break if redirector changes data } print $return; } exit 0; -----------------
В общем у меня получалось добиваться работоспособности Squid если из скрипта убрать squidclam. Guard всё нормально фильтровал. Но нужен антивир. При добавлении squidclam в скрипт ПРИ ЛЮБОМ запросе он пытается редиректить в antivir.php - к которому он теоритически должен редиректить толкьо в случае вирусов. Вообще такое ощущение что calmav не подхватывает то что ему передаёт Guard. Если положить antivir.php в /var/www ,то он... пытается... что-то сохранить. В общем какую-то часть страницы. Ерунда какая-то. :( Вот конфиг clamd на всякий случай.
proxy2:~# cat /etc/clamav/clamd.conf #Automatically Generated by clamav-base postinst #To reconfigure clamd run #dpkg-reconfigure clamav-base #Please read /usr/share/doc/clamav-base/README.Debian.gz for details LocalSocket /var/run/clamav/clamd.ctl FixStaleSocket User clamav AllowSupplementaryGroups ScanMail ScanArchive ArchiveMaxRecursion 5 ArchiveMaxFiles 1000 ArchiveMaxFileSize 10M ArchiveMaxCompressionRatio 250 ReadTimeout 180 MaxThreads 12 MaxConnectionQueueLength 15 LogFile /var/log/clamav/clamav.log LogTime LogFileMaxSize 0 PidFile /var/run/clamav/clamd.pid DatabaseDirectory /var/lib/clamav SelfCheck 3600 ScanOLE2 ScanPE DetectBrokenExecutables ScanHTML ArchiveBlockMax ------------
Кто-нибудь может мне просто обьясниться как работает squidclam? Уже очень много времени потратил на решение этой проблемы - помогите, plz.
Привожу конфиг сквида до кучи:
http_port 192.168.0.252:3128
icp_port 3130
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY
cache_mem 256 MB
cache_dir ufs /var/spool/squid 2000 32 256
debug_options ALL,9,33,2
ftp_user squid@none.ru
ftp_list_width 64
hosts_file /etc/hosts
redirect_program /etc/squid/manyplex.pl
redirect_children 15
refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320
negative_ttl 2 minutes
read_timeout 10 minutes
acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 # https, snews acl SSL_ports port 873 # rsync acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 631 # cups acl Safe_ports port 873 # rsync acl Safe_ports port 901 # SWAT acl purge method PURGE acl CONNECT method CONNECT
http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports
acl Local_net src 10.0.0.0/8 192.168.0.0/24 acl Kirill src 192.168.0.8/32 acl Victor src 192.168.0.3/32 acl Xen src 192.168.0.246/32 acl To_local_net dst 192.168.0.0/24 10.0.0.0/8
http_access allow Kirill http_access deny To_local_net http_access deny localhost redirector_access deny localhost http_access deny all
http_access allow localhost http_access deny all
http_reply_access allow all
icp_access allow all
coredump_dir /var/spool/squid
redirector_bypass on