Notranji ALB z javnim imenom DNS: je res izpostavljen?
Javni razreševalnik lahko vrne zasebne naslove za notranji AWS uravnavalnik obremenitve. Preden ga razglasite za izpostavljenega, preverite shemo, poti in poslušalca.
Zaženite javno poizvedbo DNS proti notranjemu uravnavalniku obremenitve in lahko dobite zasebni naslov nazaj, kar je videti kot napačna konfiguracija, dokler ne preverite, čemu je zapis namenjen. AWS dokumentira, da so imena notranjih uravnavalnikov lahko javno razrešljiva, čeprav imajo njihova vozlišča le zasebne naslove. Razreševalnik je odgovoril, kje je storitev; ni ustvaril poti, ni odprl varnostne skupine in ni nikogar overil. Ali je ta odgovor težava, je odvisno od dejstev, ki jih lahko preverite po vrsti.
Prvi korak: berite shemo, ne IP
Polje sheme je lastna izjava uravnavalnika o njegovi meji. aws elbv2 describe-load-balancers --names app-internal vrne Scheme z vrednostjo internal ali internet-facing, skupaj z vrsto naslova za IPv4 ali dvojni sklad. Uravnavalnik, obrnjen v internet, lahko še vedno posreduje na zasebne cilje, zato pogled na zasebne naslove zaledja ne dokazuje ničesar o sprednjem delu.
Zapišite shemo, preden pogledate karkoli drugega, ker je vsaka poznejša presoja odvisna od nje. Pove tudi, katere kontrole obstajajo, od varnostnih skupin in pravil poslušalca do nabora funkcij te vrste uravnavalnika. Shema, kopirana s starega posnetka konzole, je slabša od nobene opombe. Znova jo preberite iz API in prilepite vrednost v zahtevek.
Drugi korak: poglejte, v kaj se ime razreši
Poizvedujte zunaj VPC s dig +short app-internal-1234567890.eu-west-1.elb.amazonaws.com in zabeležite, ali so odgovori v 10.0.0.0/8, 172.16.0.0/12 ali 192.168.0.0/16. Zasebni odgovor javnega razreševalnika je pričakovano vedenje za ime notranjega uravnavalnika; ni dokaz, da je naslov usmerljiv iz interneta.
Razrešite isto ime od znotraj VPC in primerjajte. Če se odgovora razlikujeta, gledate poimenovanje split-horizon, in ta razlika je podrobnost zasnove, ne uhajanje.
Tretji korak: naštejte poti, ki ga lahko dosežejo
Zasebni naslov je dosegljiv povsod, kjer obstajata pot in varnostno pravilo. Naštejte jih namerno: VPN med lokacijami, odjemalski VPN, VPC peering, povezave transit gateway, Direct Connect in vsak posrednik ali bastion znotraj VPC. Ena od njih je predvidena pot, ostale pa so tiste, ki bi jih iskal napadalec.
Nato preverite kontrole na vsaki poti: varnostne skupine na uravnavalniku, omrežne ACL na podomrežjih in usmerjanje, ki pot sploh ustvari. Večina prijavljenih primerov izpostavljene notranje storitve se reši tu: bodisi je obstajal nenameren peering bodisi je bila pot predvidena in aplikacija ni imela overjanja.
Četrti korak: preizkusite poslušalca in aplikacijo ločeno
Poskusite se povezati iz omrežja, ki storitve ne bi smelo doseči, in potrdite, da ne morete. Nato poskusite iz tistega, ki bi jo smelo, in potrdite, da dosežete poslušalca. Ta dva izida ločujeta omrežno dosegljivost od vedenja aplikacije in sta edini dokaz, ki šteje pri vprašanju izpostavljenosti.
Dosegljiv poslušalec ni isto kot dostopna aplikacija. Preverite potrdilo TLS in politiko protokola, nato lastno overjanje in avtorizacijo aplikacije. Notranje orodje, ki sprejme vsakega klicatelja v poslovnem VPN, je izpostavljeno vsakemu ogroženemu prenosniku v tem VPN, kar je drugačno tveganje od internetnega, a še vedno tveganje.
Ne pozabite, da se kontrole razlikujejo glede na vrsto. Požarni zidovi aplikacijske plasti se pripnejo na eno družino uravnavalnikov in ne na drugo, zato potrdite, kaj je v resnici na voljo za shemo in vrsto pred vami, namesto da bi predpostavljali enakost.
Peti korak: odločite, ali je pomembno samo ime
Javna razrešljivost lahko razkrije ime storitve, regijo in razpon naslovov. Obravnavajte to kot vprašanje razkritja informacij z odgovorom politike, ne kot samodejni incident: imejte občutljive poslovne izraze zunaj imen virov in zabeležite razkritje v registru tveganj, če konvencija poimenovanja razkrije več, kot želite.
Če organizacija želi zasebno izkušnjo poimenovanja, lahko zasebna gostujoča cona služi vzdevek, ki se razreši le znotraj povezanih VPC. To spremeni ime, ki ga uporabniki vidijo; ne naredi imena, ki ga ustvari ponudnik, skrivnega in ne odstrani nobene omrežne poti.
Naslovov ne poskušajte pripeti, da bi skrili odgovor. Naslovi uravnavalnika se spreminjajo, pripenjanje kvari navade preverjanja TLS, kontrola, ki jo resnično potrebujete, pa je, kdo lahko vzpostavi povezavo in kaj aplikacija od njega zahteva. Preverite štiri dejstva, zapišite jih in vprašanje ni več dvoumno.