Cygwin SSHd Autoblock Đăng nhập thất bại


20

Tôi đang chạy Cygwin với một deamon SSH trên máy Windows Server 2008. Tôi đã xem Trình xem sự kiện và nhận thấy có tới 5 đến 6 lần đăng nhập thất bại mỗi giây (lực lượng vũ phu) trong tuần qua hoặc lâu hơn, từ các IP khác nhau.

Làm cách nào tôi có thể tự động khóa các IP này thay vì chặn từng IP một cách thủ công?

Cảm ơn, Ahmad

Câu trả lời:


34

Tôi đã viết một chương trình để chặn các địa chỉ IP như bạn yêu cầu một vài năm trước đây, nhưng đã làm nó cho Khách hàng như một công việc cho thuê. Vì tôi đã kết thúc với một số thời gian "rảnh rỗi" tối nay, tôi đã chọn thực hiện lại toàn bộ từ đầu, viết một số tài liệu hữu ích và thường biến nó thành một chương trình có thể trình bày. Vì tôi đã nghe từ nhiều người rằng đây sẽ là một điều hữu ích để có vẻ như nó có thể đáng giá thời gian. Hy vọng rằng bạn và các thành viên khác trong cộng đồng có thể sử dụng nó.


Windows sshd_block

sshd_block là một chương trình VBScript hoạt động như một sự kiện chìm WMI để nhận các mục Nhật ký sự kiện Windows được ghi bởi sshd. Nó phân tích các mục nhật ký này và hành động theo chúng như sau:

  • Nếu địa chỉ IP cố gắng đăng nhập với tên người dùng được gắn cờ là "cấm ngay lập tức" thì địa chỉ IP sẽ bị cấm ngay lập tức.

  • Nếu địa chỉ IP cố gắng đăng nhập thường xuyên hơn mức cho phép trong một khoảng thời gian nhất định, địa chỉ IP sẽ bị cấm.

Tên và ngưỡng "cấm ngay lập tức" liên quan đến các lần đăng nhập lặp lại có thể định cấu hình trong phần "Cấu hình" của tập lệnh. Cài đặt mặc định như sau:

  • Cấm người dùng ngay lập tức - quản trị viên, root, khách
  • Đăng nhập cho phép - 5 trong 120 giây (2 phút)
  • Thời gian cấm - 300 giây (5 phút)

Sau một giây, bất kỳ địa chỉ IP nào bị cấm trong thời gian cấm đều không được điều khiển (bằng cách xóa tuyến đường lỗ đen khỏi bảng định tuyến).


Bạn có thể tải phần mềm tại đây và có thể duyệt kho lưu trữ tại đây .

Chỉnh sửa:

Kể từ 2010-01-20, tôi đã cập nhật mã để hỗ trợ sử dụng "Tường lửa nâng cao" trên Windows Vista / 2008/7/2008 R2 để thực hiện lưu lượng đen thông qua việc tạo quy tắc tường lửa (phù hợp hơn nhiều với quy tắc tường lửa hành vi của "fail2ban"). Tôi cũng đã thêm một số chuỗi kết hợp bổ sung để bắt các phiên bản OpenSSH "người dùng không hợp lệ" trái ngược với "người dùng bất hợp pháp".


2
Tôi đánh giá cao công việc bạn đã làm và nghĩ rằng đó là một ý tưởng tuyệt vời, tuy nhiên có khả năng nó có thể được sửa đổi để hoạt động với các nỗ lực RDP không? Các máy chủ windows của tôi liên tục bị tấn công trực tuyến và khóa tài khoản mặc dù không cần phải mở khóa để người dùng đó hoạt động trở lại, mở lại tài khoản người dùng để khóa khác.


Kịch bản này hút hơn 10 phần trăm CPU của tôi ngay cả khi không có cuộc tấn công vũ phu nào đang diễn ra ...
jjxtra

@PologistsoDad: Nếu bạn quan tâm, hãy liên hệ với tôi trực tiếp và chúng tôi sẽ khắc phục sự cố. Tôi chưa thấy hành vi bạn đang thấy.
Evan Anderson

1
Tôi cũng muốn thấy điều này cho các kết nối RDP. Cảm ơn
boomhauer

3

Trên Linux denyhosts thực hiện thủ thuật này, không thể cho bạn biết liệu nó có hoạt động trên Windows / Cygwin hay không. Hãy thử một lần.


2

Điều này rất thú vị, chúng tôi hiện đang đánh giá giải pháp này:

Syspeace phối hợp chặt chẽ với Windows để phát hiện các mối đe dọa có thể với hiệu suất tối ưu. Các sự kiện trong nhật ký sự kiện được theo dõi liên tục cho bất kỳ hành vi nghi ngờ nào. Nếu một sự kiện được coi là mối đe dọa đối với hệ thống, Syspeace sẽ chuyển sang cấp độ tiếp theo bằng cách kiểm tra dựa trên cơ sở quy tắc nội bộ chỉ đơn giản là chặn địa chỉ IP và thêm quy tắc vào tường lửa Windows.

Danh sách trắng địa phương

Ví dụ, người dùng luôn có thể thêm địa chỉ IP vào Danh sách trắng cục bộ để ngăn chặn việc chặn bất kỳ mạng nội bộ nào hoặc tạm thời thêm các PC đơn lẻ. Điều này nên được sử dụng một cách thận trọng vì bất kỳ IP nào trong danh sách này đều được Syspeace coi là đáng tin cậy và sẽ luôn bị bỏ qua.

Danh sách đen địa phương

Bất kỳ mối đe dọa nào sẽ được Syspeace tự động thêm vào Danh sách đen địa phương. Bạn luôn có thể xem lại danh sách đen và thêm hoặc xóa chúng khi bạn thấy phù hợp. Tuy nhiên, chúng tôi khuyên bạn không nên thực hiện bất kỳ thay đổi nào trong danh sách này vì bạn có thể vô tình mở đường cho một hacker không xác định.

Danh sách đen toàn cầu

Một tính năng chính của Syspeace là khả năng chặn các địa chỉ IP được liệt kê trong danh sách đen trên toàn cầu. Bằng cách chọn tùy chọn này, Syspeace sẽ nhập Danh sách đen toàn cầu vào máy khách của bạn và hành động tương ứng, thêm tất cả các địa chỉ IP được liệt kê toàn cầu vào bộ quy tắc tường lửa chỉ bằng một nút bấm.

Nhắn tin

Bất cứ khi nào một sự kiện quan trọng diễn ra, dịch vụ được khởi động hoặc dừng, các quy tắc được đặt vào hoặc xóa khỏi tường lửa hoặc trạng thái liên lạc đến giấy phép trung tâm và máy chủ danh sách đen toàn cầu bị thay đổi, Syspeace có khả năng gửi thư đến người chiếm đoạt tổ chức của bạn.

Báo cáo

Nhận email khi sự kiện quan trọng xảy ra có thể tốt nhưng đôi khi bạn cũng muốn nhận được một bản tóm tắt. Syspeace biên dịch một báo cáo hàng ngày với tất cả các nỗ lực tấn công trên hệ thống của bạn và gửi cho bạn một tin nhắn với thông tin. Syspeace cũng lập một báo cáo hàng tuần theo cách tương tự.

www.syspeace.com


2

Theo nghĩa đen, tất cả các lần thử đăng nhập từ Trung Quốc / Hoa Kỳ / Ấn Độ trên máy chủ của tôi đều thử đăng nhập Quản trị viên mà tôi đã tắt.

Sẽ không dễ dàng hơn để vô hiệu hóa đăng nhập của Quản trị viên và sau đó viết một tập lệnh chặn tất cả các địa chỉ IP cố gắng đăng nhập bằng "Quản trị viên" làm tên người dùng?


1

Bạn có thể cần phải làm rối với tường lửa Windows; Cygwin sẽ không có loại chức năng này.


1

Bạn có thể cân nhắc sử dụng SSHBlock - tập lệnh Perl để kiểm soát các nỗ lực vũ phu.

SSHBlock là một trình nền để theo dõi nhật ký nhật ký hệ thống cho các lần thử đột nhập bằng SSH và để tự động chặn các máy chủ xấu bằng cách thêm các dòng vào /etc/hosts.allow (TCP Wrappers). Một số ngưỡng được xác định trước, để có thể chặn những người thử nhiều lần thử trong khoảng thời gian dài hơn hoặc ngắn hơn. Sử dụng -h để xem các tùy chọn dòng lệnh.

Tôi chưa bao giờ sử dụng nó trên Cygwin.
Tuy nhiên, đây là một liên kết đến một bài viết khác mô tả sshblock với một số cách khác:
Bảo vệ chống lại các cuộc tấn công ssh của lực lượng vũ phu

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.