企業の規模が大きくなればなるほど悩むのが「セキュリティ」です。システムをクラウドに移行するのはいいとしても、セキュリティ、とりわけ監査にて提出を求められる証跡を作成するのはクラウドでは難しそうですね。そんな悩みを一気に解決してくれるのが、今回解説するAWS Configです。AWS CloudWatchとAWS Configの合わせ技で、セキュリティ監査を乗り切りましょう!
AWS Configとは
監査ってイヤですよね
◯◯統制や△△法といった公的なものに始まり、会社がISMS活動を推進していたり、独自の社内規則を設けていたり・・・システムに対するさまざまな基準をクリアするのはとても大変です。特にエンジニアにとって、こういった本業でないことで時間を取られるのはたまらなくイヤですよね。何とか簡単にクリアしたいものです。
監査や社内評価のとき、決まって求められるのが「証跡」「履歴」ですよね。クラウドを使うと、ちょっと面倒なことになります。
取れるログと取れないログ
従来の手法で取れるログはあります。仮にEC2でシステムを動かしているのなら、従来のオンプレミスと変わりありません。ログイン履歴やアクセスログなど、一通り取れます。
ところが、クラウドサービスに関するログはどうでしょうか?これはAWSなどのクラウドプロバイダーが提供してくれないと、利用者側では取得できません。AWSにおいて証跡を提供してくれるサービス、それがAWS Configなのです。ConfigとはConfiguration、つまり「設定」です。何となくサービス概要がイメージできますね。
イメージをつかんでいただくために
実際にEC2インスタンスを監視してみた様子をご覧にいれましょう。
四角に並んだ箱が「タイムライン」です。リソースに発生した変更が時系列で表示されます。一番右の箱(つまり最新)下側、「変更」と書かれた小さなリンクをクリックすれば、その詳細が表示されます。
今回はEC2で試しましたが、その他RDS等々のサービスでも同様な監視が可能です。
AWS Configのメリット
AWS Configを使うメリットを解説します。
継続的にモニタリングできる
AWS Configを一度設定すると、Configの監視を停止するまで、継続的にリソースを監視し続けます。人手で変更を加えるたびにExcelの管理台帳に記入、といった面倒な作業は不要になります。しかも自動なので記録し忘れ、ということもありません。
継続的に評価できる
リソースの稼働中、または変更を加えた直後にダウンしたとしましょう。
運用手順書に基づいてレビューし、その結果どおりに作業しているなら、簡単に手順を評価できます。資料を見直すだけで良いのです。ところが、そういった仕組みがなく作業者の裁量で作業を実施しているところ、実は多いのではないでしょうか?
作業者が作業した直後は機嫌よく動いているリソースも、作業者がいないときに限ってダウンするって意外とよくありますよね。そんなケースもAWS Configなら大丈夫!自動的に変更内容が記録されるので、何か有事には作業者以外が変更を評価することが可能です。
AWS Configでできること
本節では、AWS Configの機能面に注目してみましょう。
モニタリング
今まで触れてきたことですが、AWSの各種リソースの監視が可能です。
監視対象のリソースに何らかの変更が発生したとします。この場合の変更とは、サービス上の機能で自動的に、または手動の変更のいずれも含みます。するとConfigは変更を以下のように対処します。
ConfigはS3バケットに、JSONの書式でテキストファイル形式で保存します。こんな感じです。
{ "configurationItems": [ { "ARN": "arn:aws:ec2:us-east-1:/rtb-*****", "availabilityZone": "Not Applicable", "awsAccountId": "*************", "awsRegion": "us-east-1", "configuration": { "associations": [ { "main": true, "routeTableAssociationId": "", "routeTableId": "rtb-**********" } ], (以降略)
ログはConfigのAPIでもアクセス可能です。設定によってはここでSNSメッセージを送信することも可能です。
次にConfigは、変更を評価し、その結果をダッシュボードに表示します。その結果もAPIでアクセスできますので、APIが返すJSONメッセージをJavaScript等で自社サイトに表示させることが簡単にできます。
独自の評価基準を設定することも可能
今まで解説してきたのは、いわゆる「AWS Configの標準監視項目」です。それ以外に、独自に監視項目やしきい値を設定することも可能です。よって、自社内での独自基準にConfigを適合させることすらできてしまいます!
AWS Configで管理できるリソース
今までの解説ではEC2しか取り上げていませんが、以下のリソースも監視対象とすることができます。
- AWS CloudFormation
- Amazon DynamoDB
- Amazon Elastic Block Store(EBS)
- Amazon Elastic Compute Cloud(EC2)
- Elastic Load Balancing
- AWS Identity and Access Management(IAM)
- Amazon Redshift
- Amazon Relational Database Service(RDS)
- Amazon Simple Storage Service(S3)
- Amazon Virtual Private Cloud(VPC)
- AWS WAF
料金
AWS Configの料金は、監視1ルールにつき1ヶ月2ドルです。AWSが月に1度でもアクションを拾うとアクティブとみなされます。
始め方
では実際にAWS Configを設定して、EC2インスタンスを監視してみましょう。
AWS Config設定
おおまかにいうと、AWS Configで監視対象を設定し、情報を保存するS3バケットを作ります。
まずはAWS Configの監視対象の設定です。とりあえず全部でいきます。
保存先のS3バケットを作りましょう。デフォルトのままで大丈夫です。
他に、Amazon SNSで通知をするか、Config用のロールをどうするかといった設定をします。それ以外に大きな設定項目はありません。次へ次へで進んで、設定ウィザートを終わらせてください。
もうほとんどこれで終わりです。
あとはいよいよAWS Configのダッシュボードを確認しましょう。
AWSマネジメントコンソールからAWS Configへと進み、リソースを選択してください。
とりあえずEC2 インスタンスを選択すると、監視可能なインスタンス一覧が表示されます。そこで見たいインスタンスを選択してください。
すると、冒頭でお見せしたタイムラインが参照できるというわけです。
まとめ
本記事では、AWS Configを解説しました。
監査を楽にパスするためにも、ぜひ導入を検討してください。