เซิร์ฟเวอร์เฉพาะ: ตั้งค่า Cloudflare Tunnel สำหรับ txAdmin
คู่มือนี้ถูกสร้างขึ้นด้วยผลิตภัณฑ์ดังต่อไปนี้:
(รายละเอียดอาจแตกต่างกันไปตามผลิตภัณฑ์จากผู้ให้บริการต่างๆ แต่แนวคิดหลักยังคงเหมือนเดิม)
แนะนำ
ถ้าคุณอยากเพิ่มมาตรการความปลอดภัยนอกเหนือจากการป้องกัน DDoS ของ ZAP-Hosting อยู่แล้ว คุณสามารถเพิ่มความปลอดภัยให้กับอินสแตนซ์ txAdmin ของคุณด้วยการใช้ Cloudflare Tunnel การตั้งค่านี้จะทำให้เว็บอินเทอร์เฟซของ txAdmin ไม่ถูกเปิดเผยผ่านที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ แต่จะเข้าถึงได้อย่างปลอดภัยผ่านโดเมนของคุณเอง การโจมตีที่มุ่งเป้าไปยังพอร์ต txAdmin จะถูกกรองโดย Cloudflare ในขณะที่คุณสามารถล็อกพอร์ตภายในเครื่องได้อย่างเต็มที่โดยไม่เสียการเข้าถึง
สิ่งที่ต้องเตรียม
เพื่อใช้ Cloudflare Tunnel บน Linux คุณต้องมี เซิร์ฟเวอร์เฉพาะ Linux, การติดตั้ง txAdmin ที่ใช้งานได้, พอร์ต txAdmin ของคุณ และโดเมนที่เชื่อมต่อกับบัญชี Cloudflare ของคุณแล้ว หากโดเมนของคุณยังไม่เชื่อมต่อกับ Cloudflare กรุณาทำตาม คู่มือการตั้งค่า Cloudflare ของเราก่อน
Cloudflare Tunnel ทำงานโดยการสร้างการเชื่อมต่อที่เข้ารหัสออกจากเซิร์ฟเวอร์ของคุณไปยัง Cloudflare ดังนั้นจึงไม่จำเป็นต้องเปิดพอร์ตสาธารณะสำหรับ txAdmin
การตั้งค่า Cloudflare
ก่อนติดตั้ง cloudflared บน vServer Linux ของคุณ ให้สร้างและตั้งค่า tunnel โดยตรงในแดชบอร์ด Cloudflare ของคุณก่อน
ล็อกอินเข้าสู่บัญชี Cloudflare แล้วไปที่ส่วน Zero Trust ที่นั่นคุณสามารถสร้าง tunnel ใหม่ที่จะส่งทราฟฟิกไปยังอินเทอร์เฟซ txAdmin ของคุณในภายหลัง
การติดตั้ง Cloudflare Tunnel
Cloudflare มีเครื่องมือเล็ก ๆ ชื่อ cloudflared การติดตั้ง cloudflared บน Linux ง่ายมาก เริ่มด้วยการดาวน์โหลดและรันตัวติดตั้ง Linux
# เพิ่มกุญแจ gpg ของ cloudflare
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-public-v2.gpg | sudo tee /usr/share/keyrings/cloudflare-public-v2.gpg >/dev/null
# เพิ่มรีโปนี้ใน apt repositories ของคุณ
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-public-v2.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
# ติดตั้ง cloudflared
sudo apt-get update && sudo apt-get install cloudflared
หลังจากติดตั้งเสร็จ ให้รันคำสั่งที่ได้รับ:
cloudflared.exe service install eyJhIjoiMj...
หลังจากรันคำสั่ง เซิร์ฟเวอร์ของคุณจะเชื่อมต่อกับ Cloudflare ผ่าน tunnel ถ้าการตั้งค่าสำเร็จ สถานะในส่วน Connectors จะเปลี่ยนเป็น Connected ยืนยันว่า tunnel ทำงานและเชื่อมต่อเรียบร้อยแล้ว
ตั้งค่า Cloudflare Tunnel
ต่อไปตั้งค่า Route Traffic สร้างระเบียนซับโดเมนใหม่ตามที่คุณต้องการ ในตัวอย่างนี้ใช้ซับโดเมน txAdmin ซึ่งจะใช้เข้าถึงอินเทอร์เฟซ txAdmin ในภายหลัง
เลือกโดเมนที่คุณต้องการใช้ จากนั้นตั้งค่าประเภทบริการเป็น HTTP และใส่ localhost:port เป็น URL โดยแทนที่ port ด้วยพอร์ตที่กำหนดสำหรับอินสแตนซ์ txAdmin ของคุณ ตัวอย่างนี้ใช้พอร์ต 40500
แทนที่จะใช้พอร์ต txAdmin เริ่มต้น 40120 แนะนำให้ใช้พอร์ตอื่นเพื่อความปลอดภัยที่ดียิ่งขึ้น
ตั้งค่าไฟร์วอลล์ Linux
เพื่อป้องกันไม่ให้พอร์ตเข้าถึงได้จากภายนอก tunnel ให้ตั้งค่าไฟร์วอลล์ Linux (iptables) ให้พอร์ตนั้นรับการเชื่อมต่อเฉพาะจาก localhost เท่านั้น จำกัดฟิลด์ที่อยู่ระยะไกลของกฎเป็น 127.0.0.1 ซึ่งจะบังคับให้ทราฟฟิกทั้งหมดมาจากระบบภายในเครื่องและบล็อกการเข้าถึงจากภายนอก ทำให้บริการที่อยู่หลัง cloudflared ไม่สามารถเข้าถึงได้จากเครือข่ายภายนอก tunnel
sudo iptables -A INPUT -p tcp --dport 40500 ! -s 127.0.0.1 -j DROP
ด้วยการตั้งค่านี้ การพยายามเข้าถึงจากภายนอกเครื่องจะถูกบล็อก ทำให้บริการที่อยู่หลัง cloudflared ไม่สามารถเข้าถึงได้จากภายนอก tunnel
สรุป
เมื่อ Cloudflare Tunnel ทำงาน อินเทอร์เฟซ txAdmin ของคุณจะเข้าถึงได้เฉพาะผ่านโดเมนของคุณเองเท่านั้น โดยคำขอทั้งหมดจะผ่าน Cloudflare ซึ่งจะกรองและรักษาความปลอดภัยให้
การเข้าถึงพอร์ต txAdmin โดยตรงผ่าน IP เซิร์ฟเวอร์จะถูกบล็อก ซึ่งจะตัดพื้นผิวการโจมตีเดิมออกไปทั้งหมด ทำให้ txAdmin มีความเสถียร ปลอดภัย และเข้าถึงได้อย่างน่าเชื่อถือ แม้จะมีคนพยายามโจมตีหรือทำให้ระบบล่ม
ถ้ามีคำถามเพิ่มเติมหรือต้องการความช่วยเหลือ อย่าลังเลที่จะติดต่อทีมซัพพอร์ตของเรา ที่พร้อมช่วยเหลือคุณทุกวัน! 🙂