我正在通过 Amazon Inspector 进行安全审核,它指出我的 Elastic beanstalk ec2 实例的端口 22 对互联网开放。我觉得这听起来不对,因为我不记得打开过它。但当我查看时,我发现在我的 beanstalk 中创建的所有 ec2 都与由 beanstalk 生成的安全组关联,该安全组的端口 22 向互联网开放。
这是为什么呢? 我可以删除这个吗? 有没有办法自动删除它,这样我就不必为以后的每个 beanstalk 应用程序手动执行此操作?
是的,您可以使用 Lambda 函数删除允许端口 22 上的流量的默认安全组。或者,如果您从 Elastic Beanstalk 中删除 SSH 密钥,它将不再创建允许整个“Hello World”在端口 22 上进行流量的安全组。
例如,下面是带有 ElasticBeanstalk 的 CloudFromation 堆栈,这里我需要删除它以避免创建默认安全组 ssh。
ElasticBeanstalkEnvironment:
Type: 'AWS::ElasticBeanstalk::Environment'
Properties:
EnvironmentName: !Sub '${Project}-${Environment}'
ApplicationName: !Ref ElasticBeanstalkApplication
SolutionStackName: '64bit Amazon Linux 2 v3.7.1 running Docker'
OptionSettings:
- Namespace: 'aws:autoscaling:launchconfiguration'
OptionName: 'EC2KeyName'
Value: 'my_ssh_key'