COLUMN誰でもわかる!お役立ちコラム

AWS活用支援コラム

AWSにおけるセキュリティ対策の必須事項

初めてAWS上でシステムを構築した、または、これから構築しようとしているというシステム担当者にとって不安要素の1つはセキュリティではないでしょうか。
この記事では、AWS上でセキュリティを担保するにはどうしたら良いのか解説していきます。

セキュリティレベルの比較、オンプレミスとクラウド

かつてクラウド利用の懸念事項として挙がっていたのが、オンプレミス(物理環境)と比較して、クラウドはセキュリティが脆いという漠然としたイメージがありますた。
本当にそうなのでしょうか。
答えとしては、単純に 「はい」/「いいえ」では回答できず、使い方次第であると言えます。

オンプレミスでは自前で機器選定ができ、好きな構成が組める為、自由度はクラウドより上回ります。従って、システムの構成次第ではAWS以上のセキュリティを担保できる可能性はあります。しかし、それには巨額の投資が必要になります。一方、クラウドサービス、特にそのデファクトスタンダードと言えるAWS(Amazon Web Services)のセキュリティレベルは、少なくとも現状は一般的な商用サービスを運用するのに十分ななセキュリティ要素が備わっていると考えられます。

AWSのセキュリティレベルが十分であると考える理由

金融業や官公庁への銃宇文な導入実績

この考えを裏付ける理由の1つは実績です。
パブリッククラウドの世界シェア3割以上(日本国内では4割)と他クラウドサービスから抜き出ているAWSは、様々な企業に採用されています。日本国内では、金融業や省庁、地方自治体等、今までクラウドサービス導入を見送っていたとされていた業界での導入実績が増えてきました。

これは、AWSが運営する基盤が、PCI DSSやISO系、FinTech、FISC、NISCといった国内で重要視される第三者認証を得ているからと考えられます。
また、総務省では政府共通的な情報システムの整備として「第二期政府共通プラットフォーム」を2020年に運用開始しました。この基盤もAWSを利用しています。
これは業界標準以上のセキュリティを担保しているからこそ、多くのシステムで採用されていると考えることができます。

セキュリティ機能が簡単に利用できる

もう一つの理由としては必要なセキュリティ機能を簡単に利用できる点が考えられます。
AWSは課金体系として従量制がベースになっていることが多いのですが、セキュリティサービスに関してもほとんどが従量制を採用しています。しかも、これらセキュリティサービスはあらかじめAWSが用意されたものをユーザが利用する形(マネージドサービスとしてのセキュリティ機能)なので、機器導入のリードタイムが無く、必要な機能分だけ利用料を支払うだけで、不正アクセス対策やWAF、暗号化等を始めとするオンプレミスでは別途費用を投じないと導入できなかったセキュリティ機能が、すぐに利用開始できます。

AWSを安心、安全に利用するスタイルズのAWSセキュリティサービスはこちら→

AWSにおけるセキュリティの基本的な考え方

セキュリティと一言で言っても様々な観点があります。
オンプレミスとクラウドで比較した場合、セキュリティ対策する範囲が変わってきます。
オンプレミスでは自由度がある代わりに、システムに直接依存しない範囲まで自分たちで対策を検討する必要があります。例えば、サーバルームへの入退室だったり、ネットワークへの参加だったりが挙げられます。

AWSの責任共有モデルとは?

AWSのセキュリティは「責任共有モデル」という考えの下で運営されています。クラウド基盤自体のセキュリティはAWSが責任を持ち、データセンター内の管理からデータ保護・監査、外部攻撃対策といった対策を標準導入されています。
一方、その上で動くAWSサービス内部のセキュリティはユーザ企業が対策をする必要があります。

対策をするために必要な豊富なサービスは、マネージドサービスとしてAWSから提供されていますので、要件に応じてサービス設定をすれば良いのですが、実際に使いこなすのは大変です。そこで、この記事では初級のセキュリティ対策として、下記3点の注意点をご紹介しておりますので参考にしてください。

AWSを使う上での注意すべきセキュリティ設定1:セキュリティグループ

おそらくAWS初級者の方が仮想サーバを構築する際に最初に直面するセキュリティ設定が「セキュリティグループ」ではないでしょうか。

オンプレミスでいうファイアウォール製品と同様に、IPアドレスやプロトコルの単位で通信を制御できる機能となりますが、オンプレミスのファイアウォールと異なる点は、適用される箇所です。
オンプレミスのファイアウォールは、ネットワークの出入口等に設置され、そこを通過する通信に対して制御を行いますが、AWSのセキュリティグループは個々のサーバそれぞれの前に立ちふさがる壁であり、柔軟性が考慮されています。

そんなセキュリティグループを設定する上での注意点を下記に挙げました。

ルール設定はインバウンド(とアウトバウンドで分ける

セキュリティグループはホワイトリスト方式での設定になります。初期値では、インバウンドは設定なし(全通信を拒否する)、アウトバウンドは全通信を許可する設定になっています。その為、必要なインバウンド通信のみを設定することがまず最初の課題になります。アウトバウンド側も制限するかどうかは、セキュリティポリシーや管理負荷を踏まえて検討すると良いでしょう。

設定はステートフル(許可されたルールの戻りトラフィックは考慮不要)

セキュリティグループはステートフルで挙動します。
従って、特定の通信に対する戻りトラフィックはルール設定する必要はありません。誤って設定してしまうと、想定外に通信許可したり、逆に誤った通信制限をしてしまう事になるので気を付けましょう。

必要なポートだけを開放

上記を理解したら実際に設定してみましょう。
まずはインバウンド側にサーバが受け付ける必要があるポートのみ設定するようにしましょう。いくつか規定済のプロトコルを選択することもできますし、独自ポートによる設定も可能です。

SSHやRDPなどサーバ管理を行うプロトコルは指定IPアドレスのみを許可

セキュリティグループはポートだけでなく、IPによる設定も可能です。
SSHやRDP等、管理目的で利用するポートは、不特定多数のIPから受け付けないように設定することが重要です。

AWSを安心、安全に利用するスタイルズのAWSセキュリティサービスはこちら→

AWSを使う上での注意すべきセキュリティ設定2 パスワード認証

AWSアカウント作成時に指定したメールアドレスとパスワードの組み合わせは、rootアカウントと呼ばれ最も強い権限を有するアカウントです。
標準ではメールアドレスとパスワードだけの認証となっており、この情報が漏洩してしまうと好き放題にされてしまいますので、出来る限り漏洩しない対策をする必要があります。

多要素認証でアカウントを守る

パスワードポリシーを設定して複雑なパスワードを設定したり、MFA(多要素認証)を設定しておくことが良いでしょう。多要素認証はパスワード以外の情報も踏まえて認証する方式のことで、スマートフォンアプリやブラウザ拡張機能と連携し、その場限りのパスワードを表示させ認証する形が一般的です。
また、そもそもrootアカウントは極力使用せず、IAM(アイアム)と呼ばれるサブアカウントを作成してこれを使用することが推奨されています。

IAMアカウントは個人単位で

この際、IAMアカウントは個人単位で発行することも推奨されます。共有アカウントを作成してしまうと不用意にアカウント共有する状況が生まれてしまいセキュアでないのと、AWS上の監査ログにはIAMアカウント単位で作業内容が記される為、万が一アカウント漏洩して設定変更等をされてしまった場合に、漏洩したアカウントを特定しやすくなるだけでなく、漏洩アカウントを停止する際に影響が最小限で済みます。

AWSを使う上での注意すべきセキュリティ設定3 マシンイメージのコピー

Amazon EC2(仮想サーバ)はマシンイメージを作成しコピーすることができます。一般的な利用用途としては、バックアップ目的だったり、類似環境の構築省力化だったりが多いのですが、コピー時に注意が必要です。
コピーするマシンイメージは、標準では自アカウント内からのみマシンイメージが参照可能な設定になっていますが、これを変更して別のAWSアカウントから参照できるようにし、別環境にサーバの複製を構築することが可能です。
このイメージ参照元の設定を誤ってしまうと、不特定多数のAWSアカウントから参照できる状況になり、複製されたサーバからデータやアカウントが漏洩してしまう危険があります。便利な機能ではありますが、参照元変更は注意して行うようにしましょう。

まとめ

今回の話の重要事項をまとめると下記の通りです。

・クラウドがセキュリティ懸念があるというのは現状では間違った認識となっており、クラウドの方がセキュリティレベルが高い構成を作りやすくなっている。
・セキュリティグループは必要なIP/ポートからのみ許可設定する。
・rootアカウントを漏洩させないように、複雑なパスワードへの変更やMFA(多要素認証)の設定を行う。
・rootアカウントは使わずにIAMアカウントを使う。
・マシンイメージは便利だが、別アカウントへの共有時は設定に注意する。

AWSを利用する上で最低限必要なセキュリティ設定について解説しました。AWSでは様々なセキュリティサービスが提供されていますが、あくまでも設定に関しては利用者側の責任で行う必要があります。もしもセキュリティ設定に自信がない、本当に正しいのか不安と思われる場合は、AWSに関して豊富なノウハウを持つベンダーに相談を行うなど、外部サービスを利用していきましょう。

弊社ウェビナーでもわかりやすく解説している動画がありますので、ぜひご覧ください(こちらのページより「30分でわかる! AWS基本的なセキュリティ」をお申し込みください)。