Taotlus saabub alati samas vormis: sulgege IPsec servas, sest see kannab tunneleid, mida keegi ei kinnitanud, ja esimene kaebus tuleb inimeselt, kelle telefon lakkas Wi-Fi kaudu helistamast. Mõlemad faktid on korraga tõesed ja kumbki ei õigusta kontrollist loobumist. Tulemüüril on vaja teenuse erandit, millel on nimetatud funktsioon, piiratud allikas, dokumenteeritud sihtkohad ja omanik. Viis sammu muudavad selle reegliks, mida võõras saab järgmisel aastal üle vaadata.

Nimetage teenus enne, kui nimetate protokolli

SIP-teenusel töötav lauatelefon ja operaatori Wi-Fi Callingut tegev aparaat ei jaga võrguprofiili ning VoIP tulemüüri terminina ei kirjelda kumbagi. Pordi- ja sihtkohaandmed peavad tulema teenusepakkujalt või operaatorilt, kes teenust haldab, mitte teise telefonisüsteemi meenutatud pordiloendist. See on vahe reegli vahel, mis kaitseb funktsiooni, ja reegli vahel, mis kaitseb sõna.

Apple'i teenuseportide viide loetleb Wi-Fi Callingule UDP 500 ja 4500, mis juhtub olema täpselt see paar, mille enamik üldisi IPsec-blokeeringuid kõrvale jätab. Kirjutage funktsiooni nimi muudatuse kirjesse nende portide kõrvale. Lisage kasutatud viite versioon või kuupäev, sest tarnijate tabelid muutuvad. Reeglit, mis nimetab teenust, mille jaoks see eksisteerib, saab üle vaadata; sellist, mis nimetab protokollikategooriat, ei saa.

Kirjutage erand lepinguna, mitte teenena

Erand sätestab lubatud funktsiooni, seda kasutavad seadmeklassid, vajaliku transpordi ja sihtkohad, mille vastutav pool dokumenteerib. Sellel on ka omanik ja ülevaatamise kuupäev, sest operaatori lõpp-punktid ja aparaadimudelid muutuvad tulemüürimeeskonda teavitamata. Andke ülevaatamine isikule, mitte meeskonna nimele, mis meeskonnast kauem kestab. Hoidke sõnastus piisavalt täpne, et võõras saaks reegli tuletada ainult kirje põhjal.

Pange erand samasse tsüklisse ülejäänud servapoliitikaga, et operaatori sihtkoha liigutamine või pargi aparaadimudeli vahetus märgataks ülevaatamisel, mitte järgmisel katkestusel. Sulgege ring sellega, kes katkistest kõnedest teatas, sest ainult tema saab parandust kinnitada, avamata uuesti tunnelit, mille blokeering pidi sulgema. See kinnitus kuulub samuti kirjesse, kuupäevaga.

Alaline luba, mis on märgitud ajutiseks telefoniparanduseks, on kaks aastat hiljem põhjendamatu. Kindlaksmääratud teenusega seotud loal on tähtaeg, mida uuendatakse teadlikult.

Piiritlege allikas ausalt

Erandi piiramine hallatava seadmesegmendiga on oluliselt tugevam kui protokolli avamine hoone igale sülearvutile. Kui võrk ei suuda seda segmenti tuvastada, kirjutage see üles, selle asemel et vihjata, et reegel tunneb seadmeid. Odavaim hea tulemus on kasutada uuesti piiri, mis on juba muul põhjusel olemas, nii et erand pärib kontrolli, selle asemel et seda leiutada. Aadressi järgi filtreerimine ei ole seadme autentimine ja muudatuse kirje ei tohiks vastupidist vihjata.

Allikaaadress ega riistvaraaadress ei ole füüsilise aparaadi tõestus. Kas kummalgi on tähendus, sõltub täielikult selle segmendi teistest kontrollidest. Kui reegli argument toetub MAC-aadressile, kontrollige, mis takistab kasutajal seda muuta, enne kui reegel välja läheb.

Nõustuge sellega, mida pordireegel ei saa öelda

Pordid määravad transpordi lõpp-punktid, mitte ärikavatsuse. Kui kinnitatud kõneteenus ja kinnitamata tunnel sõidavad mõlemad UDP 4500 peal, ei eralda neid ükski pordipõhine reegel. Reegel, mis väidab seda tegevat, näeb täpne välja ega ole, mis on hullem kui reegel, mis tunnistab oma kuju. See on mehhanismi piir, mitte selle kirjutaja viga.

Öelge seda reegli kõrval ja siduge erand kõige sellega, mis võrgul jõustamiseks on, näiteks seadmehaldus või lubatud sihtkohtade loend. Seejärel väljendage erandit nii kitsalt, kui tööriist lubab, näiteks nftables-reeglitega, mis nimetavad segmendi ja pordipaari ning panevad üldise keelu nende järele:

nft add rule inet edge forward ip saddr 10.40.0.0/24 udp dport { 500, 4500 } counter accept
nft add rule inet edge forward udp dport { 500, 4500 } counter drop

nftables hindab järjest ja peatub esimesel vastel, seega peab piiratud lubamine olema üldisest keelust kõrgemal. Vahetage need ära ja erand ei tee vaikselt midagi.

Valideerige funktsioon ja keeld

Käivitage kinnitatud valideerimine tavalisel Wi-Fi kõnel, seadmeklassist, mille jaoks erand eksisteerib, ja kinnitage, et välja jäetud klient ikka ebaõnnestub. Ärge mingil juhul kasutage hädaabikõnet testjuhuna. Seejärel kontrollige välja läinud reeglit, sest nulli juurde kinni jäänud loendur on kiireim tõestus, et erand ei sobitunud kunagi:

nft -a list chain inet edge forward

Lisage testi taasühendamine või võrgu muutus ja korrake seda külmstartist, kus telefon liitub võrguga, selle asemel et olla juba ühendatud. Kui loendur liigub, aga kõned ikka ebaõnnestuvad, on probleem tulemüürist lahkunud ja kuulub operaatori sihtkohtade loendisse.

Seotud artiklid