Terowong naik, log masuk berjaya, dan setiap hos di rangkaian menjawab. Itu bukan VPN rosak; itu VPN tanpa model kebenaran. RouterOS mengesahkan akaun dan kemudian menghalakan paketnya seperti paket orang lain, jadi tembok api mesti menyediakan had itu. Menambah had itu tanpa memecahkan log masuk ialah keseluruhan kerja.

Pengesahan tamat di tempat kebenaran bermula

Sebaik sesi PPP naik, paket daripada klien masuk ke rantai forward seperti trafik daripada mana-mana antara muka lain. Jika dasar forward penghala bersifat permisif, perunding mewarisi sikap permisif itu semasa log masuk. Akaun itu tidak pernah membawa skop, jadi tiada apa pada akaun untuk diubah. Set peraturan ditulis untuk pekerja dan sesi baharu hanya menyertainya.

Semak laluan mana yang dimaksudkan oleh permintaan sebelum menulis apa-apa. Trafik ke hos di belakang penghala melintasi forward, manakala trafik ke penghala itu sendiri, termasuk winbox dan SSH, melintasi input. Skop yang hanya meliputi forward membiarkan peranti terbuka kepada klien yang sama.

Kedua-dua rantai memerlukan keputusan, walaupun keputusannya ialah membiarkan input tertutup. Pilihan itu tergolong dalam permintaan akses, bukan dalam fikiran kemudian.

Lampirkan sesi kepada senarai bernama

Profil PPP boleh meletakkan alamat yang diberikannya ke dalam senarai alamat bernama apabila sesi bermula. Itu menukar alamat terowong sementara menjadi sesuatu yang boleh dipadankan oleh tembok api mengikut nama, dan entri itu hilang apabila sesi tamat. Akaun kemudian mewarisi skop daripada profilnya dan bukan daripada peraturan yang mengekod alamat secara keras.

Cipta profil dahulu, kemudian ikat secret kepadanya secara eksplisit. Secret yang masih menunjuk ke profil lalai menghasilkan semula masalah asal.

Namakan profil dan senarai supaya tugasnya jelas, dan komen kedua-duanya dengan rujukan permintaan. Satu profil boleh melayani beberapa orang dengan skop yang sama, manakala senarai masih mengenal pasti setiap sesi hidup. Itu lebih murah untuk disemak daripada satu peraturan bagi setiap orang.

/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

Rekodkan perkhidmatan yang dibenarkan dalam satu senarai

Letakkan pelayan yang dibenarkan dalam senarai alamatnya sendiri dan bukan menanam alamat itu dalam peraturan penapis. Senarai boleh diaudit, diperluas dan dikomen, dan peraturan yang menggunakannya tidak berubah apabila pelayan berpindah. Satu entri kelihatan berlebihan sehingga hos kedua tiba, yang biasanya berlaku.

Padankan senarai apabila alamat itu dinamik atau diimbangi beban, dan padankan alamat secara terus apabila ia ditempah dan stabil. Sama ada pilihan, ia terbaca dengan jelas jika komen itu menamakan perkhidmatan dan pemiliknya.

Hadkan protokol dan port serta hos. Accept untuk hos tanpa sekatan port membuka setiap perkhidmatan yang dijalankan hos itu, yang lebih luas daripada yang dimaksudkan oleh kebanyakan permintaan akses. Port ialah sebahagian daripada kebenaran, bukan butiran yang ditambah kemudian.

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

Susun lompatan sebelum mana-mana accept yang luas

Peraturan lompat menghantar trafik yang diteruskan daripada senarai terhad ke rantai peribadi di mana keseluruhan dasar muat dalam tiga baris. Peraturan pertama menerima destinasi dan port yang dibenarkan, dan peraturan terakhir menurunkan segala yang lain. Lompatan mesti berada di atas mana-mana accept luas dalam forward, kerana accept yang lebih awal bermakna lompatan tidak pernah berjalan. Kekalkan accept untuk established dan related sebelum lompatan supaya trafik balasan terus mengalir.

Semak bahawa tiada peraturan fasttrack boleh membawa trafik ini melepasi rantai terhad. Fasttrack memintas seluruh laluan penapis yang lain, dan sesi terhad yang difasttrack langsung tidak terhad.

Ulang keputusan untuk rantai input jika perkhidmatan penghala sendiri patut tidak dapat dicapai. Skop yang menyekat trafik yang diteruskan dan membiarkan winbox terbuka hanya separuh siap.

/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

Sahkan dengan pembilang dan keahlian senarai

Daripada klien, uji perkhidmatan yang dibenarkan dan satu yang mesti gagal, kemudian baca statistik peraturan pada penghala. Pembilang accept dan drop menunjukkan laluan mana yang diambil setiap paket, yang tidak dapat dilihat oleh klien. Sahkan juga bahawa alamat sesi hidup muncul dalam senarai terhad.

Senarai kosong bermakna akaun berada pada profil lain atau profil kehilangan tetapan senarai alamatnya. Pembilang drop yang meningkat semasa perkhidmatan yang dibenarkan gagal bermakna destinasi atau port tidak sepadan dengan apa yang dihantar oleh klien.

Uji perkhidmatan yang sama mengikut nama dan mengikut alamat sebelum membuat kesimpulan. Kegagalan penyelesaian nama kelihatan sama seperti port yang disekat dari sisi klien. Kemudian rekodkan profil, kedua-dua senarai dan satu-satunya perkhidmatan yang dibenarkan dalam permintaan akses supaya semakan seterusnya membandingkan dan bukan membina semula.

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

Artikel berkaitan