Як абмежаваць доступ паміж двума офісамі, злучанымі праз VPN
Тунэль паміж сайтамі не азначае ўзаемнага даверу. Пабудуйце матрыцу «крыніца — прызначэнне — сэрвіс», ужывіце яе да расшыфраванага трафіку і дакажыце таксама адмову.
Тунэль паміж сайтамі адказвае на адно пытанне, ці могуць два офісы абменьвацца пакетамі, і пакідае адкрытым важнае: якая прылада філіяла можа дасягнуць якога цэнтральнага сэрвісу. Стаўленне да тунэлю як да ўзаемнага даверу — гэта шлях, якім гасцявы ноўтбук трапляе на той жа маршрут, што і фінансавы сервер. Рашэнне — не лепшы тунэль, а яўны спіс дазволаў, які ўжываецца пасля расшыфроўкі. Гэты дапаможнік праводзіць такі спіс ад вызначэння да даказанай адмовы.
Працуйце ў такім парадку і не пашырайце маршрут тунэлю, пакуль не пройдуць крокі палітыкі ніжэй.
Напішыце матрыцу, перш чым кранаць шлюз
Карысны радок называе тры рэчы: групу крыніцы, хост або сетку сэрвісу прызначэння, а таксама пратакол і порт, якія праграма фактычна выкарыстоўвае. Філіял і цэнтр даных не з’яўляюцца запісамі. Прыватныя DNS і службы аўтэнтыфікацыі заслугоўваюць уласных радкоў толькі тады, калі праграма не можа працаваць без іх.
Групуйце крыніцы па ролі, а не па зручнасці падсеткі: супрацоўнікі, госці, адміністраванне. Калі ўсе тры дзеляць адну плоскую LAN, шлюз не можа адрозніць іх на сеткавым узроўні, таму кіраванне ідэнтычнасцю або сегментацыя павінны ісці першымі. Затым выкладзеце матрыцу пісьмова, з уладальнікам і датай перагляду ў кожным радку.
| Крыніца | Прызначэнне | Сэрвіс | Рашэнне |
|---|---|---|---|
| супрацоўнікі філіяла | праграма браніравання 10.10.5.10 | TCP 443 | дазволіць на шлюзе, які расшыфроўвае |
| супрацоўнікі філіяла | VLAN адміністравання сервераў | любы | няяўная адмова |
| гасцявы Wi-Fi | любы цэнтральны дыяпазон | любы | адмова перад тунэлем |
| хост пераходу адміністратара | VLAN сервераў | TCP 22 і 3389 | дазволіць з MFA, фэйрвол хоста звужае далей |
Ужывайце правілы там, дзе пакеты расшыфроўваюцца
Правілы, якія дазваляюць IKE і ESP, будуюць толькі знешні тунэль. Унутраны трафік прыходзіць адкрыта на інтэрфейс тунэлю, і менавіта там месца спісу дазволаў: ланцуг перасылкі на расшыфраванай прыладзе, стандартнае скідванне, адно правіла на радок матрыцы. На шлюзах Linux гэта азначае ўключаную перасылку і правілы фільтрацыі на прыладзе тунэлю, а не на фізічным узыходзе, як тлумачыць кіраўніцтва strongSwan па перасылцы.
Селектары трафіку — гэта рашэнне маршрутызацыі, а не аўтарызацыі. Шырокі селектар, які ахоплівае абедзве падсеткі, можа быць правільным для маршрутызацыі, хаця фэйрвол усё яшчэ дазваляе толькі TCP 443 да аднаго хоста. Селектар узгадняецца для тунэлю і апісвае, што можа ўвайсці ў яго, а не што можа выкарыстоўваць пэўная прылада. Ніколі не пашырайце правіла фэйрвола толькі таму, што селектар шырокі.
iptables -A FORWARD -i tun0 -s 10.20.0.0/24 -d 10.10.5.10 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -i tun0 -j DROP
NAT і супадальныя падсеткі змяняюць правілы
Калі шлюз філіяла пераўтварае кожны хост у адзін адрас перад тунэлем, кожны радок на аснове крыніцы зліваецца ў гэты адзін адрас. Або спыніце пераўтварэнне трафіку тунэлю, або прыміце, што правілы мусяць абапірацца на нешта іншае, напрыклад на зыходны адрас крыніцы, запісаны да пераўтварэння. Далёкі бок мае тую ж праблему, бо хост прызначэння бачыць адрас пасля NAT, а не зыходны.
Супадальныя дыяпазоны — іншая пастка. Два офісы, якія абодва выкарыстоўваюць 192.168.1.0/24, нельга апісаць у адной табліцы палітыкі без адлюстравання аднаго боку, а адлюстраванне не заменіць адрасацыі, якая не супадае. Выпраўце план, перш чым пісаць правілы, якія давядзецца разблытаць пазней.
Дакажыце адмову, а не толькі поспех
Праверка толькі дазволенай праграмы даказвае вельмі мала, бо дазваляльнае правіла дзесьці вышэй дае той жа вынік.
З звычайнай прылады філіяла дасягніце патрэбнага сэрвісу і пацвердзіце, што ўся сесія працуе. Затым паспрабуйце прызначэнне, якое мусіць заставацца зачыненым, напрыклад адміністрацыйны порт на серверы, да якога філіял не мае дачынення, і прачытайце лічыльнік або запіс журнала, які яго скідваў. Адключэнне набору правілаў для праверкі яго працы робіць тэст несапраўдным і пакідае шлюз адкрытым, пакуль вы глядзіце.
Трымайце спіс жывым
Праграмы перамяшчаюцца, і правіла, якое перажывае сваю праграму, становіцца дзіркай, якой ніхто не валодае. Прывяжыце дату перагляду да радка і змяніце ахоп селектара і правіла фэйрвола на адным кроку абслугоўвання, калі сэрвіс змяняе адрас.
Абмежаванні на ўзроўні хоста ўсё яшчэ важныя за тунэлем: уласны фэйрвол сервера павінен прымаць дыяпазон філіяла толькі для сэрвісу, які ён публікуе. Дзве ўзгодненыя ўзроўні лягчэй аудзіраваць, чым адзін узровень, якому цалкам давяраюць.