Pyyntö saapuu aina samassa muodossa: sulje IPsec reunalla, koska se kuljettaa tunneleita, joita kukaan ei ole hyväksynyt, ja ensimmäinen valitus tulee henkilöltä, jonka puhelin lakkasi soittamasta Wi-Fin kautta. Molemmat tosiasiat ovat yhtä aikaa totta, eikä kumpikaan oikeuta luopumaan valvonnasta. Palomuuri tarvitsee palvelupoikkeuksen, jossa on nimetty toiminto, rajattu lähde, dokumentoidut kohdeosoitteet ja omistaja. Viisi askelta tekevät siitä säännön, jonka vieras voi tarkistaa ensi vuonna.

Nimeä palvelu ennen kuin nimeät protokollan

SIP-palvelun pöytäpuhelin ja operaattorin Wi-Fi Callingia tekevä laite eivät jaa verkkoprofiilia, eikä VoIP palomuuriterminä kuvaa kumpaakaan. Portti- ja kohdetiedot on tultava palvelua ylläpitävältä toimittajalta tai operaattorilta, ei toisen puhelinjärjestelmän muistetusta porttiluettelosta. Tässä on ero toimintoa suojaavan säännön ja sanaa suojaavan säännön välillä.

Applen palveluporttien viite luettelee Wi-Fi Callingille UDP 500 ja 4500, mikä sattuu olemaan täsmälleen se pari, jonka useimmat yleiset IPsec-estot jättävät pois. Kirjoita toiminnon nimi muutosmerkintään näiden porttien viereen. Lisää käyttämäsi viitteen versio tai päiväys, koska toimittajien taulukoita muokataan. Sääntö, joka nimeää palvelun, jota varten se on olemassa, voidaan tarkistaa; sääntö, joka nimeää protokollaluokan, ei.

Kirjoita poikkeus sopimuksena, ei palveluksena

Poikkeus ilmoittaa sallitun toiminnon, sitä käyttävät laiteluokat, tarvittavan kuljetuksen ja kohdeosoitteet, jotka vastuutaho dokumentoi. Siinä on myös omistaja ja tarkistuspäivä, koska operaattorin päätepisteet ja laitemallit muuttuvat ilmoittamatta palomuuritiimille. Anna tarkistus henkilölle eikä tiimin nimelle, joka elää tiimiä pidempään. Pidä sanamuoto riittävän täsmällisenä, jotta vieras voi johtaa säännön pelkän merkinnän perusteella.

Sijoita poikkeus samaan sykliin kuin muu reunakäytäntö, jotta operaattorin kohdeosoitteen siirto tai kaluston laitemallin vaihto huomataan tarkistuksessa eikä seuraavassa katkoksessa. Sulje kehä sen kanssa, joka ilmoitti rikkinäisistä puheluista, sillä vain hän voi vahvistaa korjauksen avaamatta uudelleen tunnelia, jonka esto oli tarkoitus sulkea. Tämä vahvistus kuuluu myös merkintään, päiväyksen kanssa.

Pysyväksi merkitty lupa, jonka leima on tilapäinen puhelinkorjaus, on kaksi vuotta myöhemmin kestämätön. Tunnistettuun palveluun sidottu lupa vanhenee tarkoituksella uusittavaksi.

Rajaa lähde rehellisesti

Poikkeuksen rajaaminen hallittuun laitesegmenttiin on olennaisesti vahvempaa kuin protokollan avaaminen rakennuksen jokaiselle kannettavalle. Jos verkko ei pysty tunnistamaan sitä segmenttiä, kirjoita se ylös sen sijaan, että antaisit ymmärtää säännön tuntevan laitteet. Halvin hyvä lopputulos on käyttää uudelleen rajaa, joka on jo olemassa toisesta syystä, niin että poikkeus perii valvonnan sen sijaan että keksisi sellaisen. Osoitteen perusteella suodattaminen ei ole laitteen todentamista, eikä muutosmerkintä saa antaa muuta ymmärtää.

Lähdeosoite tai laiteosoite ei ole todiste fyysisestä laitteesta. Se, onko kummallakaan merkitystä, riippuu täysin segmentin muista valvonnoista. Jos säännön perustelu nojaa MAC-osoitteeseen, tarkista ennen säännön julkaisua, mikä estää käyttäjää muuttamasta sitä.

Hyväksy, mitä porttisääntö ei voi kertoa

Portit yksilöivät kuljetuksen päätepisteet, eivät liiketoiminnan aikomusta. Kun hyväksytty puhelupalvelu ja hyväksymätön tunneli kulkevat molemmat UDP 4500:lla, mikään porttiin perustuva sääntö ei erota niitä. Sääntö, joka väittää tekevänsä niin, näyttää täsmälliseltä eikä ole, mikä on pahempaa kuin sääntö, joka myöntää oman muotonsa. Tämä on mekanismin raja, ei sen kirjoittajan virhe.

Sano se säännön vieressä ja yhdistä poikkeus siihen valvontaan, joka verkolla on, kuten laitehallinta tai sallittujen kohdeosoitteiden luettelo. Ilmaise poikkeus sitten niin kapeasti kuin työkalu sallii, esimerkiksi nftables-säännöillä, jotka nimeävät segmentin ja porttiparin ja asettavat yleiskiellon niiden jälkeen:

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 arvioi järjestyksessä ja pysähtyy ensimmäiseen osumaan, joten rajattu sallinta on oltava yleiskiellon yläpuolella. Vaihda ne päittäin, niin poikkeus ei tee hiljaa mitään.

Validoi toiminto ja kielto

Suorita hyväksytty validointi tavallisella Wi-Fi-puhelulla, siitä laiteluokasta, jota varten poikkeus on olemassa, ja vahvista, että ulkopuolelle jätetty asiakas epäonnistuu edelleen. Älä koskaan käytä hätäpuheluita testitapauksena missään olosuhteissa. Tarkista sitten julkaistu sääntö, sillä nollaan juuttunut laskuri on nopein todiste siitä, että poikkeus ei koskaan osunut:

nft -a list chain inet edge forward

Sisällytä testiin uudelleenyhteys tai verkon vaihto ja toista se kylmäkäynnistyksestä, jossa puhelin liittyy verkkoon sen sijaan että olisi jo liittynyt. Jos laskuri liikkuu puheluiden yhä epäonnistuessa, ongelma on poistunut palomuurista ja kuuluu operaattorin kohdeluetteloon.

Aiheeseen liittyvät artikkelit