2人のユーザーにパスワードを入力するように要求してroot権限を取得する「sudo」などのプログラムはありますか?

2人のユーザーにパスワードを入力するように要求してroot権限を取得する「sudo」などのプログラムはありますか?

私は多くの人が電子メール、メーリングリスト、個人のウェブサイトなどに使用するサーバーを運営しています。

他のメンバーがサーバーの問題を処理できるようにrootアクセス権を提供する方法を検討しました。しかし、私は誰にもフルrootアクセス権を与えるのが好きではありません。

あなたの考えは何ですか二つsudoルートシェルを開くには、ユーザーはパスワードを入力する必要がありますか?これにより、シングルユーザーがサーバー全体をハイジャックするのを防ぎます。セキュリティを強化するには、必要な数の必要なユーザーパスワードを1つ以上使用できます。今私が見ると、これはお互いをよく知り、近くに住んでいる人々のグループ間のルートアクセスを提供する良い方法です。

  • そのようなプログラムを知っていますか?
  • この概念の全体的な考えは何ですか?

答え1

一部のセキュリティポリシーでは、特定のタスクに対して二重承認が必要です。たとえば、次のようになります。

  • 銀行業務では、大規模な取引の場合、2人の管理者が確認しなければならないことが多いです。
  • 核兵器など重武器発射には、2人以上の高位公職者や意思決定権者の検証が必要である。
  • 承認または拒否提案された修正存在するスタックオーバーフロー十分な評判を持つ2人のユーザーの同意が必要です。

あなたはこれが重要ではないことを知っているでしょう確認する(例:自分が誰であるかを示すためにパスワードを入力するなど)、しかし約。承認するつまり、操作を許可するかどうかを決定します。

背景の読書におすすめ安全工学ロスアンダーソン。可能であれば最新バージョンを購入してください。それ以外の場合は、最初のバージョンをオンラインで入手できます。最も関連性の高い章は「アクセス制御」です。銀行と核指揮に関する章にはいくつかの例があります。

Unixは、ユーザーとスーパーユーザーという2つのレベルのシンプルなセキュリティモデルを提供します。これは利点(単純さはシステム自体とセキュリティポリシーの設計と実装にエラーが発生する可能性が少ないことを意味する)であり、欠点(複雑なセキュリティポリシーを基本的に表現できない)です。悪意のあるユーザーがroot権限を取得することを心配している場合は、root権限を与えないでください。ルートが実行するタスクのチェックはほとんどありません。唯一の制限は、一部の外部タスク(ネットワークトラフィック)と同様に、ルートを取得するためのタスクをリモートで記録できることです。悪意のあるユーザーはroot権限で1つのタスクを実行したいと思いますが、実際には他のユーザーに自分のタスクを隠すことで他のタスクを実行する可能性があります。したがって、他のユーザーにrootアクセスを監査するように要求することで、セキュリティは大幅に強化されません。逆に、セキュリティを下げるとセキュリティも失われます。有効性ルートアクセス(何か問題が発生した場合に備えて、バックアップとして信頼性の低いユーザーにrootアクセス権を付与したいようです。二重承認は多くの負担を加重します)。

二重承認は特定のタスクに役立ちます。 Aliceは「Xを実行する権限を与えてください」と言い、Bobは「私はAliceがモスクワの爆撃や編集を拒否することを承認します」と言います。 Aliceが「私が望むものは何でもできるように権限を与えてください」と言い、Bobが同意した場合、Bobがすることはあなた(政策立案者)がすでに言ったこと、つまりAliceが何でもできるように権限を与えられることです。 。 Aliceをsudoerにすることもできます。

私は、複数のユーザーがsudoなどのフレームワークで特定のコマンドを承認できるようにするUnixの既存のシステムを知りません。

答え2

これがあなたが探しているものかもしれません:

https://github.com/square/sudo_pair

sudo_pairは、他の人が特権sudoセッションを承認および監視するように要求するsudo用のプラグインです。

答え3

/etc/passwdこれを行うことができると考える唯一の方法は、/etc/shadowuid 0(フルアクセスの場合)でアカウントを作成したり、正しいアクセスを提供するグループに属することです。

次に、最初の人には最初の5文字を​​、2番目の人には最後の5文字を​​知らせるパスワードを設定します。以前のようにパスワードには8文字の制限がなくなり、従業員数に関係なくこれを行うことができます(たとえば、5人に20個の4文字を割り当てます)。

もちろん、アカウントに入ると、誰でも使用できるパスワードでパスワードをリセットできます(uid = 0の場合)。したがって、このような信頼問題がある場合、それよりも大きな問題があります。

答え4

両方のユーザーが満たす必要がある特定の条件を確認し、/etc/sudoersにコピーし、数分後に再度削除するプロセスをルートとしてバックグラウンドで実行できます。たとえば、両方のユーザーがホームディレクトリで、ファイル名が今日の日付であるファイルをタッチする必要があります。バックグラウンドプロセスは、ファイルを一度使用した後にファイルを削除または無視できます。

また、PAMは指紋やカードなどのエキゾチックなタイプの認証をサポートしているので、PAMを見る価値があると思います。

関連情報