Шта треба забележити за VPN између локација: селектори и обухват
Запис о селекторима мора да каже шта види свака страна. Конфигурисани префикси, договорене асоцијације, превођење и власништво над сервисом — све то улази у њега.
Шест месеци после пуштања тунела у рад, нова подмрежа престаје да се поклапа са политиком, а једини документ на дељеном диску каже „VPN канцеларије“. Управо такву грешку спречава запис о селекторима, и она је конкретна: скуп адреса се променио, а документација није. Исправно написати запис значи знати који од неколико скупова адреса описујете, и забележити онај који друга страна стварно примењује, а не онај који сте конфигурисали.
Конфигурисано није договорено
У IPsec тунелу заснованом на политикама, свака страна предлаже селекторе саобраћаја: распоне извора и одредишта за подређену асоцијацију. Страна која одговара сме да сузи тај предлог, тако да инсталирана асоцијација може да покрива мање него што конфигурација наводи. Запис који преписује конфигурацију описује намеру, а не тренутни обухват заштите. Њих двоје се тихо разилазе, и ништа на страници стања тунела то не показује.
Држите обе колоне, са датумом када сте их посматрали. Конфигурисани селектор је оно што сте мислили; договорени је оно што кернел примењује управо сада. Када се разликују, та разлика објашњава неочекивани квар много чешће него грешка у рутирању.
Једна асоцијација такође не представља сваки конфигурисани пар. Тунел са неколико комбинација селектора може да заврши са неколико подређених асоцијација, а запис који наводи једну од њих је делимичан попис. Попишите их уместо да их сажмете.
Тунели засновани на рутама бирају другачије
Са интерфејсом заснованим на рутама, табела рутирања одлучује шта улази у тунел, а селектори могу намерно да буду широки. То је легитиман пројекат, а не лењост, и запис то тако мора да опише. Запишите руту, интерфејс на који показује, и политику заштитног зида која ограничава који су сервиси доступни. Обухват заштите је намерно широк, а сужавање обавља обухват сервиса.
Преписивање шаблона заснованог на политикама на тунел заснован на рутама даје документ који описује механизам који примена не користи. Следећи инжењер затим тражи селекторе којих никада није требало бити, и закључи да је тунел погрешно конфигурисан, иако је само лоше документован.
Превођење припада истој табели
Када NAT представи другој страни другачији распон, запишите оригиналне и преведене префиксе заједно. Забележите фазу у којој се селектори и правила приступа поклапају с њима, јер редослед одлучује да ли ће удаљена страна уопште видети адресу коју сте записали. Табела са само једним од два распона гора је од никакве табеле, јер изгледа потпуна.
Ово је детаљ који ломи тунел који ради после промене NAT-а: селектор се још поклапа са оригиналним префиксом, друга страна сада прима преведени, а њена повратна рута показује на адресу која више не постоји. Ништа не бележи грешку у тренутку када престану да се слажу.
Приватни DNS спада на исто место. Име које се разрешава у адресу неупотребљиву са релевантне локације је грешка у документацији са приложеним тикетом подршке, и биће окачена на тунел.
Приложите захтев за сервис
Заштићени распон није списак дозвола. Запишите који сервиси треба да буду доступни из ког извора, и ко је власник апликације иза њих. Та два поља одговарају на различита питања, а њихово мешање је начин на који безбедносна провера заврши расправом о рутирању уместо о приступу.
Затим именујте мрежног администратора који одржава правило. Попис селектора без власника тихо застарева, а застарело се не разликује од погрешног када тунел пукне у два ујутру. Власник је и особа која може да потврди да је промена била намерна.
Претворите запис у план тестирања
За сваку потребну путању изаберите репрезентативни хост-извор и хост-одредиште и забележите очекивану руту, сервис и гејтвеј одговора. То претвара документ у план тестирања, а не у опис. Прочитајте активну асоцијацију командом испод и упоредите је са договореним редом који сте записали.
swanctl --list-sas
Скелет од пет редова обично је довољан да запис остане поштен. Верзија испод стаје у тикет за промену без скраћивања:
sites: office <-> dc1
configured selector: 10.10.0.0/16 <-> 10.20.0.0/16
negotiated selector: 10.10.4.0/22 <-> 10.20.0.0/16
translated range: 172.16.4.0/22 -> 10.10.4.0/22
service and owner: erp:443 / finance-netops
Пинг само до гејтвеја није прихватни тест. Он никада не пролази кроз транзитну путању, па може да прође док сваки прослеђени ток не успева. Тестирајте са хоста на једној страни до сервиса на другој и потврдите да одговор стиже кроз тунел. Ако прође само пинг, запис је управо пронашао проблем са прослеђивањем који је требало да спречи. strongSwan документација о прослеђивању објашњава како селектори, руте и прослеђивање делују заједно на Linux чвору.