こんにちは!
ナビゲータのEVEです。
昨日までは、バッチ処理を管理するためのプログラムの作り方をご紹介し、その中で、OSコマンドを利用するんだけれど、その行為は非常に危険だという話をしています。
本日は、具体的に使うツールと、そのツールを使った場合の問題点について、書きたいと思います。
[sudo]
今回使うツールは、sudoです。sudoは、Linuxユーザなら、一度は利用するツールです。
どんなツールかというと、別のユーザの権限でOSコマンドを実行することができます。
通常、Llinuxサーバーへのsshによるログインは、rootユーザではログインできないようにするのが通常です。但し、root権限でしかできない作業などがあり、その場合は、まず、自分のIDでログインし、その後、sudoコマンドで管理者権限が必要な作業を行います。これにより、rootのパスワードを使い回すような危険な行為をすることなく、管理者権限の作用をすることができます。加えて、複数のユーザが作業する場合では、誰がどんな作業をしたのかと言うことを、ログから確認することが可能になります。
[sudoの危険性]
何でもそうですが、リスクはあります。そのリスクを把握し、適切に理解した上で、利用します。それでは、どんなリスクがあるのか、ChatGPTに聞いてみました。
❶権限の濫用
sudoを使用することで特権ユーザー権限を得ることができるため、悪意のあるユーザーが意図せずに特権を乱用する可能性があります。誤ったコマンドや操作によってシステムが破損する可能性もあります。
❷パスワードの漏洩
sudoを実行するためには通常、ユーザーのパスワードが必要です。悪意のあるプログラムや攻撃者がこのパスワードを取得すれば、システム全体にわたって権限を乱用される可能性があります。
❸設定の不備
sudoの設定が不適切な場合、予期しない特権の付与や不必要な特権の提供などが発生する可能性があります。適切な設定を行わないと、攻撃者が特権ユーザーとして実行できるコマンドの範囲を拡大する可能性があります。
❹コマンドの認証
sudoを使用して特権ユーザーとしてコマンドを実行する際、認証が行われますが、この認証方法にも問題が存在します。パスワードの再入力など、セキュリティ上のリスクがある認証方法を使用している場合、攻撃者がユーザーの特権を取得する可能性があります。
以上です。そして、インターネットを調べてみると、危険だという事例がありましたので、ご紹介します。
NECのサイトで、具体例などを紹介しています。その内容については、サイトで閲覧していただくとして、見ていただくと分かりますが、いろいろなリスクが潜んでいることが分かります。
以上のレポートを否定するわけではないのですが、サーバーサイトプログラムを実行するには、sudoを利用するのが、一番セキュリティが高いと現時点では考えています。
[あとがき]
NECの方のサイトを見ていて気づきましたが、NECでは、実際の攻撃テクニックを学んでいるのですね・・・。情報処理安全確保支援士として私ができることは、既知の攻撃の識別と、その対策についてです。その攻撃が具体的にどんな方法で行われるかまでは、知りません。ことわざに、「彼を知り己を知れば百戦殆からず」というのがありますが、やはり、攻撃事態も勉強したほうがいいのでしょうか?
ただ、これを始めた場合、他のことが全く何もできなくなります。既知の攻撃だけなら勉強するだけで済む可能性がありますが、未知のものを想定した場合、アプリケーションがリリースされるたびに、対応しなくてはなりません。世の中にアプリケーションが1つならいいのですが、その数は無限に等しいのです・・・。
私のスタイルとしては、使用するツールを厳選し、その厳選したツールを正しく使うということに心がけるというぐらいしかできないような気がします。ただ、情報をできるだけ早く入手するということぐらいは、できそうです。
日本ハッカー協会に加入しようかな???現在検討中です。
では、また!!!
■本当は怖いsudoコマンド(NEC)
https://jpn.nec.com/cybersecurity/blog/201023/index.html
■日本ハッカー協会
https://www.hacker.or.jp/
■2023年7月12日現在
修正ファイル本数 21/28(1ファイル修正)
修正関数本数 45/78(14関数修正)