情報セキュリティへの取り組み
最終更新日:2026年10月14日
DC Insiderは、ユーザーの個人情報を適切に保護するため、以下のセキュリティ対策を実施しています。 本ページでは、実際に導入している技術的・運用的なセキュリティ対策を誠実に開示します。
🔐通信・データ保護
HTTPS / TLS 1.3 による通信暗号化
サイト全体でHTTPS通信を強制し、最新のTLS 1.3プロトコルで通信内容を暗号化しています。
- ・HTTP → HTTPS 自動リダイレクト
- ・HSTS(HTTP Strict Transport Security)設定済み
- ・Let's Encrypt による SSL証明書
パスワードのセキュアな保管
パスワードは平文で保存せず、Supabase Authによりbcryptハッシュ化して保管します。
🛡️Webセキュリティヘッダー
セキュリティHTTPヘッダーの設定
クリックジャッキング・XSS・コンテンツスニッフィング等の攻撃を防ぐヘッダーを設定しています。
- ・Content-Security-Policy(CSP): リクエストごとに発行する使い捨ての鍵(nonce)が付いたスクリプトだけを実行(unsafe-inline / unsafe-eval は不使用)
- ・Cross-Origin-Opener-Policy / Cross-Origin-Resource-Policy: 他サイトからの干渉・読み出しを遮断
- ・X-Permitted-Cross-Domain-Policies: none
- ・X-Frame-Options: DENY(クリックジャッキング防止)
- ・X-Content-Type-Options: nosniff(MIMEスニッフィング防止)
- ・Strict-Transport-Security(HSTS): HTTPS強制
- ・Referrer-Policy: strict-origin-when-cross-origin
- ・Permissions-Policy: カメラ・マイク・位置情報をブロック
- ・X-XSS-Protection: 有効
⚡アクセス制御・レート制限
APIレート制限
ブルートフォース攻撃・スパム送信を防ぐため、エンドポイントごとにアクセス頻度の上限を設けています。
- ・お問い合わせ: 5回/分
- ・メルマガ登録: 5回/分
- ・ログイン・会員登録: 10回/分
- ・クイズ・AI機能: 20回/分
- ・その他API: 60回/分
- ・サーバー(Nginx)とアプリケーションの二重で制限
アプリケーション内部の非公開化
アプリケーションサーバーはlocalhost(127.0.0.1)のみでリッスンし、Nginx経由以外の直接アクセスを遮断しています。
🚨不正アクセス検知・遮断
fail2ban による自動ブロック
繰り返し不正なリクエストを行うIPアドレスを自動的に検知し、一定時間ブロックします。
- ・SSH ブルートフォース対策
- ・Nginx レート制限超過による自動BAN
- ・不審なボット・スキャン行為の検知
Nginxバージョン情報の非公開
サーバーのソフトウェアバージョン情報を応答ヘッダーから削除し、脆弱性情報の露出を防止しています。
🔍脆弱性管理
依存パッケージの定期脆弱性チェック
npm audit を毎日自動実行し、使用しているライブラリに既知の脆弱性がないかを定期的に確認しています。
- ・毎日午前3時に自動実行し、管理者が最新の診断結果を随時確認
- ・配信前の自動検査でも確認し、重大な脆弱性があるままでは公開できない仕組み
リクエストボディサイズの制限
異常に大きなリクエストによるサービス妨害(DoS)を防ぐため、リクエストサイズを2MBに制限しています。
👤アカウントセキュリティ
管理者2要素認証(TOTP)の必須化
管理画面・管理APIへのアクセスには、パスワードに加えて認証アプリ(TOTP)によるコード入力を必須としています。検証の通過はサーバー側で毎回確認します。
- ・認証アプリ未登録の管理者は、登録を完了するまで管理機能を利用できません
- ・画面側のクッキーではなく、サーバー側で認証の保証レベル(AAL2)を判定
- ・管理画面の接続元IPを限定する設定にも対応
パスワードポリシーと漏えいパスワードの拒否
会員登録時のパスワードは12文字以上・英数字混在を必須とし、過去に漏えいしたパスワードの一覧(Have I Been Pwned)と照合して拒否します。
- ・照合はk-anonymity方式。パスワードそのものは外部に送信しません
- ・判定はサーバー側で行うため、画面の検証を迂回しても通りません
ログイン試行回数の制限
総当たり攻撃を防ぐため、ログインはサーバー側で試行回数を数えて制限します。
- ・メールアドレス単位:5回失敗で15分ロック
- ・IPアドレス単位:30回失敗で15分ロック(複数アカウントへの総当たり対策)
入力値のバリデーションとエスケープ
フォーム入力はすべてサーバー側で厳格に検証し、SQLインジェクション・XSS攻撃を防いでいます。
- ・入力長の制限(名前: 100文字、メッセージ: 2000文字)
- ・HTMLエスケープ処理
- ・メールアドレスの形式検証
🗄️データの保護
行単位のアクセス制御(RLS)
データベースの全テーブルで行単位のアクセス制御を有効にし、ログイン中のご本人の記録のみ参照できる構成にしています。
外部から取り込むコンテンツの無害化
ブログ記事など外部システムから取り込むHTMLは、許可したタグ・属性だけを通すホワイトリスト方式で処理し、スクリプトの混入を防いでいます。
📋操作履歴の記録
管理者操作の監査ログ
管理画面での操作(法令の作成・更新・削除、ユーザー管理等)はすべてログとして記録し、不正操作の追跡を可能にしています。
認証イベントの記録
ログインの成否・試行回数超過・二要素認証・退会を、接続元IPとともに記録しています。
- ・保存期間は400日(1年超)
- ・記録できるのはサーバー側のみで、利用者側から改変できません
セキュリティに関するご連絡
本サイトのセキュリティに関する脆弱性を発見された場合や、セキュリティに関するご質問・ご懸念がある場合は、お問い合わせフォームまたはinfo@iaer.onlineまでご連絡ください。
報告の宛先は /.well-known/security.txt(RFC 9116)にも掲載しています。 調査にあたっては、実データの改変・削除や、他の利用者に影響が及ぶ行為(サービス妨害・大量アクセス等)はお控えください。
なお、本サイトは一般向けの情報提供サービスであり、金融機関・特定事業者向けの法的規制(FISC安全対策基準等)の適用対象ではありません。 ただし利用者の個人情報を扱うため、金融庁「金融分野におけるサイバーセキュリティに関するガイドライン」の基本的な対策事項を自主的な達成水準として採用しています。 個人情報保護法・不正アクセス禁止法に基づき適切に運営しています。