ちいプラのセキュリティ対策まとめ

概要

ちいプラのセキュリティ対策について後述しました。粛々と対策することで、2016年3月のサービス開始以来、不正アクセスによる被害は発生しておりません。

もちろんセキュリティに万全はないので、今後も粛々と対策をアップデートしてまいります。

昨今は、AIの進化に伴い攻撃の高速化・高度化がすすんでいます。従来型の対応に加えて、サーバー内でAIエージェントを活用して防御・被害最小化に取り組んでいます。

クラウドサービス全体でのセキュリティ対策

世界で最も活用されているパブリッククラウドを活用しています。堅牢なセキュリティが要求される米国防総省でも利用されており、セキュリティ関連機能は世界最高水準です。「コンソールログインの2FA(二要素認証)の強制」や「最小権限付与」などセキュリティの指針に従って運用しています。

  • 特権アカウント管理
    • 厳選した担当者だけに付与
    • MFA認証必須
    • アクセスキー発行しない
  • 巨大インスタンス起動制限
  • 課金超過アラート設定
  • API実行の各種IPアドレス制限
  • 不要なAPIやサービスの無効化
  • クラウド保険加入

サーバーでのセキュリティの実装

脆弱性・パッチ管理

  • OS・ミドルウェアのパッチ適用期間の短縮(1日以内)
  • OS・ミドルウェア・フレームワーク・ライブラリの最新化

通信・HTTPサーバーの設定

  • HTTPサーバのセキュア設定
  • 古いSSL/TLSプロトコル無効化(1.2のみ)

アクセス制限

  • 不要ポート遮断
  • サーバー接続制限(SSH鍵認証のみ、IP制限、ログイン通知)
  • 管理サイトの海外からのアクセス不可(DNSレベル)

攻撃の防御

  • 自動アクセス遮断・WAF(OWASP CRS アノマリーレベル2)
  • DDos攻撃対応

異常検知

  • ファイル改ざん検知
  • データベースからの異常なデータ持ち出しの検知(しきい値超えでメール通知および担当者に電話)

アプリケーションでのセキュリティの実装

通信の暗号化・脆弱性対策

  • 全ページHTTPS対応(通信暗号化)
  • CSRF・XSS対策/ワンタイムトークン等
  • SQLインジェクション対策/パラメタクエリや検知
  • 定期的な脆弱性検査と対応の実施

スクリプト・フォームの改ざん対策

  • CSP(コンテンツセキュリティポリシー/nonce)設定によりちいプラ以外のインラインスクリプト実行不可
  • SRI(サブリソース完全性)付与による外部ライブラリ改竄対策
  • 偽の決済フォームの挿入防止(frame-srcなど)

不正アクセス・不正利用の防止

  • 不正アクセス検知と自動ブロック(セーフユーザーIPアドレス登録可能)
  • ロボットブロック(Cloudflare Turnstile)
  • 捨てメールアドレスでの登録不可

機密情報・ファイル・権限の保護

  • 秘密鍵などの機密情報を暗号化してデータベース以外に保管
  • アップロードしたファイルのマルウェアチェック
  • アプリ実行ユーザーの権限最小化

バックアップ

  • バックアップの多重化
    • 最後の砦となる「バックアップ」は実行環境と異なる複数のサービス・ストレージに保管しており、万一の障害・侵害に備えています。

不正アクセスの早期検知

  • 罠の配置・・・◯◯◯◯が攻撃者に利用されたら検知する
  • 監査機能を利用したRCE検知

管理サイト関連

情報漏洩の多くが権限の大きな管理サイトアカウントが侵害されることで発生しています。

このリスクを軽減するために以下のような対策を実施しています。

  • 多段階認証(MFA)必須・・・メールベースのMFAに対応。2026-10-16から全管理サイトユーザーに必須化
  • 長期間利用(ログイン)がない管理者アカウントに対するアラート・自動ロック
  • 管理サイトユーザーの権限見直し・アカウント棚卸し(各サイトのオーナーに依頼)
    • 「ネットリテラシー」が高い担当者だけに付与するように要請
    • 複数事業者のデータをまたがって管理したい場合はアカウント切替機能利用を推奨
  • 詳細な操作履歴の記録(利用者による不正防止抑止効果)
  • パスワード強度設定
  • 一時ファイルの迅速削除
  • Internet Explorerブロック
  • 管理者ログイン通知
  • 顧客CSVダウンロード可否設定
  • 予約CSVダウンロード可否設定・通知

外部サービス利用時

  • MFA認証必須
  • 最小権限付与
  • 課金アラート設定
  • アクセス元制限
  • 不要な外部APIの無効化

個人情報保護関連機能

パスワード保護

  • 複雑(長さ、文字種)なパスワードの強制
  • ログインパスワードの不可逆暗号化(ハッシュ化)/ログ出力しない

不正ログイン対策

  • ログイン時のBOTブロック機能(Cloudflare Turnstile)
  • ログイン時のMFA認証/選択式
    • 会員登録時の既定値を「MFA有効」に設定。オプトアウトする場合は警告を表示。
  • ログイン時の一定回数失敗による一時ロック・接続拒否
  • 久しぶりのログイン時にお客様のメールアドレスへ通知
    • 他サイトで漏洩した認証情報を使いまわししていてログインされた場合の早期発見に有用

個人情報の保持・消去

  • 長期間利用のないお客様の自動退会機能 ※事前予告あり
  • 退会時の会員情報の消去
  • 個人情報の保持期間設定・マスク機能(会員、予約、問い合わせなど、細かく設定可能)
  • DKIM/SPF/DMARCでフィッシングメール配信防止

クレジットカード情報関連

本システムは決済サービス会社から発行されるトークンを利用して決済処理を行っています。クレジットカード情報は保持しないだけでなく、一瞬たりともサーバーを通過しません。このため本システムからクレジットカード情報が漏洩することはありません。もちろん利用している決済サービスはPCI-DSSに準拠しています。

  • カード情報非保持
  • カード情報非通過
  • 3Dセキュア対応(カード登録時、チャージ作成時)
  • 決済ページで外部フォームの差し込み防止(カード情報盗難防止)
  • 決済API実行サーバーのIPアドレス制限
  • 異常検知(売上/返金イベント件数を監査)と、しきい値超えでのメール通知・担当者への即時コール機能
  • 新規会員の初回予約時はプラン支払い方法が現地払いでも本人認証付きクレカ決済を強制するオプションの提供

インシデント対応

  • インシデント発生時の手順書・テンプレート・チェックリストを整備

完全内製によるメリット

完全内製にしていることは生産性向上だけでなくセキュリティ面で有効に機能します。

セキュリティ・ガバナンス

不正アクセス・情報漏洩の多くが「委託先」で発生しています。弊社はシステムの開発・運用ともに完全に内製しています。

統制が困難な外部委託先がないことはセキュリティ対策上、大きなメリットです。

  • 再委託の連鎖がない・・・誰が本番環境や個人情報に触れられるのか、把握できない人が存在しません。
  • アクセス権を持つ人が最小限・・・退職者や契約終了した委託先のアカウント・鍵が残り続ける、という典型的な事故が起きにくい構造です。
  • 認証情報やデータが内部のみ存在・・・メールでパスワード送信、委託先環境に本番データのコピーがある、といった経路がありません。
  • 委託先同士で原因を押し付け合ったり、調整に時間を取られたりしません。
  • 影響範囲を迅速かつ正確に特定できる・・・個人情報保護委員会への速報など、期限のある報告や参画事業者への説明が早く正確になります。

脆弱性への対応力

  • コードを隅々まで把握している・・・ライブラリの脆弱性が公表されたとき、影響の有無と範囲をすぐ判断できます。
  • 修正が早い・・・見積もり・発注・検収といった手続きを挟まないので、当日中の修正・反映も可能です。
  • セキュリティ対策が予算交渉で止まらない・・・委託では後回しになりがちな、機能追加を伴わない対策にも自発的に取り組めます。異常なデータ送出の監視、古い会員情報のマスク、WAFの導入などがその例です。
  • 継続的に更新されている・・・「納品して終わり」で放置されるシステムと違い、OS・ランタイム・フレームワーク等のバージョンアップを続けられます。