web-dev-qa-db-ja.com

「Xがsudoersファイルにありません。このインシデントは報告されます。」というエラーはどうなりますか?哲学的/論理的に意味しますか?

ユーザー名はsudoersファイルにありません。このインシデントは報告されます 」という質問に沿って、エラーのプログラム的な側面を説明し、いくつかの回避策を提案しました。知りたいのですが、このエラーの意味は何ですか?

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

エラーの前の部分は、エラーを明確に説明しています。しかし、2番目の部分は、「このエラーが報告される」と述べていますか?!しかし、なぜ?エラーが報告される理由と場所は?誰に?私はユーザーと管理者の両方であり、レポートを受け取りませんでした:)!

31
Kasramvd

システムの管理者は、非特権ユーザーがSudoを使用してコマンドを実行しようとしたが失敗したことを知りたいと思うでしょう。これが発生した場合、それは

  1. 物事を試すだけの好奇心が強い正当なユーザー、または
  2. 「悪いこと」を行おうとするハッカー。

Sudoだけではこれらを区別できないため、Sudoを使用しようとして失敗した場合は、管理者に通知されます。

システムでのSudoの構成方法に応じて、Sudoの使用の試み(成功したかどうかにかかわらず)がログに記録されます。成功した試行は監査目的で記録され(誰がいつ何をしたかを追跡できるようにするため)、セキュリティのために失敗した試行が記録されます。

私が持っているかなりバニラUbuntuセットアップでは、これは/var/log/auth.logにログインしています。

ユーザーが間違ったパスワードを3回入力した場合、またはそれらがsudoersファイルにない場合、電子メールがrootに送信されます(Sudoの構成に応じて、以下を参照)。これが「この事件が報告される」という意味です。

メールには目立つ件名があります:

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

メッセージの本文には、ログファイルの関連する行が含まれています。次に例を示します。

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

(ここでは、ユーザーnobodylsからSudoをrootとして実行しようとしましたが、sudoersファイルにないため失敗しました)。

システムに(ローカル)メールが設定されていない場合、メールは送信されません。

これらすべてのものも同様に構成可能であり、デフォルトの構成のローカルなバリエーションは、Unixバリアント間で異なる場合があります。

sudoersマニュアルのmail_no_user設定(および関連するmail_*設定)をご覧ください(以下に重点を置きます):

mail_no_user

設定すると、メールが送信されますmailtoユーザーに呼び出しユーザーがsudoersファイルにない場合。 このフラグはデフォルトでオンになっています

38
Kusalananda

Debianおよびその派生物では、Sudoインシデントレポートは_/var/log/auth.log_に記録されます。これには、使用されたユーザーログインや認証メカニズムなどのシステム認証情報が含まれます。

_$ 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
_

このログファイルには通常、admグループのユーザー、つまり システムモニタリングタスク へのアクセス権を持つユーザーのみがアクセスできます。

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

Debian Wiki から:

グループadmは、システム監視タスクに使用されます。このグループのメンバーは、/ var/log内の多くのログファイルを読み取ることができ、xconsoleを使用できます。歴史的に、/ var/logは/ usr/adm(以降は/ var/adm)であり、したがってグループの名前でした。

admグループのユーザーは通常管理者 であり、このグループ権限は、suを使用せずにログファイルを読み取ることを許可することを目的としています。

デフォルトでは、SudoはロギングにSyslog auth機能を使用しますSudoのロギング動作は、_/etc/sudoers_または_/etc/sudoers.d_のlogfileまたはsyslogオプションを使用して変更できます。

  • logfileオプションは、Sudoログファイルへのパスを設定します。
  • syslogオプションは、ロギングに syslog(3) が使用されている場合にSyslog機能を設定します。

Syslog authファシリティは、次の構成スタンザの存在によって_/var/log/auth.log_の_etc/syslog.conf_にリダイレクトされます。

_auth,authpriv.*         /var/log/auth.log
_
15
Thomas Nyman

技術的には、あまり意味がありません。多くの(すべてではないにしても)他のソフトウェアは、ログインの失敗、失敗などを記録します。たとえば、sshdおよびsu

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

また、多くのシステムは、起こり得るブルートフォースの試みに対処できるように、または問題が発生した後にイベントを再構築するために情報を使用するために、過度の認証エラーを検出するための何らかの自動化を備えています。

Sudoは、ここでは特に例外的なことは何もしません。すべてのメッセージの意味は、Sudoの作成者が、たまたま使用できないコマンドを実行するユーザーとのコミュニケーションにおいて、いくぶん積極的な哲学を取っているように見えることです。

7
ilkkachu

これは単に、(管理者権限にアクセスするために)Sudoコマンドを使用しようとしたが、それを使用する権限を持っていないことを意味します(sudoersファイルにリストされていないため)。これはハッキングの試みまたはその他のセキュリティ上のリスクである可能性があるため、メッセージはSudoの使用の試みがシステム管理者に報告され、調査できることを示しています。

6
Time4Tea