นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน
อ่าน: 184
ความเห็น: 0

การปกป้องหลังบ้าน Joomla ด้วย Plugin AdminExile [C]

ใน Joomla มีผู้พัฒนา Plugin สำหรับซ๋อน /administrator อยู่ตัวหนึ่ง ชื่อว่า Plugin AdminExile ซึ่งเป็นตัวที่จะมาป้องกัน /administrator ไม่ให้เข้าถึงได้อย่างง่าย ๆ

สวัสดีครับ

CMS Joomla เป็นโปรแกรมเว็บสำเร็จรูปแบบ Opensource ที่มีผู้นำไปใช้งานเป็นจำนวนมาก เนื่องจากมีเครื่องมือที่ช่วยอำนวยความสะดวก สามารถพัฒนาเว็บไซต์ได้อย่างง่ายดาย โดยที่ไม่จำเป็นต้องมีความรู้ในเรื่องของการเขียนโปรแกรม ในระบบของ Joomla จะมีช่องทางหลังบ้าน (Backend) คือ /administrator สำหรับให้ระบุ Username และ Password เพื่อเข้าไปจัดการข้อมูลด้านหลัง ซึ่งช่องทางนี้เองที่จะพบผู้ไม่หวังดีมักจะเข้ามาทำการ Brute force attack สุ่มเดา Username และ Password เพื่อเข้ามาครอบครองระบบของเรา ถ้าหากเราตั้งง่ายเกินไป ก็จะเป็นอันตรายได้ สาเหตุหนึ่งเนื่องจาก Joomla มีการพัฒนามานานแล้ว Hacker ทั่วโลกจึงรู้ช่องทางนี้เป็นอย่างดี ดังนั้น การที่เรามีอะไรสักอย่างมาป้องกัน ไม่ให้เห็นช่อง login ใน /administrator ก็จะเป็นแนวทางที่ดี

เพื่อให้ผู้อ่านมองเห็นภาพ จะให้ดูตัวอย่างจาก log ของระบบดังภาพครับ

จะเห็นว่ามีความพยายามจะ POST ข้อมูลบางอย่างเข้าไปที่หน้า /administor/indexphp ที่เป็นหลังบ้านของเว็บไซต์แห่งหนึ่ง โดยใช้เวลา 1 วินาทีในแต่ละครั้ง ซึ่งคนธรรมดาไม่สามารถทำได้อย่างแน่นอน คาดว่าน่าจะเป็นการใช้โปรแกรมบางอย่างเพื่อสุ่มเดา Password และเมื่อนำ IP Address คือ 193.33.45.161 ไปตรวจสอบก็จะพบว่าเป็นการใช้ ISP จากประเทศอังกฤษ กรณีอย่างนี้ก็ให้สันนิษฐานไว้ก่อนว่าเป็นความพยายามเข้ามาเพื่อทำอะไรบางอย่างกับเว็บไซต์ของเรา

ใน Joomla มีผู้พัฒนา Plugin สำหรับซ่อน /administrator อยู่ตัวหนึ่ง ชื่อว่า Plugin AdminExile ซึ่งเป็นตัวที่จะมาป้องกัน /administrator ไม่ให้เข้าถึงได้อย่างง่าย ๆ  โดยจะต้องมี Key พิเศษบางอย่างประกอบเข้าไปด้วยถึงจะเข้าหน้า login ได้ ดังวิธีการที่จะได้อธิบายกันต่อไป

วิธีการติดตั้งและใช้งาน มีดังนี้

1. ดาวน์โหลด Plugin ได้ที่  https://www.richeyweb.com/component/ars/repository/adminexile/adminexile-3-16-3/plg_sys_adminexile-3-16.3.zip?format=zip


2. เมื่อดาวน์โหลดเสร็จแล้ว ให้ติดตั้ง Plugin AdminExile ใน Joomla โดยมีวิธีการดังนี้

2.1 ไปที่ Extension -> Manage -> Install


2.2 จากนั้นกดปุ่ม Or browse for file จะแสดง Dialog ให้เลือกไฟล์ Plugin AdminExile


2.3 จะแสดงข้อความว่า Installation of the plugin was successful ติดตั้ง Plugin สำเร็จ


3.เมื่อติดตั้ง Plugin AdminExile แล้ว ให้ไปที่ Extensions -> Plugins แล้วคลิกเข้าไปที่ RicheyWeb - AdminExile



4. พอคลิกเข้ามา ก็จะเจอหน้าที่ใช้ตั้งค่า ซึ่งสามารถปรับแต่งได้ดังนี้


4.1 URL Access Key ใส่ตัวอักษรภาษาอังกฤษ เพื่อเป็น Key ในการเข้าใช้งาน ดังตัวอย่างคือ keysite เวลาใช้งาน ก็จะเป็น /administrator/index.php?keysite

4.2 Use Key + Value หากเปิดใช้งานให้ใส่ตัวอักษรภาษาอังกฤษ เพื่อเป็น Value เสริมอีกชั้น ในการเข้าใช้งาน ดังตัวอย่างคือ diis เวลาใช้งาน ก็จะเป็น /administrator/index.php?keysite=diis

4.3 Failure Response เป็นตัวเลือกที่ให้ระบุว่าจะให้ทำอะไรเมื่อไม่ได้เข้าด้วยวิธีการที่กำหนด ซึ่งจะมี 3 แบบ คือ

4.3.1 Homepage คือ ให้ Redirect กลับไปยังหน้าแรกของเว็บไซต์


4.3.2 Counterfeit 404 คือ ให้แสดง Eror 404 ตามที่ระบุในช่อง 404 Output


4.3.3 Custom Description คือ ให้ Redirect ไปยัง URL ที่ระบุในช่อง Custom Destination URL

ในบทความนี้จะทดสอบโดยใช้ค่าเริ่มต้นคือ ข้อ 4.3.2 Counterfeit 404


4.3.4 ให้เลือก Enable Plugin จากนั้นกดปุ่ม Save


5. ลองเข้า /administrator เพื่อทดสอบการทำงานของ Plugin จะพบว่าเมื่อเข้ามาแล้วจะแสดงหน้า Error ว่าไม่พบหน้าดังกล่าว

6. ลองเข้า /administrator ด้วย /administrator?keysite=diis ตามที่เราได้กำหนดไว้ จะพบว่าสามารถแสดงหน้า login ได้ตามปกติ


บทสรุปส่งท้าย

ข้อดีของการใช้ Plugin AdminExile ก็คือ เป็นการป้องกันการเข้าถึง /administrator จากผู้ที่ไม่หวังดีมาทำการ Brute force attack เพราะต้องอาศัย Access Key + Value ร่วมด้วย จึงจะสามารถเข้าถึงหน้า login ได้ แต่ก็มีข้อที่ควรระวังก็คือ ต้องจดจำ Access Key + Value ให้ได้เช่นกัน ไม่เช่นนั้นจะเข้าด้านหลังของ Joomla ไม่ได้อีกเลย

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

ขอบคุณครับ


อ้างอิง

https://www.richeyweb.com/software/joomla/plugins/1-adminexile

หมวดหมู่บันทึก: เรื่องทั่วไป
คำสำคัญ (keywords): joomla  plugin  AdminExile  Brute force
สัญญาอนุญาต: ซีซี: แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน Cc-by-nc-sa
สร้าง: 27 พฤศจิกายน 2563 22:55 แก้ไข: 03 ธันวาคม 2563 13:56 [ แจ้งไม่เหมาะสม ]
ดอกไม้
สมาชิกที่ให้กำลังใจ: Ico24 โอ๋-อโณ.
สมาชิกที่ให้กำลังใจ
 
Facebook
Twitter
Google

บันทึกอื่นๆ

ความเห็น

ไม่มีความเห็น
คุณต้องทำการเข้าระบบก่อนแสดงความเห็น