1 คะแนน โดย GN⁺ 2024-06-08 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • มีการเพิ่มตัวเลือกใหม่ชื่อ PerSourcePenalties และ PerSourcePenaltyExemptList ให้กับ sshd(8)
    • PerSourcePenalties: ฟีเจอร์สำหรับตรวจจับและลงโทษพฤติกรรมของไคลเอนต์ที่ผิดปกติ
    • PerSourcePenaltyExemptList: ฟีเจอร์สำหรับยกเว้นที่อยู่ไคลเอนต์บางรายการไม่ให้ถูกลงโทษ

การตรวจจับและลงโทษพฤติกรรมผิดปกติ

  • sshd(8) สามารถตรวจจับพฤติกรรมผิดปกติ เช่น ไคลเอนต์ยืนยันตัวตนล้มเหลวซ้ำๆ หรือทำให้ sshd ล่ม
  • เมื่อพบพฤติกรรมลักษณะนี้ ระบบจะลงโทษโดยปฏิเสธการเชื่อมต่อจากที่อยู่ไคลเอนต์นั้นเป็นระยะเวลาหนึ่ง
  • หากมีการกระทำผิดซ้ำ ระยะเวลาการลงโทษจะเพิ่มขึ้น

การตั้งค่าเริ่มต้นและข้อควรระวัง

  • PerSourcePenalties ปิดใช้งานไว้โดยค่าเริ่มต้น แต่มีแผนจะเปิดใช้งานเป็นค่าเริ่มต้นในเร็วๆ นี้ (ตั้งแต่ OpenBSD 7.6)
  • หากมีผู้ใช้จำนวนมากเชื่อมต่อผ่านบล็อก NAT หรือพร็อกซี อาจทำให้ทราฟฟิกที่ถูกต้องตามปกติถูกบล็อกได้
  • ควรปรับตัวเลือก PerSourcePenalties, PerSourcePenaltyExemptList, PerSourceNetBlockSize ใน sshd_config(5) ให้เหมาะกับสภาพแวดล้อมการใช้งาน

ความเห็นของ GN⁺

  • เสริมความปลอดภัย: ฟีเจอร์นี้ช่วยบล็อกความพยายามเข้าถึงที่ผิดปกติได้อย่างมีประสิทธิภาพ จึงช่วยเพิ่มความปลอดภัย
  • จัดการได้สะดวก: มีตัวเลือกสำหรับยกเว้นไคลเอนต์บางรายการจากการลงโทษ ทำให้ดูแลง่าย
  • ต้องระวังในสภาพแวดล้อม NAT: หากมีผู้ใช้จำนวนมากใช้ IP เดียวกันในสภาพแวดล้อม NAT ผู้ใช้ที่ถูกต้องอาจถูกบล็อกได้ จึงต้องระวัง
  • การเปิดใช้เป็นค่าเริ่มต้น: เมื่อเปิดใช้เป็นค่าเริ่มต้น อาจเกิดการบล็อกที่ไม่คาดคิดได้ ดังนั้นผู้ดูแลระบบควรตรวจสอบการตั้งค่าล่วงหน้า
  • ฟีเจอร์คล้ายกันในอุตสาหกรรม: ซอฟต์แวร์ SSH server อื่นๆ ก็มีฟีเจอร์ด้านความปลอดภัยที่คล้ายกัน จึงควรเปรียบเทียบและพิจารณาตามความจำเป็น

1 ความคิดเห็น

 
GN⁺ 2024-06-08
ความเห็นจาก Hacker News
  • ประสบการณ์ในการเขียนเซิร์ฟเวอร์ SSH: ใน IPv4 มีโอกาสสูงที่ผู้ใช้บริสุทธิ์จะได้รับผลกระทบเนื่องจากการใช้ CGN ส่วนใน IPv6 การได้ IP ใหม่ทำได้ง่าย จึงทำให้วิธีป้องกันนี้อาจไม่มีประสิทธิภาพ การโจมตีส่วนใหญ่เป็นเพียงการโจมตีแบบเดาสุ่มจากพจนานุกรม และแนะนำให้ใช้ SSH key
  • คำเตือนเรื่องการใช้รหัสผ่านกับ SSH: การใช้รหัสผ่านกับ SSH ที่เปิดให้เข้าถึงจากอินเทอร์เน็ตมีความเสี่ยงอย่างมาก การใช้คีย์ทั้งสะดวกและปลอดภัยกว่า
  • ความซับซ้อนของการตั้งค่า: ระบบบทลงโทษดูซับซ้อน และไม่มีการระบุค่าเริ่มต้นไว้ในเอกสาร จำเป็นต้องอ่านซอร์สโค้ด แต่ก็ไม่อยากติดตั้ง CVS client
  • การใช้โซลูชันเดิม: ใช้ fail2ban อยู่แล้ว และไม่ต้องการเพิ่มโค้ดเข้าไปใน sshd มากกว่านี้
  • ข้อดีของฟีเจอร์แบบฝังในตัว: เคยใช้ทั้ง MaxAuthTries และ fail2ban มาแล้ว และมองว่าฟีเจอร์ที่ฝังมาในตัวมีการปรับปรุงที่ดีขึ้น
  • คำวิจารณ์ต่อฟีเจอร์: การได้ IP ใหม่ทำได้ง่าย จึงอาจทำให้ฟีเจอร์นี้ไม่มีประสิทธิภาพ อีกทั้งอาจทำให้การดีบักยากขึ้น และอาจก่อปัญหาในหลายบริษัท
  • ปัญหาการโจมตีจากบอตเน็ต: อาจไม่มีประสิทธิภาพต่อการโจมตีที่ใช้บอตเน็ต
  • ข้อสงสัยเรื่องความจำเป็นของฟีเจอร์: อาจสร้างความไม่สะดวกให้กับคนที่ใช้โซลูชันเดิมอยู่แล้ว และยังต้องการการสคริปต์ที่ยืดหยุ่น
  • คำวิจารณ์ต่อแนวทางด้านความปลอดภัย: ทั้ง fail2ban และฟีเจอร์ใหม่ของ sshd เป็นแนวทางด้านความปลอดภัยที่ไม่เป็นหลักการ โดยแนะนำให้อนุญาตการล็อกอินเฉพาะจากเครือข่ายที่เชื่อถือได้เท่านั้น
  • ข้อสงสัยเรื่องความเข้ากันได้กับ OpenBSD: หลายคนไม่รู้ว่า fail2ban ถูกพอร์ตมาที่ OpenBSD แล้วหรือไม่