sshd_config để từ chối các nỗ lực đăng nhập nhưng với một ngoại lệ


1

Tóm lược

Tôi đang cố gắng sshd_configcấu hình sao cho nó từ chối mọi nỗ lực đăng nhập cho một người dùng cụ thể "foo" từ các IP nguồn bắt đầu bằng 10.0.0.*. Tuy nhiên, bây giờ tôi cần phải tạo một ngoại lệ. Tôi cần cho phép "foo" từ 10.0.0.137.

Cấu hình hiện tại trong sshd_config

DenyUsers foo@10.0.0.*

Những gì tôi đã thử

  1. Có vẻ như đặt một AllowUsers foo@10.0.0.137dòng trên mà không giúp đỡ. Nó không chỉ không có hiệu lực (vì các nỗ lực đăng nhập bị từ chối do DenyUsersdòng), mà còn từ chối các nỗ lực đăng nhập của người dùng khác.
  2. Đọc hướng dẫn về DenyUsers , tôi hiểu rằng máy chủ cũng có khả năng xử lý các mẫu. (Tuyệt!) Nhìn vào phần THỰC HIỆN , dường như nó cũng có thể loại trừ một loại mẫu nhất định. (Tuyệt vời!). Nhưng hướng dẫn không nói nhiều về việc sử dụng các mẫu trong một user@hostđịnh dạng. (Grrr ..). Những người có uy tín cao hơn có thể nhìn vào câu trả lời của tôi đã bị xóa. Các mẫu sau không hoạt động:

    DenyUsers !foo@10.0.0.137,foo@10.0.0.*
    

    HOẶC LÀ

    DenyUsers !foo@10.0.0.137
    DenyUsers foo@10.0.0.*
    

Tôi đang tìm cách xây dựng một mẫu theo những gì tôi đã viết trong phần tóm tắt ở trên. Tôi có một ý tưởng :DenyUsers !foo@10.0.0.137,foo@10.0.0.* . Tôi thường sẽ thử những thứ này trước khi đặt câu hỏi, nhưng tôi không muốn bị khóa máy vì máy chủ SSH không bắt đầu cấu hình xấu.

Môi trường: Ubuntu 12.04, OpenSSH_5.9p1 Debian-5ubfox1.4


1
Bạn có thể tạo một người dùng thứ cấp và kiểm tra chặn với nó không? Hoặc sử dụng nó làm quyền truy cập từ xa trong khi bạn kiểm tra tài khoản khác? Sau đó bạn có thể xóa nó sau khi thử nghiệm.
ND Geek

1
Tôi khuyên bạn (nếu bạn sẽ tập trung vào cài đặt sshd trên máy tính từ xa mà bạn không có quyền truy cập vật lý) rằng bạn chạy bản sao thứ hai của sshd trên một cổng khác cho mục đích khôi phục nếu bạn ngắt chính cấu hình (đây là quá trình nâng cấp của Ubuntu tự động thực hiện)
qasdfdsaq

@NDGeek: Mối quan tâm của tôi là nhiều hơn về SSHD hoàn toàn không xuất hiện (không có quá trình sshd) vì tệp cấu hình xấu; không nhiều về việc mất quyền truy cập cấp độ người dùng. Cảm ơn qasdfdsaq: chạy bản sao thứ hai của sshd là một gợi ý hay!
UltraInstinc

Câu trả lời:


1

Sau đây sẽ hoạt động:

   DenyUsers foo@10.0.0.?
   DenyUsers foo@10.0.0.??
   DenyUsers foo@10.0.0.2*
   DenyUsers foo@10.0.0.10?
   DenyUsers foo@10.0.0.11?
   DenyUsers foo@10.0.0.12?
   DenyUsers foo@10.0.0.14?
   DenyUsers foo@10.0.0.15?
   DenyUsers foo@10.0.0.16?
   DenyUsers foo@10.0.0.17?
   DenyUsers foo@10.0.0.18?
   DenyUsers foo@10.0.0.19?
   DenyUsers foo@10.0.0.130
   DenyUsers foo@10.0.0.131
   DenyUsers foo@10.0.0.132
   DenyUsers foo@10.0.0.133
   DenyUsers foo@10.0.0.134
   DenyUsers foo@10.0.0.135
   DenyUsers foo@10.0.0.136
   DenyUsers foo@10.0.0.138
   DenyUsers foo@10.0.0.139
   AllowUsers foo@10.0.0.137

Dấu hỏi là viết tắt của chính xác một ký tự, dấu hoa thị cho 0 ký tự trở lên .


IP mong muốn của anh thì .137không .37. Bạn có thể vui lòng giải thích DenyUsersdòng đó ? Có !nghĩa là gì?
RJFalconer

@RJFalconer Cảm ơn bạn đã chỉ ra lỗi sai, tôi đã sửa nó.
MariusMatutiae

@MariusMatutiae: Haha, tôi thực sự đã nghĩ về điều này như là phương sách cuối cùng của mình :). Nhưng tôi tin rằng có một số cách sử dụng kết hợp các mẫu ( !để phủ định mẫu và ,cho logic VÀ; được liên kết trong câu hỏi) cho mục đích này.
UltraInstinc

Tài liệu @Thrustmaster về các mẫu rất khan hiếm nhưng bạn chỉ có hai kết nối chính, đơn nguyên! (phủ định) và AND. Ngoài ra, trong khi bạn có toán tử CHO MỌI THỨ, bạn không có dấu ngoặc đơn. Vì vậy, làm thế nào để bạn thực hiện một OR? Nếu bạn có thể thực hiện HOẶC, những gì bạn nói là đúng. Hoặc một NAND, nếu bạn muốn. Cho đến lúc đó ...
MariusMatutiae

@MariusMatutiae: Có, sự vắng mặt của parantheses và toán tử OR là một trở ngại. Nhưng cách giải quyết sẽ là có nhiều DenyUsersdòng. Hiện tại, tôi sẽ khởi chạy một ví dụ sshd thứ hai và thử mẫu mà tôi đã đưa ra trong câu hỏi ban đầu của mình ..
UltraInstinc
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.