エラー「Xはsudoersファイルにありません。哲学的/論理的にどういう意味ですか?


31

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

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

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


12
哲学的に?!?または技術的に?
ジェフシャラー


9
(良い)システムは多くのものを静かに記録します。たくさんのもの。特にエラー。特に、それらが悪意であると考える場合。OPは「哲学的に」尋ねることで、なぜこの特定の具体的なエラーが報告についてこのような恐ろしい方法で警告するのかを尋ねている一方で、他のほとんどの失敗は黙って報告されていると思います。それは元のコーダーが現時点で書いたものであるかもしれませんが、多くのバージョンの後、それは決して変わらず、より深い意味があるかもしれません。またはそうでないかもしれません。これが焦点である場合、これは私が何度も疑問に思った素晴らしい質問だと思います。
xDaizu

4
これはおそらく、1台のコンピューターを使用して建物全体を持ち、管理者/オペレーターがコンピューターをフルタイムの仕事として扱っていた時代にさかのぼります。
user253751

1
数年前、私が大学にいたときsudo、かつてはそうだったが、私は個人的なLinuxボックスでルートとして何かをしようとしていた。だから、走ったsu。パスワードが拒否されたとき、パスワードを誤って入力したと考えて、何度か再試行しました。最終的に、その端末が学校のメールサーバーにログインしていることに気付きました。それから間もなく、メールサーバーのシステム管理者から、なぜ彼のシステムでrootを取得しようとしたのかと尋ねられました。そのため、たとえそれがsudo前日であったとしても、明らかに何らかの報告がありました。
スコットセブランス

回答:


38

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

  1. 好奇心leg盛な正当なユーザーがただ物事を試している、または
  2. 「悪いこと」をしようとするハッカー。

それsudo自体はこれらを区別できないため、失敗した使用の試みsudoは管理者の注意を喚起します。

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

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

ユーザーが間違ったパスワードを3回入力した場合、またはsudoersファイルに含まれていない場合は、ルートにメールが送信されます(の設定に応じて、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

(ここでは、ユーザーがnobody実行しようとしたls経由sudoルートとして、彼らはでなかったので、失敗したsudoersファイル)。

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

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

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

mail_no_user

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


または、より頻繁に、ime 3)duのタイプミス。私がこれを行ったある雇用主では、受信者リスト、オフィスの場所を示すsig、および不在時のバウンスとしての警告メールの内容を含むメールを定期的に返送していました。私はかつて彼らのオフィスに行って謝罪し、少し怖がらせたと思います。たぶん、平凡な活動に従事している評判の良い仲間であるにもかかわらず、@ Kusalanandaが確認できるように、私は時々黒いパーカーとストック写真のそれらのチャップスのようなDMのペアで場所を回っています。
ダニー

15

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は、authロギングにSyslog 機能を使用しますsudoロギング動作を使用して変更することができるlogfilesyslogのオプションを/etc/sudoers/etc/sudoers.d

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

Syslog auth機能は、次の構成スタンザの存在によって/var/log/auth.loginにリダイレクトされetc/syslog.confます。

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

7

技術的には、あまり意味がありません。他の多くのソフトウェア(すべてではないにしても)が、失敗したかどうかに関係なくログインを記録します。例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

また、多くのシステムは、過剰な認証エラーを検出して、総当たり攻撃の可能性に対処したり、情報を使用して問題が発生した後にイベントを再構築したりするための何らかの自動化を備えています。

sudoここでは特に例外的なことはしません。すべてのメッセージが意味するのは、作成者がsudo使用できないコマンドを実行するユーザーと通信する際にやや積極的な哲学を採用しているように見えることです。


6

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


1
私のローカルマシンでは、私が唯一のユーザーおよび管理者であり、レポートを受信しなかったことがわかります。
-Kasramvd

4
@Kasramvdはおそらくどこかにあるファイルでした。sudoレポートの送信先が正確にわかりません。ユーザーが1人だけの状況では、おそらくそれほど重要ではありません。
Time4Tea

2
@Kasramvdルートユーザーへのメールをチェックしましたか?また、あなたは管理者ですが、アカウントにsudoがありませんか?特権エスカレーションをどのように処理しますか?
doneal24

@Kasramvdそれは....あなたに報告されていなかった
するThorbjörnRavnアンデルセン

1
@Kasramvdあなたは管理者だと思います。OSは明らかにあなたが管理者として行動する権限を持っていないことを言っている-あなたは最高の状態で、ハードウェアの所有者だが、必ずしもあなたが管理をしないこと
slebetman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.