Покрените јавно DNS претраживање интерног балансера оптерећења и можете добити приватну адресу, што изгледа као погрешна конфигурација док не проверите чему запис служи. AWS документује да имена интерних балансера могу бити јавно разрјешива док њихови чворови држе само приватне адресе. Резолвер је одговорио гдје је услуга; није створио руту, отворио безбједносну групу нити икога аутентификовао. Да ли је тај одговор проблем зависи од чињеница које можете провјерити по реду.

Први корак: читајте шему, не IP

Поље шеме је властита изјава балансера о његовој граници. aws elbv2 describe-load-balancers --names app-internal враћа Scheme са вриједношћу internal или internet-facing, плус тип адресе за IPv4 или двоструки стек. Балансер окренут интернету ипак може просљеђивати на приватне циљеве, па виђење приватних backend адреса ништа не доказује о предњој страни.

Запишите шему прије него што погледате било шта друго, јер свака каснија процјена зависи од ње. Она такође говори које контроле постоје, од безбједносних група и правила listener-а до скупа функција тог типа балансера. Шема копирана са старе снимке конзоле гора је од никакве биљешке. Поново је прочитајте из API-ја и залијепите вриједност у тикет.

Други корак: погледајте у шта се име разрјешава

Упитајте изван VPC-а помоћу dig +short app-internal-1234567890.eu-west-1.elb.amazonaws.com и забиљежите да ли су одговори у 10.0.0.0/8, 172.16.0.0/12 или 192.168.0.0/16. Приватан одговор јавног резолвера очекивано је понашање за име интерног балансера; то није доказ да је адреса рутабилна с интернета.

Разриjeшите исто име унутар VPC-а и упоредите. Ако се два одговора разликују, гледате split-horizon именовање, а та разлика је детаљ дизајна, не цурење.

Трећи корак: набројте путање које могу да га достигну

Приватна адреса је доступна свуда гдје постоји рута и безбједносно правило. Набројте их намјерно: VPN од локације до локације, клијентски VPN, VPC peering, прикључци transit gateway-а, Direct Connect и сваки proxy или bastion унутар VPC-а. Један од њих је намјеравана путања, а остали су они које би нападач тражио.

Затим провјерите контроле на свакој путањи: безбједносне групе на балансеру, мрежне ACL-ове на подмрежама и рутирање које уопште ствара путању. Већина пријављених случајева изложене интерне услуге рјешава се овдје, било да је постојао ненамјерни peering или да је путања била намјеравана а апликација није имала аутентификацију.

Четврти корак: тестирајте listener и апликацију одвојено

Покушајте да се повежете са мреже која не би требало да достигне услугу и потврдите да не можете. Затим покушајте са оне која би требало и потврдите да достижете listener. Та два резултата раздвајају мрежну доступност од понашања апликације и једини су доказ који је битан за питање изложености.

Доступан listener није исто што и приступачна апликација. Провјерите TLS сертификат и политику протокола, затим властиту аутентификацију и ауторизацију апликације. Интерни алат који прихвата сваког позиваоца на корпоративном VPN-у изложен је сваком компромитованом лаптопу на том VPN-у, што је другачији ризик од интернетски изложеног, али и даље ризик.

Запамтите да се контроле разликују по типу. Заштитни зидови апликацијског слоја прикључују се на једну фамилију балансера, а не на другу, па потврдите шта је заиста доступно за шему и тип пред вама умјесто да претпостављате једнакост.

Пети корак: одлучите да ли само име има значаја

Јавна разрјешивост може открити име услуге, регион и распон адреса. Третирајте то као питање откривања информација са одговором у политици, а не као аутоматски инцидент: држите осјетљиве пословне термине изван имена ресурса и забиљежите откривање у регистру ризика ако конвенција именовања открива више него што желите.

Ако организација жели приватно именовање, приватна хостована зона може послуживати alias који се разрјешава само унутар повезаних VPC-ова. То мијења име које корисници виде; не чини име које генерише провајдер тајним и не уклања ниједну мрежну путању.

Не покушавајте да фиксирате адресе да сакријете одговор. Адресе балансера се мијењају, фиксирање квари навике TLS валидације, а контрола која вам заиста треба јесте ко може успоставити везу и шта апликација од њих захтијева. Провјерите четири чињенице, запишите их и питање престаје бити двосмислено.

Повезани чланци