this 方法には、その投稿で言及されている以外のセキュリティ問題がありますか?
参考のために:
Say veracryptusersという新しいグループを作成し、rootパスワードなしでVeraCryptを使用するために必要な権限を付与します。そのグループに属するすべてのユーザーがVeraCryptを使用できるようになります。注:これにより、ユーザー権利の昇格の攻撃対象がわずかに増えるため、このグループには信頼できるユーザーのみを追加してください。
$ groupadd veracryptusers
次に、このグループにVeraCryptに限定されたSudo権限を付与します。
$ Sudo visudo -f /etc/sudoers.d/veracrypt
GNU nano 2.5.3 File: /etc/sudoers.d/veracrypt.tmp
Veracryptusersグループのユーザーは、rootとしてveracryptを実行できます。
%veracryptusers ALL=(root) NOPASSWD:/usr/bin/veracrypt
また、veracryptと/ usr/binに適切な権限があり、グループや他のユーザーが書き込めないことを確認してください。
$ ls -al /usr/bin/vera*
-rwxr-xr-x 1 root root 6341016 paź 17 2016 /usr/bin/veracrypt
$ ls -ald /usr/bin
drwxr-xr-x 2 root root 69632 lip 25 10:09 /usr/bin
そうしないと、悪意のあるユーザーが実行ファイルを置き換えて、思い通りに完全なルートを取得する可能性があります。
ここで、再起動(または再ログイン)して、グループメンバーシップを再評価してください。お気に入りのボリュームをマウントおよびマウント解除できます。
これは非常に安全ではありません。この設定を自分で実行する前に、他の場所で質問されてうれしいです!私は、AskUbuntuにいる3000人以上の人々が同様に慎重であったことを願っています。では、なぜこれが安全ではないのですか?グループに入れたら、攻撃者は何ができますか?そのグループは、特権をrootに昇格できます。理由は簡単です。VeraCryptは、任意のマウントフラグを持つ任意のファイルシステムを使用して、任意のファイルアクセス権の暗号化されたボリュームをマウントすることを許可します。次のシナリオを検討してください。
悪意のあるユーザーが特別なグループに入れられ、パスワードなしでrootとしてVeraCryptを実行できるようにします。このユーザーは、セットアップを利用してルートシェルを取得し、_/usr/bin/veracrypt
_以外のコマンドをルートとして実行できるようにします。彼らの最終的な目標は単純です:あなたが持っている制限をバイパスし、ルートとして任意のコマンドを実行します。
暗号化されたボリュームが作成され、所有され、悪意のあるユーザーによって書き込み可能です。フォーマットされ、bash
バイナリがファイルシステムにコピーされます。ボリュームは直接書き込み可能であるため、バイナリにsetuidビットを設定できます。これは通常不可能ですが、攻撃者は音量を変更できます。
悪意のあるユーザーがrootとしてVeraCryptを実行し、ボリュームを_/mnt
_(通常は特権操作)にマウントします。彼らは_/mnt/bash
_を実行してルートシェルを取得し、そこから特権ユーザーとして任意のコマンドを実行できます。彼らはルートシェルを持っており、好きなように実行できます。
通常、ユーザーがマウント可能なファイルシステムには、いくつかの制限があります。このようなファイルシステムは、通常、user
フラグを使用してマウントすることによって構成されます。 mount(8)
マンページによると:
ユーザー 一般ユーザーにファイルシステムのマウントを許可します。 Mounting ユーザーの名前はmtabに書き込まれるため、ファイルシステムを再度マウント解除できます。この オプションは、オプションnoexec、nosuid、およびnodevを意味します(オプション行user、exec、dev、suidのように、後続のオプションによってオーバーライドされない限り)。
非特権ユーザーがこの方法でファイルシステムをマウントすると、setuid実行可能ファイルでファイルシステムを作成できるにもかかわらず、システムはファイルシステムがマウントされたときにsetuidビットを受け入れません。 VeraCryptはこれをすべて知る方法がなく、setuidバイナリを完全にサポートして、書き込み可能なファイルシステムをrootとして喜んでマウントします。このセーフガードはバイパスされ、sudoersを介して「安全な」コマンドを1つだけ許可しても、攻撃者はrootになります。
他にも攻撃の可能性はあると思います。あなたのファイルシステムには、それ自体で攻撃者にルートを与えることができるマウントフラグがありますか?キーファイルまたは新しいボリュームを任意の場所に書き込むことはできますか?もしそうなら、それらのコンテンツはユーザーが選択できますか?重要な保護手段を迂回すると、VeraCryptの設計者がプログラムを作成する際に、それが考慮さえしなかった脅威モデルから保護するような方法で、突然頼る必要があります。権限のないユーザーがrootとして実行しても安全になるように最初から設計されたmount
プログラムとは異なり、VeraCryptにはそのような目標はありませんでした。 rootとして実行する前に、anythingにも同じ考慮事項を適用する必要があります。