Читаем Документация NetAMS полностью

As–is означает, что переданные значения напрямую добавятся в поток для данного юнита и присуммируются к статистике.

Incremental означает, что к статистике добавится разница между текущим и предыдущим значением rawdata. При этом первое переданное rawdata не учтется (мало ли, там гигантское число уже накопилось пока netams не работал). Если переданное значение меньше запомненного текущего, оно будет сохранено, а записана будет разница со следующим(большим) значением.

Time — время. Если опущено данные будут учтены с текущим временем.

<p>Вопросы безопасности</p>

Поскольку NeTAMS запускается с правами root, и отвечает за подсчет не бесплатного трафика, безопасность всей системы является очень важным фактором. Существует несколько потенциально небезопасных направлений:

• Взлом всей системы через программу

• Взлом защиты самой программы

• Действия, приводящие к неверному учету трафика

Автор программы не несет никакой ответственности за ее использование и за тот ущерб, который (явно или неявно) может быть нанесен кому–либо в результате работы этой программы или ее компонентов. Если вы несогласны с этим утверждением, деинсталлируйте программу и все ее компоненты немедленно!

При написании NeTAMS не предпринималось никаких попыток установить компоненты, позволяющие создателю или кому–либо осуществить несанкционированный доступ в систему с работающей программой. Вместе с тем, в результате неизбежных ошибок программирования, такая возможность может потенциально существовать. На данный момент ни одного случая взлома программы зарегистрировано не было.

Несанкционированный доступ к программе может быть получен путем узнавания пароля и присоединения к программе через telnet. Для защиты от этого пароли на доступ шифруются через crypt(); в статических HTML–страницах пароли заменяются звездочками (show config unsecure). Однако рекомендуется выполнить следующие действия:

• Установите права на чтение конфигурационного файла и лог–файлов только для пользователя root

• Отмените права на чтение локальных файлов HTML–статистики тем, кому не нужно

• Установите (средствами http–сервера) права на просмотр статистики «извне» только тем, кому нужно

• Отмените возможность логина в программу не с локальной машины:

• service server 0

• login localhost

• Отрежьте правилами firewall вашей системы нелокальное подключение к программе:

• ipfw add 100 allow ip from any to any via lo0

• ipfw add 110 deny tcp from any to me 20001

Неправильный учет трафика возможен при неверном расположении правил ipfw/iptables и при получении статистики netflow от неизвестного источника. Для избежания этого:

• Подумайте, как данные ходят по вашей сети

• Нарисуйте схему сети с именами интерфейсов

• Выпишите список имеющихся правил ipfw/iptables и придумайте номер (место) вашего правила, через которое будет осуществляться «заворачивание» трафика

• Если вы используете трансляцию адресов или bridging, подумайте еще раз

• Если вы используете прозрачный http–прокси, подумайте снова

• Если вы используете подсчет потока NetFlow, ОБЯЗАТЕЛЬНО укажите ip–адрес присылающего статистику роутера в описании соответствующего сервиса data–source.

<p>Сбор статистики по протоколу SNMP</p>

Начиная с версии NeTAMS 3.4.0 (build 3018) появилась возможность учета трафика путем опроса счетчиков SNMP удаленных устройств. Данная схема работает при наличии:

• Коммутатора или маршрутизатора, имеющего работающий SNMP–агент и поддерживающий MIB–II (фактически, любое устройство поддерживает этот MIB).

• Сервера UNIX, на котором установлены:

• NeTAMS нужной версии

• Пакет net–snmp версии 5

• Perl–модули к net–snmp

• Perl–модуль Net::Telnet

• Настроенного скрипта addon/snmp2netams.pl

• Настроенного data–source … type raw

<p>Принципы работы</p>

Скрипт addon/snmp2netams.pl опрашивает перечисленные в его заголовке SNMP–устройства, используя заданное значение community. Запрашиваются имена интерфейсов и значения 64–битных счетчиков байт, прошедших через интерфейс:

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName =

= 1.3.6.1.2.1.31.1.1.1.1

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifHCInOctets =

= 1.3.6.1.2.1.31.1.1.1.6

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifHCOutOctets =

= 1.3.6.1.2.1.31.1.1.1.10

Полученная таблица преобразуется в формат, приемлемый для команды rawdata сервиса data–source. При этом имя юнита составляется из имени устройства, дефиса и имени интерфейса:

rawdata unit name catalyst1–fa0/1 policy ip

in 1234567 out 7654321 incremental

Название политики учета также задается в скрипте.

При помощи модуля Net::Telnet осуществляется подключение к демону netams, которому передаются команды rawdata. Использование параметра incremental приводит к корректному увеличению счетчиков учета netams (show lift full name catalyst1–fa0/1) при постоянном росте значений SNMP–счетчиков устройства.

<p>Настройка</p>

В заголовке скрипта addon/snmp2netams.pl необходимо:

@devices=(«catalyst»);

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

$community=«public»;

Перейти на страницу:

Похожие книги