クラウド環境で最小コストでISO27001認証を取得する、第1弾

今年10月25日、WhaTap LabsはISO-27001、27017、27018国際セキュリティ認証を取得しました。企業のクラウド導入が増え、サービスの無中断とパフォーマンスモニタリングの必要性も高まっています。WhaTap Labsは、顧客の信頼性を高め、グローバルな競争力を強化するためのセキュリティ脅威を軽減し、顧客に安全なSaaSモニタリングサービスを提供するために国際標準認証を取得しました。今回のポストでは、100%クラウド環境で最小限の費用でISO27001国際セキュリティ認証取得までの流れをご紹介します。
0. WhaTapの現状
WhaTap Labsは100%クラウド環境で開発と運用をしています。内部にサーバーが1台もない状況であり、マルチクラウド環境としてAWS、Azure、カカオクラウド、Huaweiを使用しています。お客様の個人情報はAWSのソウルリージョンにのみ保存されており、お客様のモニタリング情報はお客様が選択したクラウドとリージョンに保存されています。
WhaTapは今年6月にKISAが発表した「ゼロトラストガイドライン1.0」に沿って、最小限の費用でネットワーク、モニタリング、アクセス制御環境を考慮しました。
1. ネットワーク分離
ISO-27001の制御項目8.3情報アクセス制限、8.5安全な認証、8.20ネットワーク制御、8.22ネットワーク分離要件を満たすためにネットワーク分離を実施しました。ここでいう分離とは、ネットワークだけでなく、ユーザーの分離も共に含んでいます。現在、WhaTapではDevOps環境を目指しており、ユーザーの分離概念がぎこちない状況でした。開発者は本番サーバーにアクセスできますが、権限を最小限に抑え、アクセス権の管理とモニタリングを最大化しました。
結論として完成した環境は下の画像のようになります。

(1) 本番環境と開発環境の分離
- 開発環境はAWSソウルリージョンにのみ存在します。本番ネットワークと開発ネットワークのネットワーク分離は、クラウドのVPCサブネットを介して行われました。
- 各環境に接続できるVPNを分けて接続環境まで分離しました。
- 各VPNアカウントはKeycloakを使用して管理されており、Keycloakは内部に直接構築するため、サービスの使用費用はかかりません。
(2) ユーザーの分離
- 本番ネットワーク接続時にはTeleportを利用してユーザー認証を行いました。Githubアカウントを介してTeleportにアクセスできます。.
- Teleportは内部に直接構築するため、サービスの利用費用はかかりません。
- 開発者が緊急に本番サーバーに接続が必要な場合、接続者によって接続できるサーバー、使用可能な命令語、接続できる期間を制限しました。
- すべてのアクセス権限の付与は、電子決済を通じて申請を受けて付与する方法で行われました。
(3) 配置管理
- 一つのjenkinsを使って開発環境、本番環境に配置しているので、その要件を合わせるのが一番難しかったです。
- jenkinsのRBACプラグインを追加で設置し、開発者の役割に応じてroleを分離しました。
- この時、配置jobのパターンを統一して各グループを作り、これに基づいてアクセス権を分離しました。
- 開発者は本番ネットワークの配置が不可能であり、本番配置に関連するすべてのjobの確認も不可能です。
2. モニタリング
ISO-27001の制御項目の8.15ログ記録、8.16モニタリング活動の要件を満たすために、サーバーリソース、APM、ログモニタリングを進めており、AWSが提供する様々なセキュリティモニタリングツールも併用しています。
(1) リソースモニタリング

- 内部に構築されたWhaTapのサーバーモニタリングを利用してリソース使用状況をモニタリングしています。
- OSバージョンの状況、リソース情報、ネットワーク情報などをリアルタイムで確認できます。
- telegramで警告通知が発生し、問題が発生したかどうかを知ることができます。
(2) ログモニタリング

- 基本的に本番サーバーはUbuntuの最新バージョンを使用しています。
- /etc/profile.d/log.shにヒストリログを追加するスクリプトを作成し、全体アカウントのヒストリログを syslogに保存しています。
# syslogUSER=$(whoami)USER_IP=$(who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g')history_to_syslog() {local commandcommand=$(fc -ln -0)if [ "$command" != "$old_command" ]; thenlogger -p local1.notice -t bash -i ? "$USER : $USER_IP : $command"fiold_command=$command}trap history_to_syslog DEBUG
- WhaTapのflexボードを利用して主要命令語、VPN接続者、DB接続者をモニタリングします。
- 社外VPN接続者発生、主要命令語使用などのシナリオに合わせて警告通知をtelegramで受信しています。
- 該当するオリジナルログは、S3のオブジェクトロック機能を利用して12ヶ月間保管しています。
(3) セキュリティモニタリングツールの使用
- AWSの GuardDuty, Detective, Inspector, Security Hubを使用しており、WAFはCloudFlareを使用しています。
- 緊急事態発生時に関連通知メールが発生し、すぐにセキュリティ事故に対応しています。
3. 定期的なセキュリティ教育
内部で別にセキュリティトレーニングとトレーニングのための有料サービスを使用しません。代わりに、KISAが提供するさまざまなサービスを利用してセキュリティトレーニングを行っています。サイバーセキュリティ訓練プラットフォームを利用して定期的に公知なくハッキングメール模擬訓練を行っています。また、当該プラットフォームで提供するDDos攻撃訓練も共に行われました
また、ISO-27001の管理項目の7.9外部資産のセキュリティ、8.1ユーザー端末装置、8.7マルウェアから保護要件を満たすためにワクチンなどのサービス購入が必要な状況でした。 KISA地域情報保護センターのSECaaSサービス支援事業を利用し、低価格で全社員のPCにAnti-Virusを設置しました。
幅広いサポート事業により、低価額で内部セキュリティ認識とセキュリティを向上させることができます。各会社に合った効果的な支援事業を活用してみることをお勧めします。
WhaTap LabsでISO認証を取得するために実際に行った事柄をお届けしました。第2弾では、セキュアコーディング関連の設定事例とS3、VCSにアップロードされた主なファイル確認方法などを説明します。



