アプリケーションが訪問したインターネットドメインを確認する方法

アプリケーションが訪問したインターネットドメインを確認する方法

私の問題は次のようなものです。 プロセスがアクセスしたURLを見つける方法

何が転送されるかは問題ではありませんが、どこからダウンロードされるかは問題ではありません。セキュリティのためにビルドツールがアクセスする必要があるURLを指定する必要があります。これは、静的分析では困難であるため、モニタリングがより信頼性が高く簡単な解決策であると考えています。

おそらくstrace役に立ちます。必要に応じて、マシンへのルートアクセス権を持つことができます。同じホスト上の他のツールを介した他のインターネットアクセスには興味がありません。

ベストアンサー1

これは理論的にも現実的にも不可能です。

IP アドレスは複数の DNS エントリで指すことができます。したがって、TCP接続のみが表示されている場合は、どのドメインを参照しているのかわかりません。もちろん、リバースDNSルックアップを実行できますが、a)必ずしも機能するわけではなく、b)最も多くの情報しか提供しません。一つドメイン。

ビルドツールが合理的な場合、コンテンツをダウンロードするために使用するすべての接続(HTTPS、FTPS、Gitプロトコルなどを使用)が暗号化されているため、トラフィックコンテンツもスキャンできません。

github、docker、gitlab、Googleストレージツールなどからダウンロードするほとんどのコードとコンテナは暗号化を使用します。また、CDNを使用しているため、単一のIPアドレスに接続する必要さえありません。接続するホストは DNS ルックアップによって確認されます。

したがって、各アプリケーションに特定のバックドア/デバッグフックを追加する以外に、訪問したドメインや訪問したURLを知る方法はありません。

唯一の方法は、中間子プロキシのTLS / SSL削除を強制することです。ただし、これにより、gitを使用したTLS検証から取得できるすべてのセキュリティが削除されます。したがって、この「セキュリティ対策」は実際にすべてを安全にしません。

セキュリティのためにビルドツールがアクセスする必要があるURLを指定する必要があります。

git-via-http(s) と同じ場合、どのように機能しますか? URLはソフトウェアの変更に応じて変わり、他のサーバーにサブモジュールを追加するのは一般的なコーディング作業です。

あなたのセキュリティ部門は、あなたがソフトウェアを構築しており、あなたと同じ技術品質でソフトウェアを維持するために従業員を投入しない限り、ソフトウェアを規制できないという事実を受け入れなければならないと思います。引用することもできます:)

おすすめ記事