Ez dago ezer gaizki aplikazioarekin eta ez dago ezer gaizki tunelarekin, eta hala ere panela ez da kargatzen. Zerbitzu bat network_mode: service:vpn-rekin exekutatzen denean, VPN edukiontziaren sare izen-espazioa partekatzen du, eta horrek esan nahi du bere entzulea eta argitaratutako atakak izen-espazio horrenak direla, ez zerbitzuarenak. Hortik hiru erabaki datoz: non lotzen den aplikazioa, zein edukiontzik argitaratzen duen ataka, eta zein estu den kudeaketa-bidea. Txarto ordenatzen badituzu, ezarpen bakoitza zuzena dirudien arren, konbinazioak ezin du funtzionatu.

Norena da atakaren izen-espazioa

Izen-espazio partekatu batean, mendeko zerbitzuari ports: sarrera bat gehitzeak ez du ezer erabilgarririk egiten, eta hainbat sare-aukera ez dira onartzen hura lortzeko, diseinuagatik. Argitaratu izen-espazioaren jabe den edukiontzian, horren ordez. Edukiontzi hori da, halaber, bere helbidea ostalarian agertzen dena, beraz mapaketak sarrera bakarra irakurtzen du, ez zerbitzu bakoitzeko bat.

services:
  vpn:
    image: vpn-client-image
    cap_add: [NET_ADMIN]
    ports:
      - "127.0.0.1:8080:8080"
  app:
    network_mode: "service:vpn"

Ohartu mapaketaren ezkerreko helbideaz. 127.0.0.1-era lotzeak argitaratutako ataka ostalariaren loopbackean mantentzen du, eta hori da normalean kudeaketa-interfaze batek nahi duena. 0.0.0.0-ra lotzeak ostalariaren interfaze guztietan uzten du agerian, eta hori segurtasun-erabaki desberdina da, ez erraztasuna.

Egin aplikazioa izen-espazioak espero duen tokian entzuten

Izen-espazioaren barruan 127.0.0.1-era lotutako entzulea izen-espazio horren barnetik soilik da irisgarria. Argitaratutako ostalari-atakak kanpotik iristen dira, beraz aplikazioak helbide zabalagoa lotu behar du mapaketak funtziona dezan. Hori lerro bakarreko aldaketa da zerbitzari gehienetan, eta edukiontzirik gabeko hedapenerako idatzitako gogortze-gida bat kopiatu ondoren jendeak saltatzen duen urratsa da.

docker compose exec app ss -lntp
docker port vpn
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/

Aplikazioaren barruko entzule-zerrendak lotze-helbideari buruzko egia esaten du, eta docker port-k jabeak benetan zer argitaratu zuen esaten du. Lehenengoak 127.0.0.1 erakusten badu eta bigarrenak ostalariaren mapaketa bat erakusten badu, desdoitzea aurkitu duzu VPN konfigurazioa ukitu gabe.

Aukeratu nola sartzen den kudeaketa-bidea

Hiru antolamendu zentzuzko daude. Argitaratu VPN edukiontzian eta iritsi hara ostalaritik edo tokiko saretik. Jarri alderantzizko proxy bat izen-espazioaren aurrean eta eman proxyari agerian dagoen ataka bakarra. Edo mantendu panela izen-espazioaren barnetik soilik irisgarri, exec saio edo SSH tunel baten bidez, eta hori da esposizio txikiena eta erosotasun txikiena.

Zein den egokia, nori eta nondik behar duen interfazeak araberakoa da. Ostalari berean dagoen administratzaile bakarra loopback lotura batekin zerbitzatzen da. VPN bidez iristen den taldeak bide deliberatu bat eta izendatutako jabe bat behar ditu. Proxy aukera hautatzeak TLS eta sarbide-erregistroak ematen dizkizu, eguneratuta mantendu beharreko osagai baten truke.

Ireki kudeaketa-ataka dena ireki gabe

VPN bezeroaren bertako sarbide edo blokeo politikak kudeaketa-eskaera sarrera bat bota dezake, irteera tunelak primeran funtzionatzen duen arren. Baimendu salbuespen dokumentatu bat aurreikusitako iturri eta atakarako, eta gero egiaztatu tunelaren ohiko babesa aldatu gabe dagoela. Panela karga dadin kill switcha desgaitzeak benetako kontrol bat trukatzen du nabigatzaileko fitxa baten truke.

Utzi aplikazioaren beraren autentifikazioa gaituta. VPN-ra konektatutako stack baten barruan egoteak ez du baimenik ematen tokiko erabiltzaile bakoitzari edo ostalarira irits daitekeen gailu bakoitzari, eta tunel baten atzean dagoen autentifikaziorik gabeko administrazio-panel bat autentifikaziorik gabeko administrazio-panel bat da oraindik.

Egiaztatu kudeaketa-gailutik, eta gero egiaztatu berriro geroago

Probatu zerbitzua benetan kudeatuko duen makinatik, ez ostalaritik, eta gero egiaztatu bereizita aplikazioak behar duen internet bidea. Kudeaketaren arrakastak norabide bat frogatzen du eta ez du ezer esaten irteerari buruz.

Probatu berriro stack-a birsortu ondoren. Ordezkatutako sare-jabe batek aplikazioa atxikitzen zaion izen-espazioa aldatzen du, eta eguneratze bat baino lehen funtzionatzen zuen URL batek geroago ezer ez erakustea gerta daiteke. Idatzi argitaratutako mapaketa eta lotze-helbidea, hurrengo berreraikuntza bi minutuko egiaztapena izan dadin, ikerketa errepikatua izan beharrean.

Erlazionatutako artikuluak