Zet een toestemmingsregel op de verkeerde plek en hij gedraagt zich als geen toestemmingsregel. In nftables bepaalt de keuze tussen insert en add aan welke kant van een verwezen regel de nieuwe uitspraak terechtkomt, en een handle benoemt de regel in de live regelset in plaats van het rijnummer. Is de plaatsing fout, dan bereikt het pakket eerst de drop.

De vergelijking hieronder gebruikt één vaste peer en één uitwisseling met een externe listener. Hij is bewust smal; een hele keten vervangen is een andere wijziging met een ander risicoprofiel.

Twee plaatsingen, twee verschillende uitkomsten

insert plaatst een regel vóór de verwezen regel. add plaatst hem erna. Is de verwezen regel de terminale drop voor de flow, dan geven die twee opdrachten tegengestelde resultaten, ook al is de regeltekst identiek.

Een locatie weglaten heeft zijn eigen standaardgedrag, wat nog een reden is om een opdracht niet van een forum te kopiëren zonder te lezen waaraan hij verankerd is. Het anker is de hele beslissing. Schrijf de bedoelde kant op voordat u de opdracht typt. insert en add schelen één woord in het bestand.

De plaatsing is relatief ten opzichte van een regel in een bepaalde keten. Dezelfde uitspraak naar een andere keten of een andere hook-prioriteit verplaatsen verandert welke pakketten hij ziet, zelfs wanneer de syntaxis van de regel correct lijkt.

Een handle identificeert een regel, niet een regelnummer

Een handle zoals 42 is een identificatie in de huidige toestand van de regelset. Het is niet de tweeënveertigste regel, en het is niet stabiel tussen hosts, herintroducties of een beheerder die zijn configuratie opnieuw laadt.

Lokaliseer de keten en de werkelijke terminale drop voordat u het anker kiest. Bevestig daarna de handle op die regel in dezelfde lijst die de drop toont, zodat het nummer en de regel samen worden gelezen. Een handle uit een oude lijst kan al bij een andere regel horen. Lees hem opnieuw in de sessie die de wijziging toepast.

iptables --version
nft -a list ruleset

De iptables-versie meldt welke backend in gebruik is. Een iptables-nft-regelset en een onafhankelijk beheerde native tabel kunnen naast elkaar bestaan, dus een lijst uit één frontend is niet automatisch het volledige filterbeeld. Controleer beide weergaven voordat u een keten kiest.

Vind de keten en de regel die daadwerkelijk dropt

Lees de input-hook, de prioriteit van de keten en de regel die deze listener-flow weigert. Een inet-tabel kan beide adresfamilies dragen, maar een afzonderlijke regel kan nog steeds alleen op IPv4 passen.

Neem één goedgekeurde peer, met 198.51.100.25 uit het documentatiebereik als voorbeeld. Een beoordeeld native bestand kan een externe toestemming vóór handle 42 plaatsen:

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

Vervang de familie, tabel, keten, handle, inkomende interface en peer na inspectie. Het voorbeeld gebruikt de handle-plaatsingsvorm die voor nft 1.0.9 is gedocumenteerd, en die hoort in een invoerbestand; het citeren van accolades is een aparte kwestie wanneer de opdracht interactief wordt getypt.

Houd de configuratie-eigenaar duidelijk. Een beheerder die zijn regels opnieuw opbouwt kan een wijziging tijdens runtime overschrijven, en een opstartscript dat een verouderde handle hardcodeert zal mislukken of aan de verkeerde regel blijven hangen.

Toestemming is begrensd, een drop is terminaal

Een toestemmingsvonnis beëindigt de evaluatie op zijn huidige pad, maar een later toepasbare basisketen kan het pakket nog steeds droppen. Een dropvonnis is terminaal. Daarom is een stijgende toestemmingsteller geen bewijs dat de flow is geslaagd.

Onderzoek alle relevante hook-prioriteiten in plaats van één keten geïsoleerd. Een pakket kan een inputfilter passeren en toch door de hook van een andere tabel op een andere prioriteit worden geweigerd. Noem elke basisketen die de flow kan zien.

Die regel dekt alleen de uitwisseling met de externe listener. Transport-ingekapselde ESP, native ESP, IPv6-peers en het ontsleutelde verkeer binnen de tunnel hebben allemaal eigen beleid nodig. Het is geen volledige site-VPN-firewall.

Controleer het bestand en verifieer daarna het live resultaat

Voer een syntaxis- en transactiecontrole uit op het beoordeelde bestand voordat u het toepast. De controlemodus meldt of nft de wijziging kan parsen en klaarzetten; hij past hem niet toe en bewijst niet dat een andere hook het pakket toestaat. Het bestand blijft een voorstel tot de eigenaar het toepast:

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

Pas het toe via het gecontroleerde proces van de eigenaar en behoud hersteltoegang. Is de regel fout, dan kan de drop die u wilde voorgaan ook het pad doorsnijden waarmee u hem herstelt.

Observeer na de wijziging een nieuwe toegestane peer-poging en controleer dat bronnen buiten de goedgekeurde peer nog steeds worden geweigerd. Verplaats de blijvende regel naar de beheerder die de regelset bezit, want handles tijdens runtime lokaliseren huidige objecten in plaats van ze over herstarts heen te identificeren.

Gerelateerde artikelen