@startuml
Title Алгоритм поиска входящих/исходящих правил Cisco FTD
!define DZ destination_zone
!define SZ source_zone
!define NOT_VALID #pink:Правило не относится входящим/исходящим;
start
:Получаем правило Cisco FTD;
:Смотрим на такие поля как:
- SZ
- DZ;
if (SZ, DZ пустые?) then (Да)
:Значит у SZ и DZ
стоят значение any;
:Правило двунаправленное;
NOT_VALID
stop
else (Нет)
switch (Проверка SZ и DZ на следующие кейсы)
case ( SZ пустое\n DZ не пустое)
#palegreen:Правило является входящим;
stop
case ( SZ не пустое\n DZ пустое)
#palegreen:Правило является исходящим;
stop
case ( SZ не пустое\n DZ не пустое)
if (SZ == DZ) then (Да)
:Правило двунаправленное;
NOT_VALID
stop
else (Нет)
:Правило также возможно\nдвунаправленное;
NOT_VALID
stop
endif
endswitch
endif
@enduml