web-dev-qa-db-ja.com

なりすましを可能にするDockerバックドアのリスク

私はジュニアWeb開発者です。私が知っているのは、ほとんどがWeb開発に関するものです。私はシステムのセキュリティに関するスキルと知識がなく、Linuxについてはほとんど知りません。

私はいくつかの組み込み製品を開発している会社で働いています。 R&D部門では、一部の開発者が開発用のビルドサーバーを構築しました。彼らは私たち自身のDockerイメージを作成し、このサーバーでCI/CDとGitlabサービスを含むDockerを実行します。

このビルドサーバーは、ADサーバーに接続します。開発者は自分の公開鍵をこのサーバーに追加し、SSHを使用してこのサーバーにリモートでログインし、このサーバーで開発を行うことができます。これをDevOpsと呼びます。

このサーバーは、当社のイントラネットまたはVPNでのみ機能し、公共のインターネットでは利用できません。

上記はすべての背景情報です。


数か月前に、Dockerのセキュリティ問題に関するITセキュリティブログをいくつか読みました。 Dockerのアーキテクチャは従来のVMとは異なるため、Dockerイメージがバックドアされている場合、システム全体が簡単にハッキングされると言われています。

このビルドサーバーを構築した人物が善人ではないと想定し、Dockerイメージをバックドアした場合、このビルドサーバーの私のアカウントがハッキングまたは不正使用される可能性はありますか?

つまり、手動でパスワードを入力することなく、公開鍵とSSHログインを使用します。このリスクはまだ存在しますか?

2番目の質問:上記の最初の質問がTRUEの場合、自分を守るために何ができますか?

つまり、悪意のある人物が私のアカウントを不正使用して何か悪いことをした場合(たとえば、私のアカウントを使用している会社の開発コードベースをリークしたり、私のアカウントを使用して他の攻撃を行ったり)、私が無実であることをどのように証明できますか?

私はこれらの疑いについて考えていることを同僚と話し合うことはできません。なぜなら、それらのことについての証拠がないからです。私はこれらが真実になることを心配しているだけなので、念のため、何かを防止したいと思います。サーバーをチェックまたは検証する権限もありません。

私は何ができますか?ラップトップのログインログを定期的にバックアップしますか? (しかし、それはビルドサーバーには無関係のようです。)

1
airbound

このビルドサーバーを構築した人はいい人ではないと思い、Dockerイメージをバックドアした場合(...)

サーバーの管理者が悪意のあるユーザーである場合、サーバーのバックドアを利用して、サービスでのすべてのやり取り(そこで入力されたパスワードを含む)を知ることができます。

つまり、手動でパスワードを入力することなく、公開鍵とSSHログインを使用します。このリスクはまだ存在しますか?

公開鍵のSSHログインを中間者で行うことはできません。再利用できるパスワードはありません。サーバーはssh鍵の公開部分を知っており、秘密鍵の知識があることを確認します。

悪意のある人物が私のアカウントを不正使用して何か悪いことをした場合(たとえば、私のアカウントを使用して会社の開発コードベースをリークしたり、私のアカウントを使用して他の攻撃を行ったり)、私が無実であることをどのように証明できますか?

あなたのシナリオでは、彼はあなたのアカウントそのサーバーでにしかアクセスできないことに注意してください。


これが起こっている可能性は非常に低いことに注意してください。すべての会社にシステム管理者がいて(誰かがそれが機能することを確認する必要があります!)、理論的にはシステムをバックドアすることができます。しかし、これは彼らがそうするという意味ではありません。彼らが捕まれば、実際には彼らにとって非常に危険です。あなたの会社はあなたに安全な職場環境を提供するべきです、そして彼らがXの人にアクセスを与えることは安全であると考え、それが悪い考えであることが判明したなら、それは本当にあなたの会社の責任です。他の人があなたのアカウントにアクセスしたことを(あなたのせいではなく!)示した場合、それは必ずしも「その非常に間違ったこと」をしたのはあなたではないことを示しているはずです(実際のケースではおそらく、アカウントのユーザーを見るだけで、おそらくフォレンジック分析などが必要です)。

また、男Xが想定外のことを行っている、または他の従業員のパスワードを保存するなどの社内ルールを破っている可能性もあります。その場合、わかった場合は、それを報告できる(必要がある)いくつかの高レベルのポジション(内部セキュリティチーム?CISO?)があるはずです。

もちろん、システムが他のユーザーによって制御されている可能性がある場合は、そこに機密情報を保存したり、資格情報を入力したりしないでください。

0
Ángel