คำแนะนำในการทำให้เว็บเซิร์ฟเวอร์ของคุณแข็งแกร่งขึ้น

เผยแพร่แล้ว: 2022-03-15

เนื่องจากฟังก์ชันการทำงาน เว็บเซิร์ฟเวอร์จึงแตกต่างจากอุปกรณ์อื่นๆ ในสภาพแวดล้อมเครือข่ายทั่วไป ไม่เพียงแต่จะเปิดเผยต่ออินเทอร์เน็ตโดยการออกแบบเท่านั้น แต่ยังให้บริการปริมาณการใช้งานเว็บแก่คนแปลกหน้าอีกด้วย นอกจากนี้ ในหลายสถานการณ์ เว็บเซิร์ฟเวอร์มักจะให้บริการแอปพลิเคชันแบบไดนามิก เช่น เว็บไซต์ WordPress หรือทำหน้าที่เป็นพร็อกซีสำหรับแอปพลิเคชันภายในอื่นๆ ดังนั้นจึงไม่น่าแปลกใจที่เว็บเซิร์ฟเวอร์เป็นเป้าหมายที่น่าสนใจสำหรับผู้โจมตี

การทำให้ระบบแข็งแกร่งขึ้นหมายถึงกระบวนการในการปรับปรุงการป้องกันของระบบ ซึ่งทำให้แฮ็กเกอร์ที่เป็นอันตรายสามารถประนีประนอมระบบและตั้งหลักในเครือข่ายได้ยากขึ้น

กระบวนการในการทำให้เว็บเซิร์ฟเวอร์แข็งแกร่งขึ้นนั้น แน่นอน ขึ้นอยู่กับประเภทของเว็บเซิร์ฟเวอร์ที่คุณใช้อยู่ (เช่น Apache HTTP Server, Nginx, Microsoft IIS…) อย่างไรก็ตาม มีหลักการสำคัญหลายประการและแนวทางปฏิบัติที่ดีที่สุดในการปรับปรุงของคุณ ความปลอดภัยของเว็บเซิร์ฟเวอร์ที่คุณควรคำนึงถึง ไม่ว่าคุณจะใช้เว็บเซิร์ฟเวอร์ใด

บทความนี้เป็นแนวทางในการทำให้เว็บเซิร์ฟเวอร์แข็งตัว ในนั้น เราจะดูแนวทางปฏิบัติที่ดีที่สุดที่ไม่เชื่อเรื่องเทคโนโลยีจำนวนหนึ่ง ซึ่งคุณสามารถปรับปรุงความปลอดภัยของเว็บเซิร์ฟเวอร์ของคุณได้ สำหรับการชุบแข็งของ WordPress โปรดดูคู่มือความปลอดภัยและการชุบแข็งของ WordPress

1. ปรับปรุงเว็บเซิร์ฟเวอร์ของคุณอยู่เสมอ

การรักษาซอฟต์แวร์ให้ทันสมัยอยู่เสมออาจไม่ใช่เรื่องใหญ่ แต่การใช้แพตช์ความปลอดภัยตรงเวลาถือเป็นหนึ่งในการป้องกันที่สำคัญที่สุดที่คุณสามารถนำไปใช้ได้ นอกเหนือจากการปรับปรุงประสิทธิภาพและความเสถียรแล้ว การอัปเดตเว็บเซิร์ฟเวอร์และระบบปฏิบัติการมักจะมีการแก้ไขช่องโหว่ด้านความปลอดภัย

บนพื้นผิวอาจฟังดูเล็กน้อย อย่างไรก็ตาม ผู้เชี่ยวชาญด้านความปลอดภัยของข้อมูลคนใดจะบอกคุณว่าการแพตช์นั้นซับซ้อนกว่าเสียง—ไม่ใช่เพราะการติดตั้งซอฟต์แวร์เวอร์ชันล่าสุดส่วนใหญ่นั้นยากเป็นพิเศษ แต่เนื่องจากการแพตช์มักจะถูกมองว่าเป็นสิ่งที่สามารถทำได้ จะถูกเลื่อนออกไป

วิธีที่ดีที่สุดในการตรวจสอบให้แน่ใจว่าซอฟต์แวร์เว็บเซิร์ฟเวอร์ของคุณได้รับการปรับปรุงอย่างต่อเนื่องคือการค้นหาระบบหรือรูทีนที่เหมาะกับคุณหรือใครก็ตามที่ได้รับมอบหมายให้อัปเดตเว็บเซิร์ฟเวอร์และซอฟต์แวร์ระบบปฏิบัติการของคุณ ส่วนใหญ่จะเป็นการเตือนความจำเป็นระยะๆ (เช่น การตั้งกิจกรรมในปฏิทินซ้ำ) ที่คุณจะจัดเวลาให้

2. ลบซอฟต์แวร์และโมดูลที่ไม่จำเป็นออก

แม้ว่าเว็บเซิร์ฟเวอร์อาจดูเหมือนไม่เป็นเช่นนั้นเสมอไป แต่เว็บเซิร์ฟเวอร์เป็นซอฟต์แวร์ที่ซับซ้อน เว็บเซิร์ฟเวอร์บางตัว เช่น Apache HTTP Server มาพร้อมกับ “โมดูล” (คล้ายกับปลั๊กอินของ WordPress) ซึ่งคุณสามารถเปิดหรือปิดใช้งานได้ขึ้นอยู่กับกรณีการใช้งานของคุณ เป็นที่ทราบกันดีว่าผู้โจมตีที่เป็นอันตรายใช้ประโยชน์จากคุณลักษณะและช่องโหว่ของโมดูลเว็บเซิร์ฟเวอร์เพื่อรวบรวมข้อมูลเพิ่มเติมเกี่ยวกับเว็บเซิร์ฟเวอร์ของคุณ แม้ว่าสิ่งนี้อาจไม่ใช่เหตุผลเดียวสำหรับการโจมตีที่ประสบความสำเร็จ จุดรวมของการทำให้เว็บเซิร์ฟเวอร์แข็งแกร่งขึ้นก็คือการใช้แนวทางการป้องกันในเชิงลึก และทำให้ผู้ประสงค์ร้ายได้รับความยากลำบากในการตั้งหลักแม้เพียงเล็กน้อย

ตัวอย่างที่ใช้งานได้จริงของสิ่งนี้คือโมดูล เช่น mod_status ของ Apache HTTP Server โมดูลนี้ได้รับการออกแบบมาเพื่อดูภาพรวมของกิจกรรมและประสิทธิภาพของเซิร์ฟเวอร์ (โฮสต์ปัจจุบัน จำนวนคำขอที่กำลังประมวลผล จำนวนผู้ปฏิบัติงานที่ไม่ได้ใช้งาน และการใช้งาน CPU) ผ่าน URL /server-status คุณลักษณะดังกล่าวอาจทำให้ผู้โจมตีสามารถบ่งชี้ได้ดีว่าเว็บเซิร์ฟเวอร์ของคุณทำงานได้ดีเพียงใด ซึ่งเป็นเครื่องมือที่มีประโยชน์อย่างยิ่งในกรณีที่มีการโจมตีแบบปฏิเสธการให้บริการ (DoS)

ในทำนองเดียวกัน ซอฟต์แวร์อื่นๆ ที่ไม่ได้ใช้งานที่ทำงานบนเว็บเซิร์ฟเวอร์ของคุณอาจก่อให้เกิดความเสี่ยงโดยไม่จำเป็น ตัวอย่างเช่น:

  1. คุณกำลังใช้งานเซิร์ฟเวอร์ FTP เช่น vsftpd ที่คุณไม่ต้องการใช่หรือไม่
  2. มีตัวแทนโอนเมลเช่น Sendmail หรือ Postfix ที่คุณไม่ต้องการอีกต่อไปหรือไม่? หากคุณใช้บริการของบุคคลที่สามเพื่อปรับปรุงความสามารถในการส่งอีเมลของ WordPress คุณไม่จำเป็นต้องใช้บริการดังกล่าว

แอปพลิเคชัน/บริการเหล่านี้และอื่นๆ อีกมากมายบนเซิร์ฟเวอร์เป็นส่วนประกอบทั้งหมดที่มีความปลอดภัย ช่องโหว่ และข้อกำหนดในการแพตช์ของตนเอง

โดยสรุป—ใช้ซอฟต์แวร์น้อยลงหากเป็นไปได้ หากคุณไม่ได้ใช้โมดูลหรือบริการ คุณควรตรวจสอบการปิดใช้งานหรือนำโมดูลออก โดยธรรมชาติแล้ว อย่าเพิ่งปิดการใช้งานโมดูลหรือแอปพลิเคชันโดยไม่ได้ทำการทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนาหรือการแสดงละคร (บางครั้งอาจยังไม่ชัดเจนว่ามีการใช้โมดูลเว็บเซิร์ฟเวอร์หรือแอปพลิเคชันอยู่)

3. กระชับการควบคุมการเข้าออก

การควบคุมการเข้าถึงเว็บเซิร์ฟเวอร์ของคุณเป็นสิ่งสำคัญเพื่อให้ถูกต้อง ท้ายที่สุดคุณต้องการลดโอกาสการเข้าถึงเว็บเซิร์ฟเวอร์ของคุณให้ตกไปอยู่ในมือของผู้ไม่หวังดี ต่อไปนี้คือแนวทางปฏิบัติที่ดีที่สุดจำนวนหนึ่งที่ควรปฏิบัติตามเกี่ยวกับการรักษาการควบคุมการเข้าถึงที่เหมาะสม

  • อย่าใช้ผู้ใช้รูท หากคุณต้องการทำงานด้านการดูแลระบบ ให้ใช้ sudo แทน
  • ใช้รหัสผ่านระบบที่รัดกุม (และ WordPress)
  • ใช้คีย์ SSH แทนรหัสผ่านเมื่อใช้ SSH
  • พิจารณาจำกัดการเข้าถึง SSH/RDP จากที่อยู่ IP เฉพาะ
  • เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัย (2FA) ในบัญชีผู้ให้บริการระบบคลาวด์ใดๆ
  • ตรวจสอบให้แน่ใจว่าแต่ละคนที่เข้าถึงเว็บเซิร์ฟเวอร์มีผู้ใช้ของตนเอง อย่าแชร์บัญชีผู้ใช้ระหว่างผู้ใช้
  • จำกัดการเข้าถึง shell/SSH/Remote Desktop ไว้อย่างชัดเจนเฉพาะบุคคลที่ต้องการ

4. ตั้งค่าการตรวจสอบความสมบูรณ์ของไฟล์ (FIM)

File Integrity Monitoring (FIM) ช่วยให้ผู้ดูแลระบบระบุเมื่อไฟล์เปลี่ยนแปลงบนเว็บเซิร์ฟเวอร์ แม้ว่าไฟล์บางไฟล์จะเปลี่ยนค่อนข้างบ่อยซึ่งเป็นส่วนหนึ่งของการทำงานของเว็บเซิร์ฟเวอร์ตามปกติ ไฟล์ต่างๆ เช่น การติดตั้ง WordPress ไม่ควรเปลี่ยนแปลง เว้นแต่ผู้ดูแลระบบจะทำการเปลี่ยนแปลง (เช่น อัปเดตไฟล์ wp-config.php) หรืออัปเดต WordPress เอง

แม้ว่าจะมีตัวเลือกมากมายให้เลือกใช้เมื่อพูดถึง File Integrity Monitoring ขอแนะนำให้ยึดติดกับสิ่งที่เฉพาะเจาะจงสำหรับแอปพลิเคชันที่คุณใช้งานอยู่ ติดตั้งและใช้งานได้ง่าย และไม่ต้องใช้ การปรับแต่งมากมาย มิฉะนั้น คุณจะจมดิ่งลงไปในการแจ้งเตือนที่ไร้ความหมาย และก่อนที่คุณจะรู้ตัว ความเหนื่อยล้าจะตื่นตัว ลบล้างความพยายามในการอยู่ด้วย กล่าวโดยสรุป การแจ้งเตือนและฟีเจอร์ที่มากขึ้นไม่ได้ดีไปกว่า FIM เลย ให้มองหาโซลูชันที่ให้คุณค่าสูงสุดโดยมีค่าใช้จ่ายน้อยที่สุด

5. ใช้การบรรเทา DDoS และบริการ WAF

แทนที่จะเปิดเผยเว็บเซิร์ฟเวอร์ของคุณสู่อินเทอร์เน็ตโดยตรง คุณควรพิจารณาใช้บริการเช่น Cloudflare, Fastly, Akamai หรือที่คล้ายกัน เพื่อป้องกันตัวเองจากการโจมตีที่หลากหลายรวมถึงการโจมตี Distributed Denial of Service (DDoS) การโจมตีแบบ Denial of Service (DoS) เป็นการโจมตีประเภทหนึ่งที่ผู้โจมตีมีเป้าหมายที่จะครอบงำเว็บไซต์ด้วยคำขอ และด้วยเหตุนี้เอง จึงป้องกันไม่ให้เว็บเซิร์ฟเวอร์ของคุณให้บริการคำขอกับผู้ใช้ที่ถูกกฎหมาย

นอกเหนือจากการลดการปฏิเสธบริการแล้ว บริการคลาวด์ดังกล่าวโดยทั่วไปยังมีความสามารถไฟร์วอลล์แอปพลิเคชันเว็บ (WAF) ซึ่งสามารถหยุดการโจมตีแอปพลิเคชันบนเว็บจำนวนมากได้ เช่น การฉีด SQL พื้นฐาน (SQLi) และข้ามไซต์อย่างง่าย การเขียนสคริปต์ (XSS) แม้ว่า WAF จะไม่ใช่วิธีแก้ปัญหาช่องโหว่ของเว็บแอปพลิเคชัน แต่ก็มีการป้องกันจากการเอารัดเอาเปรียบ โดยเฉพาะอย่างยิ่งกับกฎ WAF ที่ได้รับการปรับให้เหมาะสมสำหรับเว็บไซต์ WordPress

ขั้นตอนต่อไปคืออะไร?

แม้ว่าบทความนี้จะกล่าวถึงเทคนิคการชุบแข็งของเว็บเซิร์ฟเวอร์ทั่วไป แต่ไม่มีสิ่งใดในด้านความปลอดภัยที่เป็นสัญลักษณ์แสดงหัวข้อย่อยสีเงิน ด้วยเหตุนี้ ไม่มีวิธีใดในการปกป้องระบบที่จะเข้าใจผิดได้ โดยเฉพาะอย่างยิ่งเมื่อต้องเผชิญหน้ากับปฏิปักษ์ที่แน่วแน่ เหตุใดคุณจึงต้องรักษาความปลอดภัยทุกองค์ประกอบที่ประกอบเป็นเว็บไซต์ WordPress ของคุณ คุณไม่สามารถรักษาความปลอดภัยเว็บเซิร์ฟเวอร์และเพิกเฉยต่อความปลอดภัยของ WordPress หรือคอมพิวเตอร์ของคุณเองได้

อย่างไรก็ตาม การแพตช์อย่างต่อเนื่อง และการปฏิบัติตามหลักปฏิบัติด้านความปลอดภัยและสุขอนามัยที่ดี สามารถเพิ่มความพยายามอย่างมากที่ผู้โจมตีจำเป็นต้องใช้เพื่อดึงการโจมตีได้สำเร็จ ซึ่งโดยส่วนใหญ่แล้วหมายถึงการทำลายผู้โจมตี บังคับให้พวกเขาไปยังเป้าหมายที่นุ่มนวลกว่า