หน้า 1 จากทั้งหมด 1

เทคนิคการบล๊อค VPN Tunnels ด้วย Mikrotik

โพสต์โพสต์แล้ว: 11 พ.ย. 2019 14:26
โดย nuiz
ออกตัวก่อนนะครับ การบล๊อค VPN Tunnels ทั้งในรูปแบบของโปรแกรม (PPTP, L2TP, OpenVPN, ...) และ Add-Ons บน Web Browser (อาทิเช่น Browsec, ExpressVPN, NordVPN, Hotspot Shield, ...) มันทำได้หลายวิธีครับ เช่น

1. การเช็คจาก Dst. Port แล้วก็ Block มันก็ใช้ได้ระดับหนึ่ง แต่ถ้าเปลี่ยน Default Port ก็จะใช้ไม่ได้ ดีฟอลท์พอร์ตของ VPN แบบ PPTP (TCP 1723), L2TP (TCP 1701), OpenVPN (TCP/UDP 1194), IPSec (UDP 500)
2. การเช็คจาก Dst. IP ของ VPN Server อันนี้ก็ใช้งานได้ระดับหนึ่ง แต่ VPN Server ทั่วโลกไม่ไดมีแค่ 10 หรือ 20 ไอพี แต่มีเป็นล้านๆ จะบล๊อคยังไงไหว
3. เช็คจาก Signature ของ Payload ที่อยู่บน VPN Session แล้วใช้ Layer 7 Firewall จัดการ น่าจะยากครับเพราะ Sessions มันเข้ารหัสไว้ทำนองเดียวกับ HTTPs แหล่ะครับ แกะดูข้างในไม่ได้
4. เปิดให้ Users ใช้งานเฉพาะเว็บ TCP 80 และ 443 ก็น่าจะยากอยู่ครับ เพราะ VPN ที่เป็น Add-On บน Web Browser มันก็ใช้ TCP 443 เหมือนกัน

ก็อย่างที่ผมเกริ่นไว้นั่นแหล่ะครับ คอนฟิกมันทั้ง 1 และ 2 เลย กันไม่ได้ทั้งหมดก็ยังดีกว่าไม่กันเลย

เมนูบน Mikrotik ที่ใช้ในการ Block ทั้ง Dst. Port และ Dst. IP ที่เข้าเงื่อนไข คือเมนู IP > Firewall > Firewall Rules ครับ ดังนี้

แบบที่ 1
เช็คว่า ถ้า Dst. Port เป็น TCP 1723, 1701, 1194 ก็ให้ Drop เลย
รูปภาพ

แบบที่ 2
แต่สำหรับ VPN ที่ฝังอยู่บน Web Browser ต้องอาศัยการเช็ค IP ของมันครับ อันนี้ก็ต้องคอย Search ดูใน Google ว่า VPN ยี่ห้ออะไรใช้ IP อะไรบ้างหรือไม่ก็ติดตั้งแล้วตรวจสอบ IP เอาเอง เมื่อได้ IP มาแล้วเราทำ Address List แล้วเอา IP พวกนั้นมาใส่ แล้วก็จัดการ Drop ซะ

ข้อมูลจากในเว็บไซต์ของ Browsec มี Server อยู่ 41 IPs (ใน 40 ประเทศ) เราก็ต้องเอาทั้ง 41 IPs นั้นมาใส่ไว้ใน Address List ครับ - เป็นแค่ตัวอย่างครับ มีผู้ให้บริการแบบ Browsec นี้กว่า 100 รายทั่วโลก

Browsec มี 4 ประเทศที่ให้เราใช้งานได้ฟรีครับ ซึ่งถ้า Users ของเราใช้ Browsec เขาก็คงจะใช้อันที่ฟรีนี่แหล่ะ ได้แก่ Netherlands, Singapore, United Kingdom, United States มาดูกันว่าแต่ละประเทศเหล่านี้มี IP อะไรบ้าง Singapore (178.128.57.177), United Kingdom (46.101.40.25), Netherlands (198.16.66.123), United States(104.236.205.233) วันนี้เป็น IP ตามที่ผมตรวจสอบดู แต่วันหน้าอาจจะไม่ใช่ IP เหล่านี้ก็ได้ครับ เอาทั้ง 4 IP มาใส่ใน Address Lists ครับ

รูปภาพ

จากนั้นเรามาสร้าง Firewall Rules ครับ เพื่อเช็คว่า Dst. Address List อยู่ในรายชื่อนั้นหรือเปล่า ถ้าอยู่ให้ Drop

รูปภาพ

ทดสอบดู ปรากฏว่ายังเชื่อมต่อ Browsec ไป Server ที่ Singapore ได้อีก ลองเช็ค IP ดูปรากฏว่าเป็นคนละ IP ครับ แต่อยู่ในเน็ตเวอร์ค 178.128.x.x เหมือนกัน แสดงว่ามันมี Server หลักและ Server สำรอง งั้นผมจะเปลี่ยนคอนฟิก Address List ใหม่ ไม่ใส่ไอพีแล้ว ใส่เป็น Subnet เลย

รูปภาพ

ผลก็คือ เหมือนกับว่า Connect VPN ได้ครับ แต่ออกเน็ตไม่ได้ พอปิด VPN ก็เข้าเน็ตได้ตามปกติ ดังนั้นให้ใส่เป็น Subnet จะเวิร์คกว่าครับ

ลองนำไปประยุกต์ใช้งานดูครับ ผมเทสกับ Browsec เจ้าเดียว ถ้าท่านใดมี IP ของ VPN เจ้าอื่นๆก็รบกวนโพสต์ด้วยนะครับ ไว้เป็นข้อมูลหน่ะครับ

เทคนิคการบล๊อคเว็บโป้ด้วย Mikrotik

รวมเทคนิคการใช้งาน Elastix
รวมเทคนิคการใช้งาน Asterisk
รวมเทคนิคการใช้งาน Issabel
รวมเทคนิคการใช้งาน FreePBX
รวมเทคนิคการใช้งาน RasPBX - Asterisk on Raspberry Pi
รวมเทคนิคการใช้งาน Mikrotik RouterOS/Router Board