Biroja LAN iekšējais nosaukums atbild acumirklī. Tiklīdz VPN ir ieslēgts, tas pārstāj darboties, lietojumprogramma ziņo par taimautu, un pats tunelis bez sūdzībām pārvada datplūsmu. Mainījies ir resolvers, un šim resolveram ir savs viedoklis par privātajām adresēm.

Aizsardzība pret rebinding pastāv, lai apturētu vienu konkrētu triku. Apzināti publicēts privātais nosaukums izskatās pietiekami līdzīgs, lai aizsardzība iedarbotos.

Izlasiet atbildi pirms politikas

Vaicājiet nosaukumu tam resolveram, ko VPN patiešām izplata, nevis tam, ko jūsu klēpjdators izmanto mājās. Salīdziniet atbildi ar gaidīto ierakstu un pierakstiet, vai atbilde ir tukša, noraidīta vai pilna ar publiskām adresēm, ko neviens nebija plānojis.

Simptomi pārklājas, tāpēc diagnozi nosaka atbildes forma. NXDOMAIN ir trūkstošs ieraksts, REFUSED ir piekļuves noteikums, publiska adrese iekšējam nosaukumam ir politikas vai split-DNS kļūda, un pareiza privātā adrese, ko klients nevar izmantot, ir pavisam cita problēma. Noraidīts savienojums vai iestrēdzis pieprasījums pats par sevi neko nepierāda, tāpēc pirmajai komandai šādos pieteikumos jābūt vaicājumam, nevis restartam. Pierakstiet atbildi pirms kaut kā maiņas.

Ko aizsardzība patiešām aptur

DNS rebinding darbojas, mainot to, uz ko nosaukums atrisinās pēc tam, kad klients tam jau uzticējies. Lapa ielādējas no uzbrucēja kontrolēta nosaukuma, atbilde pārslēdzas uz privāto adresi, un pārlūks tiek maldināts sazināties ar kaut ko lokālajā tīklā, ar ko tas nekad nebūtu pieņēmis tiešu savienojumu. Aizsardzība ir atteikties no atbildēm, kas norāda uz privāto telpu, kad resolverim nekad nav lūgts apkalpot privātu nosaukumu telpu. Šī asimetrija ir viss uzbrukums.

dnsmasq dokumentē tieši šādu uzvedību, kopā ar izņēmumiem pa domēniem. Savā rokasgrāmatā tas rebind-domain-ok apraksta kā veidu, kā nosaukt domēnus, kuri drīkst likumīgi atgriezt šādas adreses. Lasiet to kā signālu, ka paredzētais labojums ir ierobežota atļauja, nevis globāls slēdzis.

Ierobežojiet izņēmumu ar nosaukumu telpu

Vispirms izlabojiet nosaukumu telpu, tad izņēmumu. Pārliecinieties, ka neveiksmīgais nosaukums pieder domēnam, ko kontrolē organizācija, un ka ieraksts tiek apzināti uzturēts. Negaidīta adrese, kas tikai atgādina pazīstamu LAN diapazonu, ir pelnījusi aizdomas, nevis izņēmumu, tāpēc pārbaudiet zonas īpašnieku pirms jebkuras atļaujas rakstīšanas.

# ask the resolver the VPN pushed, and show the full answer
dig +noall +answer db.corp.example @10.40.0.1
dig +short db.corp.example @10.40.0.1

# dnsmasq: what does the running configuration already allow?
grep -R 'rebind' /etc/dnsmasq.d /etc/dnsmasq.conf

Pēc tam pievienojiet šaurāko atļauju, kas aptver paredzētos nosaukumus: vienu domēnu vai vienu deleģētu apakšdomēnu resolvera konfigurācijā, ko vaicā VPN klienti. Aizsardzības izslēgšana visiem šī resolvera nosaukumiem vienlaikus atņem aizsardzību visiem uzreiz, tostarp nosaukumiem, kuriem tā nekad nebija vajadzīga.

Split DNS ietilpst tajā pašā lēmumā. Ja privāto nosaukumu telpu vajadzētu atbildēt tikai iekšējam resolveram, publicējiet to tur un pārtrauciet tā noplūdi uz publiskajiem resolveriem, lai izņēmums aptvertu vienu ceļu, nevis katru ceļu.

Atkārtoti pārbaudiet resursu un aizsardzību

Vaicājiet vēlreiz, tad pievienojieties pakalpojumam un pārbaudiet, ko redz klients. Pareiza privātā atbilde ar strādājošu sesiju nozīmē, ka izņēmums ir iedarbojies. Pareiza atbilde ar iestrēgušu sesiju nozīmē, ka nākamais aizdomās turamais ir maršruts vai pakalpojuma identitāte.

# the internal name and the public control should behave differently
dig +short db.corp.example @10.40.0.1
dig +short www.example.com @10.40.0.1

# and the service itself, with the certificate it presents
curl -sS -o /dev/null -w '%{http_code}\n' https://db.corp.example/health

Pārbaudiet arī publisku nosaukumu caur to pašu resolveru. Aizsardzībai joprojām jādarbojas pareizi nosaukumiem ārpus izņēmuma, un, ja šī pārbaude neizdodas, izmaiņas bija plašākas nekā paredzēts. Visu laiku neaiztieciet sertifikātu validāciju, jo pareizi atrisināts nosaukums tomēr ir jāsaskaņo ar sertifikātu, ko uzrāda pakalpojums.

Pieteikumā pierakstiet noraidīto atbildi, domēnu, resolveru un to, kam pieder politika. Šis ieraksts ir tas, kas noslēpumainu iekšēju dīkstāvi pārvērš konfigurācijas izmaiņās, ko kāds var pārskatīt.

Saistītie raksti