Miksi kodin NAT ei suojaa VPN-liittymääsi
Kotireititin välittää tunnelin, mutta isäntä arvioi puretun paketin. Lue kuuntelija, sisempi polku ja saapuvan liikenteen käytäntö erikseen.
Kotireitittimen takana ilman portinohjausta olevat kannettavat hyväksyvät edelleen VPN:n yli saapuvat SSH-yhteydet. Se ei ole ristiriita, koska kaksi eri laitetta arvioi kahta eri pakettia. Reititin välittää salatun siirron, ja isäntä päättää, mitä tehdä puretulle paketille, joka saapuu sen tunneliliittymään. Näiden kahden päätöksen erillään pitäminen on koko harjoitus.
Reititin välittää tunnelin, isäntä arvioi paketin
Piirrä polku etälähteestä palveluun ennen kuin katsot yhtäkään sääntöä. Ulompi osuus on VPN-siirto, jota reititin ja yhdyskäytävä hoitavat. Sisempi osuus alkaa, kun päätepiste riisuu tunnelikerroksen ja isäntä vastaanottaa paketin, joka on osoitettu sen VPN-osoitteeseen.
Yhdistä nämä kaksi osuutta, niin reititin saa kunnian päätöksestä, jonka isäntä tekee. Portinohjaussivu tai reitittimen loki kuvaa vain ulompia keskusteluja, eikä kumpikaan kerro, mitä purettua liikennettä isäntä hyväksyy. Isäntä soveltaa omaa saapuvan liikenteen käytäntöään sisempään pakettiin samoin kuin mihin tahansa liitäntään saapuvaan pakettiin. Juuri siinä käytännössä altistumiskysymys todella ratkaistaan.
Jokerimerkkikuuntelija ei ole julkinen palvelu
Linuxissa sitominen osoitteeseen INADDR_ANY tarkoittaa jokaista paikallista osoitetta, joten palvelu voi vastata tunneliliittymässä, jota se ei koskaan nimennyt. IP-socket-viite kuvaa tämän sidonnan, ja se kannattaa lukea ennen kuuntelijaluettelosta tehtäviä johtopäätöksiä. Jokerimerkintä on tosiasia socketista, ei väite tavoitettavuudesta.
Alla olevat kaksi riviä ovat sama palvelu kahdessa eri sidonnassa, ja ero on koko vastaus siihen, onko liittymällä väliä. Lue ensin, missä osoitteessa socket istuu.
ss -lntp "sport = :22"
LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=812,fd=3))
LISTEN 0 4096 10.8.0.6:22 0.0.0.0:* users:(("sshd",pid=812,fd=4))
Nimeä järjestely, joka voisi tavoittaa portin
Kolme järjestelyä asettaa paketin tuohon liittymään, ja niillä on eri omistajat. Oikean nimeäminen ratkaisee, kenen on muutettava käytäntöä.
| Arrangement | What reaches the port | Where the decision lives |
|---|---|---|
| Another permitted VPN peer | A packet from the same tunnel subnet | Gateway forwarding policy and host input rules |
| A deliberate public forward | Traffic the gateway publishes on purpose | Gateway service definition |
| A subnet routed behind the gateway | Client traffic from the far side | Gateway route and host input rules |
Selaimen tulos, joka näyttää julkisen lähtöosoitteen, ei kerro mitään yhdestäkään kolmesta, koska se kuvaa, miten lähtevä liikenne poistuu, eikä sitä, mitä saapuvalle liikenteelle sallitaan. Työskentele päinvastoin kuuntelijasta ja palvelun lokin lähdeosoitteesta. Jos lähde on toinen tunnelin vertaiskone, yhdyskäytävän käytäntö on kiinnostava asiakirja. Jos se on käännetty osoite, etsi käännös ennen säännön muuttamista.
Rajaa palvelu aiottuun polkuun
Jos SSH:tä tarvitaan vain hallintapolusta, kirjoita polku lähdealueena ja liittymänä. Rajaa sitten isännän saapuvan liikenteen säännöt liittymän, kohteen ja lähteen mukaan verkkonimen sijaan, koska yksityiseltä näyttävä nimi voi tarkoittaa mitä tahansa osoitetta. Jätä reitti henkilölle, joka ratkaisee seuraavan ongelman.
nft add rule inet filter input iifname "tun0" ip saddr 10.8.0.0/24 tcp dport 22 accept
nft list chain inet filter input
Sääntö, joka nimeää tunneliliittymän ja hallinta-alueen, ilmaisee aikomuksen yhdessä paikassa. Vertaa sitä Wi-Fi-verkkoa varten kirjoitettuun sääntöön, joka ei kerro puretusta tunneliliikenteestä mitään. Kun kaksi kerrosta ovat eri mieltä, paketti kohtaa isännän käytännön.
Jätä kirjautumiset ja paikkaukset täsmälleen sinne, missä ne ovat; portin tavoittaminen ei ollut koskaan sama kuin lupa käyttää sitä. Kirjaa osoiteperhe ja aika jokaiselle tuntemattomalle lähteelle ja tutki ennen kuin syytät ominaisuutta tai haavoittuvuutta. Sääntö, joka sallii jokaisen tunnelin vertaiskoneen, on eri suunnittelu kuin se, joka sallii hallinta-aliverkon, eikä mikään lokirivi kerro, kumpi oli tarkoitus.
Hyväksy korjaus yhdellä onnistumisella ja yhdellä hylkäyksellä
Todista molemmat puolet: yksi hyväksytty yhteys onnistuu ja yksi poissuljettu polku hylätään. Hylkäys on se puoli, jonka ihmiset ohittavat, ja juuri se osoittaa, että sääntö tekee työtä eikä seiso sallivan oletusarvon vieressä. Testaa poissuljetulta puolelta sen sijaan, että pohtisit sitä.
Toista pari uudelleenyhdistämisen jälkeen, koska eri liittymänimellä palaava tunneli voi hiljaa ohittaa vanhaan rajattuun sääntöön. Ratkaiseva raja on se, jota isäntä soveltaa paketteihin, jotka se todella vastaanottaa.