การจำกัดอัตราและการล็อกบัญชีเพื่อป้องกันการโจมตี
พิจารณาการป้องกันฝั่งเซิร์ฟเวอร์และระดับโพรโทคอลที่ทำให้การโจมตีแบบเดารหัสทุกความเป็นไปได้ทำได้ยากในทางปฏิบัติ
การจำกัดอัตราและการล็อกบัญชีเพื่อป้องกันการโจมตี เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน
การไล่ลองทุกค่าแบบออนไลน์กับแบบออฟไลน์
การโจมตีแบบไล่ลองทุกค่าออนไลน์จะยืนยันตัวตนกับระบบที่กำลังให้บริการผ่านเครือข่าย ความพยายามแต่ละครั้งใช้เวลาเดินทางไปกลับอย่างน้อยหนึ่งรอบ โดยทั่วไปคือ 50–500 มิลลิวินาที ทำให้ผู้โจมตีลองได้ดีที่สุดเพียงไม่กี่พันครั้งต่อนาที ซึ่งช้ากว่าการเจาะแฮชแบบออฟไลน์อย่างมาก การจำกัดอัตราและการล็อกบัญชีอาศัยข้อจำกัดนี้เพื่อทำให้การไล่ลองทุกค่าออนไลน์แทบเป็นไปไม่ได้ภายในกรอบเวลาที่สมเหตุสมผล
การล็อกบัญชีหลังพยายามไม่สำเร็จครบ N ครั้ง
การป้องกันการไล่ลองทุกค่าออนไลน์ที่ง่ายที่สุดคือการล็อกบัญชีหลังจากมีความพยายามเข้าสู่ระบบที่ล้มเหลวติดต่อกันตามจำนวนที่กำหนด โดยทั่วไปคือ 5 ถึง 10 ครั้ง บัญชีอาจถูกล็อกเป็นระยะเวลาคงที่ เช่น 15 นาที หรือจนกว่าผู้ดูแลระบบจะปลดล็อกด้วยตนเอง การล็อกบัญชีเปลี่ยนการโจมตีแบบไล่ลองทุกค่าจากการพยายามถอดรหัสผ่านให้กลายเป็นการโจมตีเพื่อทำลายความพร้อมใช้งานของบัญชี
ความเสี่ยงจากการปฏิเสธการให้บริการเนื่องจากการล็อกบัญชี
การล็อกบัญชีก่อให้เกิดช่องโหว่ต่อการปฏิเสธการให้บริการ ผู้โจมตีที่รู้ชื่อผู้ใช้ที่ถูกต้องสามารถล็อกทุกบัญชีได้ด้วยการส่งความพยายามที่ล้มเหลว 5 ครั้งสำหรับแต่ละบัญชี นี่เป็นข้อแลกเปลี่ยนที่มีอยู่ในนโยบายการล็อกบัญชี บางระบบใช้การล็อกชั่วคราวเป็นเวลา 5 นาทีแทนการล็อกถาวรเพื่อลดผลกระทบจากการปฏิเสธการให้บริการ ส่วนบางระบบไม่ล็อกบัญชีเลย แต่ใช้การหน่วงเวลาแบบเอ็กซ์โพเนนเชียลเพื่อชะลอผู้โจมตีโดยไม่เปิดช่องให้เกิดการปฏิเสธการให้บริการ
CAPTCHA ในฐานะเครื่องมือยับยั้งบอต
CAPTCHA (การทดสอบทัวริงสาธารณะที่ทำงานโดยอัตโนมัติอย่างสมบูรณ์เพื่อแยกคอมพิวเตอร์ออกจากมนุษย์) กำหนดให้แก้โจทย์ท้าทายแบบภาพหรือเสียง ซึ่งมนุษย์ทำได้ง่ายแต่บอตอัตโนมัติทำได้ยาก Google reCAPTCHA v3 ใช้การวิเคราะห์พฤติกรรมแทนโจทย์ท้าทายที่แสดงโดยตรง โดยกำหนดคะแนนความเสี่ยงจากการเคลื่อนไหวของเมาส์ เวลา และประวัติการเรียกดู CAPTCHA ชะลอการไล่ลองทุกค่าแบบอัตโนมัติได้อย่างมากโดยไม่ต้องล็อกบัญชี
การหน่วงเวลาแบบเอ็กซ์โพเนนเชียลสำหรับความพยายามที่ล้มเหลว
การหน่วงเวลาแบบเอ็กซ์โพเนนเชียลจะเพิ่มเวลารอระหว่างความพยายามเข้าสู่ระบบที่อนุญาตหลังจากเกิดความล้มเหลวแต่ละครั้ง ได้แก่ 1 วินาทีหลังความล้มเหลวครั้งแรก 2 วินาทีหลังครั้งที่สอง 4 วินาทีหลังครั้งที่สาม และเพิ่มขึ้นในลักษณะเดียวกัน หลังจากล้มเหลว 10 ครั้ง เวลารอจะมากกว่า 17 นาที วิธีนี้ทำให้การไล่ลองทุกค่าช้าลงอย่างมากโดยไม่ต้องล็อกบัญชีทั้งหมด จึงหลีกเลี่ยงความเสี่ยงจากการปฏิเสธการให้บริการและยังยับยั้งการโจมตีแบบอัตโนมัติได้
การจำกัดอัตราตาม IP
การจำกัดอัตราตาม IP จะบล็อกหรือเรียกการตรวจสอบเพิ่มเติมสำหรับความพยายามเข้าสู่ระบบจากที่อยู่ IP ที่เกินเกณฑ์ความล้มเหลวต่อหน่วยเวลา หาก IP หนึ่งส่งความพยายามเข้าสู่ระบบที่ล้มเหลว 50 ครั้งภายในหนึ่งนาที ความพยายามถัดไปจาก IP นั้นจะถูกบล็อกเป็นเวลาหนึ่งชั่วโมง การโจมตีแบบกระจายที่ใช้เครือข่ายบอตซึ่งมีที่อยู่ IP ต่างกันหลายพันรายการสามารถหลบเลี่ยงขีดจำกัดแบบง่ายที่ใช้ต่อ IP ได้ จึงต้องใช้การตรวจจับความถี่ของการส่งคำขอที่ซับซ้อนกว่าโดยอาศัยสัญญาณหลายรูปแบบ
TOTP ในการยับยั้งการไล่ลองทุกค่า
รหัสผ่านใช้ครั้งเดียวแบบอิงเวลา (TOTP ซึ่งใช้ใน Google Authenticator และแอปที่คล้ายกัน) จะสร้างรหัส 6 หลักที่ใช้ได้เป็นเวลา 30 วินาที แม้ผู้โจมตีจะไล่ลองจนได้รหัสผ่านที่ถูกต้อง ผู้โจมตีก็ยังต้องใช้รหัส TOTP ปัจจุบันด้วย เมื่อมีรหัส 6 หลักที่เป็นไปได้เพียง 1 ล้านค่าและมีช่วงเวลาเพียง 30 วินาที ช่วงเวลาที่ใช้ไล่ลอง TOTP ได้จริงจึงสั้นมาก MFA ช่วยขจัดการไล่ลองรหัสผ่านในฐานะช่องทางการโจมตีที่ใช้งานได้จริง
ปัจจัยการทำงานของ bcrypt ช่วยชะลอการคำนวณแฮช
bcrypt เป็นฟังก์ชันแฮชรหัสผ่านที่กำหนดปัจจัยต้นทุนได้ ที่ต้นทุนระดับ 10 bcrypt ใช้เวลาประมาณ 100 มิลลิวินาทีในการแฮชรหัสผ่านหนึ่งรายการ ที่ต้นทุนระดับ 12 ใช้เวลาประมาณ 400 มิลลิวินาที ซึ่งหมายความว่าผู้โจมตีที่เจาะแฮช bcrypt แบบออฟไลน์สามารถทดสอบรหัสผ่านได้มากที่สุดเพียงไม่กี่ร้อยรายการต่อวินาทีบน GPU เมื่อเทียบกับหลายพันล้านรายการต่อวินาทีสำหรับ MD5 สามารถเพิ่มปัจจัยการทำงานได้เมื่อฮาร์ดแวร์มีประสิทธิภาพสูงขึ้น เพื่อรักษาความยากในการเจาะให้คงที่
ความยากด้านหน่วยความจำของ Argon2
Argon2 ชนะการแข่งขันด้านการแฮชรหัสผ่านในปี 2015 และเป็นคำแนะนำในปัจจุบันสำหรับระบบใหม่ คุณสมบัติสำคัญคือความยากด้านหน่วยความจำ โดยต้องใช้ RAM ในปริมาณที่กำหนดค่าได้ ซึ่งโดยทั่วไปอยู่ระหว่าง 64MB ถึง 1GB ในการคำนวณ คุณสมบัตินี้ป้องกันการเร่งด้วย GPU และ ASIC เนื่องจากอุปกรณ์เหล่านี้มีแบนด์วิดท์หน่วยความจำจำกัด ผู้โจมตีที่มี GPU ซึ่งสามารถคำนวณ bcrypt แบบขนานได้หลายพันชุด จะคำนวณ Argon2 ได้เพียงไม่กี่ชุดเนื่องจากข้อจำกัดด้านหน่วยความจำ
กฎ WAF สำหรับการโจมตีด้วยการยัดข้อมูลรับรอง
ไฟร์วอลล์แอปพลิเคชันเว็บสามารถตรวจจับการโจมตีด้วยการยัดข้อมูลรับรองได้โดยระบุรูปแบบในปริมาณการรับส่งข้อมูลการเข้าสู่ระบบที่ล้มเหลว เช่น ปริมาณสูงจาก IP เดียว ความพยายามที่ใช้รายการชื่อผู้ใช้ทั่วไป การกระจายทางภูมิศาสตร์ของความพยายามเข้าสู่ระบบที่ผิดปกติ และรูปแบบเวลาที่สอดคล้องกับเครื่องมืออัตโนมัติ กฎ WAF สามารถบล็อก เรียกการตรวจสอบเพิ่มเติม หรือชะลอการรับส่งข้อมูลที่น่าสงสัยก่อนถึงแอปพลิเคชัน WAF สมัยใหม่ผสานรวมแหล่งข้อมูลข่าวกรองภัยคุกคามสำหรับช่วง IP ของเครือข่ายบอตที่รู้จัก
ส่วนเชื่อมต่อโปรแกรมประยุกต์ของ HIBP สำหรับรหัสผ่านที่ทราบว่ารั่วไหล
การผสานรวมส่วนเชื่อมต่อโปรแกรมประยุกต์ของ Have I Been Pwned เข้ากับขั้นตอนการเปลี่ยนรหัสผ่านจะป้องกันไม่ให้ผู้ใช้ตั้งรหัสผ่านที่ปรากฏในฐานข้อมูลการรั่วไหลที่ทราบแล้ว ส่วนเชื่อมต่อโปรแกรมประยุกต์นี้ใช้การไม่เปิดเผยตัวตนแบบ k โดยส่งอักขระฐานสิบหก 5 ตัวแรกของค่าแฮช SHA-1 เท่านั้น จึงช่วยปกป้องความเป็นส่วนตัวของผู้ใช้และยังจับคู่กับรหัสผ่านที่ทราบว่ารั่วไหลแล้ว 850 ล้านรายการได้ การบล็อกรหัสผ่านที่รั่วไหลตั้งแต่ขั้นตอนสมัครใช้งานช่วยกำจัดช่องโหว่จากการยัดข้อมูลรับรองได้เป็นสัดส่วนมาก
การล็อกบัญชี
ความเสี่ยงด้านความปลอดภัยหลักที่เกิดจากนโยบายการล็อกบัญชีอย่างเข้มงวดซึ่งล็อกบัญชีถาวรคืออะไร
การจำกัดอัตราและการล็อกบัญชี: ประเด็นสำคัญ
การไล่ลองทุกค่าแบบออนไลน์ถูกจำกัดด้วยความหน่วงของเครือข่าย การจำกัดอัตราและการล็อกบัญชีอาศัยข้อจำกัดนี้ การล็อกบัญชีหยุดการไล่ลองทุกค่าได้ แต่เปิดช่องให้เกิดการโจมตีแบบปฏิเสธการให้บริการ การหน่วงเวลาแบบเอ็กซ์โพเนนเชียลและ CAPTCHA ช่วยลดความเสี่ยงทั้งสองด้าน การจำกัดอัตราตาม IP ตรวจจับการโจมตีจากแหล่งเดียวได้ TOTP และ MFA ช่วยยับยั้งการไล่ลองรหัสผ่านได้อย่างมีประสิทธิภาพ bcrypt และ Argon2 ชะลอการเจาะแฮชแบบออฟไลน์ ส่วนส่วนเชื่อมต่อโปรแกรมประยุกต์ของ HIBP บล็อกรหัสผ่านที่ทราบว่ารั่วไหลตั้งแต่ขั้นตอนสมัครใช้งาน
คำถามที่พบบ่อย
บทเรียน “การจำกัดอัตราและการล็อกบัญชีเพื่อป้องกันการโจมตี” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจำกัดอัตราและการล็อกบัญชีเพื่อป้องกันการโจมตี” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจำกัดอัตราและการล็อกบัญชีเพื่อป้องกันการโจมตี”
พิจารณาการป้องกันฝั่งเซิร์ฟเวอร์และระดับโพรโทคอลที่ทำให้การโจมตีแบบเดารหัสทุกความเป็นไปได้ทำได้ยากในทางปฏิบัติ คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การจำกัดอัตราและการล็อกบัญชีเพื่อป้องกันการโจมตี” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม
ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การโจมตีแบบเดารหัสทุกความเป็นไปได้ทำงานอย่างไร
- การโจมตีด้วยพจนานุกรมและตารางสีรุ้ง
- เหตุใดความยาวกุญแจเข้ารหัสลับจึงสำคัญ
- การจำกัดอัตราและการล็อกบัญชีเพื่อป้องกันการโจมตี