セキュリティチェックリスト
エンタープライズのデプロイに使う、セキュリティのチェックリストです。
RustFS のセキュリティに関するベストプラクティスです。デプロイ時にこのチェックリストを確認し、システムのセキュリティと信頼性を保ちます。
認証とアクセス制御
-
S3 互換のキー認証を使う RustFS は AWS Signature V4 を使います。すべてのリクエストが、有効なアクセスキーとシークレットキーで署名されていることを確認します。
-
ポリシーに基づくアクセス制御 最小権限の原則に基づいてアクセスポリシーを定義します。許可する操作を明示し、それ以外はデフォルトで拒否します。
暗号化(TLS/SSL)
-
TLS/SSL を有効にする 有効な TLS 証明書を設定します。外部アクセスと内部アクセスで別々の証明書を使い、TLS 1.2 以上を必須とすることを推奨します。
-
証明書の管理 信頼できる CA が発行した証明書を使います。秘密鍵は、厳格なファイル権限で保護します。
-
マルチドメインと暗号スイート ドメインごとに別の証明書を使います。強力な鍵アルゴリズム(例: RSA 2048 ビット、ECDSA P-256)を使います。
認証情報の保護
-
デフォルトの認証情報を変更する 本番環境では、例示用のプレースホルダー(
<your-access-key>/<your-secret-key>)を残さないでください。初期化の直後に、一意のアクセスキーと、強力でランダムなシークレットを設定します。シークレットは、たとえばopenssl rand -base64 24で生成できます。 -
安全な保管 認証情報をハードコードしないでください。環境変数、またはシークレット管理システム(例: Kubernetes Secrets)を使います。
ログと監査
-
監査ログを有効にする 監査ログを外部システム(HTTP Webhook、Kafka、ELK、Splunk)へエクスポートします。
-
ログの収集 標準的なツール(journald、Docker、Kubernetes)でログを収集し、ELK または Grafana Loki で分析します。
-
監視とアラート 異常な挙動(ログイン失敗、通常と異なるアクセスパターン、大量削除)に対するアラートを設定します。
-
オブザーバビリティ リクエストのレイテンシを監視し、性能上の問題を見つけます。
API のセキュリティ
-
ネットワークアクセスを制限する ファイアウォールまたはセキュリティグループを使い、S3 API(ポート 9000)と Console(ポート 9001)へのアクセスを制限します。
-
ネットワークの分離 ストレージノードを直接公開せず、リバースプロキシ(例: Nginx)を経由します。
-
不要なポートを閉じる 未使用のポートを無効にします。管理インターフェースを公開インターネットへ公開しないでください。
WORM コンプライアンス
- バージョニングとオブジェクトロック 規制要件を満たすため、バージョニングとオブジェクトロックを有効にします。
更新
-
パッチを適用する RustFS の更新を定期的に確認し、適用します。
-
無停止アップグレード ダウンタイムなしでアップグレードするには、ローリングリスタートの手順を使います。
-
OS と依存関係 オペレーティングシステムと依存関係(例: OpenSSL)を最新の状態に保ちます。
安全な RustFS のデプロイを維持するため、このチェックリストを定期的に見直します。