AWS Transfer Family サーバーはFTPプロトコルを禁止にする手順

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、「どうやって直すのか?」 という具体的な修復手順(コンソール、AWS CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、AWS Transfer Family サーバーでFTPプロトコルを使用することのセキュリティリスクと、セキュアな代替プロトコルへの移行方法を詳しく解説します。

ポリシーの説明
AWS Transfer Familyは、SFTP、FTPS、FTP、AS2プロトコルを使用してAmazon S3やAmazon EFSとの間でファイルを転送できるフルマネージドサービスです。FTP(File Transfer Protocol)は暗号化されていないプロトコルであり、認証情報やデータが平文で送信されるため、セキュリティ上の重大なリスクがあります。
代替プロトコル:
- SFTP(SSH File Transfer Protocol): SSHベースの暗号化された安全なファイル転送
- FTPS(FTP over SSL/TLS): SSL/TLS暗号化を使用したFTP
- AS2(Applicability Statement 2): EDI(電子データ交換)用の暗号化プロトコル
これらのセキュアなプロトコルを使用することで、機密データの保護とコンプライアンス要件への準拠が可能になります。
リスク
Transfer FamilyサーバーでFTPプロトコルを使用する場合、以下のようなリスクが生じます:
- 認証情報の漏洩: ユーザー名とパスワードが平文で送信されるため、ネットワーク上で盗聴された場合、攻撃者が認証情報を取得し、不正アクセスに使用される可能性があります
- データの盗聴と改ざん: 転送されるファイルの内容が暗号化されていないため、機密情報(個人情報、財務データ、知的財産など)が第三者に露出し、データ漏洩や改ざんのリスクがあります
- 中間者攻撃(MITM): 通信が暗号化されていないため、攻撃者が通信を傍受し、データを改ざんしたり、偽のサーバーに誘導したりする中間者攻撃が可能になります
修復方法
コンソールでの修復手順
AWSのコンソールを使用して、Transfer FamilyサーバーのFTPプロトコルを無効化し、セキュアなプロトコルに切り替えます。
ステップ1: Transfer Familyコンソールへのアクセス
- AWS管理コンソールにログインします
- サービス検索で「Transfer Family」と入力し、「AWS Transfer Family」を選択します
- 左側のナビゲーションペインから「サーバー」を選択します
ステップ2: 既存サーバーの確認
- サーバー一覧から、FTPプロトコルを使用しているサーバーを特定します
- プロトコル列で「FTP」が含まれているサーバーを確認します
- 該当するサーバーIDをクリックして詳細を表示します
ステップ3: サーバーの停止
- サーバー詳細ページで「停止」ボタンをクリックします
- 確認ダイアログで「停止」を選択します
- サーバーのステータスが「STOPPING」から「OFFLINE」に変わるまで待ちます
ステップ4: プロトコルの変更
- サーバーが停止したら、「編集」ボタンをクリックします
- プロトコルセクションで:
- ❌ 「FTP」のチェックを外します
- ✅ 「SFTP」を選択(推奨)
- ✅ または「FTPS」を選択(SSL/TLS証明書が必要)
- ✅ または「AS2」を選択(EDI用途の場合)

ステップ5: エンドポイント設定の確認
- エンドポイントタイプ:
- 「パブリック」: インターネット経由のアクセス
- 「VPC」: プライベートネットワーク内のアクセス(推奨)
- 「VPC_ENDPOINT」: VPCエンドポイント経由のアクセス(最もセキュア)
- セキュリティポリシー(SFTPの場合):
- TransferSecurityPolicy-2024-01(最新・推奨)
- TransferSecurityPolicy-2023-05
- TransferSecurityPolicy-2022-03
- TransferSecurityPolicy-FIPS-2024-01(FIPSコンプライアンスが必要な場合)
ステップ6: 認証設定の更新
- ID プロバイダータイプ:
- サービスマネージド: AWS Transfer Familyが管理
- AWS Directory Service: Active Directory統合
- カスタム: Lambda/API Gateway統合
- 必要に応じて認証方法を強化します
ステップ7: 変更の保存と再起動
- すべての設定を確認し、「保存」をクリックします
- サーバー詳細ページで「開始」ボタンをクリックします
- サーバーのステータスが「ONLINE」になることを確認します
Terraformでの修復手順
Transfer FamilyサーバーでFTPプロトコルを無効化し、セキュアなプロトコルのみを使用する設定をTerraformのサンプルです。
protocols
でのプロトコル選択でFTPを含めず最適なプロトコルを選択すればよいです。
# SFTP専用のTransfer Familyサーバー
resource "aws_transfer_server" "sftp_only" {
# プロトコル設定(重要:FTPを除外)
protocols = ["SFTP"] # FTPは含めない
# エンドポイント設定
endpoint_type = "VPC" # プライベートアクセス推奨
# セキュリティポリシー(最新版を使用)
security_policy_name = "TransferSecurityPolicy-2024-01"
# ID プロバイダー設定
identity_provider_type = "SERVICE_MANAGED"
# ロギング設定
logging_role = aws_iam_role.transfer_logging.arn
# 強制的な設定変更保護
force_destroy = false
tags = {
Name = "secure-sftp-server"
Protocol = "SFTP-Only"
Security = "Encrypted"
}
}
最後に
この記事では、AWS Transfer Family サーバーでFTPプロトコルを使用することのセキュリティリスクと、セキュアなプロトコルへの移行方法を詳しく解説しました。
FTPプロトコルは暗号化されていないため、認証情報やデータが平文で送信され、重大なセキュリティリスクをもたらします。SFTP、FTPS、AS2などのセキュアなプロトコルを使用することで、データの機密性と完全性を確保し、コンプライアンス要件を満たすことができます。特に、機密データや規制対象データを扱う場合は、FTPプロトコルの使用を完全に排除することが不可欠です。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。
参考情報
AWS公式ドキュメント
- AWS Transfer Family ユーザーガイド
- AWS Transfer Family のセキュリティ
- SFTP、FTPS、FTP、AS2 プロトコルの比較
- Transfer Family セキュリティポリシー