Điểm:0

Giá trị sử dụng của từ fail2ban regex

lá cờ es

Tôi đang cố gửi e-mail cho tôi và người dùng rằng ai đó đã cố đăng nhập vào ssh của họ và không thành công - IP đã bị cấm. Nhưng tôi không hiểu làm thế nào tôi có thể sử dụng biến trong e-mail mà tôi đang cố gửi.

Sendmail được thiết lập chính xác vì e-mail được gửi mà không gặp sự cố.

Đây là cấu hình Jail.local của tôi

[sshd]
cổng = ssh
logpath = %(sshd_log)s
phụ trợ = %(sshd_backend)s
hành động = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", giao thức="%(giao thức)s", chuỗi="% (chuỗi) s"]
             %(mta)s-whois-lines-ssh[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain= "%(chuỗi)s"]

Và đây là hành động của tôi.d/sendmail-whois-lines-ssh.conf

[BAO GỒM]

trước = sendmail-common.conf
         helpers-common.conf

[Sự định nghĩa]

được khôi phục = 1
actionban = ( printf %%b "Chủ đề: [Fail2Ban] <name>: bị cấm <ip> khỏi <fq-hostname>
            Ngày: `LC_ALL=C ngày +"%%a, %%d %%h %%Y %%T %%z"`
            Từ: <tên người gửi> <<người gửi>>
            Tới: <dest>, <F-USER>@mydomain.cz\n
            Xin chào,\n
            IP <ip> vừa bị Fail2Ban ban sau
            <failures> cố gắng chống lại <name>.\n\n
            Đây là thông tin thêm về <ip> :\n
            `/usr/bin/whois <ip> || echo thiếu chương trình whois`\n\n
            Các dòng chứa lỗi <ip>\n";
            %(_grep_logs)s;
            printf %%b "\n
            Trân trọng,\n
            Fail2Ban" ) | /usr/sbin/sendmail -f <sender>.mydomain.cz <dest> <F-USER>@mydomain.cz

[Trong đó]
tên = mặc định
logpath = /dev/null

Email gửi cho tôi vẫn ổn, vì được lấy chính xác từ cấu hình, nhưng <F-USER> không có giá trị nên nó đang được gửi tới @mydomain.cz

Làm cách nào tôi có thể nhận được giá trị để tôi có thể gửi e-mail cho người dùng?

CHỈNH SỬA Regex bị tấn công trên SSH là cái này:

^pam_unix\(sshd:auth\):\s+xác thực thất bại;\s*logname=\S*\s*uid=\d*\s*euid=\d*\s*tty=\S*\s *ruser=<F-USER>\S*</F-USER>\s*rhost=<HOST>\s.*%(__suff)s$
lá cờ es
Điều đó không quan trọng trong bối cảnh này, thực sự là trống vì vậy nếu e-mail không được gửi theo bất kỳ cách nào
Điểm:1
lá cờ il

Tôi đang cố gửi e-mail cho tôi và người dùng rằng ai đó đã cố đăng nhập vào ssh của họ và không thành công

Tôi có một số nghi ngờ liên quan đến phương pháp này, chẳng hạn như do một số "lỗ hổng" nhất định có thể được đưa vào do đó - RE <F-USER>\S*</F-USER> sẽ khớp với mọi thứ cho đến không gian đầu tiên, vì vậy, ví dụ: nếu "tên người dùng" khớp sẽ là ai đó@example.com,kiểm tra thư của bạn cũng sẽ được gửi đến ai đó@example.com, có thể không phải là người dùng miền của bạn. Tôi cũng có thể hình dung ra một kịch bản khác vì bạn đang cố sử dụng đầu vào nước ngoài (từ nhật ký) trong hành động gửi thư - vì vậy tốt hơn hãy đảm bảo rằng điều này không bị ảnh hưởng bởi một số khả năng tiêm nhiễm (cũng lưu ý GHSA-m985-3f3v-cwmm Ví dụ).

Regex bị tấn công trên SSH là cái này ...

failregex cũng phải chứa <F-USER>...</F-USER> để nắm bắt giá trị sẽ được lưu trữ dưới dạng tên người dùng và giá trị này phải khớp với giá trị nào đó.

Đây là một ví dụ về giao diện của nó trong phiên bản hiện tại (lưu ý rằng đây không phải là lỗi RE do <F-NOFAIL> tag, nó chỉ là một công cụ trợ giúp để tìm IP cho các tin nhắn không có IP, xem vấn đề/3189#issuecomment-999571654 để biết chi tiết).

Bằng cách ấy <F-ALT_USER> là một tên người dùng thay thế và sẽ lưu trữ nó vào F-NGƯỜI DÙNG nhóm bị bắt trong vé, nếu một phần <F-USER>...</F-USER> sẽ khớp với giá trị rỗng.

Có thể (như trong số phát hành/3189 ở trên) bạn cũng có phụ trợ sai, vì vậy hãy chuyển sang hệ thống sẽ giúp bạn khớp nó bằng sshd-regex khác.

Liên quan đến biểu thức chính quy của bạn, nó có thể được thay đổi như ở đây (được chuyển ngược từ bộ lọc sshd hiện tại):

- ^pam_unix\(sshd:auth\):\s+xác thực thất bại;\s*logname=\S*\s*uid=\d*\s*euid=\d*\s*tty=\S*\ s*ruser=<F-USER>\S*</F-USER>\s*rhost=<HOST>\s.*%(__suff)s$
+ ^pam_unix\(sshd:auth\):\s+xác thực không thành công;(?:\s+(?:(?:logname|e?uid|tty)=\S*)){0,4}\s+ ruser=<F-ALT_USER>\S*</F-ALT_USER>\s+rhost=<HOST>(?:\s+user=<F-USER>\S*</F-USER>)?%( __suff)s$

Nhưng đây đúng hơn là một RE của pam-chung bộ lọc/nhà tù, như đã nói trong vấn đề/3189, vì vậy sẽ không hoàn toàn đúng khi sử dụng điều này cho nhà tù sshd (thông thường bạn sẽ thấy các thông báo khác nhau trong tạp chí hoặc auth.log).

Dù sao để điều tra sâu hơn, người ta cần ví dụ về thông báo (hoặc tốt hơn là đoạn trích nhật ký với tất cả các thông báo về phiên sshd gây ra lệnh cấm).

lá cờ es
Cảm ơn bạn rất nhiều vì câu trả lời đầy đủ của bạn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.