uForum.uz

uForum.uz (https://uforum.uz/index.php)
-   Linux & Unix (https://uforum.uz/forumdisplay.php?f=210)
-   -   [Проблема] Настройка ipcad + squid (https://uforum.uz/showthread.php?t=19868)

Victor Nikos 19.09.2013 16:29

Настройка ipcad + squid
 
Исходные данные:
Имеется машина с установленным Debian7 и с уже настроенным squid3 в прозрачном режиме. SSL соединения пущены в обход посредством iptables, подсчёт статистики ведёт настроенный скрипт lightsquid.

Внешний интерфейс eth1,

Внутренний eth0:
ip: 192.168.255.250
netmask:255.255.0.0

Содержимое файла /usr/local/etc/ipcad.conf
Скрытый текст:


capture-ports enable;
interface eth0 filter "ip and dst net 192.168.0.0/16 and not src net 192.168.0.0/16";

aggregate 192.168.0.0/16 strip 32; /* Don't aggregate internal range */
aggregate 0.0.0.0/0 strip 32; /* Aggregate external networks */

aggregate 1-19 into 65535;
aggregate 20-21 into 21;
aggregate 22-23 into 22;
aggregate 25 into 25;
aggregate 24 into 65535;
aggregate 26-79 into 65535;
aggregate 80-81 into 0;
aggregate 82-109 into 65535;
aggregate 110 into 110;
aggregate 111-442 into 65535;
aggregate 443 into 443;
aggregate 444-3127 into 65535;
aggregate 3128 into 0;
aggregate 3129-65535 into 65535;


rsh enable at 127.0.0.1;

rsh root@127.0.0.1 admin; /* Can shutdown ipcad */
rsh root@127.0.0.1 backup; /* Can dump/restore/import accounting table */
rsh root@127.0.0.1; /* Can view and modify accounting tables */
/* Note the order! */
rsh 127.0.0.1 view-only; /* Other users can view current tables */

rsh ttl = 3;
rsh timeout = 30;

dumpfile = ipcad.dump; # The file is inside chroot(), see below...

chroot = /var/log/ipcad;


pidfile = ipcad.pid;

# uid = 65534;
# gid = 65534;

memory_limit = 10m;


Содержимое скрипта, вписывающиего логи ipcad в логи squid3:

Скрытый текст:

#!/bin/sh
net="192.168"
ttime=`/usr/bin/rsh localhost sh ip acco | grep 'Accounting data saved' | awk '{print ($4)}'`
rsh localhost clear ip accounting
rsh localhost show ip accounting checkpoint | grep $net | awk -v vtime=$ttime '{if ($5 != 0) print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}' >> /var/log/squid3/access.log


Есть необходимость настройки ipcad в связке со squid3 таким образом, чтобы ipcad вписывал логи SSL - соединений в логи squid3 для дальнейшего разбора их Lightsquid'ом. По мануалам в интернете так и не смог настроить связку. Скрипт так и не пишет логи ipcad в логи squid3. Прошу помочь в этом деле форумчан.

Заранее спасибо!

Dolphin 19.09.2013 18:36

Цитата:

Сообщение от Victor Nikos (Сообщение 938140)
rsh localhost show ip accounting checkpoint | grep $net | awk -v vtime=$ttime '{if ($5 != 0) print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}' >> /var/log/squid3/access.log

Так и не получится, сквид же лочит файл на запись.

Писать в syslog со своей меткой не вариант? ipcad может?


Вариант грязного хака:
tail log1.log -f >> combined.log &
tail log2.log -f >> combined.log &
tail log3.log -f >> combined.log &
Не вызывает проблем с блокировкой файла, т.к. файл открывается при каждой операции записи. Но это, само собой, небыстро.

dmazin 20.09.2013 11:32

Можно как вариант перед парсингом логов лайтсквидом сливать файлики в один в отдельном каталоге и его уже обрабатывать. У меня например на фрюхе сделано так для конвертации русских логинов, так как юзеры авторизуются на AD.

Victor Nikos 20.09.2013 16:52

Цитата:

Сообщение от Dolphin (Сообщение 938164)
Писать в syslog со своей меткой не вариант? ipcad может?

Как то не думал об этом, но я думаю это в дальнейшем плохо скажется для анализатора этих логов...


Цитата:

Сообщение от dmazin (Сообщение 938375)
сливать файлики в один в отдельном каталоге

Можно и так сделать, но всё же, в интернетах полно мануалов как сделать чтобы ipcad сразу вписывал свои логи в логи сквида.


Проблема немного прояснилась, Ipcad учитывает трафика, но только когда запущен без демонизации, хотя может быть и в режиме демона тоже учитывает. Неработают команды rsh localhost show ip accounting, clear ip accounting и др, кроме shutdown. Ругается что команда не найдена... Что не так??

Изменил конфигурацию Ipcad.conf:

Скрытый текст:


capture-ports enable;
interface eth0 filter "ip and dst net 192.168.0.0/16 and not src net 192.168.0.0/16";

/*aggregate 192.168.0.0/16 strip 32;*/ /* Don't aggregate internal range */
aggregate 0.0.0.0/0 strip 32; /* Aggregate external networks */

aggregate 1-19 into 65535;
aggregate 20-21 into 21;
aggregate 22-23 into 22;
aggregate 25 into 25;
aggregate 24 into 65535;
aggregate 26-79 into 65535;
aggregate 80-81 into 0;
aggregate 82-109 into 65535;
aggregate 110 into 110;
aggregate 111-442 into 65535;
aggregate 443 into 443;
aggregate 444-3127 into 65535;
aggregate 3128 into 0;
aggregate 3129-65535 into 65535;


rsh enable at 127.0.0.1;

rsh root@127.0.0.1 admin; /* Can shutdown ipcad */
rsh root@127.0.0.1 backup; /* Can dump/restore/import accounting table */
rsh root@127.0.0.1; /* Can view and modify accounting tables */
/* Note the order! */
rsh 127.0.0.1 view-only; /* Other users can view current tables */

rsh ttl = 3;
rsh timeout = 30;

dumpfile = ipcad.dump; # The file is inside chroot(), see below...

chroot = /var/log/ipcad;


pidfile = ipcad.pid;

# uid = 65534;
# gid = 65534;

memory_limit = 10m;



Victor Nikos 20.09.2013 17:39

Цитата:

Сообщение от Victor Nikos (Сообщение 938531)
Неработают команды rsh localhost show ip accounting, clear ip accounting и др, кроме shutdown. Ругается что команда не найдена... Что не так??

Решил, установкой пакета rsh :)
Но так же идёт учёт, но команды ничего не выдают, не производится дамп соответствующей командой (rsh localhost dump). Собственно и нечего записывать в логи...

dmazin 23.09.2013 11:14

Иногда нужно прописывать полные пути и смотреть от какого пользователя запускаются команды, есть ли к ним доспут, какие атрибуты. Проще запускать от рута, но имхо это не совсем секурно.

Victor Nikos 23.09.2013 19:27

По поводу пользователей я в курсе, но я думаю что для начала хотя бы от рута и запустить, а дальше подпилить на более секурные варианты. По поводу путей - проверял и делал по разному, толку нету.


Текущее время: 01:30. Часовой пояс GMT +5.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
OOO «Единый интегратор UZINFOCOM»