IBM Cloud CISの動作確認(6) -Security編-

##目的
IBMCloud InternetServicesを活用して、CISを経由したWebサーバへのロードバランスを試す。
今回は、IPアドレスやユーザエージェントを判断した上でFWが機能するか動作確認をする。
<font color="Red">CISは30日間無料でお試しできる</font>ので是非やってみましょう

六部に分けて記載する予定です。

* 初期導入編:[IBM Cloud CISの動作確認(1) -初期導入編-](https://qiita.com/khoshina/items/e9b397f498330faefdd9)
* 証明書設定編:[IBM Cloud CISの動作確認(2) -証明書編-](https://qiita.com/khoshina/items/d29a936d72930f34fcf5)
* 動作確認編:[IBM Cloud CISの動作確認(3) -動作確認編-](https://qiita.com/khoshina/items/1dc8703c9830360bc250)
* GLB編:[IBM Cloud CISの動作確認(4) -GLB編-](https://qiita.com/khoshina/items/835d6f35183c8f654086)
* cache編：[IBM Cloud CISの動作確認(5) -cache編-](https://qiita.com/khoshina/items/68a221388c5a676058ed)
* Security編：（**本ページ**)

##環境
* ローカル端末：macOS Catalina 10.15.6 1台
* プラットフォーム:IBMCloud
    * CDNサービス：IBM Cloud Internet Services 1サービス(Freeプラン)
    * ロードバランシングサービス:IBM Cloud Load Balancer 1サービス(Public to Private)
        * TOK04サーバ:CentOS 7.7.1908(Virtual Server for Classic) 2台
    * TOK05サーバ:CentOS 7.7.1908(Virtual Server for Classic) 1台

###概要構成図
**TOK05/TOK04**
![kou検証_日々更新.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/72b31d93-bac6-7390-36bd-a3f65efa205b.png)

`ローカル端末での作業`


##IPアドレス制御
`IBM Cloudポータルでの作業`

参考:[Cloudflareのセキュリティレベルについて](https://support.cloudflare.com/hc/ja/articles/200170056-Cloudflare%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%AC%E3%83%99%E3%83%AB%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)

###ブロック
IPアドレスで一致したアドレスからの通信をブロックする。
国別コードでの制御はフリープランだと出来ない模様。
![Cloud_Internet_Services_-_IBM_Cloud-7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/2489119a-88e3-e789-b1f8-fb80d4b3a573.png)

ブロックしたい**IPアドレスを入力**、適用先を**このドメイン**、アクションを**ブロック**し、作成を選択。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3730333034332f30376464646634622d306362362d663239392d313835312d6631646337396136353465342e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/658a4ca6-2d70-427d-9ba0-8d3c1c8fb99b.png)


設定後、ブラウザからアクセスするとError1006となり、明示的にブロックされていることがわかる。
![Access_denied___glb_m365_work_used_Cloudflare_to_restrict_access.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/f152e932-93a0-5683-cf4e-134d8b93c2de.png)

curlで見ると、HTTP403（Forbidden）で見えた。

```
% curl -I https://glb.m365.work/
HTTP/2 403
```
###チャレンジ
IPルールの作成にて、アクション**チャレンジ**を選択する。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3730333034332f31653264616630362d663238372d376461312d626163382d3165616538323864346563372e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/b48cc709-8ce0-f905-f8b4-2a6b4b739d68.png)


チャレンジに変更後URLへアクセスすると、よくある画面へ
**私は人間です**を選択する
![Attention_Required____Cloudflare.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/f3cd812f-7817-b2de-b07f-16e46d970c30.png)

続けて、指定された画像(今回は飛行機)を選択して、チェックを選択する。
![Attention_Required____Cloudflare.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/ad06d11f-f072-cab2-a046-08e0c9b32571.png)

問題なければ正常にコンテンツで表示された。

###ユーザーエージェント制御
ユーザーエージェント、例えばクライアントOSや利用ブラウザ等で制御できる。
今回は**MacOSX10.15**のユーザをブロックしてみた。
ユーザエージェントの確認方法はこちらを参照:[IPアドレス、ユーザーエージェントの確認](https://testpage.jp/tool/ip_user_agent.php)

**セキュリティー** -> **ファイアウォール・ルール** -> **作成**を選択する。
![Cloud_Internet_Services_-_IBM_Cloud-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/bf642edd-d6e3-3bf6-f499-38acb25a4ceb.png)

**ユーザーエージェント**に「**Macintosh; Intel Mac OS X 10_15_6**」を**含む**場合のアクションを**ブロック**とする。
![Cloud_Internet_Services_-_IBM_Cloud.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/e0c4faa6-38c0-5ea7-80eb-c8982481378b.png)

ブラウザからアクセス確認
Error1020にて明示的に拒否されている。
参考:[Cloudflare 1XX エラーのトラブルシューティング](https://support.cloudflare.com/hc/ja/articles/360029779472-Cloudflare-1XX-%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AE%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0)
![Access_denied___glb_m365_work_used_Cloudflare_to_restrict_access-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/0ac019c7-d9e2-edf1-72a7-51361263f717.png)