เพิ่มความปลอดภัย Hosting 10 วิธีที่ต้องทำ

Checklist ความปลอดภัยที่ทุกเจ้าของเว็บควรทำ ตั้งแต่ Password Policy ไปจนถึงการ Monitor Log และ Backup อย่างสม่ำเสมอ

เพิ่มความปลอดภัย Hosting

ทำไมความปลอดภัย Hosting จึงสำคัญ?

Hosting ที่ไม่ปลอดภัยนำไปสู่ปัญหาร้ายแรงหลายประการ ตั้งแต่เว็บถูก Hack และฝัง Malware ไปจนถึงข้อมูลลูกค้าถูกขโมย Server ถูกใช้เป็น Spam Relay และ Google Blacklist โดเมนของคุณ ผลที่ตามมาคือสูญเสียทั้งรายได้และความไว้วางใจจากลูกค้า การลงทุนเวลาแค่ 1–2 ชั่วโมงเพื่อทำ Security Checklist นี้คุ้มค่ามากกว่าการแก้ปัญหาหลังถูก Hack

10 วิธีเพิ่มความปลอดภัย Hosting

1
เปลี่ยน Password ทุก Account ให้แข็งแกร่ง
ตั้ง Password อย่างน้อย 16 ตัวอักษร ผสมตัวพิมพ์ใหญ่-เล็ก ตัวเลข และสัญลักษณ์ เปลี่ยนทุก 3–6 เดือน ครอบคลุม cPanel, FTP, Database, WordPress Admin และ Email อย่าใช้ Password เดียวกันซ้ำ ใช้ Password Manager เช่น Bitwarden
2
ใช้ SSH Key แทน Password Login
สร้าง SSH Key Pair แล้วใช้ Private Key แทนการพิมพ์ Password ปิด Password Authentication ใน SSH Config เพื่อป้องกัน Brute Force Attack สร้าง Key ได้ด้วยคำสั่ง ssh-keygen -t ed25519 แล้วอัปโหลด Public Key ผ่าน cPanel → SSH Access
3
ปิด Directory Browsing
หากไม่มีไฟล์ index.html/php ใน Folder ผู้เยี่ยมชมจะเห็น Listing ไฟล์ทั้งหมด ปิดได้โดยเพิ่ม Options -Indexes ใน .htaccess หรือตั้งค่าใน cPanel → Apache Handlers
4
ตั้ง File Permission ให้ถูกต้อง
Permission ที่ถูกต้อง: Folder = 755, ไฟล์ปกติ = 644, ไฟล์ Config ที่มีข้อมูลสำคัญ = 600 ห้ามตั้ง 777 เพราะทุกคนสามารถเขียนและรัน Script ได้ ตรวจสอบด้วยคำสั่ง find /public_html -perm 777
5
ปิด PHP Functions ที่อันตราย
ปิด Functions ที่ Hacker ใช้รัน Shell Command เพิ่มใน php.ini หรือ .htaccess: disable_functions = exec,passthru,shell_exec,system,proc_open,popen ตรวจสอบว่า allow_url_include และ allow_url_fopen ปิดอยู่
6
ติดตั้ง SSL Certificate และบังคับ HTTPS
SSL ไม่ใช่แค่ความปลอดภัยแต่ยังเป็นสัญญาณ Trust ต่อผู้เยี่ยมชมและ Google ใช้ Let's Encrypt ฟรีผ่าน cPanel → SSL/TLS แล้วบังคับ Redirect HTTP ไป HTTPS ผ่าน .htaccess
7
ตั้ง .htaccess ป้องกัน
ป้องกันไฟล์สำคัญด้วย .htaccess: บล็อกการเข้าถึง wp-config.php, .env, xmlrpc.php, ป้องกัน SQL Injection ผ่าน URL, Block User-Agent ที่รู้จักว่าเป็น Scanner
8
Monitor Access Log สม่ำเสมอ
ดู Access Log ใน cPanel → Logs → Errors/Visitors อย่างน้อยสัปดาห์ละครั้ง มองหา: Request จำนวนมากจาก IP เดียว, Path ที่ผิดปกติ เช่น /admin/shell.php, HTTP 4xx/5xx Error ที่เพิ่มขึ้นกะทันหัน
9
Backup สม่ำเสมอและทดสอบ Restore
ตั้ง Automated Backup อย่างน้อยสัปดาห์ละครั้ง เก็บ Backup ไว้นอก Server เช่น Google Drive หรือ S3 สิ่งสำคัญที่คนลืมคือ ต้องทดสอบ Restore จริงๆ อย่างน้อยเดือนละครั้ง Backup ที่ไม่เคย Restore ทดสอบไม่ใช่ Backup ที่ดี
10
อัปเดต WordPress, Plugin และ Theme สม่ำเสมอ
WordPress Version เก่าและ Plugin ที่ไม่ได้อัปเดตเป็นช่องโหว่ที่ถูก Exploit มากที่สุด เปิด Auto-Update สำหรับ Security Release หรือตรวจสอบอัปเดตอย่างน้อยสัปดาห์ละครั้ง ลบ Plugin/Theme ที่ไม่ใช้ออก

โค้ด .htaccess เพื่อความปลอดภัย

# ปิด Directory Listing
Options -Indexes

# ป้องกัน wp-config.php (WordPress)
<Files wp-config.php>
  Order Allow,Deny
  Deny from All
</Files>

# ป้องกัน .env และ .htaccess ตัวเอง
<FilesMatch "^\.env|^\.htaccess">
  Order Allow,Deny
  Deny from All
</FilesMatch>

# Block xmlrpc.php (ถ้าไม่ได้ใช้ Jetpack)
<Files xmlrpc.php>
  Order Allow,Deny
  Deny from All
</Files>

ตรวจสอบว่า Hosting มีความปลอดภัยเพียงพอ

# ตรวจ File Permission ผิดปกติ (ไม่ควรมี 777)
find /home/username/public_html -perm 777 -type f

# ตรวจ PHP Functions ที่ถูก Disable
php -r "echo ini_get('disable_functions');"

# ตรวจ SSL Certificate หมดอายุหรือไม่
echo | openssl s_client -connect yoursite.com:443 2>/dev/null | \
  openssl x509 -noout -dates

# ตรวจ .htaccess Block ไฟล์ Config หรือยัง
curl -I https://yoursite.com/wp-config.php
Tip: ใช้ SSL Labs และ SecurityHeaders.com ตรวจสอบ Security Score ของเว็บฟรีทันที ควรได้ Grade A ขึ้นไป

แก้ปัญหาที่พบบ่อย

Error: เว็บถูก Hack แต่ไม่รู้จากช่องทางไหน

ดู Access Log และ Error Log ย้อนหลัง มองหา POST Request ที่ผิดปกติ, Request ไปยังไฟล์ที่ไม่ควรมี, หรือ Shell Script ที่ถูกอัปโหลด ใช้ Imunify360 หรือ ClamAV Scan เพื่อหาไฟล์ที่ติด Malware

Error: SSH Login ด้วย Password ไม่ได้หลังเปลี่ยนเป็น Key Authentication

ตรวจสอบว่า Public Key อยู่ใน ~/.ssh/authorized_keys และ Permission ถูกต้อง (700 สำหรับ .ssh folder, 600 สำหรับ authorized_keys) ถ้าล็อคตัวเองออกแล้ว ต้องใช้ cPanel Terminal หรือขอ Support ช่วย

Error: WordPress ถูก Brute Force แต่ Block ไม่ได้

ติดตั้ง Plugin เช่น Wordfence หรือ Limit Login Attempts Reloaded เพื่อบล็อก IP ที่ Login ผิดหลายครั้ง หรือเปิด 2FA สำหรับ WordPress Admin ด้วย Plugin เช่น Two Factor Authentication

Error: Malware Scanner รายงานว่ามีไฟล์ผิดปกติแต่ลบแล้วกลับมา

มีช่องโหว่ที่ยังไม่ได้อุด Hacker ใช้ Backdoor ที่ฝังอยู่ในไฟล์อื่น Restore ไฟล์ทั้งหมดจาก Backup Clean แล้วอัปเดตทุก Plugin และ WordPress ทันที เปลี่ยน Password ทุกอย่างด้วย


คำถามที่พบบ่อย

Shared Hosting ปลอดภัยพอสำหรับเว็บธุรกิจไหม?

Shared Hosting ปลอดภัยพอหากตั้งค่าถูกต้องและ Provider มีระบบ Isolation ที่ดี ปัญหาส่วนใหญ่เกิดจาก WordPress/Plugin เก่าและ Password อ่อน ไม่ใช่จากตัว Hosting เอง ถ้าเว็บมีข้อมูลสำคัญมาก ควรพิจารณา VPS เพื่อความแยกส่วนที่สูงกว่า

ควร Backup บ่อยแค่ไหน?

ขึ้นอยู่กับความถี่ในการอัปเดตเนื้อหา เว็บที่อัปเดตทุกวันควร Backup ทุกวัน เว็บ Static ที่ไม่เปลี่ยนบ่อย Backup สัปดาห์ละครั้งก็เพียงพอ เก็บ Backup ย้อนหลังอย่างน้อย 30 วัน

ModSecurity คืออะไร และควรเปิดไหม?

ModSecurity เป็น Web Application Firewall (WAF) ที่ทำงานบน Apache กรอง Request ที่ดูเหมือนการโจมตี เช่น SQL Injection, XSS ควรเปิดไว้ แต่บางครั้งอาจ Block Request ที่ถูกต้อง ให้ดู Log และ Whitelist Rule ที่ Block ผิดพลาด