
AWS(Amazon Web Services)向けのコマンドラインセキュリティ監査ツール
Amazon Web Services 向けコマンドラインセキュリティ監査ツール
Cloud Security Audit は、AWS アカウントの脆弱性をスキャンするコマンドラインツールです。簡単な方法で、インフラストラクチャの安全でない部分を特定し、セキュリティ監査に備えることができます。
現在、Cloud Security Audit はパッケージマネージャーをサポートしていませんが、作業は進行中です。
まず、Cloud Security Audit を GO ワークスペースにダウンロードする必要があります。
$GOPATH $ go get github.com/Appliscale/cloud-security-audit
$GOPATH $ cd cloud-security-audit
次に、cloud-security-audit ディレクトリ内で以下のコマンドを実行して、アプリケーションの設定をビルドおよびインストールします。
cloud-security-audit $ make all
MFA を使用している場合は、--mfa フラグを使用して、接続を試みる前に Cloud Security Audit に認証を指示する必要があります。
例:
$ cloud-security-audit --service s3 --mfa --mfa-duration 3600
すべての EC2 インスタンスを監査するには、次のように入力します。
$ cloud-security-audit --service ec2
フラグ -r または --region を使用して、監査をリージョンに絞り込むことができます。Cloud Security Audit は AWS プロファイルもサポートしています。プロファイルを指定するには、フラグ -p または --profile を使用します。
+---------------+---------------------+--------------------------------+-----------------------------------+----------+
| AVAILABILITY | EC2 | VOLUMES | SECURITY | |
| | | | | EC2 TAGS |
| ZONE | | (NONE) - NOT ENCRYPTED | GROUPS | |
| | | | | |
| | | (DKMS) - ENCRYPTED WITH | (INCOMING CIDR = 0.0.0.0/0) | |
| | | DEFAULT KMSKEY | | |
| | | | ID : PROTOCOL : PORT | |
+---------------+---------------------+--------------------------------+-----------------------------------+----------+
| eu-central-1a | i-0fa345j6756nb3v23 | vol-0a81288qjd188424d[DKMS] | sg-aaaaaaaa : tcp : 22 | App:some |
| | | vol-0c2834re8dfsd8sdf[NONE] | sg-aaaaaaaa : tcp : 22 | Key:Val |
+---------------+---------------------+--------------------------------+-----------------------------------+----------+
AVAILABILITY ZONE には、インスタンスが配置されている場所の情報が含まれます。EC2 にはインスタンス ID が含まれます。Volumes には、指定された EC2 にアタッチされたボリューム(仮想ディスク)の ID が含まれます。サフィックスの意味:
[NONE] - ボリュームは暗号化されていません。[DKMS] - ボリュームは AWS デフォルト KMS キーを使用して暗号化されています。KMS の詳細はこちらを参照してください。Security Groups には、権限が広く開放されすぎているセキュリティグループの ID が含まれます。例:CIDR ブロックが 0.0.0.0/0(全世界に開放)である場合。EC2 TAGS には、特定の EC2 インスタンスのタグが含まれ、このインスタンスの目的を識別するのに役立ちます。暗号化の詳細については、以下のドキュメントを参照してください。
すべての S3 バケットを監査するには、次のように入力します。
$ cloud-security-audit --service s3
Cloud Security Audit は AWS プロファイルをサポートしています - プロファイルを指定するには、フラグ -p または --profile を使用します。
+------------------------------+---------+---------+-------------+------------+
| BUCKET NAME | DEFAULT | LOGGING | ACL | POLICY |
| | | | | |
| | SSE | ENABLED | IS PUBLIC | IS PUBLIC |
| | | | | |
| | | | R - READ | R - READ |
| | | | | |
| | | | W - WRITE | W - WRITE |
| | | | | |
| | | | D - DELETE | D - DELETE |
+------------------------------+---------+---------+-------------+------------+
| bucket1 | NONE | true | false | false |
+------------------------------+---------+---------+-------------+------------+
| bucket2 | DKMS | false | false | true [R] |
+------------------------------+---------+---------+-------------+------------+
| bucket3 | AES256 | false | true [RWD] | false |
+--------------------------- --+---------+---------+-------------+------------+
BUCKET NAME には、S3 バケットの名前が含まれます。DEFAULT SSE には、S3 バケットで使用されたサーバー側暗号化のデフォルトタイプに関する情報が表示されます。NONE - デフォルト SSE が有効になっていません。DKMS - デフォルト SSE が有効で、データの暗号化に AWS KMS キーが使用されています。AES256 - デフォルト SSE が有効で、AES256 が使用されています。LOGGING ENABLED には、指定された S3 バケットでサーバーアクセスログが有効になっているかどうかの情報が含まれます。これにより、S3 バケットに対して行われたリクエストの詳細な記録が提供されます。サーバーアクセスログの詳細はこちらを参照してください。ACL IS PUBLIC には、ACL(アクセスコントロールリスト)にバケットを公開する権限(誰でも読み取り/書き込みを許可)が含まれているかどうかの情報が提供されます。ACL の詳細はこちらを参照してください。POLICY IS PUBLIC には、バケットポリシーが匿名ユーザーに任意のアクション(読み取り/書き込み)を許可しているかどうかの情報が含まれます。バケットポリシーの詳細はこちらを参照してください。
R、W、D の文字は、誰でも利用できるアクションの種類を示します。S3 のセキュリティ強化の詳細については、以下のドキュメントを参照してください。