ปัญหาด้านความปลอดภัยที่สำคัญของ WordPress ที่คุณทราบคืออะไร?
เผยแพร่แล้ว: 2022-03-04WordPress เป็นระบบจัดการเนื้อหา (CMS) ที่ได้รับความนิยมมากที่สุดทั่วโลก โดยมีอำนาจมากกว่าหนึ่งใน สามของเว็บไซต์ทั้งหมดที่มีอยู่ใน ปัจจุบัน ความนิยมยังทำให้เป็นเป้าหมายที่น่าดึงดูดสำหรับการโจมตีทางไซเบอร์ และมีช่องโหว่ด้านความปลอดภัยด้วยเช่นกัน
แม้ว่า WordPress อาจมีปัญหาด้านความปลอดภัยของตัวเอง แต่ก็ไม่ใช่แพลตฟอร์มเดียวที่ตกเป็นเป้าหมายของอาชญากรไซเบอร์ ด้วยการขโมยข้อมูลกลายเป็นธุรกิจที่ทำกำไรได้สูง ตั้งแต่บล็อกส่วนตัวไปจนถึงเว็บไซต์ธุรกิจขนาดใหญ่ ไม่มีใครปลอดภัยจากภัยคุกคามที่อาจเกิดขึ้นจากผู้มุ่งร้าย ไม่ว่าเว็บไซต์ของคุณจะเป็นบล็อกขนาดเล็กหรือธุรกิจขนาดใหญ่ คุณจำเป็นต้องรู้ วิธีรักษาความปลอดภัยเว็บไซต์ของคุณ โดยไม่คำนึงถึงจุดประสงค์ ด้านบนของรายการใด ๆ ควรติดตั้งปลั๊กอินสำรอง UpdraftPlus – ปลั๊กอินสำรองที่ได้รับความนิยมสูงสุดและมีคะแนนสูงสุดในโลก ในกรณีที่คุณควรพบว่าตัวเองตกเป็นเหยื่อของการโจมตี อย่างน้อยคุณก็สบายใจได้ว่าคุณมีข้อมูลสำรองที่ปลอดภัยเพื่อกู้คืนไซต์ของคุณ
ต่อไปนี้คือปัญหาด้านความปลอดภัยของ WordPress ที่คุณควรรู้และวิธีจัดการกับปัญหาเหล่านี้
1. ระบบปลั๊กอิน
ส่วนหนึ่งของสิ่งที่ทำให้ WordPress เป็นที่นิยมคือความเป็นโมดูล คุณสามารถขยายคุณสมบัติพื้นฐานได้อย่างรวดเร็วและง่ายดายด้วยระบบปลั๊กอิน ขออภัย ปลั๊กอินบางตัวไม่ได้สร้างขึ้นตามมาตรฐานระดับสูงของ UpdraftPlus และบางปลั๊กอินอาจแนะนำช่องโหว่ใหม่ให้กับเว็บไซต์ WordPress ของคุณ
ตัวอย่างเช่น ปลั๊กอิน 'PWA for WP & AMP' เปิดเผยเว็บไซต์ WordPress กว่า 20,000 เว็บไซต์ ต่อช่องโหว่ในการควบคุมการเข้าถึง เนื่องจากอนุญาตให้อัปโหลดไฟล์ได้ตามอำเภอใจ ผู้โจมตีจึงสามารถรันโค้ดจากระยะไกลและเข้าควบคุมเว็บไซต์ที่ใช้ปลั๊กอินนี้ได้ ผู้ใช้ควรทราบสองสิ่งจากตัวอย่างนี้ อย่างแรกคือการจำกัดจำนวนปลั๊กอินที่ใช้ในไซต์ WordPress ของคุณหากเป็นไปได้ ประการที่สองคือการตรวจสอบให้แน่ใจว่าแอปพลิเคชันทั้งหมดของคุณ รวมถึงปลั๊กอินและเวอร์ชัน WordPress ได้รับการอัปเดตเป็นประจำ การอัปเดตบางครั้งเพิ่มคุณสมบัติใหม่ แต่จุดประสงค์หลักคือเพื่อแก้ไขช่องโหว่ที่ค้นพบใหม่
2. การโจมตีด้วยการฉีด SQL
ข้อมูลเป็นสินค้าใหม่และมีมูลค่าสูง และเหตุผลหนึ่งที่ผู้โจมตีกำหนดเป้าหมายเว็บไซต์คือการขโมยข้อมูลที่เก็บไว้ในฐานข้อมูล SQL Injections เป็นวิธีที่ได้รับความนิยมในการทำเช่นนี้ โดยผู้โจมตีจะฝังคำสั่ง SQL บนเว็บไซต์ที่อาจเป็นอันตรายต่อข้อมูลที่ละเอียดอ่อน
หากคุณสงสัยว่าสิ่งนี้เกิดขึ้นได้อย่างไร ลองนึกถึงรูปแบบเฉลี่ยที่คุณจะพบในเว็บไซต์ WordPress จำนวนมาก อนุญาตให้ผู้ใช้ให้ข้อมูลเช่นชื่อผู้ใช้และรหัสผ่านสำหรับการเข้าสู่ระบบ หากผู้โจมตีแทรกโค้ด SQL ลงในฟิลด์เหล่านี้ ฐานข้อมูลพื้นฐานอาจประมวลผลโค้ดนั้นและดำเนินการที่ไม่คาดคิด มีหลายวิธีที่คุณสามารถป้องกันการโจมตีด้วยการฉีด SQL ได้ แต่วิธีที่พบบ่อยที่สุดคือการใช้การตรวจสอบอินพุตที่เข้มงวด ตัวอย่างเช่น คุณสามารถเพิ่มโค้ดต่อไปนี้ในไฟล์ .htaccess ของคุณเพื่อให้แน่ใจว่าอินพุตทั้งหมดไม่รวมอยู่ในคิวรี SQL
# เปิดใช้งานเครื่องมือเขียนใหม่ RewriteEngine บน RewriteRule ^(.*)$ – [F,L] # บล็อกการฉีด MySQL RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [หรือ] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(..//?)+ [หรือ] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC,OR] RewriteCond %{QUERY_STRING} =PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4} -[0-9a-f]{12} [NC,OR] RewriteCond %{QUERY_STRING} (../|..) [หรือ] RewriteCond %{QUERY_STRING} ftp: [NC,OR] RewriteCond %{QUERY_STRING} http: [NC,OR] RewriteCond %{QUERY_STRING} https: [NC,OR] RewriteCond %{QUERY_STRING} =|w| [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)/self/(.*)$ [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)cPath=http://(.*)$ [NC,OR] RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} (<|%3C).*iframe.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} (<|%3C)([^i]*i)+frame.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>).* [NC,OR] RewriteCond %{QUERY_STRING} (NULL|OUTFILE|LOAD_FILE) [OR] RewriteCond %{QUERY_STRING} (./|../|…/)+(motd|etc|bin) [NC,OR] RewriteCond %{QUERY_STRING} (localhost|loopback|127.0.0.1) [NC,OR] RewriteCond %{QUERY_STRING} (<|>|'|%0A|%0D|%27|%3C|%3E|%00) [NC,OR] RewriteCond %{QUERY_STRING} เชื่อมต่อ[^(]*( [NC,OR] RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR] RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR] RewriteCond %{QUERY_STRING} (sp_executesql) [NC] RewriteRule ^(.*)$ – [F,L] |
3. การโจมตีแบบสคริปต์ข้ามไซต์
เช่นเดียวกับการโจมตี SQL Injection Cross-site scripting (XSS) พยายามแทรกโค้ดที่เป็นอันตรายลงในเว็บไซต์ที่มีช่องโหว่ ตัวอย่างหนึ่งคือการโพสต์ข้อมูลที่นำผู้ใช้เว็บไซต์ไปยังเว็บไซต์อื่นที่พยายามขโมยข้อมูลส่วนบุคคล สถานการณ์นี้อาจเป็นอันตรายได้เนื่องจากเว็บไซต์อื่นอาจไม่จำเป็นต้องป้อนข้อมูลจากผู้ใช้ด้วยซ้ำ สามารถสแกนข้อมูลระบุตัวตนของผู้ใช้ เช่น คุกกี้ โทเค็นเซสชัน และอื่นๆ
โดยทั่วไป คุณสามารถป้องกันการโจมตี XSS ได้โดยใช้ Web Application Firewall (WAF) เครื่องมือที่มีประโยชน์นี้ช่วยให้คุณสามารถบล็อกการเข้าชมเฉพาะบนเว็บไซต์ได้ ปลั๊กอินความปลอดภัย WordPress ชั้นนำส่วนใหญ่เช่น All In One WP Security & Firewall จะมีคุณสมบัตินี้ หากคุณต้องการมุ่งเน้นที่การใช้งานเว็บไซต์ WordPress ของคุณและต้องการปล่อยให้ผู้เชี่ยวชาญมี ความปลอดภัย One WP Security & Firewall เป็นวิธีที่ยอดเยี่ยมในการทำเช่นนั้น ไม่เพียงแต่ช่วยให้คุณบล็อกการโจมตีส่วนใหญ่เท่านั้น แต่ยังสามารถสแกนเว็บไซต์ WordPress ของคุณเพื่อหาช่องโหว่ที่คุณอาจไม่ทราบ
4. การโจมตีด้วยกำลังดุร้าย
WordPress ใช้ระบบข้อมูลประจำตัวที่อนุญาตให้ผู้ดูแลระบบและผู้ใช้ที่ได้รับอนุญาตรายอื่นเข้าถึงคุณลักษณะการควบคุมของตนได้ น่าเสียดายที่ผู้ใช้จำนวนมากมักใช้รหัสผ่านที่ไม่รัดกุมและชัดเจน รหัสผ่านที่ใช้กำลังดุร้ายใช้สคริปต์ที่พยายามเข้าสู่ระบบอย่างต่อเนื่องและพยายามเข้าสู่ระบบหลาย ๆ ครั้งในไซต์ WordPress จนกว่าจะสำเร็จ สคริปต์นี้ทำงานร่วมกับฐานข้อมูลที่มีพจนานุกรมของชื่อผู้ใช้และรหัสผ่านที่ใช้กันทั่วไป (เช่น Admin และ Password1) โดยหวังว่าคุณจะเลือกชุดค่าผสมเหล่านี้โดยไม่ต้องคำนึงถึงความเสี่ยง
อย่างไรก็ตาม คุณสามารถทำหลายสิ่งหลายอย่างเพื่อจำกัดประสิทธิภาพของการโจมตีด้วยกำลังเดรัจฉาน
- ใช้รหัสผ่านที่ซับซ้อนและไม่ซ้ำกัน
- บล็อกการเข้าถึงไดเรกทอรีผู้ดูแลระบบ WordPress
- เพิ่มการตรวจสอบสิทธิ์สองปัจจัย (2FA)
- ปิดใช้งานการเรียกดูไดเรกทอรี
- จำกัดจำนวนครั้งในการเข้าสู่ระบบ
5. การปฏิเสธการโจมตีบริการแบบกระจาย
การโจมตีแบบปฏิเสธการให้บริการ (DDoS) แบบกระจายประกอบด้วยคำขอจำนวนมากที่กำหนดเป้าหมายเว็บไซต์ น้ำท่วมนี้มีจุดมุ่งหมายเพื่อทำให้เว็บไซต์พิการ ทำให้ผู้เข้าชมปกติไม่สามารถเข้าถึงได้เนื่องจากไม่สามารถรับมือกับปริมาณคำขอได้ แม้ว่า DDoS จะไม่ซ้ำกับ WordPress แต่เว็บไซต์ที่ใช้ CMS นี้อาจมีความเสี่ยงเป็นพิเศษ เนื่องจากต้องใช้ทรัพยากรมากกว่าในการให้บริการคำขอมากกว่าเว็บไซต์แบบสแตติกทั่วไป อย่างไรก็ตาม การป้องกันน้ำท่วม DDoS ที่กำหนดอาจเป็นไปไม่ได้ แต่แม้แต่องค์กรที่โดดเด่นที่สุดก็ยังยอมจำนนต่อการโจมตีเหล่านี้ ตัวอย่างหนึ่งคือการ โจมตี GitHub ในปี 2018 ซึ่งเว็บไซต์ของพวกเขาอยู่ภายใต้การโจมตี DDoS น้ำท่วม 20 นาที
โดยทั่วไปแล้ว เว็บไซต์ขนาดเล็กไม่ใช่เป้าหมายของปริมาณมหาศาลดังกล่าว อย่างไรก็ตาม ในการบรรเทาคลื่น DDoS ที่มีขนาดเล็กลง ตรวจสอบให้แน่ใจว่าคุณใช้เครือข่ายการกระจายเนื้อหา (CDN) เครือข่ายเซิร์ฟเวอร์เหล่านี้สามารถช่วยปรับสมดุลการโหลดที่เข้ามาและช่วยในการให้บริการเนื้อหาได้เร็วขึ้น
6. การโจมตีด้วยการร้องขอข้ามไซต์
การโจมตีแบบคำขอปลอมข้ามไซต์ (CSRF) เป็นอีกวิธีหนึ่งที่ผู้โจมตีบังคับให้เว็บแอปพลิเคชันเช่น WordPress รู้จักการรับรองความถูกต้องปลอม WordPress มีความเสี่ยงเป็นพิเศษเนื่องจากไซต์เหล่านี้มักมีข้อมูลรับรองผู้ใช้จำนวนมาก การโจมตี CSRF นั้นคล้ายกับการโจมตี XSS ที่กล่าวถึงก่อนหน้านี้ในหลาย ๆ ด้าน ข้อแตกต่างที่สำคัญคือ CSRF ต้องการเซสชันการตรวจสอบสิทธิ์ ในขณะที่ XSS ไม่ต้องการ เป้าหมายสูงสุดคือการเบี่ยงเบนความสนใจของผู้เยี่ยมชมไปยังตำแหน่งอื่นเพื่อขโมยข้อมูล
การป้องกัน CSRF จำเป็นต้องมีการใช้งานที่ระดับปลั๊กอินในกรณีส่วนใหญ่ นักพัฒนามักใช้โทเค็นต่อต้าน CSRF เพื่อเชื่อมโยงเซสชันกับผู้ใช้เฉพาะ เจ้าของเว็บไซต์ WordPress สามารถพึ่งพาการอัปเดตปลั๊กอินและเทคนิคการเสริมความแข็งแกร่งของเว็บไซต์ทั่วไปเท่านั้นเพื่อช่วยป้องกันการโจมตี CSRF
การกระทำที่แข็งกระด้างบางอย่างที่อาจใช้ได้ ได้แก่
- ปิดการใช้งานโปรแกรมแก้ไขไฟล์
- บล็อกเป้าหมายของการดำเนินการ PHO
- การนำ 2FA ไปใช้
ความคิดสุดท้ายเกี่ยวกับปัญหาด้านความปลอดภัยของ WordPress
บางครั้งมีความเข้าใจผิดว่า WordPress เป็นเว็บแอปพลิเคชันที่มีความเสี่ยงสูง อย่างไรก็ตาม นี่ไม่ใช่ข้อเรียกร้องที่ยุติธรรมโดยสิ้นเชิง ส่วนหนึ่งเกิดจากการใช้ WordPress อย่างแพร่หลาย แต่เหตุผลที่สำคัญกว่านั้นคือความล้มเหลวของเจ้าของเว็บไซต์ในการใช้มาตรการป้องกันที่เหมาะสมที่จำเป็น
เรามักคำนึงถึงความปลอดภัยโดยไม่คำนึงถึงผลที่จะตามมาจากการเลือกรหัสผ่านง่ายๆ อย่างไรก็ตาม เจ้าของเว็บไซต์ต้องรับผิดชอบไม่เพียงแต่เพื่อความสมบูรณ์ของเว็บไซต์เท่านั้น แต่ยังต้องรับผิดชอบต่อความปลอดภัยของข้อมูลผู้ใช้ด้วย
ประวัติผู้แต่ง
Pui Mun Beh เป็นนักการตลาดดิจิทัล ของ WebRevenue
โพสต์ ประเด็นด้านความปลอดภัยที่สำคัญของ WordPress ที่คุณทราบคืออะไร? ปรากฏตัวครั้งแรกใน UpdraftPlus UpdraftPlus – ปลั๊กอินสำรอง กู้คืน และย้ายข้อมูลสำหรับ WordPress