Kāpēc mājas NAT neaizsargā jūsu VPN saskarni
Mājas maršrutētājs pārsūta tuneli, bet resursdators vērtē atšifrēto paketi. Lasiet klausītāju, iekšējo ceļu un ievades politiku atsevišķi.
Klēpjdatori aiz mājas maršrutētāja bez portu pārsūtīšanas joprojām pieņem SSH savienojumus, kas ierodas pa VPN. Tā nav pretruna, jo divas dažādas ierīces vērtē divas dažādas paketes. Maršrutētājs pārsūta šifrēto transportu, un resursdators izlemj, ko darīt ar atšifrēto paketi, kas nonāk tā tuneļa saskarnē. Šo divu lēmumu nošķiršana ir viss vingrinājums.
Maršrutētājs pārsūta tuneli, resursdators vērtē paketi
Uzzīmējiet ceļu no attālā avota līdz pakalpojumam, pirms skatāties uz kādu noteikumu. Ārējā daļa ir VPN transports, ko apstrādā maršrutētājs un vārteja. Iekšējā daļa sākas, kad galapunkts noņem tuneļa slāni un resursdators saņem paketi, kas adresēta tā VPN adresei.
Apvienojiet šīs divas daļas, un maršrutētājs iegūst atzinību par lēmumu, ko pieņem resursdators. Portu pārsūtīšanas lapa vai maršrutētāja žurnāls apraksta tikai ārējas sarunas, un neviens no tiem nesaka, kādu atšifrēto satiksmi resursdators pieņems. Resursdators piemēro savu ievades politiku iekšējai paketei, tāpat kā jebkurai paketei, kas nonāk saskarnē. Tieši šajā politikā faktiski tiek izlemts pakļautības jautājums.
Aizstājējzīmes klausītājs nav publisks pakalpojums
Linux sistēmā saistīšana ar INADDR_ANY nozīmē katru vietējo adresi, tāpēc pakalpojums var atbildēt tuneļa saskarnē, ko tas nekad nav nosaukts. IP ligzdas atsauce apraksta šo saistīšanu, un to ir vērts izlasīt, pirms izdarīt secinājumus no klausītāju saraksta. Aizstājējzīmes ieraksts ir fakts par ligzdu, nevis apgalvojums par sasniedzamību.
Divas rindiņas zemāk ir tas pats pakalpojums divās dažādās saistībās, un atšķirība ir visa atbilde uz jautājumu, vai saskarnei ir nozīme. Vispirms izlasiet, kurā adresē atrodas ligzda.
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))
Nosauciet izkārtojumu, kas varētu sasniegt portu
Trīs izkārtojumi ievieto paketi šajā saskarnē, un tiem ir dažādi īpašnieki. Pareizā nosaukšana izlemj, kam jāmaina politika.
| 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 |
Pārlūkprogrammas rezultāts, kas rāda publisku izejas adresi, neko nepasaka par nevienu no trim, jo tas apraksta, kā izejošā satiksme iziet, nevis ko atļauts ienākošajai satiksmei. Strādājiet atpakaļ no klausītāja un avota adreses pakalpojuma žurnālā. Ja avots ir cits tuneļa peer, vārtejas politika ir interesantais dokuments. Ja tā ir tulkota adrese, atrodiet tulkojumu, pirms maināt noteikumu.
Ierobežojiet pakalpojumu paredzētajā ceļā
Ja SSH nepieciešams tikai no pārvaldības ceļa, pierakstiet šo ceļu kā avota diapazonu plus saskarni. Pēc tam ierobežojiet resursdatora ievades noteikumus pēc saskarnes, galamērķa un avota, nevis pēc tīkla nosaukuma, jo nosaukums, kas izskatās privāts, var apzīmēt jebkuru adresi. Patveriet maršrutu cilvēkam, kurš atrisinās nākamo problēmu.
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
Noteikums, kas nosauc tuneļa saskarni un pārvaldības diapazonu, izsaka nodomu vienā vietā. Salīdziniet to ar noteikumu, kas rakstīts Wi-Fi tīklam, kurš neko nesaka par atšifrēto tuneļa satiksmi. Kad abi slāņi nesaskan, resursdatora politika ir tā, ar ko pakete sastopas.
Atstājiet pieteikšanos un ielāpus tieši tur, kur tie ir; sasniegt portu nekad nav bijis tas pats, kas drīkstēt to izmantot. Pierakstiet adrešu saimi un laiku katram nepazīstamam avotam, un izmeklējiet, pirms vainojat funkciju vai ievainojamību. Noteikums, kas uzņem katru tuneļa peer, ir cits dizains nekā tas, kas uzņem pārvaldības apakštīklu, un neviena žurnāla rinda nepateiks, kurš bija paredzēts.
Pieņemiet labojumu ar vienu panākumu un vienu atteikumu
Pierādiet abas puses: viens apstiprināts savienojums izdodas, un viens izslēgts ceļš tiek atteikts. Atteikums ir tā puse, ko cilvēki izlaiž, un tieši tā parāda, ka noteikums strādā, nevis stāv blakus atļaujošai noklusējuma vērtībai. Testējiet no izslēgtās puses, nevis spriediet par to.
Atkārtojiet pāri pēc atkārtotas pievienošanās, jo tunelis, kas atgriežas ar citu saskarnes nosaukumu, var klusi apiet noteikumu, kas ierobežots uz veco. Robeža, kam ir nozīme, ir tā, ko resursdators piemēro paketēm, ko tas faktiski saņem.