説明
HTTPリクエストは機密データを平文で送るため、通信の盗聴や中間者攻撃を受けるおそれがあります。HTTPだけでは、通信の機密性、完全性、接続先の認証を保護できません。
想定される影響
- 情報漏えい: 平文で送信された機密情報を盗み取られる可能性があります。
- データの改ざん: 転送中のデータが書き換えられるおそれがあります。
- 認証の侵害: 盗まれた認証情報を使って、ユーザーになりすまされる可能性があります。
対処方法
- HTTPSを使い、サーバー証明書の検証を有効にして転送データを保護してください。
- TLS 1.2以降を使用してください。
- サーバーとアプリケーションでHTTPSの使用を必須にしてください。
例
変更前
python
# 平文のHTTPリクエスト
import requests
response = requests.get('http://example.com/api/data')
変更後
python
# 証明書を検証するHTTPSリクエスト
import requests
response = requests.get('https://example.com/api/data')
解説
- 変更前: HTTPで機密データを平文送信するため、中間者攻撃を受けるおそれがあります。
- 変更後: HTTPSと既定のサーバー証明書検証で転送データを保護します。
verify=Falseで証明書検証を無効にしないでください。