ตั้งค่าและเปิดใช้งาน Web UI สำหรับ CSF

  1. วิธีลง CSF ใน Ubuntu บน EC2
  2. ตั้งค่าและเปิดใช้งาน Web UI สำหรับ CSF
  3. รวมคำสั่งและวิธีการตั้งค่า CSF ทั้งโดย command line และตั้งค่าในไฟล์
  4. ตั้งค่า CSF เพื่อความปลอดภัยขั้นพื้นฐาน
  5. ตั้งค่า CSF เพื่อป้องกัน DDOS Attack เบื้องต้น
  6. วิธีบล๊อคหรืออนุญาตการเชื่อมต่อเป็นรายประเทศ ด้วย CSF Country Code Deny
  7. ใช้ CSF&LFD ป้องกันการ Brute force ไปยังแอพพลิเคชั่นบนเซิฟเวอร์

ต่อเนื่องจากโพส วิธีลง CSF ใน Ubuntu บน EC2 เมื่อเราทำการลง csf เรียบร้อยแล้ว ในเบื้องต้นระบบจะปิด Web UI ไว้เป็น default โดยก่อนที่จะเปิดใช้ Web UI ได้ เราจะต้องมีการเตรียมพื้นฐานของระบบที่ต้องการ โดยใช้คำสั่ง

sudo apt-get install libio-socket-ssl-perl libcrypt-ssleay-perl libnet-libidn-perl libio-socket-inet6-perl libsocket6-perl -y

จากนั้นจึงทำการแก้ไขไฟล์ csf.conf อีกครั้ง ด้วยคำสั่ง

sudo vi /etc/csf/csf.conf 

โดยค่าที่ต้องแก้ไขในไฟล์ csf.conf ที่จำเป็นต้องตั้งเพื่อใช้งาน Web UI ได้แก่

# เปิดใช้งาน Web UI
# 1 to enable, 0 to disable
UI = "1"

# ตั้งค่าพอร์ทที่ต้องการใช้งาน (หากใช้ AWS EC2 ต้องไปเปิดพอร์ทนี้ใน Security group ด้วย)
UI_PORT = "6666"

# ตั้งค่า username
UI_USER = "some_user_name"

# ตั้งค่ารหัสผ่าน
UI_PASS = "hard_to_guess_password"

อีกค่าหนึ่งที่ต้องให้ความสนใจคือ UI_ALLOW = “1” โดยค่าเริ่มต้นนี้จะเป็นการจำกัดการเข้าถึง Web UI จากไอพีที่กำหนดเท่านั้น และค่า UI_ALERT ที่จะแจ้งเตือนเมื่อมีผู้พยายามลอคอินเข้าสู่ Web UI

# อนุญาตให้ไอพีที่อยู่ในไฟล์ ui.allow เท่านั้นที่จะเข้าใช้งาน Web UI ได้
UI_ALLOW = "1"

# แจ้งเตือนเมื่อมีผู้พยายามลอคอินเข้า Web UI 
# โดยค่า 4 เป็นระดับสูงสุด คือแจ้งเตือนทุกครั้งไม่ว่าจะลอคอินสำเร็จหรือไม่ก็ตาม
UI_ALERT = "4"

สามารถเพิ่มไอพีที่ได้รับอนุญาตได้ที่ไฟล์ ui.allow โดย

sudo vi /etc/csf/ui/ui.allow

ซึ่งสามารถกำหนดหลายไอพีได้ เช่น (ตั้งค่าไอพีของคุณ)

183.12.34.12
42.45.33.12
กรณีต้องการให้ใช้งานจาก IP ใดก็ได้

หากต้องการให้เข้าถึง Web UI จากไอพีไหนก็ได้ ให้ตั้งค่า UI_ALLOW = “0” (ไม่แนะนำ)

เมื่อแก้ไขเรียบร้อยแล้ว ทำการรีสตาร์ท lfd ด้วยคำสั่ง

sudo service lfd restart

ถึงจุดนี้หากทุกอย่างราบรื่นแล้วก็จะสามารถเข้าหน้าเว็บได้ที่ https://your-domain:6666 (Port ตามที่ตั้งไว้ใน UI_PORT)

การแก้ไขปัญหา SSL Error

เมื่อทดลองเข้าหน้าเว็บ หากพบปัญหา SSL Error นั้นอาจจะเกิดได้จากหลายสาเหตุ แต่ที่พบได้บ่อยคือโดเมน หรือไอพีนั้นๆมี SSL certificate อยู่แล้ว หากเป็นกรณีนี้สามารถแก้ไขได้โดยตั้งค่าให้ Web UI ไปใช้ Certificate เดียวกับของเดิมที่เคยสร้างไว้แล้ว ดังนี้

เปลี่ยนชื่อไฟล์ Certificate ของ CSF เพื่อเตรียมย้ายไปใช้ไฟล์ cert เดิมของเซิฟเวอร์

sudo mv /etc/csf/ui/server.key /etc/csf/ui/server.key.old
sudo mv /etc/csf/ui/server.crt /etc/csf/ui/server.crt.old

สร้าง Symbolic links ไปยังไฟล์ cert เดิม ซึ่งเราต้องรู้ตำแหน่งที่ไฟล์ cert เดิมนั้นอยู่ เช่น หาก cert เดิมสร้างโดย certbot ของ letsencrypt สำหรับโดเมนใดๆ ไฟล์จะถูกเก็บอยู่ที่ /etc/letsencrypt/live/domain-name ก็จะสามารถสร้าง sym link ได้โดยใช้คำสั่ง

sudo ln -s /etc/letsencrypt/live/YOUR-DOMAIN-NAME/fullchain.pem /etc/csf/ui/server.crt
sudo ln -s /etc/letsencrypt/live/YOUR-DOMAIN-NAME/privkey.pem /etc/csf/ui/server.key

เพียงเท่านี้หากลองเปิดในเว็บดูใหม่ที่ https://YOUR-DOMAIN-NAME:6666 ก็จะสามารถเข้าถึงหน้าลอคอินได้