$ git clone [email protected]:pblittle/suture.git
$ cd suture
$ bundle install
$ bundle exec ./bin/suture --help
$ bundle exec ./bin/suture <options> check
Suture 是一个用于在您的 AWS EC2 实例上运行任意命令的工具。您可以针对单个实例或整个区域运行它。Suture 最初是为了确定我们正在运行的 EC2 实例中是否有任何实例使用了易受 Heartbleed 漏洞影响的 OpenSSL 版本而编写的。
一次 suture 检查将 ssh 登录到您的每个 EC2 实例并执行给定命令。命令的输出将与提供的字符串或正则表达式进行比较以进行验证。
默认情况下,Suture 将运行 openssl version -v 来检查 OpenSSL 版本。如果命令的输出匹配 1.0.(1[a-f]|2-beta1),则表明该构建不包含 Heartbleed 漏洞。报告将指示比较结果。
如果您不是将此用于 OpenSSL 漏洞检查,只需使用 --check-command 传入自定义检查命令,并使用 --check-result 传入期望结果。将执行正则表达式匹配以确定结果。
如果您只想检查一个实例,请使用 --instance-id 标志传入相关实例 ID。这会将查询范围缩小到单个实例。
如果您要检查 us-east-1 以外的区域,请使用 --region 标志提供所需区域。
首先,您需要向 suture 提供您的 AWS 凭证。您可以导出 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 凭证:
$ export AWS_ACCESS_KEY_ID='your-access-key'
$ export AWS_SECRET_ACCESS_KEY='your-secret-key'
或者,您可以使用命令行标志 --aws-access-key 和 --aws-secret-access-key 进行身份验证。
默认情况下,suture 使用 ubuntu 用户连接到实例。可以使用 --ssh-user 标志进行更改。默认私钥路径是 ~/.ec2。您可以使用 --identity-file-path 标志覆盖此路径。
最后,运行 check 命令以查看您的实例状态:
$ bundle install
$ bundle exec ./bin/suture [<options>] check
有关其他命令选项,./bin/suture --help:
Usage: suture [<options>] check
-A, --aws-access-key-id KEY the access key identifier
-K SECRET, the access key identifier
--aws-secret-access-key
-x, --ssh-user USERNAME the ssh username
-i IDENTITY_FILE_PATH, the SSH identity file used for authentication
--identity-file-path
-I, --instance-id INSTANCE_ID the instance to check
--region REGION your AWS region
-c CHECK_COMMAND, the check command to run
--check-command
-r, --check-result CHECK_RESULT the check result to match
您将在 options 哈希中找到默认配置值。您应该使用上述命令行标志覆盖这些值。
options = {
:aws => {
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'],
:ec2 => {
:ssh_user => 'ubuntu',
:instance_id => nil,
:identity_file_path => ::File.join(Dir.home, '.ec2')
},
:region => 'us-east-1'
},
:check_command => 'openssl version -v',
:check_result => 'OpenSSL 1.0.1g 7 Apr 2014'
}
git checkout -b my-new-feature)git commit -am 'Add some feature')git push origin my-new-feature)本应用程序根据 Apache License, Version 2.0 分发。