อุโมงค์เชื่อมต่อขึ้น การเข้าสู่ระบบสำเร็จ และทุกโฮสต์ในเครือข่ายตอบสนอง นี่ไม่ใช่ VPN ที่เสีย แต่เป็น VPN ที่ไม่มีรูปแบบสิทธิ์ RouterOS ตรวจสอบบัญชีแล้วส่งต่อแพ็กเก็ตเหมือนของคนอื่น ๆ ดังนั้นไฟร์วอลล์ต้องเป็นผู้กำหนดขีดจำกัด การเพิ่มขีดจำกัดนั้นโดยไม่ทำให้การเข้าสู่ระบบพังคือทั้งหมดของงาน

การพิสูจน์ตัวตนสิ้นสุดตรงที่สิทธิ์เริ่มต้น

เมื่อเซสชัน PPP ขึ้นแล้ว แพ็กเก็ตจากไคลเอนต์จะเข้าสู่เชน forward เหมือนทราฟฟิกจากอินเทอร์เฟซอื่นใด หากนโยบาย forward ของเราเตอร์เปิดกว้าง ที่ปรึกษาก็สืบทอดความเปิดกว้างนั้นเมื่อเข้าสู่ระบบ บัญชีไม่เคยมีขอบเขต จึงไม่มีอะไรให้เปลี่ยนในบัญชี ชุดกฎถูกเขียนขึ้นสำหรับพนักงาน และเซสชันใหม่ก็เข้าร่วมเฉย ๆ

ตรวจสอบว่าคำขอเกี่ยวกับเส้นทางใดก่อนเขียนสิ่งใด ทราฟฟิกไปยังโฮสต์หลังเราเตอร์ผ่าน forward ขณะที่ทราฟฟิกไปยังตัวเราเตอร์เอง รวมถึง winbox และ SSH ผ่าน input ขอบเขตที่ครอบคลุมเฉพาะ forward ทำให้อุปกรณ์เปิดอยู่ให้ไคลเอนต์รายเดิม

ทั้งสองเชนต้องมีการตัดสินใจ แม้การตัดสินใจนั้นคือปล่อยให้ input ปิดอยู่ ทางเลือกนั้นเป็นของคำขอเข้าถึง ไม่ใช่ของความคิดภายหลัง

ผูกเซสชันกับรายการที่มีชื่อ

โปรไฟล์ PPP สามารถใส่ที่อยู่ที่แจกให้ในรายการที่อยู่ที่มีชื่อเมื่อเซสชันเริ่มต้น สิ่งนี้เปลี่ยนที่อยู่ tunnel ชั่วคราวให้เป็นสิ่งที่ไฟร์วอลล์จับคู่ตามชื่อได้ และรายการจะหายไปเมื่อเซสชันสิ้นสุด จากนั้นบัญชีจะสืบทอดขอบเขตจากโปรไฟล์ของตน ไม่ใช่จากกฎที่กำหนดที่อยู่แบบตายตัว

สร้างโปรไฟล์ก่อน แล้วผูก secret เข้ากับโปรไฟล์นั้นอย่างชัดเจน secret ที่ยังชี้ไปยังโปรไฟล์เริ่มต้นจะสร้างปัญหาเดิมซ้ำ

ตั้งชื่อโปรไฟล์และรายการให้เห็นหน้าที่ชัดเจน และแสดงความคิดเห็นทั้งสองด้วยการอ้างอิงคำขอ โปรไฟล์เดียวสามารถให้บริการหลายคนที่มีขอบเขตเดียวกัน ขณะที่รายการยังระบุเซสชันที่ยังใช้งานอยู่แต่ละรายการ การตรวจทานแบบนี้ถูกกว่ากฎต่อคน

/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

บันทึกบริการที่อนุญาตไว้ในรายการเดียว

วางเซิร์ฟเวอร์ที่อนุญาตไว้ในรายการที่อยู่ของตัวเองแทนที่จะฝังที่อยู่ลงในกฎกรอง รายการสามารถตรวจสอบ ขยาย และแสดงความคิดเห็นได้ และกฎที่ใช้รายการนั้นไม่เปลี่ยนเมื่อเซิร์ฟเวอร์ย้าย รายการเดียวดูเกินจำเป็นจนกว่าโฮสต์ที่สองจะมาถึง ซึ่งมักจะมา

จับคู่รายการเมื่อที่อยู่เป็นแบบไดนามิกหรือกระจายโหลด และจับคู่ที่อยู่โดยตรงเมื่อที่อยู่ถูกจองและเสถียร ทั้งสองทางเลือกอ่านได้ชัดเจนหากความคิดเห็นระบุบริการและเจ้าของ

จำกัดโปรโตคอลและพอร์ตเช่นเดียวกับโฮสต์ accept สำหรับโฮสต์ที่ไม่จำกัดพอร์ตจะเปิดทุกบริการที่โฮสต์นั้นรัน ซึ่งกว้างกว่าที่คำขอเข้าถึงส่วนใหญ่ตั้งใจ พอร์ตเป็นส่วนหนึ่งของสิทธิ์ ไม่ใช่รายละเอียดที่เพิ่มภายหลัง

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

จัดลำดับ jump ก่อน accept แบบกว้างใด ๆ

กฎ jump ส่งทราฟฟิกที่ส่งต่อจากรายการจำกัดไปยังเชนส่วนตัวซึ่งนโยบายทั้งหมดพอดีในสามบรรทัด กฎแรกยอมรับปลายทางและพอร์ตที่อนุญาต และกฎสุดท้ายทิ้งอย่างอื่นทั้งหมด jump ต้องอยู่เหนือ accept แบบกว้างใด ๆ ใน forward เพราะ accept ที่มาก่อนหมายความว่า jump จะไม่ทำงานเลย เก็บ accept สำหรับ established และ related ไว้ก่อน jump เพื่อให้ทราฟฟิกขากลับยังไหลอยู่

ตรวจสอบว่าไม่มีกฎ fasttrack ใดพาทราฟฟิกนี้ข้ามเชนจำกัดไปได้ fasttrack ข้ามเส้นทางกรองที่เหลือ และเซสชันจำกัดที่ผ่าน fasttrack ก็ไม่ได้ถูกจำกัดเลย

ทำการตัดสินใจซ้ำสำหรับเชน input หากบริการของเราเตอร์เองควรเข้าถึงไม่ได้ ขอบเขตที่บล็อกทราฟฟิกที่ส่งต่อแต่ปล่อย winbox เปิดอยู่จึงเสร็จเพียงครึ่งเดียว

/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

ตรวจสอบด้วยตัวนับและการเป็นสมาชิกของรายการ

จากไคลเอนต์ ทดสอบบริการที่อนุญาตและบริการที่ต้องล้มเหลว แล้วอ่านสถิติกฎบนเราเตอร์ ตัวนับ accept และ drop แสดงว่าแต่ละแพ็กเก็ตไปเส้นทางใด ซึ่งไคลเอนต์มองไม่เห็น ยืนยันด้วยว่าที่อยู่ของเซสชันที่ยังใช้งานปรากฏในรายการจำกัด

รายการว่างหมายความว่าบัญชีอยู่บนโปรไฟล์อื่นหรือโปรไฟล์สูญเสียการตั้งค่ารายการที่อยู่ ตัวนับ drop ที่เพิ่มขึ้นขณะบริการที่อนุญาตล้มเหลวหมายความว่าปลายทางหรือพอร์ตไม่ตรงกับสิ่งที่ไคลเอนต์ส่ง

ทดสอบบริการเดียวกันตามชื่อและตามที่อยู่ก่อนสรุปสิ่งใด ความล้มเหลวในการแปลงชื่อดูจากฝั่งไคลเอนต์เหมือนพอร์ตที่ถูกบล็อกทุกประการ จากนั้นบันทึกโปรไฟล์ รายการทั้งสอง และบริการที่อนุญาตเพียงหนึ่งเดียวลงในคำขอเข้าถึง เพื่อให้การตรวจทานครั้งต่อไปเปรียบเทียบแทนที่จะสร้างใหม่

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

บทความที่เกี่ยวข้อง