"Документация NetAMS" - читать интересную книгу автора[service acl–server]Сервис acl–server занимается контролем доступа клиентов через удаленный маршрутизатор. В общем случае для источников данных типов netflow, ulog и libpcap управление трафиком невозможно, т.к. эти источники являются «односторонними», предоставляя данные по трафику безо всякой возможности воздействовать на сам процесс доставки этого трафика. С помощью данного сервиса можно организовать передачу команд вида «открыть–закрыть» на расположенный где–то в сети роутер. Это может быть маршрутизатор Cisco, PC–роутер с генератором потока netflow, или даже локальная машина (роутер/бридж) с настроенным data–source libpcap. Сервис acl–server появился в NeTAMS начиная с версии 3.3.0 (build 2710). В настоящий момент поддерживается только управление удаленным роутером Cisco по протоколу RSH с набором некоторых стандартных команд. Они передаются на роутер при: • (пере)запуске NeTAMS • перезагрузке удаленного роутера • при изменении системной политики Эти правила действуют на юниты типа USER и HOST, у которых установлены IP–адреса. Для начала вам необходимо настроить маршрутизатор Cisco: no ip rcmd domain–lookup ip rcmd rsh–enable ip rcmd remote–host netams 192.168.0.10 root enable ! ip flow–export source FastEthernet0/1 ip flow–export version 5 ip flow–export destination 192.168.0.10 20001 ! access–list 100 dynamic NETAMS deny ip any any access–list 100 permit ip any any ! interface FastEthernet0/1 ip address 192.168.0.1 255.255.255.0 ip access–group 100 in ! В данном случае внутренний IP–адрес маршрутизатора равен 192.168.0.1, к интерфейсу fa0/1 подключена внутреняя сеть, а в этой сети на адресе 192.168.0.10 висит UNIX–компьюер с запущенным NeTAMS. Поток статистики netflow отправляется роутером туда же. Хотя и считается, что протокол RSH небезопасный, на самом деле не все так плохо. Если вы явно указали разрешенный IP–адрес, с которого можно принимать команды, и на этом компьютере нет «лишних» клиентов, то все в порядке. acl–server работает путем установки динамических списком доступа (access–lists) на роутере Cisco, это значит что перезагрузке роутера список потеряется (но будет восстановлен вновь). В данном примере список доступа имеет номер 100, и его динамическая часть имеет имя NETAMS. Обратите внимание на то, что все попадающие в этот список записи будут иметь политику DENY, в то время как сам список будет иметь политику ALLOW. Это значит, что при пустом списке доступа будет разрешен весь трафик, а добавление каких–то новых записей (IP–адресов) будет означать их блокировку. Далее, этот список доступа ставится на «вход» внутреннего интерфейса. Справочник команд сервиса acl–server: hostname AAAA [NN] Задает имя или IP–адрес удаленного маршрутизатора, которым управляем. Опциональный параметр NN — номер TCP–порта, на котором роутер по принимает команды по протоколу RSH (по умолчанию 514). direction { src|dst } Определяет, в какое поле (src или dst) записи access–template будет вставлен IP–адрес юнита. Применять совместно направлением access–group на интерфейсе роутера. Например, если у вас записано: interface FastEthernet0/1 ip access–group 100 in то для конструкции «direction src» и IP–адреса юнита 192.168.0.10 в случае его блокировки будет исполнена команда: access–template 100 NETAMS host 192.168.0.10 any Аналогично, для «direction dst» будет: access–template 100 NETAMS host any 192.168.0.10 При разблокировании юнита будет послана команда: clear access–template 100 NETAMS … dynamic–name AAAA Задает имя динамической части списка доступа (в данном примере NETAMS) acl–number NNN [cisco] Задает номер списка доступа access–list (в данном примере 100), значение по умолчанию: 180. Ключевое слово «cisco» определяет, что удаленная сторона представляет из себя роутер Cisco, а не что–то иное (в данной версии других вариантов нет, так что указывать обязательно). delay NNN Задает промежуток времени между периодическими проверками состояния роутера и подачи команд его управления (в секундах). Рекомендуется значение порядка 300 секунд (значение по умолчанию). set–uptime NNN Позволяет вручную выставить параметр uptime удаленного роутера, полезно для отладки. NNN — время работы роутера в секундах, с момента последней его перезагрузки. debug aclserver Включает отладку сервиса aclserver (это команда сервиса main, НЕ acl–server). Пример рабочей конфигурации сервиса acl–server, для вышеописанного примера настройки Cisco: #NeTAMS version 3.3.0 (build 2710) compiled by root@localhost #configuration built Sun Sep 18 04:15:20 2005 #begin … service acl–server 0 hostname 192.168.0.1 direction src dynamic–name NETAMS acl–number 100 cisco delay 100 #end Пример вывода debug aclserver: |aclserver: acl server checking every 10 seconds |aclserver: known: 1, remote uptime: CISCO2 6 5 9 15 4094100 |aclserver: queue u=0F8AEA flag=0 sp_now=0 |aclserver: queue u=03A4C4 flag=0 sp_now=0 |aclserver: message ip=192.168.0.11 action=REMOVE |aclserver: message ip=192.168.0.12 action=REMOVE |aclserver: messages processed: 2, failed: 0 |aclserver: acl server checking every 10 seconds |aclserver: known: 4094102, remote uptime: CISCO26 5 9 15 4094160 |aclserver: messages processed: 0, failed: 0 |aclserver: acl server checking every 10 seconds |aclserver: known: 4094162, remote uptime: CISCO26 5 9 15 4094160 |aclserver: messages processed: 0, failed: 0 Известные проблемы и направления развития: • Сделать поддержку нескольких удаленных устройств, различая принадлежность юнитов через ds–list. • Сделать «обратное» включение, когда политика основного accessl–list по умолчанию — deny, динамического — allow, и добавление записей в список происходит для НЕБЛОКИРОВАННЫХ юнитов. • Написать клиентские программы для linux, freebsd, solaris, которые работали бы как клиенты сервиса acl–server и делали бы блокировку на удаленной машине. |
||
|