# 会計ERPシステム セキュリティ設計書

## 1. 概要

本設計書は、会計ERPシステムのセキュリティに関する設計を示したものです。高い機密性が求められる会計データを扱うシステムとして、多層的なセキュリティ対策を実装し、情報漏洩、不正アクセス、データ改ざんなどのリスクから保護する設計としています。

## 2. セキュリティ要件

機能要件一覧およびインフラ設計書から抽出した主要なセキュリティ要件は以下の通りです：

- 重要な財務データの保護（予算、実績、税務情報など）
- 適切なユーザー認証とアクセス制御
- 部門間・権限レベル間のデータアクセス分離
- 外部システム連携時のセキュリティ確保
- 監査証跡の記録と保存
- 法令・規制要件への準拠

## 3. 認証・認可設計

### 3.1 認証設計

#### 3.1.1 ユーザー認証

- **多要素認証（MFA）**：
  - 管理者アカウントおよび特権ユーザーに対するMFA必須化
  - モバイルアプリ認証またはハードウェアトークン対応

- **パスワードポリシー**：
  - 最小長：12文字以上
  - 複雑性：大文字、小文字、数字、特殊文字を含む
  - 有効期限：90日
  - パスワード履歴：過去12回分の再利用禁止
  - アカウントロック：5回連続失敗で30分ロック

- **シングルサインオン（SSO）**：
  - AWS IAM Identity Centerとの統合
  - 社内Active Directoryとの連携

#### 3.1.2 API認証

- OAuth 2.0 / OpenID Connectによる認証
- APIキー管理と定期的なローテーション
- クライアント証明書による相互TLS認証（外部システム連携用）

### 3.2 認可設計

#### 3.2.1 ロールベースアクセス制御（RBAC）

| ロール | 説明 | 主な権限 |
|--------|------|---------|
| システム管理者 | システム全体の管理 | 全機能へのアクセス、設定変更 |
| 経理部長 | 経理部門の管理 | 全社予算承認、財務レポート閲覧、部門別収支確認 |
| 経理担当者 | 経理業務の実行 | 予算管理、実績管理、税務処理、連結会計 |
| 各部門担当者 | 部門予算・実績管理 | 部門予算作成、部門実績確認、部門レポート閲覧 |
| 税理士 | 税務関連処理 | 税務申告書確認、税務データ閲覧 |
| 監査者 | システム監査 | 監査ログ閲覧、設定確認（読み取り専用） |

#### 3.2.2 データアクセス制御

- **部門別アクセス制限**：
  - 部門担当者は自部門のデータのみアクセス可能
  - 経理部長・経理担当者は全部門データにアクセス可能

- **機能別アクセス制限**：
  - 予算テンプレート管理：経理担当者のみ
  - 予算承認ワークフロー：経理部長のみ
  - 予算実績レポート：各ユーザーの権限に応じた範囲のみ

- **データ項目レベルの制御**：
  - 給与データなど機密性の高い項目は閲覧権限を制限
  - 固定資産・税務データは経理担当者と経理部長のみアクセス可能

## 4. インフラセキュリティ設計

### 4.1 ネットワークセキュリティ

#### 4.1.1 境界保護

- **ファイアウォール設定**：
  - VPCセキュリティグループによる通信制限
  - インバウンド/アウトバウンドトラフィックの制限
  - 必要最小限のポートのみ開放

- **WAFによる保護**：
  - SQLインジェクション対策
  - クロスサイトスクリプティング（XSS）対策
  - 不正リクエスト検知・ブロック
  - レート制限によるDDoS対策

- **DDoS対策**：
  - AWS Shield Standardによる基本的なDDoS保護
  - CloudFrontによる攻撃の分散・緩和

#### 4.1.2 通信暗号化

- **転送中データの暗号化**：
  - TLS 1.2以上の強制（TLS 1.0/1.1無効化）
  - 強力な暗号スイートの使用（ECDHE-RSA-AES256-GCM-SHA384など）
  - HTTP Strict Transport Security (HSTS)の実装

- **VPN接続**：
  - 社内ネットワークとAWS間のサイト間VPN
  - リモートアクセス用のクライアントVPN

### 4.2 データセキュリティ

#### 4.2.1 保存データの暗号化

- **データベース暗号化**：
  - Amazon Aurora PostgreSQLの保存時暗号化
  - AWS KMSによる暗号化キー管理

- **ストレージ暗号化**：
  - S3バケットのサーバーサイド暗号化
  - EBSボリュームの暗号化

- **バックアップデータの暗号化**：
  - RDSスナップショットの暗号化
  - S3バックアップの暗号化

#### 4.2.2 機密データ保護

- **機密データの識別と分類**：
  - 個人情報、財務データ、税務情報などの分類
  - データの重要度に応じた保護対策

- **データマスキング**：
  - 非本番環境での個人情報・機密情報のマスキング
  - 権限に応じた項目の表示/非表示制御

- **データ漏洩防止（DLP）**：
  - S3オブジェクトのパブリックアクセス禁止
  - CloudWatch Alarmsによる異常な大量データアクセスの検知

### 4.3 アプリケーションセキュリティ

#### 4.3.1 セキュアコーディング

- OWASP Top 10対策の実施
- 入力値検証の徹底
- SQLインジェクション対策（パラメータ化クエリ使用）
- XSS対策（出力エスケープ処理）

#### 4.3.2 セッション管理

- セキュアなセッションID生成
- セッションタイムアウト設定（30分）
- セッション固定化攻撃対策

#### 4.3.3 APIセキュリティ

- レート制限による過剰リクエスト防止
- リクエスト検証（スキーマ検証）
- 適切なHTTPメソッド制限

## 5. 監査・ログ設計

### 5.1 監査ログ

#### 5.1.1 ログ取得項目

- **ユーザーアクティビティログ**：
  - ログイン/ログアウト
  - パスワード変更
  - 権限変更
  - 重要データへのアクセス

- **システム変更ログ**：
  - 設定変更
  - マスタデータ変更
  - バッチ処理実行

- **データ変更ログ**：
  - 予算データの作成・更新
  - 実績データの更新
  - 税務データの変更
  - 連結仕訳の作成・修正

#### 5.1.2 ログ保存設計

- **保存期間**：
  - オンラインログ：3ヶ月
  - アーカイブログ：7年（税務要件に対応）

- **保存先**：
  - CloudWatch Logs（短期保存）
  - S3（長期アーカイブ）
  - AWS Backup（バックアップ）

### 5.2 監視・検知

- **セキュリティ監視**：
  - Amazon GuardDutyによる脅威検知
  - CloudTrailによるAPI操作の監視
  - CloudWatch Alarmsによる異常検知

- **アラート設定**：
  - 特権ユーザーのアクティビティ
  - 大量データのエクスポート
  - 認証失敗の急増
  - 通常時間外のアクセス

## 6. 脆弱性管理

### 6.1 脆弱性スキャン

- **定期スキャン**：
  - インフラスキャン：月次
  - アプリケーションスキャン：四半期ごと
  - データベーススキャン：四半期ごと

- **スキャンツール**：
  - Amazon Inspector
  - OWASP ZAP
  - 商用脆弱性スキャナー

### 6.2 パッチ管理

- **パッチ適用ポリシー**：
  - 重大な脆弱性：24時間以内
  - 高リスク脆弱性：1週間以内
  - 中リスク脆弱性：1ヶ月以内

- **パッチ管理プロセス**：
  - AWS Systems Managerによる管理
  - パッチ適用の事前テスト
  - ロールバック計画の策定

## 7. インシデント対応

### 7.1 インシデント対応計画

- インシデント分類と優先度付け
- エスカレーションフロー
- 連絡体制と責任者
- 対応手順の文書化

### 7.2 インシデント対応プロセス

1. **検知と初期評価**
   - 監視システムからのアラート
   - ユーザーからの報告

2. **封じ込めと根絶**
   - 影響範囲の特定
   - 攻撃元の遮断
   - 脆弱性の修正

3. **復旧**
   - システム・データの復元
   - 正常動作の確認

4. **事後分析**
   - 原因調査
   - 再発防止策の立案

## 8. コンプライアンス対応

### 8.1 対応法令・規制

- 会社法
- 金融商品取引法（J-SOX）
- 個人情報保護法
- 電子帳簿保存法
- 業界固有の規制要件

### 8.2 コンプライアンス対応策

- **データ保持ポリシー**：
  - 法定保存期間に基づく設定
  - 自動アーカイブと削除ポリシー

- **監査対応**：
  - 監査証跡の維持
  - 監査レポートの自動生成

- **定期的なコンプライアンス評価**：
  - 内部監査の実施
  - 外部監査への対応準備

## 9. 機能別セキュリティ要件

### 9.1 予算管理・実績管理

- 予算テンプレートへのアクセス制御
- 部門間の予算データ分離
- 予算承認ワークフローの改ざん防止
- 予算シミュレーション結果の保護

### 9.2 税務処理・連結会計

- 税務データの厳格なアクセス制御
- 税務申告書類の改ざん検知
- 連結仕訳データの監査証跡
- 内部取引データの保護

### 9.3 外部システム連携

- API認証の厳格化
- データ転送の暗号化
- 連携データの整合性検証
- 異常パターンの検知

## 10. セキュリティ運用・保守

### 10.1 セキュリティ運用体制

- セキュリティ責任者の任命
- インシデント対応チームの編成
- 定期的なセキュリティレビュー会議

### 10.2 セキュリティ教育・訓練

- ユーザー向けセキュリティ意識向上トレーニング
- 管理者向け専門トレーニング
- インシデント対応訓練の実施

### 10.3 セキュリティ文書管理

- セキュリティポリシーの文書化
- 運用手順書の整備
- 定期的な文書レビューと更新

## 11. 実装ロードマップ

### フェーズ1（1-2ヶ月）
- 基本認証・認可機能の実装
- ネットワークセキュリティ対策の導入
- ログ収集基盤の構築

### フェーズ2（2-3ヶ月）
- データ暗号化の実装
- 監視・アラート体制の確立
- 脆弱性管理プロセスの導入

### フェーズ3（1-2ヶ月）
- 高度な認証メカニズムの導入
- インシデント対応体制の確立
- コンプライアンス対応の完了

### フェーズ4（継続的）
- セキュリティ対策の評価と改善
- 新たな脅威への対応
- セキュリティ教育の継続実施

## 12. まとめ

本設計書では、会計ERPシステムのセキュリティ設計として、多層的な防御アプローチを採用しました。認証・認可、ネットワークセキュリティ、データ保護、監視・検知、インシデント対応など、包括的なセキュリティ対策を実装することで、システムとデータの保護を実現します。

セキュリティは継続的なプロセスであり、定期的な評価と改善を通じて、常に最新の脅威に対応できる体制を維持することが重要です。
