果たして可能かどうか確信できず、心配する場面が一つある。次の設定を持つコンピュータがあります。
- LUKS 暗号化の基本システム・パーティション。
- sudoアクセス権を持つユーザー(sudoersリストに追加)
- sudoerはパスワードがわからないため、rootとしてログインできず、「sudo su」を実行できません。
- システム管理者としてrootアクセス権を取得しました。
問題は、sudoerユーザーがLUKSマスターキーを変更するのを何らかの方法でブロックまたは拒否できますか?
私はその人のdm-setupまたはcryptsetupの実行を拒否できますが、その人はいつでもファイルを移動して名前を変更できます。あるいは、いくつかのライブラリをダウンロードしてMKを変更するアプリケーションを直接作成することもできます。私はカーネルレベルでdm-setup / cryptsetupインターフェースのLinux操作を実行するのを妨げるものがあるのだろうか。
それでは、ユーザーにsudoerアクセス権を付与することでLUKSマスターキーをそのまま維持する方法はありますか?
答え1
「rootとしてログイン」と「Sudoアクセス権を保持」の間に間違った二分法を描いています。これらは他と見なすべきではありません。ユーザーのrootアクセス権を信頼できない場合は、sudoを使用しないでください。とにかくコマンドをブロックするだけでは意味がありません。ルートシェルを取得するsudo su
方法があるか 。あるいは、他の方法も百万ものあります。sudo -s
sudo bash
基本的にできないsudo ユーザーができないタスクのブラックリストを作成します。それがうまくいかないので、あなたは失敗します。 PID 1などのいくつかの項目にアクセスすると、システムはあなたのものになります。
あなたは何ですかできる特定のプロセスをホワイトリストに追加します。これらのプロセスには、ユーザーが書き込めないこと、および任意のコマンドの実行を許可する方法でユーザー入力または引数を許可しないことを確認してください。多くの一般的なUNIXツールを使用すると、任意の方法で任意のコマンドを実行できます。 1つのタスクを実行するためにsudoアクセスのみが必要な場合、良い方法は1つのタスクのみを実行し、引数を使用せず、ユーザーがrootとしてスクリプトを実行できるようにするラッパースクリプトを作成することです。
答え2
合格するとマスターキーLUKSコンテナを再構築しないと変更できないコンテンツの暗号化に使用されるキーを意味します。つまり、データにアクセスするためにロックを解除し、データをバックアップし、LUKSコンテナを再作成し、バックアップから復元します。
意味するならマスターキーは、LUKSコンテナのロックを解除するために使用されるパスワードの1つにすぎません。はい、変更できますが、まず既存のパスワードを知っておく必要があります。
つまり、他のユーザーがLUKSキーを操作したくない場合は、そのユーザーにパスワードを知らせないでください。何もするためにsudoを使う必要はありません。もちろん、LUKSヘッダーが破損または改ざんされた場合に復元できるようにオフサイトバックアップを作成してください。