LinuxForum.Fans
Тема

Proxy (squid) + cisco (port monitoring). Можно так мониторить трафик?

Автор: Linux777 10 сообщений 3939 просмотров
#321264

Доброго дня!
На циске настроена функция SPAN (то есть port-monitoring) и трафик весь идет на линуксовый сервак (на нем стоит squid). Можно ли этот весь трафик промониторить? Если залесть в ifconfig я вижу eth0 and eth1 (прокся поэтому 2 сетевые):

Показать
eth0 Link encap:Ethernet HWaddr 00:1b:21:d0:79:c7
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21b:21ff:fed0:79c7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:841939 errors:0 dropped:17 overruns:0 frame:0
TX packets:418541 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:85273765 (85.2 MB) TX bytes:164676800 (164.6 MB)
Interrupt:16 Memory:fe5c0000-fe5e0000

eth1 Link encap:Ethernet HWaddr 10:78:d2:d3:d0:ea
inet addr:192.168.0.3 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr: fe80::1278:d2ff:fed3:d0ea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9437103 errors:0 dropped:406 overruns:0 frame:0
TX packets:8287641 errors:0 dropped:0 overruns:0 carrier:1
collisions:0 txqueuelen:1000
RX bytes:688920588 (688.9 MB) TX bytes:597363389 (597.3 MB)
Interrupt:47

все у меня с циски сваливается на eth1. Я вижу как интерфейс eth1 RX bytes пропускает много байтов через себя, т.е. данные с циски идут. а вот дальше шеф хочет чтобы этот поток данных можно было разобрать. Отсюда вопросы возникают:
1. возможно это сделать вообще?

text
я вот думаю, если iptables перенаправить поток на сквид. но ведь сквид работает по 80 порту, т.е. http трафик, а у меня с железа идет весь трафик, смогу ли я другой трафик через проксю проконтролировать? замечу, что мой порт в этом режиме не пингует инет, т.е. я знаю, что он работает только в режиме приема, такова его суть

2. верно, что сквид работает только с 80 портом (8080) с http-трафиком, браузера и другой трафик мимо него пройдет??

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

3. ну и как это главное сделать. а то я пока тупо вижу что байты приходят мне на сетевуху и все. спасибо)

text
Теперь что я думаю, можно конечно wireshark проанализировать весь трафик, но насколько знаю, я так не узнаю, кто куда ходил в инет, и сколько трафик съели юзеры. Ведь мне на порт дохрена инфы идет и с LAN-сетки, и WAN... а конечная задача проста - чтобы я мог руководству в конце месяца сказать, куда сколько трафика ушло и дать отчет в виде 
юзер пупкин, в инете скушал 10 ГБ например.
юзер вася скушал 20 Гб например и тд.

зы. хотя я тут бы сделал обычный прокси, как в другом офисе и чтобы весь трафик можно было считать, но вот тут получается другой вариант, но может он не катит?

#321298

просмотрел tcpdump неторорых юзеров сети:

Показать
root@proxy:/etc# tcpdump -i eth1 -n | grep 192.168.0.31
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
16:00:22.507954 IP 192.168.0.31.49612 > 173.194.71.108.993: Flags [P.], seq 3678382098:3678382136, ack 1543579977, win 16368, length 38
16:00:22.507960 IP 192.168.0.31.49612 > 173.194.71.108.993: Flags [P.], seq 0:38, ack 1, win 16368, length 38
16:00:22.526212 IP 173.194.71.108.993 > 192.168.0.31.49612: Flags [.], ack 38, win 1000, length 0
16:00:22.526218 IP 173.194.71.108.993 > 192.168.0.31.49612: Flags [.], ack 38, win 1000, length 0
16:00:22.671200 IP 173.194.71.108.993 > 192.168.0.31.49612: Flags [P.], seq 1:45, ack 38, win 1000, length 44
16:00:22.671206 IP 173.194.71.108.993 > 192.168.0.31.49612: Flags [P.], seq 1:45, ack 38, win 1000, length 44
16:00:22.753616 IP 192.168.0.31.49169 > 192.168.0.210.445: Flags [P.], seq 121223813:121223887, ack 567335236, win 255, length 74SMB PACKET: SMBtrans2 (REQUEST)
16:00:22.753622 IP 192.168.0.31.49169 > 192.168.0.210.445: Flags [P.], seq 0:74, ack 1, win 255, length 74SMB PACKET: SMBtrans2 (REQUEST)
16:00:22.754024 IP 192.168.0.210.445 > 192.168.0.31.49169: Flags [P.], seq 1:85, ack 74, win 8212, length 84SMB PACKET: SMBtrans2 (REPLY)
16:00:22.754029 IP 192.168.0.210.445 > 192.168.0.31.49169: Flags [P.], seq 1:85, ack 74, win 8212, length 84SMB PACKET: SMBtrans2 (REPLY)
16:00:22.754882 IP 192.168.0.31.49169 > 192.168.0.210.445: Flags [P.], seq 74:148, ack 85, win 255, length 74SMB PACKET: SMBtrans2 (REQUEST)
16:00:22.754887 IP 192.168.0.31.49169 > 192.168.0.210.445: Flags [P.], seq 74:148, ack 85, win 255, length 74SMB PACKET: SMBtrans2 (REQUEST)
16:00:22.755290 IP 192.168.0.210.445 > 192.168.0.31.49169: Flags [P.], seq 85:169, ack 148, win 8212, length 84SMB PACKET: SMBtrans2 (REPLY)
16:00:22.755295 IP 192.168.0.210.445 > 192.168.0.31.49169: Flags [P.], seq 85:169, ack 148, win 8212, length 84SMB PACKET: SMBtrans2 (REPLY)



root@proxy:/etc# tcpdump -i eth1 -n | grep 192.168.0.32
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
16:01:12.072202 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072216 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072219 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072221 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072223 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072226 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072229 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072231 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072234 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072236 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072239 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072241 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072609 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072619 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.072621 ARP, Request who-has 192.168.0.30 tell 192.168.0.32, length 46
16:01:12.186424 IP 87.240.131.120.80 > 192.168.0.32.58073: Flags [P.], seq 2633384920:2633385266, ack 1283332664, win 17651, length 346
16:01:12.186430 IP 87.240.131.120.80 > 192.168.0.32.58073: Flags [P.], seq 0:346, ack 1, win 17651, length 346
16:01:12.390273 IP 192.168.0.32.58073 > 87.240.131.120.80: Flags [.], ack 346, win 65520, length 0
16:01:12.390279 IP 192.168.0.32.58073 > 87.240.131.120.80: Flags [.], ack 346, win 65520, length 0
^C113 packets captured
117 packets received by filter
0 packets dropped by kernel

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

#321335

На всикдку, отдать серверу netflow и разбирать его nfsen'ом. Но, видимо, будет проблема с сопоставлением ip c юзером.

#321352

этот траффик обычно мониторится такими вещами как snort а не squid

#321364
dyasny написал:
этот траффик обычно мониторится такими вещами как snort а не squid

значит данный трафик через squid никак не промониторишь? ведь я тоже такого мнения был изначально, ведь в другом офисе через сквид мониторится все юзеры, но там нет функции SPAN (порт-мониторинг) и соответственно мониторится не сеть трафик, а только нужный мне http+https+ftp (tcp короче).

а тут думал, если фаерволом (iptables завернуть на сквид трафик приходящий на сетевуху) будут ли в логах сквида и данные по юзерам. пока делал, не видать особо чтобы логи разбухались). Я просто с портом-мониотрингом раньше не сталкивался, но хотелось бы понять, возможности в этом случае мониотринга трафика и юзеров.

зы. thanks for snort

#321365
"Macumazan⇓" написал:
На всикдку, отдать серверу netflow и разбирать его nfsen'ом. Но, видимо, будет проблема с сопоставлением ip c юзером.

то есть залить на сервер софтину netflow и nfsen и трафик разбирать парсером nfsen? или как, можно поточней? а вот сопоставление юрезов пока только вижу в дампе. возможно есть и тут решение.

#321376
"Linux777⇓" написал:
На всикдку, отдать серверу netflow и разбирать его nfsen'ом. Но, видимо, будет проблема с сопоставлением ip c юзером.

наверно я понял, это приблуда для netflow, вот скриншот http://www.softkey.ru/images/upload/1/3104a13803b66c82a558fd6ced323f0e.png
но как я понял это биллинг и она платная. или как тут говорят http://forum.ru-board.com/topic.cgi?forum=8&topic=37287 Так же есть возможность устанновить NetFlow сенсоры на Linux/Unix машину и собирать страфик с неё. но судя по этой цитате с сайта, надо иксы, а у меня нет их на сервере.

text
аа. netflow сенсер это и есть nfsen.

http://nfsen.sourceforge.net/

#321415

nfsen это веб интерфейс для nfdump, который и является тем, что обрабатывает трафик netflow.

#321434
"Macumazan⇓" написал:
nfsen это веб интерфейс для nfdump, который и является тем, что обрабатывает трафик netflow.

да, я уже это понял.

Macumazan⇓ пишет:
На всикдку, отдать серверу netflow и разбирать его nfsen'ом. Но, видимо, будет проблема с сопоставлением ip c юзером.

кстати, да, мысль была верной. спасибо. не знал ранее. но гугл помог понять и получить ответы! теперь стало ясно, для этой задачи надо три компонента сенсор - коллектор и анализтор.

в роли сенсора выспупает само железо, с которого идет трафик, в роли коллектора линукс машина с установленной на ней nfdump, тамже ставится nfsen (он же анализатор).

осталось это поднять, и запустить. спасибо за помощь.

#321578

"Linux777⇓" написал:
2. верно, что сквид работает только с 80 портом (8080) с http-трафиком, браузера и другой трафик мимо него пройдет??
если я правильно понял вопрос: директива http_port отвечает за то, что сквид будет слушать, по дефолту это порт 3128. Другой трафик пойдет туда куда и шел, если его принудительно не завернуть, например www на сквида:
text
pitables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp -m multiport --dport www,aol,xmpp-client -j REDIRECT --to-ports 3128

Глобал по 80му порту, Аська, Жабер из всей сети 192.168.1.* принудительно были завернуты на сквид.

"Linux777⇓" написал:
3. ну и как это главное сделать. а то я пока тупо вижу что байты приходят мне на сетевуху и все. спасибо)
Если опять таки понял суть проблемы правильно: (по дефолту) Сквид свое состояние пишет в файл /var/log/squid3/cache.log а лог доступа к кешу: /var/log/squid3/access.log А с функцией анализатора логов неплохо справляется sams/sams2 который парсит лог доступа, считает траффик и over9K плюшек more.
зы: sry если неправильно понял вопрос, просьба сильно не пинать.
ззы: iftop и iptstate неплохо показывают кто куда и как пошел.
Войдите или зарегистрируйтесь, чтобы ответить.