Prenosniki za domačim usmerjevalnikom brez posredovanja vrat še vedno sprejemajo povezave SSH, ki prihajajo prek VPN. To ni protislovje, ker dve različni napravi presojata dva različna paketa. Usmerjevalnik posreduje šifriran prenos, gostitelj pa odloči, kaj storiti z dešifriranim paketom, ki pride na njegov tunelski vmesnik. Ločevanje teh dveh odločitev je vsa vaja.

Usmerjevalnik posreduje tunel, gostitelj presoja paket

Narišite pot od oddaljenega vira do storitve, preden pogledate eno samo pravilo. Zunanji del je prenos VPN, ki ga obravnavata usmerjevalnik in prehod. Notranji del se začne, ko končna točka odstrani tunelski sloj in gostitelj prejme paket, naslovljen na njegov naslov VPN.

Združite ta dva dela in usmerjevalnik dobi zaslugo za odločitev, ki jo sprejme gostitelj. Stran s posredovanjem vrat ali dnevnik usmerjevalnika opisujeta le zunanje pogovore in noben ne pove, kateri dešifriran promet bo gostitelj sprejel. Gostitelj uporabi svojo vhodno politiko za notranji paket, enako kot za vsak paket, ki prispe na vmesnik. Prav v tej politiki se vprašanje izpostavljenosti dejansko razreši.

Nadomestni poslušalec ni javna storitev

V Linuxu vezava na INADDR_ANY pomeni vsak lokalni naslov, zato lahko storitev odgovarja na tunelskem vmesniku, ki ga ni nikoli imenovala. Referenca za vtičnice IP opisuje to vezavo in vredno jo je prebrati, preden sklepate iz seznama poslušalcev. Nadomestni vnos je dejstvo o vtičnici, ne trditev o dosegljivosti.

Dve vrstici spodaj sta ista storitev v dveh različnih vezavah, razlika pa je ves odgovor na vprašanje, ali je vmesnik pomemben. Najprej preberite, na katerem naslovu sedi vtičnica.

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))

Imenujte ureditev, ki bi lahko dosegla vrata

Tri ureditve postavijo paket na ta vmesnik in imajo različne lastnike. Imenovanje prave odloči, kdo mora spremeniti politiko.

ArrangementWhat reaches the portWhere the decision lives
Another permitted VPN peerA packet from the same tunnel subnetGateway forwarding policy and host input rules
A deliberate public forwardTraffic the gateway publishes on purposeGateway service definition
A subnet routed behind the gatewayClient traffic from the far sideGateway route and host input rules

Rezultat brskalnika z javnim izhodnim naslovom ne pove ničesar o nobeni od treh, ker opisuje, kako izhodni promet odhaja, ne pa, kaj je dovoljeno vhodnemu prometu. Delajte vzvratno od poslušalca in izvornega naslova v dnevniku storitve. Če je vir drug peer tunela, je politika prehoda zanimiv dokument. Če je to preveden naslov, poiščite prevod, preden spremenite pravilo.

Omejite storitev na predvideno pot

Če je SSH potreben le z upravljalne poti, zapišite to pot kot obseg vira plus vmesnik. Nato omejite vhodna pravila gostitelja po vmesniku, cilju in viru namesto po imenu omrežja, saj lahko ime, ki izgleda zasebno, pomeni kateri koli naslov. Pustite pot osebi, ki bo rešila naslednjo težavo.

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

Pravilo, ki imenuje tunelski vmesnik in upravljalni obseg, izraža namen na enem mestu. Primerjajte ga s pravilom, napisanim za omrežje Wi-Fi, ki ne pove ničesar o dešifriranem tunelskem prometu. Ko se oba sloja ne strinjata, je politika gostitelja tista, s katero se paket sreča.

Pustite prijave in popravke točno tam, kjer so; doseči vrata ni bilo nikoli isto kot imeti dovoljenje za njihovo uporabo. Zabeležite družino naslovov in čas za vsak neznan vir ter raziščite, preden obtožite funkcijo ali ranljivost. Pravilo, ki spusti vsakega peera tunela, je drugačna zasnova od tistega, ki spusti upravljalno podomrežje, in nobena vrstica dnevnika ne bo povedala, katero je bilo mišljeno.

Sprejmite popravek z enim uspehom in eno zavrnitvijo

Dokažite obe polovici: ena odobrena povezava uspe, ena izključena pot pa je zavrnjena. Zavrnitev je polovica, ki jo ljudje preskočijo, in prav ta pokaže, da pravilo dela, namesto da stoji ob dovoljujoči privzeti vrednosti. Testirajte z izključene strani, namesto da bi o tem razmišljali.

Ponovite par po ponovni povezavi, ker lahko tunel, ki se vrne z drugim imenom vmesnika, tiho obide pravilo, omejeno na starega. Meja, ki šteje, je tista, ki jo gostitelj uporabi za pakete, ki jih dejansko prejme.

Sorodni članki