はじめに
IBM Cloud Security and Compliance Center(SCC)がGAされたので、触ってみました。
とはいっても、このサービスで結局何ができるのかがまだよく分からないので、とりあえずここのチュートリアルを進めてみました。SCCには以下からアクセスできます。
なお、既存のIBM CloudのUIとは少し操作感が異なり、その挙動の違いに戸惑うところもありました。SCCは、IBMが買収したSpanugoというサイバーセキュリティー管理ソリューションをベースに作成されているので、それが原因かもしれません。。。
全体の流れ
チュートリアルの流れは以下のようになります(図は、IBM Cloud docsのこのページから引用)。
- Collecorはスキャンを行うコンポーネントであり、Linux上にDockerイメージとして導入する。任意の場所に複数配置可能。スキャン対象のリソースはCollectorからネットワーク的に到達可能である必要がある。
- Profileは個々に定められたControl(統制・ルール)の集合体である。既にPCI-DSSやISO27001などのProfileが事前定義済みである。本チュートリアルではProfileを新たに作成することはせず、
IBM Cloud Best Practices Controls 1.0
という既存Profileを利用して、スキャン結果との検証・照合を行なう。 - Scopeはスキャン対象の範囲を定義したもの。
#1. Collector用サーバーの用意と事前構成
最小スペックは以下の通り。また、Internetにアクセスできるように構成しておく必要あり(Outboundのみが必要であり、Inboundの許可は不要)。
- Image: Red Hat Enterprise Linux, CentOS, or Ubuntu
- Profile: cx2-2x4 (2 vCPUs, 4 GB RAM, and 4GBPS)
- Boot Volume: 50 GB disk space
今回はIBM CloudのVPC上にCentOS7を用意し、Public Gatewayを設定してOutboundのみを許可するように構成しておいた。
[root@collector ~]# yum -y update
[root@collector ~]# timedatectl set-timezone Asia/Tokyo
[root@collector ~]# reboot
[root@collector ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
[root@collector ~]# uname -a
Linux collector 3.10.0-1062.9.1.el7.x86_64 #1 SMP Fri Dec 6 15:49:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
DocsにはDocker Composeを導入しろと書いている(よって、Dockerも事前に導入して起動しておく必要もある)。
https://docs.docker.com/engine/install/centos/
[root@collector ~]# yum install -y yum-utils
[root@collector ~]# yum-config-manager \
> --add-repo \
> https://download.docker.com/linux/centos/docker-ce.repo
[root@collector ~]# yum install docker-ce docker-ce-cli containerd.io
[root@collector ~]# systemctl enable docker
[root@collector ~]# systemctl start docker
[root@collector ~]# docker --version
Docker version 19.03.12, build 48a66213fe
https://docs.docker.com/compose/install/
[root@collector ~]# curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
[root@collector ~]# chmod +x /usr/local/bin/docker-compose
[root@collector ~]# docker-compose --version
docker-compose version 1.26.2, build eefe0d31
#3. Security and Compliance CenterでCredentialを作成。
Credential Type: IBM Cloud
Purpose: Discovery/Collection
IBM API Key: 前項で作成したAPI Key
#4. Collectorのセットアップ
ドキュメントには"New collector icon"を押せと書いていたが、最初から入力フィールドが設けられているので押す必要はない。Collectorに対する適当な名前と記述を入れて、TypeはUnrestricted
を選択して登録。
すると、Registration Keyが発行され、initiate_collector.sh
がダウンロード可能になる。
[root@collector ~]# mkdir /root/collector
[root@collector ~]# chmod +x initiate_collector.sh
[root@collector ~]# ./initiate_collector.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7702 100 7702 0 0 4255 0 0:00:01 0:00:01 --:--:-- 4257
/usr/bin/docker
Docker version 19.03.12, build 48a66213fe
Docker installed, proceed.
/usr/local/bin/docker-compose
docker-compose version 1.26.2, build eefe0d31
Docker-Compose installed, proceed.
Enter persistent data path from host machine:/root/collector
Do you wish to do nmap Validation (y/n)? n
Using host path: /root/collector
Enter Collector Registration Code:<Collector作成時に表示されたRegistration Codeを使う>
@reboot bash -c "ip route get 1 | awk '{print \$NF;exit}' > /root/collector/config/host_address_list.cfg"
Adding yaml conf: /root/collector/config/collector.yaml
Starting watch-collectors ... done
Creating ASAP-syasudacollector4 ... done
/dev/fd/63: line 281: secreate: command not found
エラーで終了するが、チュートリアルとしては先には進めるらしい(障害として認識されているので近日中に修正予定)
Customer Portalでは、以下のように承認待ち状態になっているので、"Approve"ボタンを押下する。
#5. Scopeの設定
スキャン対象のスコープを設定する。
しばらくすると、Resourceが表示される。Update Scope
を押下して更新。
#6. Scheduled Scanの設定と結果の確認
- Schedule Scanの作成
- Profileは
ISO27001
やGDPR
など色々な監査セットが用意されている。今回はIBM Cloud Best Practices Controls 1.0
を選択。
- スケジュールを設定
- 15分ぐらい待ってみると、Scan結果が出てくる。この結果を選択すると、、、
- グラフ表示される。
- グラフの該当部分(例えば
Critical
など)をクリックすると、その具体的な内容が下に記載される。
- 例えば一番上の指摘事項である
Ensure IAM does not allow too many many admins per account
の詳細を選択してみると、10人を超えてadmin権限を与えないように説明が出てくる。これが今回の監査に引っかかった原因であることがわかる。
- ダッシュボードも更新された。