Корисник MikroTik VPN-а стиже предалеко: ограничите на један хост и један порт
PPP профил може да стави додељену адресу тунела у листу адреса, а један ланац скока може да дозволи један хост и један порт пре одбацивања.
Тунел се подиже, пријава успева и сваки хост на мрежи одговара. То није покварен VPN; то је VPN без модела дозвола. RouterOS аутентификује налог и затим усмерава његове пакете као било чије, па заштитни зид мора да обезбеди границу. Додавање те границе без кварења пријаве је цео посао.
Аутентификација се завршава тамо где дозвола почиње
Када је PPP сесија подигнута, пакети клијента улазе у forward ланац као саобраћај са било ког другог интерфејса. Ако је forward политика рутера попустљива, консултант ту попустљивост наслеђује при пријави. Налог никада није носио обим, па на налогу нема шта да се мења. Скуп правила је написан за запослене и нова сесија му се једноставно придружила.
Проверите на који се пут захтев односи пре него што било шта напишете. Саобраћај ка хостевима иза рутера пролази кроз forward, док саобраћај ка самом рутеру, укључујући winbox и SSH, пролази кроз input. Обим који покрива само forward оставља уређај отвореним за истог клијента.
Оба ланца захтевају одлуку, чак и ако је одлука да input остане затворен. Тај избор припада захтеву за приступ, а не каснијој мисли.
Причврстите сесију на именовану листу
PPP профил може при почетку сесије да стави адресу коју додељује у именовану листу адреса. То претвара пролазну адресу тунела у нешто што заштитни зид може да упари по имену, а запис нестаје када се сесија заврши. Налог затим наслеђује обим из свог профила, а не из правила које адресу тврдо кодира.
Прво направите профил, затим secret изричито повежите са њим. Secret који и даље показује на подразумевани профил поново ствара првобитни проблем.
Именујте профил и листу тако да њихови задаци буду очигледни и коментаришите оба позивом на захтев. Један профил може да опслужи неколико људи са истим обимом, док листа и даље идентификује сваку живу сесију. То је јефтиније за преглед од правила по особи.
/ppp profile add name=scoped-consultant remote-address=consultant-pool address-list=vpn-scoped-clients
/ppp secret add name=consultant password=... service=ovpn profile=scoped-consultant
Забележите дозвољену услугу у једној листи
Ставите дозвољени сервер у његову сопствену листу адреса уместо да адресу уградите у правило филтера. Листа може да се ревидира, проширује и коментарише, а правило које је користи не мења се када се сервер премести. Један запис изгледа претерано док не дође други хост, што се обично дешава.
Упарите листу када је адреса динамичка или распоређена, а упарите адресу директно када је резервисана и стабилна. Оба избора се читају јасно ако коментар наведе услугу и власника.
Ограничите протокол и порт, као и хост. Accept за хост без ограничења порта отвара сваку услугу коју тај хост извршава, што је шире него што већина захтева за приступ намерава. Порт је део дозволе, а не детаљ који се додаје касније.
/ip firewall address-list add list=vpn-targets address=10.0.0.10 comment="consultant RDP target"
Поређајте скок пре сваког широког accept-а
Правило скока шаље прослеђени саобраћај са ограничене листе у приватни ланац у коме цела политика стаје у три реда. Прво правило прихвата дозвољено одредиште и порт, а последње одбацује све остало. Скок мора да стоји изнад сваког широког accept-а у forward-у, јер ранији accept значи да се скок никада не извршава. Држите accept за established и related пре скока да би повратни саобраћај и даље текао.
Проверите да ниједно fasttrack правило не може да пренесе овај саобраћај поред ограниченог ланца. Fasttrack заобилази остатак пута филтрирања, а ограничена сесија која прође fasttrack уопште није ограничена.
Поновите одлуку за input ланац ако услуге самог рутера треба да буду недоступне. Обим који блокира прослеђени саобраћај и оставља winbox отворен само је пола готов.
/ip firewall filter
add chain=forward action=jump jump-target=scoped-vpn src-address-list=vpn-scoped-clients
add chain=scoped-vpn action=accept protocol=tcp dst-address-list=vpn-targets dst-port=3389
add chain=scoped-vpn action=drop
Проверите бројачима и чланством у листи
Са клијента тестирајте дозвољену услугу и ону која мора да не успе, затим прочитајте статистику правила на рутеру. Бројачи accept и drop показују којим је путем ишао сваки пакет, што клијент не може да види. Потврдите и да се адреса живе сесије појавила у ограниченој листи.
Празна листа значи да је налог на другом профилу или да је профил изгубио подешавање листе адреса. Бројач drop који расте док дозвољена услуга не успева значи да се одредиште или порт не поклапају са оним што клијент шаље.
Тестирајте исту услугу по имену и по адреси пре него што било шта закључите. Неуспех у разрешавању имена са клијентове стране изгледа тачно као блокиран порт. Затим забележите профил, обе листе и једину дозвољену услугу у захтеву за приступ, да би следећи преглед поређео уместо да реконструише.
/ip firewall filter print stats where chain=scoped-vpn
/ip firewall address-list print where list=vpn-scoped-clients