CipherTrust Transparent Encryption (CTE)をためす

## 目的
CTE Agent を Windows Server にインストールを行い、"ファイルシステムレベル暗号化" によりファイルが暗号化されることを確認する

## 構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/4a324e51-8f58-c9b5-013d-e196924f1e97.png)

## 暗号化設定概要
Guard Point (暗号化対象フォルダ) : C:\Test

| 暗号化対象 | ファイル操作可否 | 暗号処理可否 |
|:--|:-:|:-:|
|  正規ユーザ | O  | O |
|  特権ユーザ |  O | X |
|  非正規ユーザ | X| X |

## 用意したもの
- [CipherTrust Manager](https://qiita.com/shinyaarai/items/8267141fcdab8f789c9e) v2.14
- Windows Server 2022
- CTE Agent v7.4.0_99 Win64
    -  [お問い合わせ先](https://cpl.thalesgroup.com/ja/encryption/contact-us)

## デモ動画
本記事で記載している手順を紹介している動画がございます。

https://www.youtube.com/watch?v=aUCBDJGxbVQ


## Part 1: CTE Agentのインストール&登録

### 1\. CMへ管理者権限でログイン
- admin でログイン
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/60d2f8e8-efec-1e8f-9b9e-794cb05a58d7.png)
- ログイン後、CM管理画面
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/18b2b84b-402c-aac5-b49e-31eeaa2f21be.png)

### 2\. Registration Tokenの作成
ここで作成される Registration Tokenは CTE Agent をCMへ登録する際に利用されます。

- MENU > Access Management > Registration Tokens
下記のメッセージが表示された場合には、"Client Profile"の作成を先に行う。(CM v2.14以降)
    ```
    "Add Registration Token disabled: To add registration token. you first need to create a Client Profile"
    ```
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/1b22d891-466f-fda2-dd51-e8a33c3df8c6.png)

- MENU > Access Management > Client Profile
    - "Add Client Profile" をクリック
    - "Profile Name"を入力（任意の名前。例:"client_profie")
    - "CA Type" は”Local CA”そのまま
    - "Select Local CA" は"Default CA(local)"を指定
    - "Add Client Profile"をクリック

        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/75267bfc-9497-0786-c459-589652fccd33.png)

- MENU > Access Management > Registration Tokens
    - "Add Registration Token"をクリック
    - "Begin"をクリック
    - "Name Prefix"を入力（任意の名前。例:"registration_token")
    - "Select Profile"をクリック
    - "Client Profile"を選択(例:"client_profie")
    - "Add Token"をクリック
    
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/f15e8096-3a05-0ac3-c094-f18154eeab77.png)


### 3\. CTE Agent のインストール
- Windows Server へ Administrator にてログイン
- CTE Agent のインストーラ起動
    - "Welcome to the InstallShied wizard for ...."が表示される
    - "Next"をクリック 
    - "SOFTWARE LICENSE AGREEMENT"の内容を確認後、"I accept the term in the license agreement"を選択
    - "Next"をクリック 
    - "Distination Folder"確認画面が表示される。
    - "Next"をクリック 
    - "Install"をクリック 
    - インストールが始まる。Statusでインストール状況を確認できる。インストール終了まで待つ
    - "InstallSheild Wizard Completed"が表示される
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/4ceb4bc4-5381-efed-e8d2-ad88525c9ea1.png)

    - "Register CipherTrust Transparent Encryption now"は選択したまま
        - インストール完了後、引き続き、CTE Agent をCMへの登録を行う
    - "Finish"をクリック


### 4\. CMへCTE Agentの登録
- CMへの登録
    - "Regiter Host"画面が表示される
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/d87f9a92-c350-6efe-9c27-a8a11507fd70.png)
    
    - "Next"をクリック
    - "Enter the host name of the Key Manager"へ、CMのホスト名を入力する。
        - "CM管理画面のURLのIPアドレス"等を入力
     ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/421dcaf3-b544-c57c-4213-953322929915.png)
    - "Next"をクリック
    - CTE Agentのホスト名指定、及び、H/W関連付け、LDT利用等オプション指定を行う 
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/33dceca3-2719-003d-c209-a0694377efb0.png)
    
    - Registration Tokenの登録
        - 前の手順で作成した Registration Tokenの値をCMから Copy & Pasteする。 
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/158bb461-b56c-903c-1832-718c220c13c4.png)
    - "Register"をクリック
    - CMへのCTE Agentの登録処理が始まる。完了すると"Finish"をクリックできるようになる
     ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/1f359c9d-76cb-8c43-d21b-086c4f63d133.png)
    
    - "Finish"をクリック
-  サーバの再起動  
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/915a5393-63b1-2b89-9a72-5f22f17d2af0.png)
    - "Yes"をクリックして、サーバの再起動を行う

### 5\. CTE Agentのステータス確認
- 再起動後、CTE Agent が自動で実行される
- タスクバーの通知領域のCTE Agentのアイコンを右クリックするとメニューが表示され、Status等確認できる
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/5248c0ac-1319-8d44-c799-a617bdc4c2c8.png)

### 6\. CM管理画面上で登録したCTE Agentの確認
- CM管理TOP画面より "Trasparent Encrption"を選択
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/e0ce8b6f-add3-59c3-cf52-6175db65bdc6.png)

- MENU > Clients > Clients にて、CMに登録済みのCTE Agentが確認できる
    - 今回登録した、Windows ServerのCTE Agentが登録され、Statusが"Healthy"であることを確認する
     ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/0c6f3dce-efa7-aca7-f5c2-e1fbcb957d87.png)

ここまでで、CTE Agentをインストールし、CMへ登録することができるようになりました。
Part2 では、暗号化の設定を行います。

## Part 2: CTE暗号化設定

### 1\. Guard Point(暗号化対象フォルダ)の作成

- 設定を行いたいサーバの"Client Name"をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/cfa82341-3832-d502-78bf-42636390ba41.png)
- "Create GuardPoint"をクリック
     ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/c888ea13-3247-9138-ab0d-b5675b15d799.png)
- Policyの"Select"を選択(暗号化Policyの選択)
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/dc4671ab-78d3-2907-ce01-a0616e3f1b1c.png)
- 今回は初回で、既存のPolicyが無いため、新規作成を行う
- "Create Policy"をクリック
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/7cf72b67-4c67-1b60-10dc-bb94a61a110f.png)
### 2\. Policyの作成
- Nameに任意のPolicyの名前を入力(例:"cte_policy")
- "Next"をクリック
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/3b06f5ab-0c83-743a-74d7-0442718fdd84.png)
- Policy構成要素であるSecurity Ruleの追加を行う
    - 今回は３つのSecurity Ruleを追加する
        | Rule # | 暗号化対象 | ファイル操作可否 | 暗号処理可否 |
        |:--|:--|:-:|:-:|
        | 1 | 正規ユーザ | O  | O |
        | 2 | 特権ユーザ |  O | X |
        | 3 | 非正規ユーザ | X| X |
    - Security Rule １: '正規ユーザ'向け設定
        - "Add Security Rule"をクリック
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/c817dbd1-bad2-1ec1-fa78-54f0d6abf5d4.png)

        - "User Set"の"Select"を選択
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/f348e53a-f997-4b71-cf7a-489c80b798fd.png)
        - "Create User Set"を選択
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/17ad7f5c-1dee-3225-e28d-33ca6e8ff69e.png)
        - Nameに任意の名前を指定 (例:"user_set_allow")
        - "Next"をクリック
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/d701cd4d-370e-c866-728a-9756d4bd69ba.png)
        - "Create User"をクリック
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/99032c1d-c92a-02bb-55b3-11ced9a8af09.png)
        - "Browse to Add Users"をクリック
        - "Connection Type"で"Agent"を選択
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/0e1bea18-8ef6-f9ed-355a-210b90b93367.png)
        - Agentで"Select"をクリック
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/983338ce-c9c6-111a-af22-58f37575ac3a.png)
        - 対象のサーバ(CTE Agentをインストールしたサーバ。今回は一つのみ)を選択
        - "Select"を選択
        - "User Type"で"System"を選択
        - "Member Choice"で"Users"を選択
        - "Apply"をクリック
        - CTE Agent経由で、対象サーバのユーザ(/グループ)のリストが表示される
        - "正規ユーザ"をクリック (例:"approved_user")
             ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/e81fbf4e-5dcd-ed83-1676-f4c924337149.png)
        - "Create"をクリック
        - "Next"をクリック
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/64cbf748-01fa-22dc-2c9d-cfc45fb9a85b.png)
        - "Save"をクリック
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/b1e45ea5-fbac-7229-4f4c-7df1ddbd3325.png)
        - "Action"で"Select"をクリック 
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/7d404de1-a5ab-66c1-7175-a5ba9227f972.png)
        - "all_ops"を選択
            - 全てのファイル操作オペレーションを対象とする
        - "Select"を選択
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/014f3774-d88a-ef2e-1fca-14db332cc41c.png)
        - Effectで"Select"をクリック
             ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/5b8ee5e3-044a-4655-10fd-22f91da76678.png)
        - "Effect Permission"で"Permit"を選択
            | 選択肢 | ファイルアクセス |
            |:-:|:-:|
            | Permit  |  O |
            | Deny  |  X |
        - "Effect Options"で、"ApplyKey"及び"Audit"を選択
            | 選択肢 | 意味 |
            |:-:|:-:|
            | ApplyKey  |  暗号鍵利用(暗号化/符号化)許可 |
            | Audit  |  監査ログへの記録 |            
        - "Select"をクリック
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/d0df58c4-523e-06d0-09a1-d1e295a7607f.png)
        - "Add"をクリック
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/9320b59c-8acd-f00c-b6e4-e7509247f8dd.png)
    - Security Rule 2: '特権ユーザ'向け設定
        - '特権ユーザ'用のSecurity Rule 2の下記項目を Security Rule 1作成時と同様の手順で作成
            -　User Set: 任意の名前(例: "user_set_deny"で特権ユーザ "Administrator"を登録 
            -　Action: all_ops
            -　Effect: permit, audit
    - Security Rule 3: '非正規ユーザ'向け設定
        - '非正規ユーザ'用のSecurity Rule 3の下記項目を Security Rule 1,2作成時と同様の手順で作成
            -　User Set: 無し 
            -　Action: all_ops
            -　Effect: deny, audit


- 各Security Ruleの設定確認
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/9e170b6a-9f2f-6a4f-c3e9-b5d2adc00b7d.png)
    - CTE Agentはファイルアクセス時、上段の優先度の高いSecurity Ruleから順番に、下段へ該当する User Setであるか確認を行う
        - (今回は User Setしか利用していないが、Resource Set及び、Process Setも同様に利用可)
    -  User Setに該当した場合、Effectで指定された処理を行う

        | Rule # | 暗号化対象 | User Set | User Set 登録 user|ファイル操作可否 | 暗号処理可否 | 監査ログ |
        |:--|:--|:--|:--|:-:|:-:|:-:|
        | 1 | 正規ユーザ | user_set_allow | approved_user | O (permit)  | O (applykey) | O (audit) |
        | 2 | 特権ユーザ | user_set_deny | Administrator | O (permit) | X | O (audit) |
        | 3 | 非正規ユーザ ||| X (deny) | X | O (audit) |

    -  "Next"を選択
### 3\. Key Ruleの指定

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/b58eebe1-4372-726f-7b31-aa99a403db61.png)
        
- "Create Key Rule"を選択
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/a4b4e68e-207e-32ca-bfae-14d894baf8e8.png)
- 暗号化で使用する鍵を選択。今回は新規作成を行う 
- "Select"を選択
         ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/37eb519c-2c43-4ccf-e76e-c9bae1d4a253.png)
- "Create a New Key"を選択
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/b5de425c-1fe6-a99c-b6d6-32ce73cf6716.png)
- Nameへ任意の名前を指定(例:"cte_key")
- "Create"をクリック
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/dc0546e2-9488-075b-2b41-12d09f99e007.png)
- 作成した鍵(例:"cte_key")を選択
- "Next"を選択
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/6aa87a09-176b-12dc-fa6e-9791a489eb1c.png)
- "Add"を選択
- "Next"を選択
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/1255d9ad-a752-16bd-579f-36fe147aacb6.png)
- Policyの確認画面、"Save"を選択
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/663d1d68-4181-e77d-7b3c-8b1dfed960c4.png)

- 作成したPolicy(例:"cte_policy")を選択
- "Select"を選択

### 4\. Guard Point (暗号化対象フォルダ) の指定
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/356d78b6-3728-ab73-8c51-9092d63511b1.png)
 - "Browse"をクリック
         ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/cd7cab93-09ef-863d-1ae9-446292ee2fc1.png)
 - "Select Path:"から、Guard Point (暗号化対象フォルダ) を指定 (例:"C:\Test")
 - "Select Path"を選択
 - "Add"を選択
         ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/bc7e70d2-6e42-d0cc-f36b-0fd39d1b02e3.png)
- "Create"を選択 
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/2ae44183-408f-1b53-3857-9bd3e6888c23.png)
- Satusが "Unknown"から"Active"に変更されるのを待つ

以上で、CTEの暗号化設定は完了です。
設定がうまく行っているか動作確認を行います。

## Part3: 暗号化動作確認
### 1\. 正規ユーザ 'approved_user'
- 任意のファイル(例: CSVファイル)をGuardPoint(C:\Test)へコピー
    - C:\Testへの書き込み時、暗号化される
- Guard Point(C:\Test)上のファイルをオープン時、復号化される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/a28cbe3e-6bc0-857a-749f-02ac0afa4e90.png)

### 2\. 特権ユーザ 'Administrator'
- Guard Point(C:\Test)上のファイルは復号化されずに、オープンされる
    - 許可されていないユーザ(特権ユーザ含む)は、ファイルの中身を確認することができない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/6a23e228-34b5-81c8-b9af-e7f861cee078.png)

### 2\. 非正規ユーザ 'unaprroved_user'
- Guard Point(C:\Test)上のファイルにアクセスできない
    - 許可されていないユーザは、ファイルにアクセスできない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613085/1ffa46c4-b488-5a5d-292d-2459a453ee87.png)