About Forum Blogs NOC Docs Downloads KB Issues Code CI Registration

nocproject.org

#nocproject.org at irc.freenode.net log.
Back to nocproject.org Back to IRC log index
Date: 19.07.2011
`kk #
06:46
Tue Jul 19 10:42:56 [conn73503] query noc.noc.alarms.archived ntoreturn:50 scanAndOrder reslen:71490 nscanned:12845 { $query: {}, $orderby: { severity: -1 } } nreturned:50 225ms
06:46
Tue Jul 19 10:43:00 [conn73485] info DFM::findAll(): extent 0:a97200 was empty, skipping ahead noc.noc.events.disposition
06:46
Tue Jul 19 10:45:06 [conn73485] info DFM::findAll(): extent 0:ac3d00 was empty, skipping ahead noc.noc.alarms.active
06:46
/var/log/mongodb/mongodb.log
Dmitry1 #
06:54
dvolodin: http://www.opennet.ru/tips/2603_telnet_switch.shtml
dvolodin #
06:55
Dmitry1: NOC проводит negotiation для telnet
06:56
там что-то не так?
`kk #
07:58
dvolodin, beef@ ..-)
inoyat_kayumov #
08:02
голый дебиан, noc-fm
08:02
NameError: global name 'Event' is not defined
08:02
post-update: : migrate failed
dvolodin #
08:02
где завалилась?
inoyat_kayumov #
08:03
File "/opt/noc/fm/migrations/0007_event_repeat.py", line 18, in forwards
08:03
('event', models.ForeignKey(Event,verbose_name="Event")),
dvolodin #
08:05
inoyat_kayumov: r3939 должен помочь
inoyat_kayumov #
08:06
File "/opt/noc/fm/migrations/0017_event_log.py", line 15, in forwards
08:06
('from_status', models.CharField("From Status",max_length=1,choices=EVENT_STATUS_CHOICES)),
08:06
NameError: global name 'EVENT_STATUS_CHOICES' is not defined
08:06
post-update: : migrate failed
dvolodin #
08:13
r3940
08:26
помогло?
`kk #
08:35
как бы ещё вести историю по Attributes...
dvolodin #
08:36
?
08:41
managed object'ов?
inoyat_kayumov #
08:52
да
dvolodin #
08:53
Сливаю ветки noc и noc-fm
08:53
remote: added 143 changesets with 247 changes to 146 files
08:53
красиво
inoyat_kayumov #
08:54
т.е можно сделать default = http://hg.nocproject.org/noc?
dvolodin #
08:54
да
08:55
старые таблицы вроде fm_event пока не удаляю, миграция перед релизом пойдет
inoyat_kayumov #
08:55
все нормально
08:56
странно
08:56
WARNING! etc/noc.conf file is not writable by user noc. Read-only mode enabled!
08:56
drwxr-xr-x 3 noc noc 4096 Июл 19 11:48 etc
dvolodin #
08:56
а noc.conf ?
inoyat_kayumov #
08:57
а нету его - вот и говорю что странно
08:57
есть только
08:57
-rw-r--r-- 1 noc noc 5851 Июл 19 11:49 noc.defaults
_4ePTeHok #
08:57
dvolodin, со старых версий безпроблем миграция будет на объедененную ветку?
08:57
inoyat_kayumov, а создать?)
08:57
т е скопировать
08:57
из defaults
inoyat_kayumov #
08:58
это понятно что скопировать
dvolodin #
08:58
_4ePTeHok: теоретически да, старый архив событий останется в базе, новые события начнут писаться в mongodb
_4ePTeHok #
08:58
гуд..
inoyat_kayumov #
08:58
кстати - вообще все конфиги только в виде .defaults
dvolodin #
09:00
старые таблицы все в базе, но не используются
09:00
можно truncate fm_event cascade сделать, если хочется
09:00
;)
_4ePTeHok #
09:00
inoyat_kayumov, так и должно быть
09:00
копируем все .defaults в .conf
09:00
и настраиваем
dvolodin #
09:01
или touch noc.conf, например
09:01
так правильнее
09:01
в conf желательно держать только изменения стандартных значений
`kk #
09:12
хм. у меня в Classification Rules есть 2 ветки длинка
09:12
DLink и Dlink
dvolodin #
09:13
В Dlink правила есть?
`kk #
09:15
ага
09:15
новые
09:15
Dlink - вот тут только нетворк-линк
09:16
думаю он то и лишний
nixwizard #
09:17
привет всем, есть мануал по переходу на noc-fm, миграция данных и т.д?
09:29
или post-update все сам сделает?
dvolodin #
09:40
все сам сделает
09:41
http://redmine.nocproject.org/boards/1/topics/2319
09:41
теперь позарез нужны event'ы
09:41
лучше всего прям по проблемам тестировать
09:41
взять, например, LBD на DLink'е
09:42
устроить колечко
09:42
посмотреть, какие события нападали
09:42
разобрать колечко
09:42
c LACP тоже
09:43
c port-security, OSPF, ISIS, BGP
09:43
там идея в том, что надо сначала поклассифицировать события
09:43
выделить, на что надо поднимать alarm'ы
09:44
и установить зависимости между alarm'ами
09:44
при нормальной настройке в списке алармов должна оставаться только причина
_4ePTeHok #
09:58
на след недельке могу покрутить edge-core по всем событиям
09:58
в конце этой планирую обновить нок))
dvolodin #
10:04
классы событий, я думаю, будем централизовано согласовывать и добавлять
10:04
на разных железках может быть разный набор переменных
10:05
http://forum.nag.ru/forum/index.php?showtopic=47185&view=findpost&p=627901
10:10
попиаримся немножко
Dmitry1 #
10:36
Вопрос по JSON
10:36
Если одному событию удовлетворяют несколько условий?
10:38
Например, как в примере с STP и Cisco IOS.
10:38
"No spanning tree instance exists" и "No spanning tree instances exist"
dvolodin_ #
11:18
один класс событий и несколько правил
11:18
или одно правило, которое матчит оба варианта
11:19
на практике удобнее держать два правила
11:19
в json можно пихать и несколько событий - это обычный список javascript
Dmitry1 #
11:19
Как лучше?
11:21
Сделать несколько пар "key_re"-"value_re", где "key_re" одинаковые, а "value_re" разные?
11:21
Или несколько копий событий, у которых будет одинаковые "name" и "event_class__name" ?
dvolodin #
11:21
не
11:22
создать именно несколько правил
Dmitry1 #
11:22
Как?
11:22
Пример:
dvolodin #
11:22
для того, чтобы правило сработало, все пары из правила должны совпасть
Dmitry1 #
11:22
"name": "DLink | DxS | Security | Authentication | Logout (SYSLOG)"
11:22
"event_class__name": "Security | Authentication | Logout",
11:23
Под это правило подходят две записи:
11:23
"Logout through Telnet (Username: noc, IP: 172.16.7.56)"
11:23
"Web session timed out (Username: grant, IP: 172.16.0.4)"
dvolodin #
11:24
эти две записи попадут под один класс
11:24
но по разным правилам
11:25
в дополнение к имеющемуся можно сделать еще одно правило для web
Dmitry1 #
11:25
Можно ли эти записи в одном правиле сделать?
dvolodin #
11:25
можно, но не стоит
11:25
тяжелее ориентироваться будет в этой мешанине
Dmitry1 #
11:25
Т.е. полностью дублировать для второго правила "name" и "event_class__name" ?
11:26
или придумывать какие-то другие "name" и "event_class__name" ?
dvolodin #
11:28
name надо поменять
11:28
а event_class - оставить
11:28
тебе проще из web новое правило накатать
11:28
там же и потестить можно его
11:28
http://redmine.nocproject.org/wiki/noc/Screencasts
11:29
последний ролик посмотри
Dmitry1 #
11:29
смотрел
dvolodin #
11:31
я пока еще не сделал формочку для создания классов
11:31
там да, придется пока JSON править
Dmitry1 #
11:59
как перегрузить JSON?
11:59
Вручную отредактированный.
`kk #
12:02
синк колекшн?
Dmitry1 #
12:03
поподробнее...
`kk #
12:04
ммм... как в видео, в конце
dvolodin #
12:14
./noc sync-collections
Dmitry1 #
12:15
Разобрался, хотя удобнее было бы сделать "кнопочку"
12:16
Другой вопрос. Классы новые появятся?
dvolodin #
12:16
да
Dmitry1 #
12:17
Где это посмотреть можно? У меня уже вагон и маленькая тележка ивентов, которые не подходят ни к одному из существующих классов.
dvolodin #
12:17
где классы лежат?
Dmitry1 #
12:17
Как их добавлять в апстрим?
dvolodin #
12:18
fm/collections/eventclasses/
12:18
порядок добавления такой - делаешь у себя класс и правила к нему
Dmitry1 #
12:18
и?
dvolodin #
12:18
смотрим, будет ли этот класс работать на других железках
12:18
кидаешь на beef@, я коммичу
12:19
правила классификации ты сам можешь закоммитить
12:19
права выставлены
Dmitry1 #
12:19
Да я без понятия, как это называется на других железяках!
12:19
Для примера вот тебе ивентя:
dvolodin #
12:19
вот надо, чтобы все посмотрели
Dmitry1 #
12:19
CRIT: Blat Attack is detected from (IP: 78.97.111.69 Port: 24)
12:19
CRIT: TCP SYNFIN is detected from (IP: 62.65.234.74 Port: 24)
dvolodin #
12:20
да, видел такие
Dmitry1 #
12:20
CRIT: TCP SYN SrcPort less 1024 is detected from (IP: 50.23.155.253 Port: 24)
12:20
CRIT: Smurf Attack is detected from (IP: 172.16.1.235 Port: 14)
dvolodin #
12:20
класс у них один и тот же - атака
12:21
на SRX информации больше будет по ним
12:21
но не будет порта
12:22
вопрос в том, сугубо ли оно специфично для dlink'а
12:22
или на других железках похожее будет
Dmitry1 #
12:22
Думаю, что на ASA будет что-то подобное
dvolodin #
12:23
да
12:23
общее у них название атаки
Dmitry1 #
12:23
WARN: Conflict IP was detected with this device (IP: 172.16.0.2, MAC: 00-26-5A-8A-7E-80, Port 14, Interface: System)
dvolodin #
12:24
давай пока по атакам посмотрим
12:24
Security | Attack | Attack будет класс
12:26
переменные у него - attack_name
12:27
обязательная
12:27
необязательные - interface, src_ip, src_mac
12:27
без src_mac, тьфу
12:28
сделаешь?
Dmitry1 #
12:31
сделай класс
12:31
а я в него понапихиваю ивенты
dvolodin #
12:32
ok
Dmitry1 #
12:33
Лучше пару классов, чтобы если есть nterface, src_ip, src_mac, то тоже можно было их "вытянуть" оттуда
dvolodin #
12:34
необязательными сделаем
Dmitry1 #
12:35
Сделай класс для SLB
12:36
И для hardware failed: memory, disk, что-нибудь еще
vispi #
12:36
Which distro do you recommend for easy installation, i.e. distro that satisfies the dependencies? For CentOS 5.6 it's a complete mess due to oldish versions in repos.
dvolodin #
12:45
Закоммитил
inoyat_kayumov #
12:45
vispi, today I install noc on debian6
vispi #
12:54
inoyat_kayumov: yeah? You get all the dependencies through vanilla repos?
`kk #
12:55
i use debian wheezy. +some lenny-backports
inoyat_kayumov #
12:56
use testing repo
vispi #
12:56
I'll give it a go, thanks!
inoyat_kayumov #
12:57
vispi, http://dl.dropbox.com/u/936083/noc-debian-install.txt
vispi #
13:00
Oh, pretty. Although I'm not so sure about nginx. It's like de-facto-web-server in Russia?
inoyat_kayumov #
13:01
use apache instead
vispi #
13:02
Yea, I'm more familiar with Apache/Lighty
dvolodin #
13:02
lighttpd works well
inoyat_kayumov #
13:02
dvolodin, там по ссылке - краткая инструкция по установке на дебиан - куда-нибудь в noc-book ее...
dvolodin #
13:03
на wiki можно
vispi #
13:03
Haha I'll really have to patch my irssi with google translate script :P
dvolodin #
13:03
;)
inoyat_kayumov #
13:03
не важно - там хоть и очевидно все, но вот сегодня пришлось вспоминать как и что для дебиана нужно
dvolodin #
13:06
vispi: trying to install noc for the first time?
vispi #
13:08
dvolodin: yep. This project looks like something we could use
13:10
The company I'm currently working for is using spreadsheets :|
dvolodin #
13:10
do not hesitate to ask. I can clear some moments
vispi #
13:11
I might just take you up on that tomorrow
dvolodin #
13:12
http://redmine.nocproject.org/wiki/noc/Installation
13:12
если у кого остались инсталляшки, кидайте туда
inoyat_kayumov #
13:16
там кстати в init-script`е ошибка - в старте/стопе должно быть ./scripts/noc-launcher.py
Dmitry1 #
13:21
Возможно ли разбить "Security | Attack | Attack" на следующие: "Security | Attack | L2", "Security | Attack | L3" ?
13:22
Или сделать разделы MAC, IP, BPDU
13:24
В принципе Unicast Storm - это тоже разновидность атаки
nixwizard #
13:37
обновился без проблем fm летает
lexus-omsk #
13:41
обновился тоже без проблем, даже отпуск не помешал =)
13:41
только странность такая, куча событий сислог с содержанием logout, но нет таких же с логином... как-то нелогично... какой-то косяк видимо, или не всё отображается
13:44
как в монго сделать что-то вроде select * from events.active ?
dvolodin #
13:57
Dmitry1: а какая между ними разница будет?
13:58
lexus-omsk: db.noc.events.active.find()
Dmitry1 #
13:58
BPDU, MAC адрес - это возможно получать даже со свичей второго уровня
13:59
А всякие там TCP, Conflict IP - со свичей 3-го уровня
dvolodin #
13:59
так зачем разделять-то
Dmitry1 #
13:59
В нашей конторе свичами 2-го и 3-го уровня занимаются совершенно разные люди
dvolodin #
13:59
что это даст?
14:00
в результате надо поднять Alarm, чтобы пошли и накостыляли юзеру
Dmitry1 #
14:00
Обычно, если такое приходит на 3-й уровень, то костыляют чуваку, который занимается 2-м уровнем, а он уже идет к юзерам.
14:01
А если BPDU - то тут уже идут на поклон к чуваку, который занимается STP
dvolodin #
14:01
Департамент эксплуатации STP :)
Dmitry1 #
14:02
Типа того.
dvolodin #
14:02
на самом деле можешь посмотреть на Event Trigger
14:02
там есть поле condition
14:03
ты реально можешь прописать, кого пинать в каком случае
Dmitry1 #
14:05
Возможно. Но хотелось бы все-таки отделить атаки сетевого уровня (BPDU, ARP Spoofing, DHCP Spoofing) и т.п. от протокольного уровня (Некорректные ICMP, TCP SYN, перебор портов и т.п.)
dvolodin #
14:06
сложный вопрос
14:06
BPDU Guard сработавший - это может быть misconfiguration
14:07
а кривые заголовки - таки атака
Dmitry1 #
14:08
не. Это означает, что за портом клиента или петля, или от клиента идут BPDU пакеты, что по идее не должно быть
dvolodin #
14:08
да
14:09
но это не атака все-таки
14:09
События BPDU лучше отнести к Network | STP
Dmitry1 #
14:09
Или тогда добавить класс "Network | Loopback"
dvolodin #
14:09
ты опять путаешь
14:10
Loopback - это может быть alarm
Dmitry1 #
14:10
Не путаю.
dvolodin #
14:10
типа мы проанализировали события и решили, что имеет место петля и подняли alarm
Dmitry1 #
14:10
На особо одаренных свичах D-Link, где нет нормального Loopdetect, он реализуется через $%^& с помощью STP
dvolodin #
14:10
причем поднять его можем как по BPDU, так и по LBD, например
14:11
разная последовательность разных событий может вести к одном alarm'у
Dmitry1 #
14:12
Согласен. Тогда в Event Class не хватает поля Alarm Trigger
dvolodin #
14:12
????
14:12
Disposition rule есть
14:12
посмотри парочку Link Up / Link Down
14:13
они гасят и поднимают alarm Link Down
Dmitry1 #
14:13
А. Нашел. Оно в Alarm Class делает.
dvolodin #
14:13
disposition rule - в event class'е
14:13
да
14:13
идея такая
14:13
у тебя сыпется поток событий
14:13
ты их классифицируешь
14:13
совсем мусор грохаешь сразу
14:14
у тех, что решил оставить, выполняются disposition rule
14:14
в зависимости от условий может подняться alarm
14:15
события link up/link down поднимают и гасят alarm link down
Dmitry1 #
14:16
Сделай классы:
14:16
"Network | Link | Loopback occurring" - "Network | Link | Loopback cleared"
14:16
"Network | STP | Loopback occurring" - "Network | STP | Loopback cleared"
14:17
"Network | STP | BPDU Protect occurring" - "Network | STP | BPDU Protect cleared"
dvolodin #
14:17
тогда, наверное,
14:18
Network | LBD | Loopback detected - Loopback Cleared
14:18
для LBD
14:18
можешь пограбить события?
14:19
по возможности с кисок и dlink'ов
Dmitry1 #
14:19
INFO(6) Port <2> enter BPDU under attacking state (mode: drop)
14:19
Port <2> recover from BPDU under attacking state automatically
dvolodin #
14:19
json можешь с них дерануть?
14:20
BPDU under attacking state -- это у него BPDU Guard срабатывает?
Dmitry1 #
14:20
Хрен его знает!
14:20
Я сейчас не помню, с какой именно это модели D-Link
dvolodin #
14:21
%RPM0-P:RP2 %SPANMGR-5-BPDU_GUARD_RX_ERROR: Received Spanning Tree BPDU on BPDU guard port. Disable GigabitEthernet 3/41.
14:21
вот так у force10 он ругается
lexus-omsk #
14:21
а вот вы о disposition rules говорили - этого в web ещё нету?
Dmitry1 #
14:22
Давай пока все, что касается BPDU покидаем в Network | STP
14:22
А потом уже более детально можно будет пораспихивать.
dvolodin #
14:23
и есть еще у force10 STP loop guard
14:23
lexus-omsk: disposition rules показываются в web при просмотре event class
Dmitry1 #
14:24
так и у D-Link
14:24
Обычный Loopdetect (Ethertype 9000)
14:24
STP Loopdetect
14:24
BPDU Guard
dvolodin #
14:24
Network | STP | Loopback *
14:24
BPDU Guard
14:24
Root Guard
14:34
самая морока - названия для классов придумать :)
14:40
event'ы смотреть надо
Tweet
Share this page
Share this page: Tweet