drupal ปลอดภัยต่อการโจมตีด้วยการโจมตีแบบดุร้ายหรือไม่?


9

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

ค่าเริ่มต้นของ Drupal 7 ปลอดภัยหรือไม่ การกำหนดค่าความปลอดภัยที่มากกว่านั้นคืออะไร? โมดูลใดสามารถช่วยฉันในการลงชื่อเข้าใช้ที่ปลอดภัยยิ่งขึ้น


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

ใช่เป็นชื่อของคำถามเดรัจฉานบังคับเข้าสู่ระบบการโจมตี :(
Yusef

คำตอบ:


12

อย่างที่คุณเห็นในรหัสฟังก์ชั่นuser_login_final_validateลงทะเบียนเหตุการณ์น้ำท่วม ซึ่งหมายความว่าหาก IP เดียวกันพยายามเชื่อมต่อผู้ใช้ / รหัสผ่านเข้าสู่ระบบหลายครั้งเราจะถูก "แบน" ชั่วครู่หนึ่ง

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

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


สำหรับการจำลองรูปแบบการเข้าสู่ระบบการคัดลอกความต้องการของคุณเพียง / วางเข้าสู่ระบบ Drupal form.you สามารถทดสอบได้ถ้าคุณคัดลอก / วาง HTML ของเว็บไซต์ Drupal อื่นในไฟล์ทดสอบท้องถิ่นของคุณ (เพียงให้แน่ใจว่าการกระทำของรูปแบบคือ absolutly เปลี่ยนเส้นทางไปยังdomain.com/user/ เข้าสู่ระบบ ) เรียกใช้ localy กรอกด้วยผู้ใช้ที่ถูกต้องและผ่านคุณเห็นเข้าสู่ระบบ !!!!!
Yusef

แบบฟอร์มนี้จะทำงานตราบเท่าที่ Drupal เป็นโทเค็น (และแบบฟอร์ม) ที่แคชบนฐานข้อมูลของเขา เมื่อแคชหมดอายุฟอร์มของคุณจะไม่ทำงาน
วาน

ฉันล้างแคช แต่ยังทำงานอยู่
Yusef

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

3

นอกเหนือจากมาตรการที่ดีที่ Drupal 7 นำไปใช้ในการหยุดความพยายามในการเข้าสู่ระบบแล้วฉันขอแนะนำให้ติดตั้งโมดูล Spambotที่เกี่ยวข้องกับการลงทะเบียนผู้ใช้ใหม่โดยเฉพาะ

ในการลงทะเบียนผู้ใช้ใหม่ทุกครั้งโมดูลนั้นจะค้นหาเซิร์ฟเวอร์Stop Forum Spamเพื่อดูว่าผู้ใช้ที่พยายามลงทะเบียนเป็นบอทที่รู้จักหรือไม่

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


3

มีการควบคุมน้ำท่วม

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

ฟังก์ชั่นในการกำหนดและโต้ตอบกับระบบควบคุมน้ำท่วมหลัก

ระบบน้ำท่วมทำให้เรามีสามหน้าที่:

flood_register_event($name, $window = 3600, $identifier = NULL)

ลงทะเบียนเหตุการณ์สำหรับผู้เข้าชมปัจจุบันไปยังกลไกควบคุมน้ำท่วม

flood_clear_event($name, $identifier = NULL)

ทำให้กลไกการควบคุมน้ำท่วมลืมเกี่ยวกับเหตุการณ์สำหรับผู้เข้าชมปัจจุบัน

flood_is_allowed($name, $threshold, $window = 3600, $identifier = NULL)

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

โดยค่าเริ่มต้นจะตรวจสอบที่อยู่ ip ของผู้ใช้ แต่เราสามารถส่งตัวระบุเฉพาะอื่น ๆ เช่นรหัสผู้ใช้

ด้านบนคัดลอกมาจากการเล่นกับระบบน้ำท่วมของ Drupal


1
โปรดอย่าคัดลอกและวางจากเว็บโดยไม่มีแหล่งที่มาที่ถูกต้อง
Clive

1
@ ไคลฟ์ฉันจะดูแลมันต่อจากนี้ไป และนั่นคือสิ่งที่ฉันต้องการสื่อ
niksmac

0

เมื่อคิดถึง (และมี) ปัญหานี้ฉันได้เขียนโมดูลที่อนุญาตให้คุณป้องกันการโจมตีประเภทนี้: https://drupal.org/project/AntispammerBot

คุณสามารถเลือกบทบาทที่ปลอดภัยจำนวนโหนดที่ผู้ใช้สามารถเผยแพร่ก่อนที่จะพิจารณาว่าเป็นการโจมตีแบบสแปม ฯลฯ ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.