セキュリティ対策
Magic3はセキュリティを高める設計思想に基づいて実装されています。
以下の方針によって、Webサイトは、不正行為の防御や運用監視機能までに至るまで、強力なセキュリティな機能によって防御されます。
アクセスポイントの制限
Magic3へのアクセスポイント(実行可能なPHPスクリプトファイル)は必要最小限に押さえ、サイトへの入り口を限定することによって、システムへの不正アクセスを防止しています。(ディレクトリ構成)
アクセスポイントの監視
アクセスポイントを通ったアクセスはすべて監視しています。
問題あるアクセスについては、処理をブロックし、運用ログに記録を残しています。(管理機能/運用ログ)
POSTされたデータもログに残るので、不正な送信データをチェックすることができます。(管理機能/アクセスログ)
受信データのチェック
GETやPOSTで送られたデータはすべて、そのままシステムで扱うのではなく、必ず一旦データ内容をチェックし、
XSS(Cross Site Scripting)の手段となるJavaScript等を含んだタグや不正なデータを除いてからシステムに渡るようになっています。
問題があるデータを検知したときは、運用ログに記録されます。(管理機能/運用ログ)
SQLインジェクション防止
プログラムレベルでは、PDOのプリペアードステートメント機能を使ってSQLインジェクションを防いでいます。
セッションハイジャック防止
ログイン時のセッションはIPとブラウザのユーザエージェントが一致する場合のみセッションが維持されるしくみになっているので、万一クッキーのセッションキーが漏洩した場合でもセッションが盗まれることはありません。
SSL機能
SSLを使って通信を暗号化することができます。(設定方法/SSL)
使用しない機能へのアクセス防止
使用しない機能(ウィジェット)は、ユーザからのアクセスから完全にブロックされます。
また、問題が発生したウィジェットは、サイトの運用を停止することなく、瞬時に取り外すことができます。
(ウィジェットのデプロイ)
データの変更履歴
基本的に、DBに格納したすべてのデータの変更は履歴管理されています。
ユーザの間違った操作によるデータ喪失の場合でも再生可能です。
ウィジェットの緊急停止
ウィジェットに問題が見つかった場合など、サイト全体の運用は停止しないでそのウィジェットだけを停止することができます。(管理機能/ウィジェット管理)