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.

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

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.

Saistītie raksti