แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยของ WordPress

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

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

เมื่อสัปดาห์ที่แล้ว ฉันได้จัดการสนทนาทางเว็บเพื่อชี้แจงข้อกังวลด้านความปลอดภัยของ WordPress เข้าร่วมกับฉันในเซสชั่นคือ Ayush Malakar (full-stack และนักพัฒนา WordPress ที่ Fresh Consulting) และ Sean O'Shaughnessy (หัวหน้าฝ่ายวิศวกรรม WordPress VIP Solutions)

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

ซอฟต์แวร์โอเพ่นซอร์สปลอดภัยหรือไม่?

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

ไม่จำเป็น Ayush พูดว่า: "เนื่องจากเรามีสายตาจำนวนมากที่มองเข้าไปจึงปลอดภัยกว่า"

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

จับตาดูภัยคุกคามที่อาจเกิดขึ้นมากขึ้น

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

การทดสอบโค้ดอย่างต่อเนื่องและรางวัลบั๊ก

ทุกคนสามารถมีส่วนร่วมใน WordPress และโค้ดนี้ได้รับการทดสอบโดยชุมชนของผู้ร่วมให้ข้อมูลหลักของ WordPress หลายพันคน เนื่องจากโค้ดได้รับการทดสอบอย่างต่อเนื่อง จึงมีความน่าเชื่อถือมากขึ้น

นอกจากนี้ โปรแกรมหาบั๊กยังสนับสนุนให้สาธารณชนค้นหาช่องโหว่และช่องโหว่ รวมถึงการโจมตีด้วยกำลังดุร้าย, DDoS, ฟิชชิ่ง และอื่นๆ

อัพเดทความปลอดภัย

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

รหัสของฉันปลอดภัยหรือไม่?

คอร์ของ WordPress เป็นเพียงหนึ่งใน "ที่เก็บข้อมูล" ของโค้ดที่ประกอบขึ้นเป็นเว็บไซต์ WordPress ซอฟต์แวร์ที่พัฒนาขึ้นโดยชุมชนคือโค้ดแอปพลิเคชันของเว็บไซต์ — ธีมหรือส่วนหน้าของเว็บไซต์ และปลั๊กอิน

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

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

ผู้เชี่ยวชาญการสัมมนาผ่านเว็บของเรามีคำแนะนำดังนี้

เครื่องมือเพื่อความปลอดภัยของ WordPress

มีเครื่องมือหลายอย่างที่นักพัฒนาสามารถใช้เพื่อช่วยระบุข้อบกพร่องด้านความปลอดภัยในโค้ดของบุคคลที่หนึ่งและบุคคลที่สาม

“เมื่อใดก็ตามที่เราพูดถึงเครื่องมือ เราต้องเข้าใจว่าอะไรคือข้อดีและข้อเสียของเครื่องมือเหล่านี้ และเราควรใช้เครื่องมือให้เกิดประโยชน์สูงสุดอย่างไร”

— Ayush Malakar ที่ปรึกษาสด

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

สิ่งสำคัญคือต้องชั่งน้ำหนักประโยชน์ของมนุษย์เทียบกับเครื่องจักรที่ทำการวิเคราะห์โค้ดนี้ การเรียนรู้ของเครื่อง (ML) และปัญญาประดิษฐ์ (AI) สามารถใช้เป็นแนวป้องกันแรกเพื่อให้แน่ใจว่ามีการระบุหลักทรัพย์ทั่วไป แต่การที่มนุษย์ดูโค้ดในภายหลังก็มีประโยชน์เช่นกัน สิ่งนี้ทำให้แน่ใจได้ว่ามนุษย์สามารถทำงานได้ในด้านต่างๆ เช่น ช่องโหว่ตามฟีเจอร์ เคสขอบ ฯลฯ

เครื่องมือบางอย่างที่ผู้เชี่ยวชาญของเราแนะนำ:

  • WPScan เป็นเครื่องมือ CLI ที่นักพัฒนาสามารถใช้สแกนโค้ดเพื่อหาช่องโหว่ด้านความปลอดภัย Ayush แนะนำให้นักพัฒนารันสิ่งนี้ในงาน cron
  • PHP_CodeSniffer (PHPCS) ตรวจสอบโค้ดและเน้นปัญหาต่างๆ ตั้งแต่ไวยากรณ์จนถึงช่องโหว่ด้านความปลอดภัย มีชุดมาตรฐานเฉพาะสำหรับ WordPress สามารถตั้งค่าให้ทำงานในไปป์ไลน์แบบต่อเนื่อง (CI) และทำงานในที่เก็บวีไอพีของ WordPress ทั้งหมด
  • Sonar Cloud ที่ Fresh Consulting ใช้สำหรับการวิเคราะห์สแตติกโค้ด จะสแกนโค้ด PHP และ JS เพื่อหาช่องโหว่และการใช้งานที่ปลอดภัยยิ่งขึ้น

“เรากำลังตรวจสอบข้อมูลเข้าในปริมาณที่เหมาะสมหรือไม่? เรากำลังฆ่าเชื้อเอาต์พุตที่เราจะต้องมีในโค้ดของเราอย่างถูกต้องหรือไม่”

— Sean O'Shaughnessy, WordPress VIP

ความปลอดภัยและปลั๊กอิน WordPress

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

อย่าใช้ปลั๊กอินที่คุณสามารถเขียนเองได้ โดยเฉพาะอย่างยิ่งในกรณีที่จำเป็นต้องใช้โค้ดเพียงเล็กน้อย ให้เขียนโค้ดนี้ในธีมของคุณแทนการใช้ปลั๊กอิน เพื่อให้แน่ใจว่าจะไม่มีการแนะนำช่องโหว่เมื่ออัปเดตปลั๊กอิน

“สิ่งที่ฉันอยากจะแนะนำคือการเขียนโค้ดในธีมนั้นเอง เพราะสิ่งที่ฉันเคยเห็นในอดีตคือปลั๊กอินที่ทำงานน้อยมากในการอัปเดตใดๆ และมีโอกาสที่เทคโนโลยีจะพัฒนาขึ้น ปลั๊กอินเหล่านั้นก็ไม่เป็นเช่นนั้น ศักยภาพของปลั๊กอินที่แนะนำช่องโหว่อาจสูงกว่าที่เราคาดไว้”

— Ayush Malakar ที่ปรึกษาสด

และเช่นเคย การอัปเดตโค้ดของคุณอยู่เสมอเป็นสิ่งสำคัญ ระวังการอัปเดตหลักและปลั๊กอิน และทำให้ WordPress, ปลั๊กอิน และธีมทันสมัยอยู่เสมอ

ความปลอดภัยและปลายทาง WordPress

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

XML-RPC เป็นเวกเตอร์โจมตีที่อาจเกิดขึ้น

XML-RPC เป็นข้อกำหนดที่ช่วยให้สามารถสื่อสารระหว่าง WordPress และระบบอื่นๆ ใน WordPress เวอร์ชันแรกๆ XML-RPC ถูกปิดโดยค่าเริ่มต้น แต่ตั้งแต่เวอร์ชัน 3.5 มันถูกเปิดใช้งานโดยค่าเริ่มต้น สาเหตุหลักคือการอนุญาตให้แอพ WordPress มือถือพูดคุยกับการติดตั้ง WordPress ของคุณ

REST API เป็นเวกเตอร์การโจมตีที่อาจเกิดขึ้นได้

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

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

— Sean O'Shaughnessy, WordPress VIP

โฮสติ้งของฉันปลอดภัยหรือไม่?

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

“ผู้ให้บริการโฮสติ้งของคุณให้การสนับสนุนที่รวดเร็วและเป็นเชิงรุกหรือไม่? นอกจากนี้ พวกเขาจะตอบสนองอย่างไรเมื่อมีการเผยแพร่ช่องโหว่ของแอปพลิเคชันหรือปลั๊กอิน”

— Sean O'Shaughnessy, WordPress VIP

โดยรวมแล้ว ให้มองหาแพลตฟอร์มที่ถือว่ามีความรับผิดชอบร่วมกัน คุณลักษณะบางอย่างที่ต้องพิจารณา ได้แก่ :

สิทธิ์ของระบบไฟล์

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

การจัดตู้คอนเทนเนอร์

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

การควบคุมเวอร์ชัน

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

บริษัทของฉันสามารถบังคับใช้การรักษาความปลอดภัย WordPress ได้อย่างไร

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

“ในระดับองค์กร สิ่งสำคัญคือต้องคิดในแง่ของการวางการพิสูจน์ตัวตนอย่างต่อเนื่องหรือการตรวจสอบความถูกต้องอย่างต่อเนื่องหลายชั้น”

— Sean O'Shaughnessy, WordPress VIP

Zero trust และการจัดการการเข้าถึงที่มีสิทธิพิเศษน้อยที่สุด

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

สุขอนามัยของรหัสผ่าน

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

การ์ตูน XKCD

2FA และ SSO

แม้ว่าเทคโนโลยีการรับรองความถูกต้องด้วยสองปัจจัย (2FA) และการลงชื่อเพียงครั้งเดียว (SSO) จะไม่เพิ่มความปลอดภัยให้กับเว็บไซต์ของคุณโดยเนื้อแท้ แต่ก็ให้ประโยชน์จากการจัดการผู้ใช้แบบรวมศูนย์ในแอปพลิเคชันที่รองรับทั้งหมด

ประเด็นด้านความปลอดภัยที่สำคัญของ WordPress

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

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