Cygwin SSHd Autoblock การเข้าสู่ระบบล้มเหลว


20

ฉันใช้ Cygwin ด้วย SSH deamon บนเครื่อง Windows Server 2008 ฉันกำลังดูตัวแสดงเหตุการณ์และสังเกตเห็นว่ามีความพยายามในการเข้าสู่ระบบที่ล้มเหลว 5 ถึง 6 ครั้งต่อวินาที (แรงเดรัจฉาน) สำหรับสัปดาห์ที่แล้วหรือมากกว่านั้นจาก IP ที่แตกต่างกัน

ฉันจะล็อค IP เหล่านี้โดยอัตโนมัติแทนที่จะปิดกั้นทีละคนด้วยตนเองได้อย่างไร

ขอบคุณอาห์หมัด

คำตอบ:


34

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


Windows sshd_block

sshd_block เป็นโปรแกรม VBScript ที่ทำหน้าที่เป็น sink เหตุการณ์ WMI เพื่อรับรายการบันทึกเหตุการณ์ Windows ที่บันทึกโดย sshd แยกวิเคราะห์รายการบันทึกเหล่านี้และดำเนินการกับพวกเขาดังนี้:

  • หากที่อยู่ IP พยายามเข้าสู่ระบบด้วยชื่อผู้ใช้ที่ถูกตั้งค่าสถานะเป็น "แบนทันที" ที่อยู่ IP จะถูกแบนทันที

  • หากที่อยู่ IP พยายามเข้าสู่ระบบบ่อยกว่าที่ได้รับอนุญาตในช่วงเวลาที่กำหนดที่อยู่ IP จะถูกแบน

ชื่อผู้ใช้ "แบนทันที" และเกณฑ์ที่เกี่ยวข้องกับความพยายามในการเข้าสู่ระบบซ้ำนั้นสามารถกำหนดค่าได้ในส่วน "การกำหนดค่า" ของสคริปต์ การตั้งค่าเริ่มต้นมีดังนี้:

  • แบนชื่อผู้ใช้ทันที - ผู้ดูแลระบบรากแขก
  • อนุญาตการเข้าสู่ระบบ - 5 ใน 120 วินาที (2 นาที)
  • ระยะเวลาของการแบน - 300 วินาที (5 นาที)

หนึ่งครั้งที่สองที่อยู่ IP ใด ๆ ที่ถูกแบนในช่วงเวลาแบนจะถูกแบน (โดยการลบเส้นทางหลุมดำออกจากตารางเส้นทาง)


คุณสามารถดาวน์โหลดซอฟแวร์ที่นี่และสามารถเรียกดูข้อมูลที่เก็บที่นี่

แก้ไข:

ตั้งแต่วันที่ 2010-01-20 ฉันได้อัปเดตรหัสเพื่อรองรับการใช้ "ไฟร์วอลล์ขั้นสูง" ใน Windows Vista / 2008/7/2008 R2 เพื่อจัดการการรับส่งข้อมูลสีดำโดยการสร้างกฎไฟร์วอลล์ (ซึ่งมีความสอดคล้องกับ พฤติกรรมของ "fail2ban") ฉันยังเพิ่มสตริงการจับคู่เพิ่มเติมเพื่อจับ OpenSSH เวอร์ชันที่ "ผู้ใช้ที่ไม่ถูกต้อง" ซึ่งตรงข้ามกับ "ผู้ใช้ที่ผิดกฎหมาย"


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


สคริปต์นี้จะดูดมากกว่า 10 เปอร์เซ็นต์ของ CPU ของฉันแม้ว่าจะไม่มีการโจมตีที่โหดร้ายกำลังดำเนินการ ...
jjxtra

@PsychoDad: หากคุณสนใจโปรดติดต่อฉันโดยตรงและเราจะแก้ไขปัญหา ฉันไม่เห็นพฤติกรรมที่คุณเห็น
Evan Anderson

1
ฉันต้องการจะดูสิ่งนี้สำหรับการเชื่อมต่อ RDP ขอบคุณ
boomhauer

3

บน Linux denyhosts ใช้กลอุบายไม่สามารถบอกได้ว่ามันจะทำงานบน Windows / Cygwin หรือไม่ ให้มันลอง.


2

อันนี้น่าสนใจมากเรากำลังประเมินวิธีแก้ปัญหานี้อยู่:

Syspeace ทำงานอย่างใกล้ชิดกับ Windows เพื่อตรวจจับภัยคุกคามที่อาจเกิดขึ้นด้วยประสิทธิภาพสูงสุด เหตุการณ์ในบันทึกเหตุการณ์จะถูกตรวจสอบอย่างต่อเนื่องสำหรับพฤติกรรมที่สงสัย หากเหตุการณ์ถือว่าเป็นภัยคุกคามต่อระบบ Syspeace จะดำเนินต่อไปยังระดับถัดไปโดยการตรวจสอบกับฐานกฎภายในซึ่งเพียงแค่ปิดกั้นที่อยู่ IP และเพิ่มกฎลงในไฟร์วอลล์ Windows

รายการที่อนุญาตในท้องถิ่น

ผู้ใช้สามารถเพิ่มที่อยู่ IP ลงใน Local Whitelist เพื่อป้องกันการบล็อกเครือข่ายภายในหรือเพิ่มพีซีเครื่องเดียวชั่วคราว ควรใช้ด้วยความระมัดระวังเนื่องจาก Syspeace ใด ๆ ที่อยู่ในรายการนี้ถือว่าเชื่อถือได้และจะถูกเพิกเฉยเสมอ

บัญชีดำในพื้นที่

ภัยคุกคามใด ๆ จะถูกเพิ่มไปยัง Local Blacklist โดยอัตโนมัติโดย Syspeace คุณสามารถตรวจสอบบัญชีดำและเพิ่มหรือลบออกได้ตามที่เห็นสมควร อย่างไรก็ตามเราขอแนะนำว่าคุณไม่ต้องทำการเปลี่ยนแปลงใด ๆ ในรายการนี้เนื่องจากคุณอาจปูทางสำหรับแฮ็กเกอร์ที่ไม่รู้จักโดยไม่ได้ตั้งใจ

บัญชีดำทั่วโลก

คุณสมบัติที่สำคัญของ Syspeace คือความสามารถในการบล็อกที่อยู่ IP ที่อยู่ในบัญชีดำที่รู้จักทั่วโลก ด้วยการเลือกตัวเลือกนี้ Syspeace จะนำเข้า Global Blacklist ไปยังไคลเอนต์ของคุณและดำเนินการตามนั้นเพิ่มที่อยู่ IP ที่ไม่อนุญาตทั้งหมดในบัญชีดำไฟร์วอลล์ไปยังชุดกฎไฟร์วอลล์ที่กดปุ่ม

การส่งข้อความ

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

รายงาน

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

www.syspeace.com


2

แท้จริงแล้วความพยายามในการเข้าสู่ระบบทั้งหมดจากจีน / สหรัฐฯ / อินเดียบนเซิร์ฟเวอร์ของฉันลองเข้าสู่ระบบของผู้ดูแลระบบซึ่งฉันได้ปิดการใช้งาน

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


1

คุณอาจต้องยุ่งกับไฟร์วอลล์ Windows Cygwin จะไม่มีฟังก์ชั่นประเภทนี้


1

คุณสามารถลองใช้SSHBlock - สคริปต์ Perl เพื่อควบคุมความพยายามในการใช้กำลังดุร้าย

SSHBlockเป็น daemon เพื่อตรวจสอบบันทึก syslog สำหรับความพยายามในการทำลายโดยใช้ SSH และเพื่อบล็อกโฮสต์ที่ไม่ดีโดยอัตโนมัติโดยเพิ่มบรรทัดไปยัง /etc/hosts.allow (TCP Wrappers) เกณฑ์จำนวนมากถูกกำหนดไว้ล่วงหน้าเพื่อให้สามารถบล็อกสิ่งเหล่านั้นที่พยายามได้หลายครั้งภายในระยะเวลาที่ยาวขึ้นหรือสั้นลง ใช้ -h เพื่อดูตัวเลือกบรรทัดคำสั่ง

ฉันยังไม่เคยใช้กับ Cygwin เลย
อย่างไรก็ตามนี่คือลิงค์ไปยังบทความอื่นที่อธิบาย sshblock ด้วยวิธีอื่น:
ป้องกันการโจมตีด้วยกำลังดุร้าย

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