Современные информационные технологии/Информационная
безопасность
Мясищев А.А., Полозова В.М.
Хмельницкий национальный университет
Использование
списков управления доступом ACL для ограничения
прохождения IP трафика через управляемые
коммутаторы фирмы D-Link
При построении большой
компьютерной сети масштаба университета часто возникает необходимость в
фильтрации проходящих данных. Обычно между корпусами, крупными подразделениями
устанавливают управляющие коммутаторы, как правило, повышенной производительности.
В качестве примера рассмотрим коммутатор фирмы D-Link DES-3326SR третьего уровня для выполнения
задачи фильтрации пакетов между портами.
Коммутаторы для
ограничения прохождения трафика позволяют создавать профили доступа, которые
указывают ему, какие виды пакетов принимать, а какие отвергать. Прием пакетов
или отказ в приеме основывается на определенных признаках, таких как адрес
источника, адрес приемника, адрес порта источника и приемника. С помощью
сформированных списков управления доступом (ACL – Access Control Lists) профиль управления доступом дает
возможность просматривать определенные пакеты, указанные в списках ACL.
В
коммутаторах D-Link существует
два основных типа профилей управления доступом: Ethernet и IP. Фильтрация в этих типах профилей может
выполняться на основе MAC-адресов источника и приемника, VLAN,
IP-адресов, номеров портов.
Профили
доступа работают последовательно, в порядке возрастания их номеров (Profile ID). Пакет проверяется на соответствие
условиям, указанным в профилях доступа, начиная с первого профиля. Если профиль
подходит, пакет или принимается или отбрасывается и дальше не проверяется. Если
не один профиль не подходит, применяется политика по умолчанию, которая
разрешает прохождение всего трафика.
Процесс
создания профилей доступа делиться на два этапа:
1. Создание маски профиля доступа:
указывается, какую часть или части кадра будет проверять коммутатор, например IP–адрес назначения или IP–адрес назначения и IP–адрес источника.
2. Создание правил профиля доступа:
вводится условие, которое коммутатор будет использовать для определения
действий над кадром (принять кадр или отбросить).
Первый
этап: Создание маски профиля (Access Profile Mask). Опыт работы показал, что лучше
выполнять с помощью командной строки.
Основные параметры
команды создания маски профиля для профиля доступа IP представлены в таблице 1.
Таблица 1
Команда |
Параметры |
Описание |
create
access_profile |
ip source_ip_mask
<netmask> destination_ip_mask<netmask> tcp src_port_mask
<0x0-0xffff> dst_port_mask
<0x0-0xffff> udp src_port_mask
<0x0-0xffff> dst_port_mask
<0x0-0xffff> permit deny |
Создание профиля доступа на коммутаторе и определение того,
какую часть заголовка каждого входящего кадра будет проверять коммутатор.
Маска определяет те значения, которые коммутатор будет проверять в указанных
полях заголовка кадра. |
Входящие в команду
параметры обозначают следующее:
ip – коммутатор будет исследовать ip – адрес в заголовке каждого кадра
т.е. source_ip_mask <netmask> маску адреса источника (пример 255.255.255.0) и destination_ip_mask <netmask> маску адреса назначения (пример
255.255.255.0);
tcp – коммутатор будет исследовать поля протокола tcp в заголовке каждого кадра т.е. src_port_mask <0x0-0xffff> маску порта источника и dst_port_mask <0x0-0xffff> маску порта приемника;
аналогично для протокола udp;
permit – указывает на то, что пакет, который соответствует данному
профилю, будет принят и передан коммутатором;
deny - указывает на то, что пакет, который соответствует данному
профилю, будет отброшен коммутатором;
profile_id <1-255> - идентификатор данного профиля.
Удаление созданного
профиля доступа выполняется командой:
delete access_profile profile_id
<1-255>
Второй
этап: Создание правила для маски профиля доступа. Основные параметры этой
команды для IP профиля представлены в таблице 2.
Таблица №2
Команда |
Параметры |
Описание |
config
access_profile_id <1-255> |
add
access_id <1-255> ip source_ip
<ipaddr> destination_ip
<ipaddr> tcp src_port
<0-65535> dst_port
<0-65535> udp src_port
<0-65535> dst_port
<0-65535> delete
<1-255> |
Конфигурирование профиля доступа и определение значений, на
основании которых коммутатор отфильтрует пакет или передаст его по месту
назначения. Маска, введенная по команде create access_profile, укажет коммутатору то место в
заголовке пакета, которое необходимо проверить, чтобы принять решение о
фильтрации пакета. |
Входящие в команду
параметры обозначают следующее:
add access_id <1-255> - добавляет правило в пределах одного профиля;
ip – коммутатор будет исследовать ip – адрес в заголовке каждого кадра
т.е. source_ip <ipaddr> - ip адрес
источника пакета от которого должен проверять коммутатор, добавляя
последовательно адреса, количество которых определяется маской, и destination_ip <ipaddr> - аналогично для ip - адреса назначения пакета;
tcp – коммутатор будет исследовать поля
протокола tcp в
заголовке каждого кадра т.е. src_port <0-65535> номер порта tcp источника пакета от которого будут
отсчитываться следующие порты в соответствии с маской, и dst_port <0-65535> аналогично для порта
назначения пакета;
аналогично для протокола udp;
delete <1-255> - удаляет правило в пределах профиля.
Рассмотрим
примеры конфигурации коммутатора в соответствии со схемой, представленной на
рис.1.
Рис.1
Необходимо выполнить следующие
действия:
1. Запретить
доступ с компьютера 192.168.200.2 на 172.20.4.250
2. Запретить доступ с компьютера 192.168.200.2 на
172.20.4.250 по ftp
3. Запретить доступ с компьютера 192.168.200.2 на
172.20.4.250 по ftp и с 172.20.4.250 на 192.168.200.2 по telnet
4. Запретить доступ с сети 172.20.0.0 (255.255.255.0) на
компьютер 192.168.200.2 по ftp
5. Запретить доступ по ftp с любой сети
6. Разрешить доступ только к компьютеру 192.168.200.2 с сети
172.20.0.0 (маска 255.255.255.0). Все остальное запретить.
Исходные данные:
1.Коммутатор DES-3326SR
2.Компьютер 192.168.200.2 с установленным шлюзом
192.168.200.1 (ОС Unix)
3.Компьютер 192.168.200.3 с установленным шлюзом
192.168.200.1 (ОС Windows XP)
4. Компьютер 195.230.136.2 с установленным шлюзом 195.230.136.1
(ОС Unix)
5. Компьютер 172.20.0.149 с установленным шлюзом 172.20.0.200
(ОС Unix)
6. Компьютер 172.20.4.250 с установленным шлюзом 172.20.0.200
(ОС Unix)
Коммутатор DES-3326SR настраиваем, как представлено на
рис.1[1].
1.Создание виртуальных сетей (VLAN) и
привязка их к номерам портов коммутатора (таблица 3).
Таблица
3
VLAN |
PORT |
default |
13-26 |
vlB |
7-12 |
vlA |
1-6 |
create vlan
vlA tag 2 (создание
VLAN с именем vlA и идентификатором 2)
create vlan vlB tag 3
config vlan default delete 1-12 (удалить с VLAN с именем default порты 1-12, для назначеня их другим VLAN)
config vlan vlA add untagged 1-6 (добавить к VLAN vlA порты с 1 по 6)
config vlan vlB add untagged 7-12
2.Создание на базе VLAN интерфейсов с
присвоением им соответствующих ip адресов (таблица 4).
Таблица
4
VLAN -name |
VID |
имя интерфейса |
номер сети |
ip адрес
интерфейса |
default |
1 |
System |
172.20.0.0 |
172.20.0.210 |
vlA |
2 |
SysA |
192.168.200.0 |
192.168.200.1 |
vlB |
3 |
SysB |
195.230.136.0 |
195.230.136.1 |
create ipif SysA 192.168.200.1/24 vlA state enable (создать интерфейс с именем SysA и адресом 192.168.200.1 и включить его)
create
ipif SysB 195.230.136.1/24 vlB state enable
Создаем профили для
выполнения заданных ограничений трафика.
1. Запретить доступ с компьютера 192.168.200.2 на 172.20.4.250. Компьютер
192.168.200.2 является узлом-источником, а 172.20.4.250 – узлом назначения.
Маска 255.255.255.255 определяет один компьютер.
create access_profile ip
destination_ip_mask 255.255.255.255 source_ip_mask 255.255.255.255 deny
profile_id 1
config access_profile profile_id 1 add
access_id 1 ip destination_ip 172.20.4.250 source_ip 192.168.200.2
2. Запретить доступ с компьютера
192.168.200.2 на 172.20.4.250 по ftp.
Здесь узел-источник - 192.168.200.2,
узел-назначения - 172.20.4.250. Порт 21 (ftp) находится на узле назначения и
должен быть закрыт. Маска порта 0xFFFF соответствует единственному порту (21), а маска 0x0 – любому.
create
access_profile ip destination_ip_mask 255.255.255.255 source_ip_mask
255.255.255.255 tcp dst_port_mask 0xFFFF src_port_mask 0x0 deny profile_id 1
config
access_profile profile_id 1 add access_id 1 ip destination_ip 172.20.4.250
source_ip 192.168.200.2 tcp dst_port 21
Если ввести команду
show access_profile
то коммутатор распечатает таблицу доступа:
Access Profile Table
Access Profile ID : 1 Mode : Deny
TYPE : IP
===========================================================
MASK Option
:
Source IP MASK Dst. IP MASK TCP Src.P
Dst.P
255.255.255.255 255.255.255.255 0x0 0xFFFF
---------------
--------------- -----------------
Access ID :
1 (251)
---------------
--------------- -----------------
192.168.200.2 172.20.4.250 0
21
===========================================================
Total Entries
: 1
3. Запретить доступ с компьютера
192.168.200.2 на 172.20.4.250 по ftp и с 172.20.4.250 на 192.168.200.2 по telnet. Здесь необходимо создать два
правила - одно для 21 порта (ftp):
create access_profile ip destination_ip_mask 255.255.255.255 source_ip_mask 255.255.255.255 tcp dst_port_mask 0xFFFF src_port_mask 0x0 deny profile_id
1
config access_profile profile_id 1
add access_id 1 ip destination_ip 172.20.4.250 source_ip 192.168.200.2 tcp
dst_port 21
другое для 23 (telnet):
config access_profile profile_id 1
add access_id 2 ip destination_ip 192.168.200.2 source_ip 172.20.4.250 tcp
dst_port 23
4. Запретить доступ с сети 172.20.0.0
(маска сети класса C 255.255.255.0)
на компьютер 192.168.200.2 по ftp. Здесь узел назначения один, поэтому маска
255.255.255.255, а узлы-источники – сеть из 254 узлов, поэтому маска
255.255.255.0. Отсчет ведется для сети от компьютера с адресом 172.20.0.1
create access_profile ip destination_ip_mask 255.255.255.255 source_ip_mask 255.255.255.0 tcp dst_port_mask 0xFFFF src_port_mask 0x0 deny profile_id
1
config access_profile profile_id 1
add access_id 1 ip destination_ip 192.168.200.2 source_ip 172.20.0.1 tcp
dst_port 21
5. Запретить через коммутатор доступ
по ftp с любой сети. Здесь порт 21
соответствует узлу-источнику:
create access_profile ip tcp
dst_port_mask 0xFFFF deny profile_id 1
config access_profile profile_id 1
add access_id 1 ip tcp dst_port 21
Задачи с 1 по 5 соответствовали
случаю, когда запрещались какие-то оговоренные условия. Все остальное
позволялось. Но существуют и другие случаи – когда что-то разрешается, а все
остальное запрещается.
6. Разрешить доступ только к
компьютеру 192.168.200.2 с сети 172.20.0.0 (маска 255.255.255.0). Все остальное
запретить. 192.168.200.2 – узел назначения, компьютеры с 172.20.0.1 –
172.20.0.254 – узлы источники.
6.1. Разрешить полный доступ от сети
172.20.0.0/24 к узлу 192.168.200.2
create access_profile ip destination_ip_mask
255.255.255.255 source_ip_mask 255.255.255.0 permit profile_id 1
config access_profile profile_id 1
add access_id 1 ip destination_ip 192.168.200.2 source_ip 172.20.0.1
6.2. Разрешить доступ к сети
172.20.0.0/24 со стороны любой сети
create access_profile ip destination_ip_mask
255.255.255.0 permit profile_id 2
config access_profile profile_id 2
add access_id 1 ip destination_ip 172.20.0.1
6.3.
Запретить все остальное
create access_profile ip
source_ip_mask 0.0.0.0 deny profile_id 4
config access_profile profile_id 4
add access_id 1 ip source_ip 0.0.0.0
Представленная здесь
технология ограничения трафика позволяет эффективно управлять трафиком для коммутаторов, установленных на
магистральных участках сети. Необходимо иметь в виду, что общее количество
профилей не должно превышать 10, а количество правил по всему коммутатору – 250
Литература.
1.Мясщев А.А., Полозова В.М.
Структуризация сети с помощью маршрутизирующего коммутатора фирмы D-Link – DES-3326SR. Матеріали
Міжнародної науково-практичної конференції «Наука та інновації - 2005». Том 3.
Дніпропетровськ: Наука та освіта, 2005. – 74 с.
2.Маршрутизирующие коммутаторы фирмы D-Link. http://www.dlink.ru