Функция ACL на коммутаторах Kyland
Access control list (ACL) - один из механизмов управления безопасностью, использующий настройки правил и политик обработки пакетов с целью фильтрации трафика.
Принцип работы ACL
Коммутатор сравнивает пакет с записями ACL в порядке следования записей в таблице. Каждая запись в списке содержит несколько условий, как только будет найдено совпадение, выполнится действие, и дальнейшее сравнение не будет проводиться.
Схематичную работу функции ACL можно увидеть на рисунке:
![](https://kyland-rus.ru//cj65xutsjwht/84f2112a-b516-11ee-8c54-39da4fee6782/acl-scheme-1.webp)
Рассмотрим настройку ACL на примере коммутатора серии SICOM3000A. На данных коммутаторах возможна фильтрация только входящего трафика. Максимальное количество записей - 256 на каждом коммутаторе.
![](https://kyland-rus.ru//cj65xutsjwht/85be3dac-b518-11ee-a971-79075868e2ff/acl-scheme-2.webp)
В данном примере организуем фильтрацию сетевого трафика через коммутатор, при которой между ПК1 и ПК3 разрешен обмен только по промышленному протоколу Modbus TCP, а ПК2 имеет доступ ко всем компьютерам в сети.
Настройка
Функцию ACL можно найти в разделе Network -> ACL ->Access control list. При первичной настройке можно увидеть пустую таблицу, для создания новой записи необходимо нажать на плюс.
![](https://kyland-rus.ru//cj65xutsjwht/e489cca6-b519-11ee-bf62-5dbe342fd49e/acl-scheme-3.webp)
Первые три правила мы создаем для протокола ARP, данные правила необходимы, чтобы компьютеры могли выполнить ARP запросы для поиска MAC-адресов друг друга для дальнейшей связи по TCP.
1. Выбираем порт 1, тип кадра ARP и тип действия “разрешить”, также назначаем IP-адреса источника и получателя согласно схеме.
![](https://kyland-rus.ru//cj65xutsjwht/62ce1176-b51a-11ee-af59-1fd1003c1afc/acl-scheme-4.webp)
2. Второе правило создается аналогично, за исключением порта и IP-адресов.
![](https://kyland-rus.ru//cj65xutsjwht/dd3219ac-b51b-11ee-a3ee-a9aea0ccaf65/acl-scheme-5.webp)
3. И последнее правило для ARP назначаем на порты 1 и 3.
![](https://kyland-rus.ru//cj65xutsjwht/3acc96d2-b51c-11ee-8769-c7bd55155710/acl-scheme-6.webp)
Четвертое и пятое правило уже будет относится к протоколу Modbus TCP:
- Выбираем порт, для которого будет действовать фильтрация.
- Выбираем тип кадра - IPv4. Помимо данного типа можно еще выбрать Ethernet Type и IPv6.
- После выбора типа кадра появляется дополнительное поле IP Parameters (параметры изменяются в зависимости от типа кадра). Здесь выбираем фильтрацию по протоколу TCP. Фильтрация также возможна по протоколу UDP, ICMP или другим.
- Далее назначаем порт Modbus TCP - 502.
- Задаем адресацию для источника и получателя.
- Выбираем режим правила - permit (разрешить).
![](https://kyland-rus.ru//cj65xutsjwht/989c168e-b51c-11ee-ba16-8b6b4c046af0/acl-scheme-7.webp)
Пятое правило задается аналогично, меняется местами только адресация источника и получателя, входящий порт и фильтруется TCP-порт получателя, а не источника.
![](https://kyland-rus.ru//cj65xutsjwht/5d437450-b51d-11ee-9ac3-a9172448c31c/acl-scheme-8.webp)
Шестое правило необходимо, чтобы ПК2 мог иметь доступ к ПК1 и ПК3, используя любые протоколы связи:
![](https://kyland-rus.ru//cj65xutsjwht/9c08fa02-b51d-11ee-88b4-e92670879373/acl-scheme-9.webp)
И последнее правило запрещает все на портах 1 и 3.
![](https://kyland-rus.ru//cj65xutsjwht/cb5c96ba-b51d-11ee-ad3c-8b390dacf9dc/acl-scheme-10.webp)
Теперь можно увидеть заполненную таблицу, в которой отображена краткая информация по каждой из записей. Также эту таблицу можно корректировать с помощью кнопок справа.
![](https://kyland-rus.ru//cj65xutsjwht/1b7b5488-b51e-11ee-8868-bb22024b50bc/acl-scheme-11.webp)
+ - добавление новой записи
e - редактирование текущей записи
↑↓ -перемещение записей выше или ниже
x - удаление записи
После завершения всех настроек необходимо сохранить конфигурацию: Maintenance -> Save Current Configuration.
Теперь можно проверить работу ACL. ПК1 по схеме - Slave-устройство, поэтому для симуляции будем использовать ModRSsim2, а для симуляции Master-устройства на ПК3 - ModbusTool.
Проверка
1. На ПК1 запускаем ModRSsim2, выбираем протокол ModbusTCP/IP и тип регистров Coil Outputs.
![](https://kyland-rus.ru//cj65xutsjwht/c5b5500c-b51e-11ee-87e9-c70995af693d/acl-scheme-12.webp)
2. На ПК3 запускаем ModbusTool, указываем IP-адрес ПК1, порт 502 и Modbus-функцию Read Coils.
![](https://kyland-rus.ru//cj65xutsjwht/db62903a-b524-11ee-8009-bf5b083453e5/acl-scheme-13.webp)
3. Устанавливаем соединение со Slave-устройством, нажав кнопку Connect.
![](https://kyland-rus.ru//cj65xutsjwht/1edfc454-b525-11ee-b246-c33d490ccef2/acl-scheme-14.webp)
4. Пробуем изменить значение регистров в ModRSsim2 и видим, что они также меняются в ModbusTool.
![](https://kyland-rus.ru//cj65xutsjwht/9c309f78-b525-11ee-b218-710d46084340/acl-scheme-15.webp)
![](https://kyland-rus.ru//cj65xutsjwht/cd0445be-b525-11ee-8db3-4999b21265da/acl-scheme-16.webp)
5. А если попробуем произвести команду ping, то результат будет неуспешным.
![](https://kyland-rus.ru//cj65xutsjwht/10cf11fc-b526-11ee-bb5f-a5b4a2eda2e4/acl-scheme-17.webp)
6. Со стороны ПК2 доступ к обоим компьютерам есть.
![](https://kyland-rus.ru//cj65xutsjwht/7986a858-b527-11ee-ae3f-7f3f10258c6e/acl-scheme-18.webp)
Данная проверка говорит о том, что функция ACL работает в соответствии с поставленной задачей.