findでコマンドの実行を無効にできますか?

findでコマンドの実行を無効にできますか?

RedHat ELサーバースタックへのアクセスを外部検索ツールに提供するように求められました(「いいえ」はオプションではありません)。このツールを使用するには、コマンドリストへのsudoアクセスが必要です。これらのほとんどは簡単なリストであるか、単一のオプションでロックできます。しかし、sudo /usr/bin/findも必要です。

明らかに私はこれに満足していません。 find は -exec と友達を介してコマンドを実行し、任意のファイルを削除できるからです。これは無制限のルートアクセスを提供するのと同じくらい良いです。

単純なsudoコマンドエイリアスも役に立たないと思います。これは、パスワイルドカード(最初の引数)を含める必要があり、その後の引数も許可されるためです。 sudoで実行するときに/usr/bin/findで安全でないコマンドを無効にすることは可能/実行可能ですか?

結論として:

  • 一般的な検索が行われるようにします。

    /usr/bin/sudo /usr/bin/find /some/path/or/other -mtime +3 -print
    /usr/bin/sudo /usr/bin/find /home -executable -ls
    
  • exec/execdir/delete 使用禁止: 例:

    /usr/bin/sudo /usr/bin/find /some/path/or/other -name '*' -type f -exec /bin/rm -f {} \;
    /usr/bin/sudo /usr/bin/find / -ctime -1 -delete
    

ベストアンサー1

コマンドへのアクセスを提供してルールを迂回する必要があると言われましたsudosudo他のRBAC実装のデフォルトの拒否位置で特定のアクセスを許可するのではなく、アクセスが許可された後にアクセスをロックしようとするため、作業に最適なツールではありません。

私は制限なしにアクセスできる監査人を決して信頼しません。彼らの使命は、セキュリティプロファイルを破壊し、脆弱性を見つけることです。システムが安全になるほど、彼らと悪意のある人がロックを選ぶのが難しくなります。

ルールは順番に適用されます。sudo実行を許可するコマンドから始めて、そのコマンドのさまざまなオプションを制限するルールを追加します。sudoers以下を使用するようにファイルを変更できます。

%auditor ALL = /usr/bin/lsattr,
               /usr/bin/find, 
               ! /usr/bin/find *-exec*,
               ! /usr/bin/find *-ok*,
               ! /usr/bin/find *-delete*

これにより、監査人が-exec、-execdir、-ok、-okdir、または-deleteを使用して実行することを許可せずにfindを実行できます。また、すべてのファイルをすべてのコンテンツで上書きすることを許可するブロックと述語を考慮する-fprintこと-fprintfもできます。-fls

find no-execution.txtまたは同じコマンドもブロックしますfind . -name '*-ok*'

tom@evil:~$ sudo id
uid=0(root) gid=0(root) groups=0(root),999(lightsd)

tom@evil:~$ sudo find . -mtime -50
.
./.bashrc
./.kshrc
./.bash_history
./.bash_logout
./.profile

tom@evil:~$ sudo find . -mtime 5 -exec ls -la {} \;
Sorry, user tom is not allowed to execute '/usr/bin/find . -mtime 5 -exec ls -la {} ;' as root on localhost.

tom@evil:~$ sudo find . -mtime -5 -name .kshrc -delete
Sorry, user tom is not allowed to execute '/usr/bin/find . -mtime -5 -name .kshrc -delete' as root on localhost.

これは良いsudoersプロファイルを構築し維持するためのPITAですが、特にコンプライアンス環境では努力する価値があると思います。

おすすめ記事