Sijoita sallintasääntö väärään kohtaan, niin se käyttäytyy kuin sallintasääntöä ei olisi. nftablesissa valinta insertin ja addin välillä ratkaisee, kummalle puolelle viitattua sääntöä uusi lause päätyy, ja kahva nimeää säännön elävässä sääntökokoelmassa eikä sen rivinumeroa. Jos sijoitus menee pieleen, paketti saavuttaa pudotuksen ensin.

Alla oleva vertailu käyttää yhtä kiinteää vastapuolta ja yhtä ulkoisen kuuntelijan vaihtoa. Se on tarkoituksella kapea; koko ketjun korvaaminen on toinen muutos, jolla on toinen riskiprofiili.

Kaksi sijoitusta, kaksi eri lopputulosta

insert sijoittaa säännön ennen viitattua sääntöä. add sijoittaa sen jälkeen. Jos viitattu sääntö on vuon lopullinen pudotus, nämä kaksi komentoa tuottavat vastakkaiset tulokset, vaikka säännön teksti on sama.

Sijainnin pois jättämisellä on oma oletuskäyttäytymisensä, mikä on toinen syy olla kopioimatta komentoa foorumilta lukematta, mihin se on ankkuroitu. Ankkuri on koko päätös. Kirjoita aiottu puoli muistiin ennen kuin kirjoitat komennon. insert ja add eroavat tiedostossa yhdellä sanalla.

Sijoitus on suhteessa tietyn ketjun sääntöön. Saman lauseen siirtäminen toiseen ketjuun tai toiseen hook-prioriteettiin muuttaa sitä, mitkä paketit se näkee, vaikka säännön syntaksi näyttäisi oikealta.

Kahva yksilöi säännön, ei rivinumeroa

Kahva kuten 42 on tunniste sääntökokoelman nykyisessä tilassa. Se ei ole neljäskymmenestoinen sääntö, eikä se ole vakaa isäntien, uudelleenrakennusten tai konfiguraationsa uudelleen lataavan hallinnan välillä.

Paikanna ketju ja todellinen lopullinen pudotus ennen ankkurin valintaa. Vahvista sitten kyseisen säännön kahva samassa listauksessa, joka näyttää pudotuksen, jotta numero ja sääntö luetaan yhdessä. Vanhasta listauksesta luettu kahva voi jo kuulua toiselle säännölle. Lue se uudelleen istunnossa, joka ottaa muutoksen käyttöön.

iptables --version
nft -a list ruleset

iptablesin versio kertoo, mitä taustajärjestelmää käytetään. iptables-nft-sääntökokoelma ja itsenäisesti hallittu natiivi taulu voivat olla olemassa rinnakkain, joten yhden frontendin listaus ei ole automaattisesti täydellinen suodatuskuva. Tarkista molemmat näkymät ennen ketjun valintaa.

Etsi ketju ja sääntö, joka todella pudottaa

Lue syöte-hook, ketjun prioriteetti ja sääntö, joka hylkää tämän kuuntelijavuon. inet-taulu voi kantaa molemmat osoiteperheet, mutta yksittäinen sääntö voi silti vastata vain IPv4:ää.

Ota yksi hyväksytty vastapuoli ja käytä esimerkkinä dokumentaatioalueen osoitetta 198.51.100.25. Katsottu natiivi tiedosto voisi sijoittaa ulkoisen sallinnan ennen kahvaa 42:

insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept

Korvaa perhe, taulu, ketju, kahva, saapuvan liikenteen käyttöliittymä ja vastapuoli tarkastuksen jälkeen. Esimerkki käyttää nft 1.0.9:lle dokumentoitua kahvasijaintimuotoa, ja se kuuluu syötetiedostoon; aaltosulkeiden lainaus on erillinen kysymys, kun komento kirjoitetaan interaktiivisesti.

Pidä kokoonpanon omistaja selvänä. Hallinta, joka rakentaa sääntönsä uudelleen, voi ylikirjoittaa ajonaikaisen muutoksen, ja vanhentuneen kahvan kovakoodaava käynnistyskomentosarja joko epäonnistuu tai kiinnittyy väärään sääntöön.

Sallinta on rajattu, pudotus on lopullinen

Sallintatuomio päättää arvioinnin nykyisellä polullaan, mutta myöhemmin sovellettava perusketju voi silti pudottaa paketin. Pudotustuomio on lopullinen. Siksi kasvava sallintalaskuri ei ole todiste siitä, että vuo onnistui.

Tarkastele kaikkia asiaankuuluvia hook-prioriteetteja yhden ketjun sijaan erikseen. Paketti voi läpäistä syötesuodattimen ja silti toisen taulun hook voi hylätä sen eri prioriteetilla. Listaa jokainen perusketju, joka voi nähdä vuon.

Tämä sääntö kattaa vain ulkoisen kuuntelijan vaihdon. Kuljetuksen kapseloima ESP, natiivi ESP, IPv6-vastapuolet ja tunnelin sisällä salattu liikenne tarvitsevat kaikki omat käytäntönsä. Se ei ole täydellinen sivuston VPN-palomuuri.

Tarkista tiedosto ja vahvista sitten elävä tulos

Suorita syntaksi- ja transaktiotarkistus katsotulle tiedostolle ennen sen käyttöönottoa. Tarkistustila kertoo, voiko nft jäsentää ja valmistella muutoksen; se ei ota sitä käyttöön eikä todista, että toinen hook sallii paketin. Tiedosto pysyy ehdotuksena, kunnes omistaja ottaa sen käyttöön:

nft -c -f reviewed-vpn-rule.nft

Ota se käyttöön omistajan valvotun prosessin kautta ja säilytä palautumispääsy. Jos sääntö on väärä, pudotus, jonka eteen yritit päästä, voi katkaista myös polun, jota käytät sen korjaamiseen.

Tarkkaile muutoksen jälkeen uutta sallitun vastapuolen yritystä ja varmista, että hyväksytyn vastapuolen ulkopuoliset lähteet hylätään edelleen. Siirrä pysyvä sääntö siihen hallintaan, joka omistaa sääntökokoelman, koska ajonaikaiset kahvat paikantavat nykyisiä objekteja sen sijaan, että yksilöisivät ne käynnistysten yli.

Aiheeseen liittyvät artikkelit