Извршете јавно DNS пребарување кон внатрешен балансер на оптоварување и може да добиете приватна адреса, што изгледа како погрешна конфигурација додека не проверите за што е записот. AWS документира дека имињата на внатрешните балансери можат да бидат јавно решливи, додека нивните јазли држат само приватни адреси. Resolver-от одговори каде е услугата; тој не создаде рута, не отвори безбедносна група и никого не автентикува. Дали тој одговор е проблем зависи од факти што можете да ги проверите по ред.

Прв чекор: читајте ја шемата, не 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. Приватен одговор од јавен resolver е очекуваното однесување за име на внатрешен балансер; тоа не е доказ дека адресата е рутирана од интернет.

Решете го истото име од внатре во 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 проверка, а контролата што навистина ви треба е кој може да воспостави врска и што бара апликацијата од нив. Проверете ги четирите факти, запишете ги, и прашањето повеќе не е двосмислено, но сѐ уште е важно да се чита внимателно.

Поврзани статии