SCW图标
英雄背景无分隔线
博客

コーダーがセキュリティ・インフラストラクチャを征服するコードシリーズ:トランスポート層保護が不十分

马蒂亚斯·马杜博士
出版日期: 2020 年 6 月 1 日
最后更新于 2026年3月10日

組織内でセキュアなコードとしてのインフラストラクチャ (IaC) の導入を開始するために実行できる手順について詳しく知りたい開発者にとって、このサイトはまさにうってつけの場所です。これは IaC シリーズの次の章で、IaC セキュリティのベストプラクティスのレベルアップを目的としています。

始める前に、前回のチャレンジはどうでしたか?安全でない暗号をマスターしたことがあるなら、詳細を掘り下げる前に、トランスポート層保護が不十分な場合の対処法を見てみましょう。

詳細を学び、満点を獲得したいですか?続きを読む:

前回の記事では、アプリケーションやプログラムに保存されている重要なデータや個人データを保護するための安全な暗号化の重要性について説明しました。強固な暗号化を採用していれば、最後の防衛線として完璧に機能します。攻撃者がそのデータを盗むことができたとしても、そのデータが強力に暗号化されていれば、それらのファイル内にロックされている情報は保護されます。

ただし、保管中のデータを保護することは、完全なデータ防御の一部にすぎません。有効なユーザーが保護されたデータにアクセスする必要がある場合はいつでも、そのユーザーにそのデータを送信する必要があります。ときには、全体的なワークロードの一部として、アプリケーションが他のプログラムとデータを共有することもあります。トランスポート層が保護されていない限り、外部からの覗き見や不正な内部閲覧の両方に対して脆弱になります。そのため、トランスポート層の保護が不十分だと、深刻な問題が発生する可能性があります。

よくある問題です。OWASP のセキュリティ組織は、以下の内容に関するページもすべて管理しています。 トランスポート層保護が不十分

トランスポート層の保護が不十分であるのはなぜ危険なのですか?

トランスポート層を十分に保護しないと、熟練したハッカーが中間者攻撃などの手法を使用して、ユーザーとアプリケーションの間を流れる情報を傍受するのは比較的簡単です。この種のスヌーピングで最も危険な側面は、ネットワークや制御の及ばない場所で発生するため、内部のサイバーセキュリティプラットフォームやスキャンからはほとんど見えないことです。

たとえば、Nginx サービスをデプロイしている Docker 環境では、次のようになります。

サービス:
nginx:
イメージ:ローカルホスト:5000/scw_nginx
ビルド:。/nginx
秘密:
-nginx_cert
-nginx_key
ボリューム:
-タイプ:バインド
ソース:。/nginx/nginx.conf
ターゲット:/etc/nginx/nginx.conf
読み取り専用:はい
ポート:
-80:8443
ネットワーク:
-フロントエンド
デプロイ:
再起動ポリシー:*デフォルト再起動ポリシー
リソース:*デフォルト-リソースポリシー

Nginxのサービス構成では接続を暗号化または保護しないため、リンクを介して交換されるすべての情報は、さまざまな攻撃やスヌーピングに対して脆弱になります。

サーバー {
サーバー名 scw-dev-blog.org;
8443を聞いてください。
SSL プロトコル TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+AESGCM: EDH+AESGCM;
SSL_prefer_server_ciphers オン;
SSL_certificate /run/secrets/nginx_cert;
SSL_certificate_key /run/secrets/nginx_key;
アクセスログ /dev/stdout;
エラーログ /dev/stderr;
場所/{
proxy_pass http://wordpress:8080;
プロキシセットヘッダーホスト $http_host;
プロキシセットヘッダー X-Forwarded-Host $http_host;
プロキシセットヘッダー X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
プロキシセットヘッダー X-Forwarded-Proto $Scheme;
}
}

多くの場合、誰かがトランスポート層を覗き見している最初の兆候は、盗まれたユーザーパスワードが大量にその後の攻撃で使用された場合です。顧客情報、財務記録、重要な企業秘密などの他のデータが、安全でないトランスポート層を介して盗まれても、自分が侵害されたことに気付かない場合もあります。

保護が必要なのは、ユーザーとアプリケーション間のトランスポート層だけではありません。バックエンドでは、多くのアプリケーションが相互に通信し、ワークフローチェーンのさらに奥にあるサーバーとも通信します。これらの内部通信は一般に外部からの覗き見に対して脆弱ではありませんが、ネットワークへのアクセスは許可されているが、高度に保護された特定の情報や機密情報の閲覧は許可されていないユーザーにデータが漏洩する可能性があります。

完全なデータ保護のためのトランスポート層の適切な保護

トランスポート層の保護は、アプリケーションの作成中に行うのが最適です。このプロセスは、安全なバックエンド・インフラストラクチャーの構築から始まります。ウェブサイトでは、すべてを HTTPS を使用して行う必要があります。HTTP と HTTPS のインフラストラクチャーを混在させないでください。さらに、セキュリティで保護されていない HTTP リクエストを HTTPS インフラストラクチャに自動的にルーティングするようにサイトを設定する必要もあります。

上の例では、トランスポート層を保護する適切な方法は次のようになります。

サーバー {
サーバー名 scw-dev-blog.org;
8443 SSLを聞いてください。
SSL プロトコル TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+AESGCM: EDH+AESGCM;
SSL_prefer_server_ciphers オン;
SSL_certificate /run/secrets/nginx_cert;
SSL_certificate_key /run/secrets/nginx_key;
アクセスログ /dev/stdout;
エラーログ /dev/stderr;
場所/{
proxy_pass http://wordpress:8080;
プロキシセットヘッダーホスト $http_host;
プロキシセットヘッダー X-Forwarded-Host $http_host;
プロキシセットヘッダー X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
プロキシセットヘッダー X-Forwarded-Proto $Scheme;
}
}

この例では、Nginx サービスとのすべての接続は強力に暗号化されています。Nginx 設定のサーバーセクションには以下しか含まれていません。 リッスン 8443 SSLによる接続保護を強制するためです。

内部からの脅威からデータを保護するために、開発者はTLS 1.2のような強力なトランスポート層暗号化プロトコルを採用する必要があります。TLS 1.2 または同等のプロトコルを導入したら、SSL v2 のような脆弱なプロトコルはインフラストラクチャから完全に削除され、自動的に使用されなくなるはずです。

また、保管中のデータとトランスポート層の両方が十分に保護されるまで、アプリケーションの保護は完全には完了しないということを常に念頭に置いてください。そうすれば、内部と権限のある外部ユーザーに転送される際の両方で、データをエンドツーエンドで完全に保護できます。
をチェックしてください セキュア・コード・ウォリアー この脆弱性や、他のセキュリティ上の欠陥による被害から組織や顧客を保護する方法についての詳細な情報については、ブログページをご覧ください。また、次のこともできます。 デモを試す Secure Code Warriorトレーニングプラットフォームで、すべてのサイバーセキュリティスキルを磨き、最新の状態に保ちましょう。

显示资源
显示资源

時々、アプリケーションは全体的なワークロードの一部として他のプログラムとデータを共有することもあります。トランスポート層が保護されていない限り、外部からの覗き見や不正な内部閲覧の両方に対して脆弱になります。

您还有兴趣吗?

马蒂亚斯·马杜博士是安全专家、研究员、首席技术官,以及安全代码战士的联合创始人。马蒂亚斯在根特大学以静态分析解决方案为核心,获得了应用安全领域的博士学位。此后他加入美国Fortify公司,并意识到仅检测代码问题而未协助开发者编写安全代码是远远不够的。这一认知促使他致力于开发能帮助开发者减轻安全负担、超越客户期望的产品。作为Team Awesome成员,当他不在办公桌前时,最享受在RSA大会、BlackHat、DefCon等技术会议上登台演讲的时刻。

了解更多

Secure Code Warrior致力于在整个软件开发生命周期中保护代码,并协助构建将网络安全置于首位的文化。无论您是应用程序安全经理、开发人员、首席信息安全官还是安全相关人员,我们都能帮助您降低与不安全代码相关的风险。

预约演示
分享:
领英品牌社交x 标志
著者
马蒂亚斯·马杜博士
发表于2020年6月1日

马蒂亚斯·马杜博士是安全专家、研究员、首席技术官,以及安全代码战士的联合创始人。马蒂亚斯在根特大学以静态分析解决方案为核心,获得了应用安全领域的博士学位。此后他加入美国Fortify公司,并意识到仅检测代码问题而未协助开发者编写安全代码是远远不够的。这一认知促使他致力于开发能帮助开发者减轻安全负担、超越客户期望的产品。作为Team Awesome成员,当他不在办公桌前时,最享受在RSA大会、BlackHat、DefCon等技术会议上登台演讲的时刻。

马蒂亚斯是一位拥有15年以上软件安全实践经验的研究员兼开发者。他曾为Fortify Software、其创立的Sensei Security等企业开发解决方案。在职业生涯中,马蒂亚斯主导了多个应用安全研究项目,这些项目最终转化为商用产品,并获得了10余项专利。在离开办公桌时,马蒂亚斯担任高级应用安全培训课程讲师,并定期在RSA大会、黑帽大会、DefCon、BSIMM、OWASP应用安全大会、BruCon等全球性会议上发表演讲。

马蒂亚斯在根特大学获得计算机工程博士学位,期间学习了通过程序混淆技术隐藏应用程序内部运作机制的应用程序安全技术。

分享:
领英品牌社交x 标志

組織内でセキュアなコードとしてのインフラストラクチャ (IaC) の導入を開始するために実行できる手順について詳しく知りたい開発者にとって、このサイトはまさにうってつけの場所です。これは IaC シリーズの次の章で、IaC セキュリティのベストプラクティスのレベルアップを目的としています。

始める前に、前回のチャレンジはどうでしたか?安全でない暗号をマスターしたことがあるなら、詳細を掘り下げる前に、トランスポート層保護が不十分な場合の対処法を見てみましょう。

詳細を学び、満点を獲得したいですか?続きを読む:

前回の記事では、アプリケーションやプログラムに保存されている重要なデータや個人データを保護するための安全な暗号化の重要性について説明しました。強固な暗号化を採用していれば、最後の防衛線として完璧に機能します。攻撃者がそのデータを盗むことができたとしても、そのデータが強力に暗号化されていれば、それらのファイル内にロックされている情報は保護されます。

ただし、保管中のデータを保護することは、完全なデータ防御の一部にすぎません。有効なユーザーが保護されたデータにアクセスする必要がある場合はいつでも、そのユーザーにそのデータを送信する必要があります。ときには、全体的なワークロードの一部として、アプリケーションが他のプログラムとデータを共有することもあります。トランスポート層が保護されていない限り、外部からの覗き見や不正な内部閲覧の両方に対して脆弱になります。そのため、トランスポート層の保護が不十分だと、深刻な問題が発生する可能性があります。

よくある問題です。OWASP のセキュリティ組織は、以下の内容に関するページもすべて管理しています。 トランスポート層保護が不十分

トランスポート層の保護が不十分であるのはなぜ危険なのですか?

トランスポート層を十分に保護しないと、熟練したハッカーが中間者攻撃などの手法を使用して、ユーザーとアプリケーションの間を流れる情報を傍受するのは比較的簡単です。この種のスヌーピングで最も危険な側面は、ネットワークや制御の及ばない場所で発生するため、内部のサイバーセキュリティプラットフォームやスキャンからはほとんど見えないことです。

たとえば、Nginx サービスをデプロイしている Docker 環境では、次のようになります。

サービス:
nginx:
イメージ:ローカルホスト:5000/scw_nginx
ビルド:。/nginx
秘密:
-nginx_cert
-nginx_key
ボリューム:
-タイプ:バインド
ソース:。/nginx/nginx.conf
ターゲット:/etc/nginx/nginx.conf
読み取り専用:はい
ポート:
-80:8443
ネットワーク:
-フロントエンド
デプロイ:
再起動ポリシー:*デフォルト再起動ポリシー
リソース:*デフォルト-リソースポリシー

Nginxのサービス構成では接続を暗号化または保護しないため、リンクを介して交換されるすべての情報は、さまざまな攻撃やスヌーピングに対して脆弱になります。

サーバー {
サーバー名 scw-dev-blog.org;
8443を聞いてください。
SSL プロトコル TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+AESGCM: EDH+AESGCM;
SSL_prefer_server_ciphers オン;
SSL_certificate /run/secrets/nginx_cert;
SSL_certificate_key /run/secrets/nginx_key;
アクセスログ /dev/stdout;
エラーログ /dev/stderr;
場所/{
proxy_pass http://wordpress:8080;
プロキシセットヘッダーホスト $http_host;
プロキシセットヘッダー X-Forwarded-Host $http_host;
プロキシセットヘッダー X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
プロキシセットヘッダー X-Forwarded-Proto $Scheme;
}
}

多くの場合、誰かがトランスポート層を覗き見している最初の兆候は、盗まれたユーザーパスワードが大量にその後の攻撃で使用された場合です。顧客情報、財務記録、重要な企業秘密などの他のデータが、安全でないトランスポート層を介して盗まれても、自分が侵害されたことに気付かない場合もあります。

保護が必要なのは、ユーザーとアプリケーション間のトランスポート層だけではありません。バックエンドでは、多くのアプリケーションが相互に通信し、ワークフローチェーンのさらに奥にあるサーバーとも通信します。これらの内部通信は一般に外部からの覗き見に対して脆弱ではありませんが、ネットワークへのアクセスは許可されているが、高度に保護された特定の情報や機密情報の閲覧は許可されていないユーザーにデータが漏洩する可能性があります。

完全なデータ保護のためのトランスポート層の適切な保護

トランスポート層の保護は、アプリケーションの作成中に行うのが最適です。このプロセスは、安全なバックエンド・インフラストラクチャーの構築から始まります。ウェブサイトでは、すべてを HTTPS を使用して行う必要があります。HTTP と HTTPS のインフラストラクチャーを混在させないでください。さらに、セキュリティで保護されていない HTTP リクエストを HTTPS インフラストラクチャに自動的にルーティングするようにサイトを設定する必要もあります。

上の例では、トランスポート層を保護する適切な方法は次のようになります。

サーバー {
サーバー名 scw-dev-blog.org;
8443 SSLを聞いてください。
SSL プロトコル TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+AESGCM: EDH+AESGCM;
SSL_prefer_server_ciphers オン;
SSL_certificate /run/secrets/nginx_cert;
SSL_certificate_key /run/secrets/nginx_key;
アクセスログ /dev/stdout;
エラーログ /dev/stderr;
場所/{
proxy_pass http://wordpress:8080;
プロキシセットヘッダーホスト $http_host;
プロキシセットヘッダー X-Forwarded-Host $http_host;
プロキシセットヘッダー X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
プロキシセットヘッダー X-Forwarded-Proto $Scheme;
}
}

この例では、Nginx サービスとのすべての接続は強力に暗号化されています。Nginx 設定のサーバーセクションには以下しか含まれていません。 リッスン 8443 SSLによる接続保護を強制するためです。

内部からの脅威からデータを保護するために、開発者はTLS 1.2のような強力なトランスポート層暗号化プロトコルを採用する必要があります。TLS 1.2 または同等のプロトコルを導入したら、SSL v2 のような脆弱なプロトコルはインフラストラクチャから完全に削除され、自動的に使用されなくなるはずです。

また、保管中のデータとトランスポート層の両方が十分に保護されるまで、アプリケーションの保護は完全には完了しないということを常に念頭に置いてください。そうすれば、内部と権限のある外部ユーザーに転送される際の両方で、データをエンドツーエンドで完全に保護できます。
をチェックしてください セキュア・コード・ウォリアー この脆弱性や、他のセキュリティ上の欠陥による被害から組織や顧客を保護する方法についての詳細な情報については、ブログページをご覧ください。また、次のこともできます。 デモを試す Secure Code Warriorトレーニングプラットフォームで、すべてのサイバーセキュリティスキルを磨き、最新の状態に保ちましょう。

显示资源
显示资源

要下载报告,请填写以下表格。

恳请允许我们向您发送有关本公司产品及/或相关安全编码主题的信息。我们始终以高度谨慎的态度处理您的个人信息,绝不会出于营销目的将其出售给其他公司。

送信
scw 成功图标
SCW 错误图标
要提交表单,请启用“Analytics”Cookie。设置完成后,您可以再次将其禁用。

組織内でセキュアなコードとしてのインフラストラクチャ (IaC) の導入を開始するために実行できる手順について詳しく知りたい開発者にとって、このサイトはまさにうってつけの場所です。これは IaC シリーズの次の章で、IaC セキュリティのベストプラクティスのレベルアップを目的としています。

始める前に、前回のチャレンジはどうでしたか?安全でない暗号をマスターしたことがあるなら、詳細を掘り下げる前に、トランスポート層保護が不十分な場合の対処法を見てみましょう。

詳細を学び、満点を獲得したいですか?続きを読む:

前回の記事では、アプリケーションやプログラムに保存されている重要なデータや個人データを保護するための安全な暗号化の重要性について説明しました。強固な暗号化を採用していれば、最後の防衛線として完璧に機能します。攻撃者がそのデータを盗むことができたとしても、そのデータが強力に暗号化されていれば、それらのファイル内にロックされている情報は保護されます。

ただし、保管中のデータを保護することは、完全なデータ防御の一部にすぎません。有効なユーザーが保護されたデータにアクセスする必要がある場合はいつでも、そのユーザーにそのデータを送信する必要があります。ときには、全体的なワークロードの一部として、アプリケーションが他のプログラムとデータを共有することもあります。トランスポート層が保護されていない限り、外部からの覗き見や不正な内部閲覧の両方に対して脆弱になります。そのため、トランスポート層の保護が不十分だと、深刻な問題が発生する可能性があります。

よくある問題です。OWASP のセキュリティ組織は、以下の内容に関するページもすべて管理しています。 トランスポート層保護が不十分

トランスポート層の保護が不十分であるのはなぜ危険なのですか?

トランスポート層を十分に保護しないと、熟練したハッカーが中間者攻撃などの手法を使用して、ユーザーとアプリケーションの間を流れる情報を傍受するのは比較的簡単です。この種のスヌーピングで最も危険な側面は、ネットワークや制御の及ばない場所で発生するため、内部のサイバーセキュリティプラットフォームやスキャンからはほとんど見えないことです。

たとえば、Nginx サービスをデプロイしている Docker 環境では、次のようになります。

サービス:
nginx:
イメージ:ローカルホスト:5000/scw_nginx
ビルド:。/nginx
秘密:
-nginx_cert
-nginx_key
ボリューム:
-タイプ:バインド
ソース:。/nginx/nginx.conf
ターゲット:/etc/nginx/nginx.conf
読み取り専用:はい
ポート:
-80:8443
ネットワーク:
-フロントエンド
デプロイ:
再起動ポリシー:*デフォルト再起動ポリシー
リソース:*デフォルト-リソースポリシー

Nginxのサービス構成では接続を暗号化または保護しないため、リンクを介して交換されるすべての情報は、さまざまな攻撃やスヌーピングに対して脆弱になります。

サーバー {
サーバー名 scw-dev-blog.org;
8443を聞いてください。
SSL プロトコル TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+AESGCM: EDH+AESGCM;
SSL_prefer_server_ciphers オン;
SSL_certificate /run/secrets/nginx_cert;
SSL_certificate_key /run/secrets/nginx_key;
アクセスログ /dev/stdout;
エラーログ /dev/stderr;
場所/{
proxy_pass http://wordpress:8080;
プロキシセットヘッダーホスト $http_host;
プロキシセットヘッダー X-Forwarded-Host $http_host;
プロキシセットヘッダー X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
プロキシセットヘッダー X-Forwarded-Proto $Scheme;
}
}

多くの場合、誰かがトランスポート層を覗き見している最初の兆候は、盗まれたユーザーパスワードが大量にその後の攻撃で使用された場合です。顧客情報、財務記録、重要な企業秘密などの他のデータが、安全でないトランスポート層を介して盗まれても、自分が侵害されたことに気付かない場合もあります。

保護が必要なのは、ユーザーとアプリケーション間のトランスポート層だけではありません。バックエンドでは、多くのアプリケーションが相互に通信し、ワークフローチェーンのさらに奥にあるサーバーとも通信します。これらの内部通信は一般に外部からの覗き見に対して脆弱ではありませんが、ネットワークへのアクセスは許可されているが、高度に保護された特定の情報や機密情報の閲覧は許可されていないユーザーにデータが漏洩する可能性があります。

完全なデータ保護のためのトランスポート層の適切な保護

トランスポート層の保護は、アプリケーションの作成中に行うのが最適です。このプロセスは、安全なバックエンド・インフラストラクチャーの構築から始まります。ウェブサイトでは、すべてを HTTPS を使用して行う必要があります。HTTP と HTTPS のインフラストラクチャーを混在させないでください。さらに、セキュリティで保護されていない HTTP リクエストを HTTPS インフラストラクチャに自動的にルーティングするようにサイトを設定する必要もあります。

上の例では、トランスポート層を保護する適切な方法は次のようになります。

サーバー {
サーバー名 scw-dev-blog.org;
8443 SSLを聞いてください。
SSL プロトコル TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+AESGCM: EDH+AESGCM;
SSL_prefer_server_ciphers オン;
SSL_certificate /run/secrets/nginx_cert;
SSL_certificate_key /run/secrets/nginx_key;
アクセスログ /dev/stdout;
エラーログ /dev/stderr;
場所/{
proxy_pass http://wordpress:8080;
プロキシセットヘッダーホスト $http_host;
プロキシセットヘッダー X-Forwarded-Host $http_host;
プロキシセットヘッダー X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
プロキシセットヘッダー X-Forwarded-Proto $Scheme;
}
}

この例では、Nginx サービスとのすべての接続は強力に暗号化されています。Nginx 設定のサーバーセクションには以下しか含まれていません。 リッスン 8443 SSLによる接続保護を強制するためです。

内部からの脅威からデータを保護するために、開発者はTLS 1.2のような強力なトランスポート層暗号化プロトコルを採用する必要があります。TLS 1.2 または同等のプロトコルを導入したら、SSL v2 のような脆弱なプロトコルはインフラストラクチャから完全に削除され、自動的に使用されなくなるはずです。

また、保管中のデータとトランスポート層の両方が十分に保護されるまで、アプリケーションの保護は完全には完了しないということを常に念頭に置いてください。そうすれば、内部と権限のある外部ユーザーに転送される際の両方で、データをエンドツーエンドで完全に保護できます。
をチェックしてください セキュア・コード・ウォリアー この脆弱性や、他のセキュリティ上の欠陥による被害から組織や顧客を保護する方法についての詳細な情報については、ブログページをご覧ください。また、次のこともできます。 デモを試す Secure Code Warriorトレーニングプラットフォームで、すべてのサイバーセキュリティスキルを磨き、最新の状態に保ちましょう。

观看在线研讨会
开始吧
了解更多

请点击以下链接下载此资源的PDF文件。

Secure Code Warrior致力于在整个软件开发生命周期中保护代码,并协助构建将网络安全置于首位的文化。无论您是应用程序安全经理、开发人员、首席信息安全官还是安全相关人员,我们都能帮助您降低与不安全代码相关的风险。

显示报告预约演示
下载PDF文件
显示资源
分享:
领英品牌社交x 标志
您还有兴趣吗?

分享:
领英品牌社交x 标志
著者
马蒂亚斯·马杜博士
发表于2020年6月1日

马蒂亚斯·马杜博士是安全专家、研究员、首席技术官,以及安全代码战士的联合创始人。马蒂亚斯在根特大学以静态分析解决方案为核心,获得了应用安全领域的博士学位。此后他加入美国Fortify公司,并意识到仅检测代码问题而未协助开发者编写安全代码是远远不够的。这一认知促使他致力于开发能帮助开发者减轻安全负担、超越客户期望的产品。作为Team Awesome成员,当他不在办公桌前时,最享受在RSA大会、BlackHat、DefCon等技术会议上登台演讲的时刻。

马蒂亚斯是一位拥有15年以上软件安全实践经验的研究员兼开发者。他曾为Fortify Software、其创立的Sensei Security等企业开发解决方案。在职业生涯中,马蒂亚斯主导了多个应用安全研究项目,这些项目最终转化为商用产品,并获得了10余项专利。在离开办公桌时,马蒂亚斯担任高级应用安全培训课程讲师,并定期在RSA大会、黑帽大会、DefCon、BSIMM、OWASP应用安全大会、BruCon等全球性会议上发表演讲。

马蒂亚斯在根特大学获得计算机工程博士学位,期间学习了通过程序混淆技术隐藏应用程序内部运作机制的应用程序安全技术。

分享:
领英品牌社交x 标志

組織内でセキュアなコードとしてのインフラストラクチャ (IaC) の導入を開始するために実行できる手順について詳しく知りたい開発者にとって、このサイトはまさにうってつけの場所です。これは IaC シリーズの次の章で、IaC セキュリティのベストプラクティスのレベルアップを目的としています。

始める前に、前回のチャレンジはどうでしたか?安全でない暗号をマスターしたことがあるなら、詳細を掘り下げる前に、トランスポート層保護が不十分な場合の対処法を見てみましょう。

詳細を学び、満点を獲得したいですか?続きを読む:

前回の記事では、アプリケーションやプログラムに保存されている重要なデータや個人データを保護するための安全な暗号化の重要性について説明しました。強固な暗号化を採用していれば、最後の防衛線として完璧に機能します。攻撃者がそのデータを盗むことができたとしても、そのデータが強力に暗号化されていれば、それらのファイル内にロックされている情報は保護されます。

ただし、保管中のデータを保護することは、完全なデータ防御の一部にすぎません。有効なユーザーが保護されたデータにアクセスする必要がある場合はいつでも、そのユーザーにそのデータを送信する必要があります。ときには、全体的なワークロードの一部として、アプリケーションが他のプログラムとデータを共有することもあります。トランスポート層が保護されていない限り、外部からの覗き見や不正な内部閲覧の両方に対して脆弱になります。そのため、トランスポート層の保護が不十分だと、深刻な問題が発生する可能性があります。

よくある問題です。OWASP のセキュリティ組織は、以下の内容に関するページもすべて管理しています。 トランスポート層保護が不十分

トランスポート層の保護が不十分であるのはなぜ危険なのですか?

トランスポート層を十分に保護しないと、熟練したハッカーが中間者攻撃などの手法を使用して、ユーザーとアプリケーションの間を流れる情報を傍受するのは比較的簡単です。この種のスヌーピングで最も危険な側面は、ネットワークや制御の及ばない場所で発生するため、内部のサイバーセキュリティプラットフォームやスキャンからはほとんど見えないことです。

たとえば、Nginx サービスをデプロイしている Docker 環境では、次のようになります。

サービス:
nginx:
イメージ:ローカルホスト:5000/scw_nginx
ビルド:。/nginx
秘密:
-nginx_cert
-nginx_key
ボリューム:
-タイプ:バインド
ソース:。/nginx/nginx.conf
ターゲット:/etc/nginx/nginx.conf
読み取り専用:はい
ポート:
-80:8443
ネットワーク:
-フロントエンド
デプロイ:
再起動ポリシー:*デフォルト再起動ポリシー
リソース:*デフォルト-リソースポリシー

Nginxのサービス構成では接続を暗号化または保護しないため、リンクを介して交換されるすべての情報は、さまざまな攻撃やスヌーピングに対して脆弱になります。

サーバー {
サーバー名 scw-dev-blog.org;
8443を聞いてください。
SSL プロトコル TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+AESGCM: EDH+AESGCM;
SSL_prefer_server_ciphers オン;
SSL_certificate /run/secrets/nginx_cert;
SSL_certificate_key /run/secrets/nginx_key;
アクセスログ /dev/stdout;
エラーログ /dev/stderr;
場所/{
proxy_pass http://wordpress:8080;
プロキシセットヘッダーホスト $http_host;
プロキシセットヘッダー X-Forwarded-Host $http_host;
プロキシセットヘッダー X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
プロキシセットヘッダー X-Forwarded-Proto $Scheme;
}
}

多くの場合、誰かがトランスポート層を覗き見している最初の兆候は、盗まれたユーザーパスワードが大量にその後の攻撃で使用された場合です。顧客情報、財務記録、重要な企業秘密などの他のデータが、安全でないトランスポート層を介して盗まれても、自分が侵害されたことに気付かない場合もあります。

保護が必要なのは、ユーザーとアプリケーション間のトランスポート層だけではありません。バックエンドでは、多くのアプリケーションが相互に通信し、ワークフローチェーンのさらに奥にあるサーバーとも通信します。これらの内部通信は一般に外部からの覗き見に対して脆弱ではありませんが、ネットワークへのアクセスは許可されているが、高度に保護された特定の情報や機密情報の閲覧は許可されていないユーザーにデータが漏洩する可能性があります。

完全なデータ保護のためのトランスポート層の適切な保護

トランスポート層の保護は、アプリケーションの作成中に行うのが最適です。このプロセスは、安全なバックエンド・インフラストラクチャーの構築から始まります。ウェブサイトでは、すべてを HTTPS を使用して行う必要があります。HTTP と HTTPS のインフラストラクチャーを混在させないでください。さらに、セキュリティで保護されていない HTTP リクエストを HTTPS インフラストラクチャに自動的にルーティングするようにサイトを設定する必要もあります。

上の例では、トランスポート層を保護する適切な方法は次のようになります。

サーバー {
サーバー名 scw-dev-blog.org;
8443 SSLを聞いてください。
SSL プロトコル TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+AESGCM: EDH+AESGCM;
SSL_prefer_server_ciphers オン;
SSL_certificate /run/secrets/nginx_cert;
SSL_certificate_key /run/secrets/nginx_key;
アクセスログ /dev/stdout;
エラーログ /dev/stderr;
場所/{
proxy_pass http://wordpress:8080;
プロキシセットヘッダーホスト $http_host;
プロキシセットヘッダー X-Forwarded-Host $http_host;
プロキシセットヘッダー X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
プロキシセットヘッダー X-Forwarded-Proto $Scheme;
}
}

この例では、Nginx サービスとのすべての接続は強力に暗号化されています。Nginx 設定のサーバーセクションには以下しか含まれていません。 リッスン 8443 SSLによる接続保護を強制するためです。

内部からの脅威からデータを保護するために、開発者はTLS 1.2のような強力なトランスポート層暗号化プロトコルを採用する必要があります。TLS 1.2 または同等のプロトコルを導入したら、SSL v2 のような脆弱なプロトコルはインフラストラクチャから完全に削除され、自動的に使用されなくなるはずです。

また、保管中のデータとトランスポート層の両方が十分に保護されるまで、アプリケーションの保護は完全には完了しないということを常に念頭に置いてください。そうすれば、内部と権限のある外部ユーザーに転送される際の両方で、データをエンドツーエンドで完全に保護できます。
をチェックしてください セキュア・コード・ウォリアー この脆弱性や、他のセキュリティ上の欠陥による被害から組織や顧客を保護する方法についての詳細な情報については、ブログページをご覧ください。また、次のこともできます。 デモを試す Secure Code Warriorトレーニングプラットフォームで、すべてのサイバーセキュリティスキルを磨き、最新の状態に保ちましょう。

目录

下载PDF文件
显示资源
您还有兴趣吗?

马蒂亚斯·马杜博士是安全专家、研究员、首席技术官,以及安全代码战士的联合创始人。马蒂亚斯在根特大学以静态分析解决方案为核心,获得了应用安全领域的博士学位。此后他加入美国Fortify公司,并意识到仅检测代码问题而未协助开发者编写安全代码是远远不够的。这一认知促使他致力于开发能帮助开发者减轻安全负担、超越客户期望的产品。作为Team Awesome成员,当他不在办公桌前时,最享受在RSA大会、BlackHat、DefCon等技术会议上登台演讲的时刻。

了解更多

Secure Code Warrior致力于在整个软件开发生命周期中保护代码,并协助构建将网络安全置于首位的文化。无论您是应用程序安全经理、开发人员、首席信息安全官还是安全相关人员,我们都能帮助您降低与不安全代码相关的风险。

预约演示[下载]
分享:
领英品牌社交x 标志
资源中心

开始所需的资源

其他投稿
资源中心

开始所需的资源

其他投稿