Lỗi X không có gì trong tập tin sudoers. Sự cố này sẽ được báo cáo. Ý nghĩa triết học / logic?


31

Bên cạnh câu hỏi " Tên người dùng không có trong tệp sudoers. Sự cố này sẽ được báo cáo " giải thích các khía cạnh lập trình của lỗi và đề xuất một số cách giải quyết, tôi muốn biết: lỗi này có nghĩa là gì?

X is not in the sudoers file.  This incident will be reported.

Phần trước của lỗi giải thích, rõ ràng, lỗi. Nhưng phần thứ hai nói rằng "Lỗi này sẽ được báo cáo"?! Nhưng tại sao? Tại sao lỗi sẽ được báo cáo và ở đâu? Cho ai? Tôi là cả người dùng và quản trị viên và không nhận được bất kỳ báo cáo nào :)!


12
Về mặt triết học?!? Hay về mặt kỹ thuật?
Jeff Schaller


9
Một hệ thống (tốt) âm thầm ghi lại rất nhiều thứ. Rất nhiều và rất nhiều thứ. Đặc biệt là lỗi. Đặc biệt là nếu nó coi họ là vô ý. Tôi nghĩ rằng bằng cách hỏi về "triết học", OP đang hỏi tại sao lỗi cụ thể này lại cảnh báo bạn theo cách đáng sợ về báo cáo, trong khi hầu hết các thất bại khác được báo cáo một cách im lặng. Nó có thể chỉ là những gì các lập trình viên gốc đã viết vào lúc này, nhưng sau nhiều phiên bản, nó không bao giờ được thay đổi và có thể có một ý nghĩa sâu sắc hơn. Hoặc có thể không. Nếu đây là trọng tâm, tôi nghĩ rằng đây là một câu hỏi tuyệt vời mà tôi đã tự hỏi khá nhiều lần.
xDaizu

4
Điều này có lẽ bắt nguồn từ khi bạn có cả một tòa nhà sử dụng 1 máy tính và quản trị viên / nhà điều hành chăm sóc máy tính như một công việc toàn thời gian.
dùng253751

1
Cách đây nhiều năm khi tôi còn học đại học và trước đây sudolà một điều, tôi đã cố gắng làm một cái gì đó như root trên hộp Linux cá nhân của mình. Vì vậy, tôi đã chạy su. Khi nó từ chối mật khẩu của tôi, tôi đã thử lại nhiều lần vì nghĩ rằng mình đã nhập nhầm mật khẩu. Cuối cùng, tôi nhận ra rằng thiết bị đầu cuối đó đã được đăng nhập vào máy chủ email của trường. Không lâu sau đó, máy chủ email sysadmin hỏi tôi tại sao tôi đã cố gắng root trên hệ thống của anh ấy. Vì vậy, rõ ràng đã có một số loại báo cáo mặc dù đó là trong những sudongày trước .
Scott Severance

Câu trả lời:


38

(Các) quản trị viên của một hệ thống có thể muốn biết khi nào người dùng không có đặc quyền cố gắng nhưng không thực thi các lệnh bằng cách sử dụng sudo. Nếu điều này xảy ra, nó có thể là một dấu hiệu của

  1. một người dùng hợp pháp tò mò chỉ cần thử mọi thứ, hoặc
  2. một hacker đang cố gắng làm "những điều xấu".

sudobản thân nó không thể phân biệt giữa những điều này, những lần thử sử dụng thất bại sudođược đưa đến sự chú ý của các quản trị viên.

Tùy thuộc vào cách sudocấu hình trên hệ thống của bạn, mọi nỗ lực (thành công hay không) sử dụng sudosẽ được ghi lại. Các nỗ lực thành công được ghi lại cho mục đích kiểm toán (để có thể theo dõi ai đã làm gì khi nào) và các nỗ lực không thành công cho bảo mật.

Trên một thiết lập Ubuntu khá vanilla mà tôi có, điều này đã được đăng nhập /var/log/auth.log.

Nếu người dùng cung cấp mật khẩu sai ba lần hoặc nếu chúng không có trong sudoerstệp, một email sẽ được gửi đến root (tùy thuộc vào cấu hình của sudo, xem bên dưới). Đây là những gì có nghĩa là "sự cố này sẽ được báo cáo".

Email sẽ có một chủ đề nổi bật:

Subject: *** SECURITY information for thehostname ***

Phần thân của thông báo chứa các dòng có liên quan từ logfile, ví dụ

thehostname : Jun 22 07:07:44 : nobody : user NOT in sudoers ; TTY=console ; PWD=/some/path ; USER=root ; COMMAND=/bin/ls

(Ở đây, người dùng nobodyđã cố chạy lsqua sudoroot, nhưng không thành công vì chúng không có trong sudoerstệp).

Không có email nào được gửi nếu thư (cục bộ) chưa được thiết lập trên hệ thống.

Tất cả những điều này cũng có thể cấu hình được và các biến thể cục bộ trong cấu hình mặc định có thể khác nhau giữa các biến thể Unix.

Hãy xem mail_no_usercài đặt (và các mail_*cài đặt liên quan ) trong sudoershướng dẫn sử dụng (nhấn mạnh của tôi bên dưới):

mail_no_user

Nếu được đặt, thư sẽ được gửi đến người dùng mailto nếu người dùng gọi không có trong sudoerstệp. Cờ này được bật theo mặc định .


Hoặc, thường xuyên hơn, ime 3) ai đó nhầm lẫn du. Tại một nhà tuyển dụng khi tôi làm điều này, tôi thường xuyên nhận được email gửi lại cho tôi, với danh sách người nhận, sig cho biết vị trí văn phòng và nội dung email cảnh báo, như bị trả lại ngoài văn phòng. Tôi đã từng đến văn phòng của họ để xin lỗi và sợ họ một chút, tôi nghĩ vậy. Có lẽ đó là, mặc dù là một người có uy tín tham gia vào các hoạt động trần tục, đôi khi tôi đi vòng quanh trong một chiếc áo hoodie đen và một cặp DM giống như những kẻ lừa đảo trong ảnh chứng khoán vì @Kusalananda sẽ có thể xác nhận.
Dannie

15

Trong Debian và các dẫn xuất của nó, các sudobáo cáo sự cố được ghi lại /var/log/auth.logchứa thông tin ủy quyền hệ thống, bao gồm thông tin đăng nhập người dùng và cơ chế xác thực đã được sử dụng:

$ sudo su
[sudo] password for regularjohn: 
regularjohn is not in the sudoers file.  This incident will be reported.

[as root]

$ tail -n 1 /var/log/auth.log
Jun 21 16:30:26 marvin sudo: regularjohn : user NOT in sudoers ; TTY=pts/19 ; PWD=/home/regularjohn ; USER=root ; COMMAND=/bin/su

Tệp nhật ký này thường chỉ có thể truy cập đối với người dùng trong admnhóm, tức là người dùng có quyền truy cập vào các tác vụ giám sát hệ thống :

$ ls -la /var/log/auth.log
-rw-r----- 1 syslog adm 76189 Jun 21 16:30 /var/log/auth.log

Từ Wiki Wiki :

Quản trị nhóm được sử dụng cho các nhiệm vụ giám sát hệ thống. Thành viên của nhóm này có thể đọc nhiều tệp nhật ký trong / var / log và có thể sử dụng xconsole. Trong lịch sử, / var / log là / usr / adm (và sau đó là / var / adm), do đó là tên của nhóm.

Người dùng trong admnhóm thường là quản trị viên và quyền này của nhóm nhằm mục đích cho phép họ đọc tệp nhật ký mà không cần phải su.

Theo mặc định, sudosử dụng authtiện ích Syslog để đăng nhập . sudoHành vi ghi nhật ký có thể được sửa đổi bằng cách sử dụng logfilehoặc syslogtùy chọn trong /etc/sudoershoặc /etc/sudoers.d:

  • Các logfiletùy chọn thiết lập đường dẫn đến sudotập tin đăng nhập.
  • Các syslogtùy chọn thiết lập cơ sở Syslog khi syslog(3)đang được sử dụng cho khai thác gỗ.

Các Syslog authcơ sở chuyển hướng đến /var/log/auth.logtrong etc/syslog.confsự hiện diện của đoạn thơ cấu hình sau:

auth,authpriv.*         /var/log/auth.log

7

Về mặt kỹ thuật, nó không có nghĩa gì nhiều. Nhiều (nếu không phải tất cả) các phần mềm khác đăng nhập đăng nhập, thất bại hoặc cách khác. Ví dụ sshdsu:

Jun 21 17:52:22 somehost sshd[25807]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=::1  user=root
Jun 21 17:52:22 somehost sshd[25807]: Failed password for root from ::1 port 37268 ssh2
Jun 21 17:52:23 somehost sshd[25807]: Connection closed by ::1 port 37268 [preauth]
Jun 21 17:52:28 somehost su[25809]: pam_unix(su:auth): authentication failure; logname= uid=1000 euid=0 tty=/dev/pts/15 ruser=someuser rhost=  user=root
Jun 21 17:52:28 somehost su[25809]: pam_authenticate: Authentication failure
Jun 21 17:52:28 somehost su[25809]: FAILED su for root by someuser

Ngoài ra, nhiều hệ thống có một số loại tự động hóa để phát hiện lỗi xác thực quá mức để có thể xử lý các nỗ lực vũ phu có thể hoặc chỉ sử dụng thông tin để xây dựng lại các sự kiện sau khi sự cố xuất hiện.

sudokhông làm gì đặc biệt ở đây Tất cả các thông điệp có nghĩa là tác giả sudodường như đã có một triết lý hơi tích cực trong việc giao tiếp với người dùng xảy ra để chạy các lệnh mà họ không thể sử dụng.


6

Điều đó chỉ có nghĩa là ai đó đã cố gắng sử dụng sudolệnh (để truy cập các đặc quyền của quản trị viên), người không có quyền sử dụng nó (vì họ không được liệt kê trong tệp sudoers). Đây có thể là một nỗ lực hack hoặc một số rủi ro bảo mật khác, vì vậy thông báo nói rằng việc sử dụng đã cố gắng sudosẽ được báo cáo cho quản trị viên hệ thống, để họ có thể điều tra.


1
Vâng, trong máy cục bộ của tôi, tôi là người dùng và quản trị viên duy nhất và tôi có thể nói với bạn rằng tôi đã không nhận được bất kỳ báo cáo nào!
Kasramvd

4
@Kasramvd có lẽ bạn đã làm, trong một số tệp ở đâu đó. Tôi không chắc chắn nơi sudogửi báo cáo. Trong tình huống của bạn, chỉ với một người dùng, có lẽ điều đó không quan trọng lắm.
Time4Tea

2
@Kasramvd bạn đã kiểm tra email cho người dùng root chưa? Ngoài ra, bạn là quản trị viên nhưng bạn không có sudo cho tài khoản của mình? Làm thế nào để bạn xử lý leo thang đặc quyền?
doneal24

@Kasramvd Nó không được báo cáo cho bạn ....
Thorbjørn Ravn Andersen

1
@Kasramvd Bạn nghĩ rằng bạn là quản trị viên. Hệ điều hành rõ ràng cho bạn biết rằng bạn không có quyền làm quản trị viên - bạn là chủ sở hữu phần cứng tốt nhất nhưng điều đó không nhất thiết phải biến bạn thành quản trị viên
slebetman
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.