ติดตั้งและใช้งาน CSF Firewall บน DirectAdmin
เซิร์ฟเวอร์ที่เปิดสู่อินเทอร์เน็ตถูกสแกนและเดารหัสผ่านตลอดเวลา การดู Log ของเซิร์ฟเวอร์ใหม่ที่เปิดได้หนึ่งวันมักพบการพยายามล็อกอินหลายพันครั้ง
CSF เป็น Firewall ที่ใช้กันแพร่หลายในวงการโฮสติ้ง จุดเด่นคือมี Login Failure Daemon ที่เฝ้าดู Log ของบริการต่าง ๆ แล้วบล็อก IP ที่พยายามเดารหัสผ่านโดยอัตโนมัติ
สิ่งที่ต้องเตรียม
- DirectAdmin บน Linux และสิทธิ์ root
- ช่องทางสำรองเข้าเซิร์ฟเวอร์ เตรียมไว้ก่อนเสมอ
- IP ของออฟฟิศที่ต้องการอนุญาตถาวร
ขั้นตอนที่ 1: ติดตั้ง
cd /usr/local/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
# ตรวจว่าเคอร์เนลรองรับครบ
perl /usr/local/csf/bin/csftest.pl
ผลควรแสดง RESULT: csf should function on this server หากมีโมดูลที่ขาด ให้ติดต่อผู้ให้บริการเซิร์ฟเวอร์
ติดตั้งส่วนเชื่อมต่อกับ DirectAdmin เพื่อจัดการผ่านหน้าเว็บได้
cd /usr/local/directadmin/plugins
wget https://download.configserver.com/csfinstaller.tgz
tar -xzf csfinstaller.tgz
sh csfinstaller.sh
ขั้นตอนที่ 2: อนุญาต IP ของตัวเองก่อนทำอย่างอื่น
ขั้นตอนนี้ต้องทำก่อนเสมอ เพื่อไม่ให้ถูกล็อกออกระหว่างตั้งค่า
# ดู IP ปัจจุบันของคุณ
who am i
w
# เพิ่มเข้ารายการอนุญาตถาวร
csf -a 203.0.113.55 'IP ออฟฟิศ'
csf -a 203.0.113.0/24 'วงออฟฟิศ'
# ตรวจรายการ
csf -l | grep ACCEPT | head
ขั้นตอนที่ 3: ตั้งพอร์ตที่เปิด
nano /etc/csf/csf.conf
# พอร์ตขาเข้า TCP
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2222,3306"
# พอร์ตขาออก TCP
TCP_OUT = "20,21,22,25,43,53,80,110,113,443,587,993,995,2222"
# UDP
UDP_IN = "20,21,53"
UDP_OUT = "20,21,53,113,123"
พอร์ตสำคัญของ DirectAdmin
- 2222 หน้าจัดการ DirectAdmin ขาดไม่ได้
- 22 SSH
- 80, 443 เว็บไซต์
- 25, 465, 587 ส่งอีเมล
- 110, 143, 993, 995 รับอีเมล
- 20, 21 FTP พร้อมช่วง Passive ที่ตั้งใน ProFTPD
พิจารณาลบ 3306 ออกหากไม่ได้ให้เชื่อมต่อฐานข้อมูลจากภายนอก และจำกัด 2222 ให้เข้าได้เฉพาะจากออฟฟิศ
ขั้นตอนที่ 4: ทดสอบก่อนเปิดใช้จริง
CSF มีโหมดทดสอบที่ล้างกฎอัตโนมัติหลังเวลาที่กำหนด ซึ่งช่วยชีวิตเมื่อตั้งผิด
nano /etc/csf/csf.conf
TESTING = "1"
TESTING_INTERVAL = "5"
csf -r
เปิด Terminal อีกหน้าต่างแล้วทดสอบการเชื่อมต่อ
ssh [email protected]
curl -skI https://203.0.113.10:2222 | head -1
เมื่อมั่นใจแล้วจึงปิดโหมดทดสอบ
sed -i 's/^TESTING = "1"/TESTING = "0"/' /etc/csf/csf.conf
csf -r
csf -e
ขั้นตอนที่ 5: เปิด Login Failure Daemon
นี่คือส่วนที่มีค่าที่สุดของ CSF ตั้งใน csf.conf
LF_DAEMON = "1"
# จำนวนครั้งที่ยอมให้ล้มเหลวก่อนบล็อก
LF_SSHD = "5"
LF_FTPD = "10"
LF_SMTPAUTH = "10"
LF_POP3D = "10"
LF_IMAPD = "10"
LF_DIRECTADMIN = "5"
# ระยะเวลาที่บล็อก เป็นวินาที ใช้ 3600 คือหนึ่งชั่วโมง
LF_TRIGGER_PERM = "3600"
# บล็อกถาวรเมื่อถูกบล็อกซ้ำหลายครั้ง
LF_PERMBLOCK = "1"
LF_PERMBLOCK_COUNT = "4"
LF_PERMBLOCK_INTERVAL = "86400"
LF_PERMBLOCK_ALERT = "0"
csf -r
systemctl status lfd
ขั้นตอนที่ 6: ตั้งค่าการแจ้งเตือน
ค่าเริ่มต้นของ CSF ส่งอีเมลมากเกินไปจนคนเลิกอ่าน ปรับให้เหลือเฉพาะที่สำคัญ
LF_ALERT_TO = "[email protected]"
# ปิดการแจ้งเตือนที่มาถี่เกินไป
LF_EMAIL_ALERT = "0"
LF_PERMBLOCK_ALERT = "0"
LF_NETBLOCK_ALERT = "0"
# เก็บไว้เฉพาะที่สำคัญจริง
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"
LF_CONSOLE_EMAIL_ALERT = "1"
การแจ้งเตือนที่มีความหมายคือการล็อกอิน root สำเร็จและการใช้ su ซึ่งควรเกิดจากทีมงานเท่านั้น
ขั้นตอนที่ 7: จัดการ IP ที่ถูกบล็อก
# ดูรายการที่ถูกบล็อกชั่วคราว
csf -t
# ดูรายการบล็อกถาวร
csf -d | head -20
# ค้นหาว่า IP หนึ่งถูกบล็อกหรือไม่ และเพราะอะไร
csf -g 203.0.113.99
# ปลดบล็อก
csf -dr 203.0.113.99 # ลบจากรายการปฏิเสธ
csf -tr 203.0.113.99 # ลบจากรายการชั่วคราว
# บล็อกด้วยมือ
csf -d 198.51.100.50 'สแกนพอร์ต'
ดู Log เพื่อเข้าใจว่าเกิดอะไรขึ้น
tail -50 /var/log/lfd.log
grep 'Blocked' /var/log/lfd.log | tail -20
grep '203.0.113.99' /var/log/lfd.log
ขั้นตอนที่ 8: กู้เมื่อถูกล็อกออก
เข้าผ่าน Console ของผู้ให้บริการแล้ว
# ปิด CSF ชั่วคราว
csf -x
# หรือล้างกฎทั้งหมด
csf -f
# เพิ่ม IP ตัวเองแล้วเปิดใหม่
csf -a IP_ของคุณ
csf -e
หากเข้า Console ไม่ได้เลย ให้ติดต่อผู้ให้บริการขอเข้าโหมดกู้ระบบ
ป้องกันล่วงหน้าด้วยการเพิ่ม IP ของผู้ดูแลทุกคนเข้า /etc/csf/csf.allow ตั้งแต่ต้น และเปิด TESTING ทุกครั้งที่จะแก้กฎสำคัญ
ปัญหาที่พบบ่อย
ลูกค้าบ่นว่าเข้า FTP ไม่ได้เป็นบางครั้ง
ช่วงพอร์ต Passive ไม่ได้เปิดใน CSF ตรวจช่วงที่ ProFTPD ใช้แล้วเปิดให้ตรงกัน
grep -i passiveports /etc/proftpd.conf
IP ของตัวเองถูกบล็อกบ่อย
เพิ่มเข้า csf.allow ถาวร และตรวจว่าไม่มีโปรแกรมที่พยายามเชื่อมต่อด้วยรหัสผ่านเก่าซ้ำ ๆ เช่น โปรแกรมอีเมลที่ยังจำรหัสเดิม
lfd กิน CPU มาก
เกิดจากไฟล์ Log ขนาดใหญ่ ตรวจว่า logrotate ทำงานปกติ และปิดการตรวจสอบที่ไม่จำเป็น เช่น LF_DIRWATCH บนเซิร์ฟเวอร์ที่มีไฟล์จำนวนมาก
อีเมลแจ้งเตือนท่วม
ปรับตามขั้นตอนที่ 6 การแจ้งเตือนที่มากเกินไปทำให้พลาดเรื่องสำคัญจริง ซึ่งอันตรายกว่าการไม่แจ้งเลย
ต้องการเซิร์ฟเวอร์ DirectAdmin ที่ตั้งค่าความปลอดภัยมาให้แล้ว ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/
- Categories:
- Cloud
- Tags:
- Cloud
- Cloud Server
หมวดหมู่ที่น่าสนใจ
- Account Settings
- AD Server
- AI
- Alibaba Cloud
- Anti-Spam Gateway
- AWS Amazon Web Services
- Campaign
- CentOS/AlmaLinux
- Cloud
- Cloud Backup
- Cloud Communication
- Cloud Migration
- Cloud Security
- Cloud Server Management
- Cloud Solution
- Cloud Solution for Government
- Cloud Solutions by Industry
- Cloud Storage
- Cloud VPS App Plus +
- Cloud VPS DirectAdmin
- Cloud VPS Plesk
- CSR
- Cyber Security
- Cybersecurity
- Data Sovereignty
- Database Server
- DDoS
- Digital Tranformation
- Digital Transformation
- Direct Mail
- Directadmin
- Domainname
- Ecommerce
- ERP
- Generative AI
- Getting Started
- Google Cloud
- Google G Suite
- Huawei Cloud
- IT News
- Linux Server
- Managed Cloud Services
- Managed Service Provider
- Manual
- Microsoft
- Microsoft 365
- Microsoft Azure
- News
- On-premise
- Private Mail Server
- Promotion
- Recommend Solution (Enterprise)
- Server
- Sovereign Cloud
- THAI DATA CLOUD Platform
- Ubuntu
- Ubuntu
- Uncategorized
- VMware
- VPS Server
- Web Design
- Web Hosting
- Web Hosting (DirectAdmin)
- Web Hosting (Plesk)
- Web Technologies
- Windows Server
- Wordpress
- Zimbra
- เรื่องราวความประทับใจ
- โซลูชันสำหรับธุรกิจการผลิตและยานยนต์
- โซลูชันสำหรับธุรกิจการศึกษา
- โซลูชันสำหรับธุรกิจการเงิน
- โซลูชันสำหรับธุรกิจขนส่งและกระจายสินค้า
- โซลูชันสำหรับธุรกิจค้าปลีก
- โซลูชันสำหรับธุรกิจท่องเที่ยว
- โซลูชันสำหรับธุรกิจบริการสุขภาพและโรงพยาบาล
- โซลูชันสำหรับธุรกิจประกันภัย
- โซลูชันสำหรับธุรกิจพลังงานและสาธารณูปโภค
- โซลูชันสำหรับธุรกิจสื่อสารมวลชนและเอ็นเตอร์เทนเมนท์
- โซลูชันสำหรับธุรกิจอสังหาริมทรัพย์
- โซลูชันสำหรับธุรกิจเทคโนโลยี








