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

icap+squid+clamav

Добавлено: 2006-09-05 17:51:30
alexcom
Доброе время суток всем!
Все поставил по статье http://www.lissyara.su/?id=1128
Работает. Ловит eicar по крайней мере.
Но постоянно в лог пишет следующее:
ICAP: general, SIGPIPE signal received, при этом процесс 100 проца занимает.
Так и должно быть?

Добавлено: 2006-09-05 18:49:31
Alex Keda
хм... народу много?
у меня на нескольких пользователях прекрасно пашет...

Добавлено: 2006-09-06 6:25:56
Abigor
у меня на 500 вешался, пришлось отказаться

Добавлено: 2006-09-06 7:48:06
Alex Keda
чё за машина была? на 500-то юзеров...

Добавлено: 2006-09-06 8:04:38
Urgor
500... на ксеоне с 1,5 гигами оперативки при 40-50 узерах падал раз в полчаса точто :(

Добавлено: 2006-09-06 8:25:48
alexcom
Юзеров пока 3-4.
Машина не шибко быстрая 2х350 P2
ЗЫ.Когда ставлю Debug 0 в конфиге - все ок. (Т.к. в лог эти "ошибки" не кидает)

Добавлено: 2006-09-06 9:47:12
Alex Keda
если работает - забей :))

Добавлено: 2006-09-06 9:50:07
alexcom
Тоже вариант :))
Просто интересно что за ошибка такая. Гугление и Яндексирование особо ничего не дало...

Добавлено: 2006-09-06 9:58:10
Alex Keda
дык проект развивается.. мож чё-то новое...

Добавлено: 2006-09-07 12:01:25
alexcom
Заметилась еще одна нехорошая особенность-
при выставлении DEBUG в 0 "связка" работает нормально некоторое время, но потом наблюдается таже история...
В логе ICAP: general, SIGPIPE signal received

Добавлено: 2006-09-07 12:47:30
dikens3
Я делал с помощью squidclam, 70 пользователей на P3-800(128). Стабильно. Отключил правда из-за тормозов. :-)

Добавлено: 2006-09-07 14:48:17
alexcom
dikens3
А ты squidclam из портов ставил? Или отдельно?

Добавлено: 2006-09-07 14:58:28
dikens3
alexcom писал(а): А ты squidclam из портов ставил? Или отдельно?
О какой я стал, год назад делал, забыл млин..
Скорее всего из портов, не люблю велосипед изобретать.

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

/etc/squidclam.conf
# Sample /etc/squidclam.conf
#
# don't use lines longer than 100 characters
#
proxy=http://127.0.0.1:3128
url=http://192.168.2.1:81/virus.php
tmp=/tmpdata/squidclam-XXXXXXXX
rldb=200
fsize=202400

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

# cat virus.php
<?php

if(defined('_HEADER_'))
    return;

define('_HEADER_', true);

if(!defined('CONTENT_CHARSET'))
    define('CONTENT_CHARSET', 'koi8-r');

function start() {
        echo "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'
            'http://www.w3.org/TR/html4/loose.dtd'>\n",
            "<html lang='ru'>\n",
            "<head>\n",
            ("<meta http-equiv='Content-Type' content='text/html; charset=" . CONTENT_CHARSET . "'>\n"),
            "<meta http-equiv='Content-Language' content='ru'>\n";
}
start();
?>

<title>Вирус</title></head>
<body bgcolor='#F4F4F4' background='http://192.168.2.1:81/fon.gif' lang=RU link=blue vlink=purple>

<div class=Section1>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:20.0pt;color:#3366FF'><b>Обнаружен вирус !!!</b></span></p></div>

<?php
echo "<font color=blue><b>Внимание!!! В запросе </font><font color=red>";
if ($_GET) { print $_GET['url']; }
echo "</font><font color=blue> обнаружен вирус ( </font><font color=red>";
if ($_GET) { print $_GET['virus']; }
echo "</font><font color=blue> )</font><br><br>";
echo "<font color=red>Доступ запрещён...</b></font>";
?>
Еще нужно раздел создать в fstab прописать:

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

/dev/md0               /tmpdata        mfs     rw,-s=104000    0       0
И сквид:

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

# Антивирус
acl SSL_ports port 443 563
acl localhost src 127.0.0.1/255.255.255.255
#redirect_program       /usr/local/bin/squidclam
#redirect_children      5
#redirector_access deny localhost
#redirector_access deny SSL_ports
Да и доках всё есть.

P.S. Файлы создаваемые squidclam после reset сами не стираются. Учти, если сервак часто будешь перезапускать и т.п.

Добавлено: 2006-09-07 15:40:15
alexcom
Все так и сделал
Сквид запускается, но толку=0
в логах squidclam[19685]: Could not get tempfile handle for template /tmpdata/squidclam-XXXXXXXX. Read `man mkstemp`

mount
/dev/md0 on /tmpdata (ufs, local)

df -h
/dev/md0 49M 6.0K 45M 0% /tmpdata

Добавлено: 2006-09-07 16:36:03
dikens3
drwxrwxrwt 3 root wheel 512 7 сен 17:33 tmpdata

Права на папку такие?

Добавлено: 2006-11-09 14:48:55
Sapsan
Доброго времени суток всем. Поставил squidclam. Дикенсу отдельное спасибо за скрипт) всё хорошо, вирей ловит, всё по русски объясняет. только вот вместо 404 ошибки вылазит следующее:

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

Обнаружен вирус !!!

Внимание!!! В запросе http://forum.lissyara.su/posti обнаружен вирус ( squidclam_get_file_failed )

Доступ запрещён...
Это как-нибудь лечится?

Добавлено: 2006-11-09 15:27:00
dikens3
Мдя. Это для меня загадка. :-)

Добавлено: 2006-11-10 7:16:01
Sapsan
dikens3 писал(а):Мдя. Это для меня загадка. :-)
вобщем сделал просто, переписал скрипт немного:


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

<?php 

if(defined('_HEADER_')) 
    return; 

define('_HEADER_', true); 

if(!defined('CONTENT_CHARSET')) 
    define('CONTENT_CHARSET', 'koi8-r'); 

function start() { 
        echo "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 
            'http://www.w3.org/TR/html4/loose.dtd'>\n", 
            "<html lang='ru'>\n", 
            "<head>\n", 
            ("<meta http-equiv='Content-Type' content='text/html; charset=" . CONTENT_CHARSET . "'>\n"), 
            "<meta http-equiv='Content-Language' content='ru'>\n"; 
} 
start(); 
?> 

<title>Вирус</title></head> 
<body bgcolor='#F4F4F4' background='http://192.168.2.1:81/fon.gif' lang=RU link=blue vlink=purple> 
<div class=Section1> 
<p class=MsoNormal align=center style='text-align:center'><span 
style='font-size:20.0pt;color:#3366FF'><b>
<?php
if ($_GET['virus'] == squidclam_get_file_failed)
{
 echo  "Не Найдено!!!</b></span></p></div>";
   }
else

{
echo "Обнаружен вирус !!!</b></span></p></div> ";
}
 
echo "<font color=blue><b>Внимание!!! В запросе </font><font color=red>"; 
if ($_GET) { print $_GET['url']; }
echo "</font><font color=blue>";

if ($_GET['virus'] == squidclam_get_file_failed)
{
echo " Обнаружена ошибка ( </font><font color=red>";
}
else
{
echo " обнаружен вирус ( </font><font color=red>"; 
}
if ($_GET['virus'] == squidclam_get_file_failed)
{
echo "Страница не существует";}
else
{
if ($_GET) { print $_GET['virus']; } }

echo "</font><font color=blue> )</font><br><br>";
 
if ($_GET['virus'] == squidclam_get_file_failed)
{
echo "<br>";
}

else
{
echo "<font color=red>Доступ запрещён...</b></font>";
}