417d27429a89288de38939a6ae788770.ppt
- Количество слайдов: 11
н ти нко ос ве р К Са кто рий Ви ит Дм Построение оптимальной таблицы правил iptables на основе статистики трафика Научный руководитель: Иртегов Д. В.
Цели Глобальная: автоматическое выявление аномальной активности в сети. Текущая: построение дерева правил iptables, разделяющего траффик на нормальный и аномальный и являющегося оптимальным с точки зрений прохождения пакетов.
Принцип работы Дерево правил, оптимальное по критерию: чем чаще попадается пакет, тем быстрее он будет обработан. Администратор Анализатор Траффик сети
Работа в семестре Тестирование и анализ/доработка старого проекта. Отказ от старого подхода, переход на новый алгоритм, существенная переработка кода. Процесс перехода не завершен.
На вход: Алгоритм Статистика по трафику: [пакет : количество] Ищем правило, дающее лучшее* деление Делим мн-во пакетов согласно этому правилу Повторяем для двух полученных подмножеств *) лучшее – дающее минимальную разницу в размерах частей
Алгоритм: виды правил Соответствие по диапазону адресов. Соответствие по порту. Точное: packet. port == X Меньше-или-равно: packet. port <= X
Алгоритм: останов Всевозможные правила <минус правила, уже использованные выше по дереву> Доступные для вершины правила Нет правил, под которые подходит один или более пакетов, но не все пакеты вершины сразу.
$IPTABLES -N chain 0 $IPTABLES -j chain 0 $IPTABLES -N chain 1 $IPTABLES -A chain 0 -p TCP -sport 1: 1049 -j chain 1 $IPTABLES -N chain 2 $IPTABLES -A chain 1 -p TCP -sport 1: 22 -j chain 2 $IPTABLES -N chain 3 $IPTABLES -A chain 2 -p TCP -dport 1: 1025 -j chain 3 $IPTABLES -A chain 3 -p TCP -s 193. 124. 0. 0/255. 0. 0 -sport 22: 22 -dport 1025: 1025 -j ACCEPT $IPTABLES -A chain 3 -j REJECT $IPTABLES -N chain 4 $IPTABLES -A chain 2 -p TCP -d 10. 4. 0. 0/255. 0. 0 -j chain 4 $IPTABLES -N chain 5 $IPTABLES -A chain 4 -p TCP -s 10. 4. 0. 0/255. 0. 0 -j chain 5 $IPTABLES -A chain 5 -p TCP -sport 22: 22 -j ACCEPT $IPTABLES -A chain 5 -j REJECT $IPTABLES -A chain 4 -p TCP -s 193. 124. 0. 0/255. 0. 0 -sport 1: 22 -j ACCEPT $IPTABLES -A chain 4 -j REJECT $IPTABLES -N chain 6 $IPTABLES -A chain 2 -p TCP -d 193. 124. 0. 0/255. 0. 0 -j chain 6 $IPTABLES -N chain 7 $IPTABLES -A chain 6 -p TCP -s 193. 124. 0. 0/255. 0. 0 -j chain 7 $IPTABLES -A chain 7 -p TCP -sport 1: 22 -j ACCEPT $IPTABLES -A chain 7 -j REJECT $IPTABLES -A chain 6 -p TCP -sport 22: 22 -j ACCEPT $IPTABLES -A chain 6 -j REJECT $IPTABLES -A chain 2 -p TCP -s 193. 124. 0. 0/255. 0. 0 -sport 1: 22 -j ACCEPT $IPTABLES -A chain 2 -j REJECT $IPTABLES -N chain 8 $IPTABLES -A chain 1 -p TCP -dport 1: 22 -j chain 8 $IPTABLES -A chain 8 -j ACCEPT Пример работы (начало)
Пример работы (статистика) 1000 пакетов => 77 правил; 2000 пакетов => 82 правила; 3000 пакетов => 93 правила; 4000 пакетов => 85 правил; 5000 пакетов => 92 правила
Результаты на 22. 04. 08 1. Сборщик статистики траффика. 2. Анализатор, который по данной статистике строит дерево правил и выдает результат в формате правил для iptables.
Что нужно делать дальше: 1. 2. 3. 4. Провести глобальное тестирование. Использовать connection tracking в iptables. Добавить поддержку ICMP, UDP. Придумать, как увеличить скорость работы. Спасибо за внимание!


