Tunel naskočí, přihlášení uspěje a každý hostitel v síti odpovídá. To není rozbitá VPN; to je VPN bez modelu oprávnění. RouterOS ověří účet a poté směruje jeho pakety jako komukoli jinému, takže limit musí dodat firewall. Přidat tento limit, aniž by se rozbilo přihlášení, je celá práce.

Ověřování končí tam, kde začíná oprávnění

Jakmile je relace PPP navázána, pakety klienta vstupují do řetězce forward jako provoz z jakéhokoli jiného rozhraní. Je-li forward politika routeru vstřícná, konzultant tuto vstřícnost při přihlášení zdědí. Účet nikdy nenesl rozsah, takže na účtu není co měnit. Sada pravidel byla napsána pro zaměstnance a nová relace se k ní prostě přidala.

Než cokoli napíšete, zkontrolujte, které cesty se požadavek týká. Provoz k hostitelům za routerem prochází forwardem, zatímco provoz k samotnému routeru, včetně winboxu a SSH, prochází inputem. Rozsah, který pokrývá jen forward, nechává zařízení otevřené stejnému klientovi.

Obě řetězy potřebují rozhodnutí, i kdyby rozhodnutím bylo nechat input zavřený. Tato volba patří do žádosti o přístup, ne do pozdní úvahy.

Připojte relaci k pojmenovanému seznamu

Profil PPP může adresu, kterou přiděluje, vložit při startu relace do pojmenovaného seznamu adres. Tím se přechodná adresa tunelu změní na něco, co firewall umí spárovat podle jména, a záznam zmizí, když relace skončí. Účet pak rozsah dědí ze svého profilu, nikoli z pravidla, které adresu natvrdo zadává.

Nejprve vytvořte profil, poté k němu secret výslovně přivažte. Secret, který stále ukazuje na výchozí profil, reprodukuje původní problém.

Pojmenujte profil i seznam tak, aby jejich úlohy byly zřejmé, a oba okomentujte odkazem na požadavek. Jeden profil může obsloužit několik lidí se stejným rozsahem, zatímco seznam stále identifikuje každou živou relaci. To se kontroluje levněji než pravidlo na osobu.

/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

Zaznamenejte povolenou službu do jednoho seznamu

Umístěte povolený server do jeho vlastního seznamu adres, místo abyste adresu vkládali do filtrovacího pravidla. Seznam lze auditovat, rozšiřovat a komentovat a pravidlo, které jej používá, se při přesunu serveru nemění. Jediný záznam vypadá přehnaně, dokud nepřijde druhý hostitel, což obvykle přijde.

Párujte seznam, když je adresa dynamická nebo vyvažovaná, a párujte adresu přímo, když je rezervovaná a stabilní. Obě volby se čtou jasně, pokud komentář pojmenuje službu a vlastníka.

Omezte protokol a port stejně jako hostitele. Accept pro hostitele bez omezení portu otevře každou službu, kterou tento hostitel provozuje, což je širší, než většina žádostí o přístup zamýšlí. Port je součástí oprávnění, ne detail přidávaný později.

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

Seřaďte jump před každým širokým acceptem

Pravidlo jump posílá předávaný provoz z omezeného seznamu do soukromého řetězce, kde se celá politika vejde do tří řádků. První pravidlo přijme povolené cílové umístění a port, poslední zahodí vše ostatní. Jump musí být nad každým širokým acceptem ve forwardu, protože dřívější accept znamená, že jump nikdy neproběhne. Accept pro established a related držte před jumpem, aby zpětný provoz stále tekl.

Zkontrolujte, že žádné pravidlo fasttrack nepropustí tento provoz mimo omezený řetězec. Fasttrack obchází zbytek filtrační cesty a omezená relace, která projde fasttrackem, není omezená vůbec.

Rozhodnutí zopakujte pro řetězec input, mají-li být vlastní služby routeru nedostupné. Rozsah, který blokuje předávaný provoz a nechává winbox otevřený, je jen z poloviny hotový.

/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

Ověřte pomocí čítačů a členství v seznamu

Z klienta otestujte povolenou službu a jednu, která musí selhat, a poté na routeru přečtěte statistiky pravidel. Čítače accept a drop ukazují, kterou cestou každý paket šel, což klient nevidí. Potvrďte také, že se adresa živé relace objevila v omezeném seznamu.

Prázdný seznam znamená, že účet je na jiném profilu nebo profil ztratil nastavení seznamu adres. Rostoucí čítač drop při selhávající povolené službě znamená, že cíl nebo port neodpovídá tomu, co klient posílá.

Otestujte stejnou službu podle jména i podle adresy, než něco uzavřete. Selhání překladu jmen vypadá na straně klienta přesně jako blokovaný port. Poté zaznamenejte profil, oba seznamy a jedinou povolenou službu do žádosti o přístup, aby příští revize porovnávala, místo aby rekonstruovala.

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

Související články