Tunelul urcă, autentificarea reușește și fiecare host din rețea răspunde. Acesta nu este un VPN stricat; este un VPN fără model de permisiuni. RouterOS autentifică contul și apoi rutează pachetele lui ca ale oricui, așa că firewall-ul trebuie să furnizeze limita. Adăugarea acestei limite fără a strica autentificarea este toată munca.

Autentificarea se termină unde începe permisiunea

Odată ce sesiunea PPP este ridicată, pachetele clientului intră în lanțul forward ca traficul de pe orice altă interfață. Dacă politica forward a routerului este permisivă, consultantul moștenește acea permisivitate la autentificare. Contul nu a purtat niciodată un domeniu, așa că nu este nimic de schimbat pe cont. Setul de reguli a fost scris pentru angajați, iar noua sesiune s-a alăturat pur și simplu.

Verifică la ce cale se referă cererea înainte de a scrie ceva. Traficul către hosturile din spatele routerului trece prin forward, în timp ce traficul către routerul însuși, inclusiv winbox și SSH, trece prin input. Un domeniu care acoperă doar forward lasă dispozitivul deschis aceluiași client.

Ambele lanțuri au nevoie de o decizie, chiar dacă decizia este să lași input închis. Acea alegere aparține cererii de acces, nu unei gândiri ulterioare.

Atașează sesiunea la o listă cu nume

Un profil PPP poate pune adresa pe care o acordă într-o listă de adrese cu nume la începutul sesiunii. Asta transformă o adresă de tunel tranzitorie în ceva ce firewall-ul poate potrivi după nume, iar intrarea dispare când sesiunea se termină. Contul moștenește apoi domeniul din profilul său, nu dintr-o regulă care codifică dur o adresă.

Creează mai întâi profilul, apoi leagă secretul de el în mod explicit. Un secret care încă indică profilul implicit reproduce problema inițială.

Denumește profilul și lista astfel încât sarcinile lor să fie evidente și comentează ambele cu referința cererii. Un profil poate servi mai multe persoane cu același domeniu, în timp ce lista identifică în continuare fiecare sesiune activă. Este mai ieftin de revizuit decât o regulă pe persoană.

/ppp profile add name=scoped-consultant remote-address=consultant-pool address-list=vpn-scoped-clients
/ppp secret add name=consultant password=... service=ovpn profile=scoped-consultant

Înregistrează serviciul permis într-o listă

Pune serverul permis în propria listă de adrese, în loc să încorporezi adresa într-o regulă de filtrare. Lista poate fi auditată, extinsă și comentată, iar regula care o folosește nu se schimbă când serverul se mută. O singură intrare pare excesivă până când apare al doilea host, ceea ce se întâmplă de obicei.

Potrivește o listă când adresa este dinamică sau distribuită, și potrivește adresa direct când este rezervată și stabilă. Ambele variante se citesc clar dacă comentariul numește serviciul și proprietarul.

Limitează protocolul și portul, nu doar hostul. Un accept pentru un host fără restricție de port deschide fiecare serviciu pe care îl rulează hostul, ceea ce este mai larg decât intenționează majoritatea cererilor de acces. Portul face parte din permisiune, nu este un detaliu adăugat mai târziu.

/ip firewall address-list add list=vpn-targets address=10.0.0.10 comment="consultant RDP target"

Ordonează saltul înaintea oricărui accept larg

O regulă de salt trimite traficul redirecționat din lista limitată într-un lanț privat în care întreaga politică încape în trei linii. Prima regulă acceptă destinația și portul permise, iar ultima aruncă tot restul. Saltul trebuie să stea deasupra oricărui accept larg din forward, pentru că un accept anterior înseamnă că saltul nu rulează niciodată. Ține acceptul pentru established și related înaintea saltului ca traficul de retur să curgă în continuare.

Verifică faptul că nicio regulă fasttrack nu poate duce acest trafic pe lângă lanțul limitat. Fasttrack ocolește restul căii de filtrare, iar o sesiune limitată care este fasttrack nu este deloc limitată.

Repetă decizia pentru lanțul input dacă serviciile routerului însuși trebuie să fie inaccesibile. Un domeniu care blochează traficul redirecționat și lasă winbox deschis este doar pe jumătate terminat.

/ip firewall filter
add chain=forward action=jump jump-target=scoped-vpn src-address-list=vpn-scoped-clients
add chain=scoped-vpn action=accept protocol=tcp dst-address-list=vpn-targets dst-port=3389
add chain=scoped-vpn action=drop

Verifică cu contoare și apartenența la listă

Din client, testează serviciul permis și unul care trebuie să eșueze, apoi citește statisticile regulilor pe router. Contoarele accept și drop arată ce cale a urmat fiecare pachet, ceea ce clientul nu poate vedea. Confirmă și că adresa sesiunii active a apărut în lista limitată.

O listă goală înseamnă că contul este pe alt profil sau că profilul a pierdut setarea listei de adrese. Un contor drop care urcă în timp ce serviciul permis eșuează înseamnă că destinația sau portul nu corespund cu ce trimite clientul.

Testează același serviciu după nume și după adresă înainte de a concluziona ceva. Un eșec de rezolvare a numelor arată exact ca un port blocat din partea clientului. Apoi înregistrează profilul, ambele liste și singurul serviciu permis în cererea de acces, ca următoarea revizuire să compare în loc să reconstruiască.

/ip firewall filter print stats where chain=scoped-vpn
/ip firewall address-list print where list=vpn-scoped-clients

Articole similare