Class: SecurityGroupIngressOpenToWorldRule
- Inherits:
-
BaseRule
show all
- Includes:
- IpAddr
- Defined in:
- lib/cfn-nag/custom_rules/SecurityGroupIngressOpenToWorldRule.rb
Instance Method Summary
collapse
Methods included from IpAddr
#ip4_cidr_range?, #ip4_localhost?, #ip4_open?, #ip6_cidr_range?, #ip6_localhost?, #ip6_open?, #normalize_cidr_ip6
Methods inherited from BaseRule
#audit, #violation
Instance Method Details
#audit_impl(cfn_model) ⇒ Object
This will behave slightly different than the legacy jq based rule which was targeted against inline ingress only
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/cfn-nag/custom_rules/SecurityGroupIngressOpenToWorldRule.rb', line 26
def audit_impl(cfn_model)
violating_security_groups = cfn_model.security_groups.select do |security_group|
violating_ingresses = security_group.ingresses.select do |ingress|
violating_ingress(ingress)
end
!violating_ingresses.empty?
end
violating_ingresses = cfn_model.standalone_ingress.select do |standalone_ingress|
violating_ingress(standalone_ingress)
end
violating_security_groups.map(&:logical_resource_id) + violating_ingresses.map(&:logical_resource_id)
end
|
19
20
21
|
# File 'lib/cfn-nag/custom_rules/SecurityGroupIngressOpenToWorldRule.rb', line 19
def rule_id
'W2'
end
|
#rule_text ⇒ Object
10
11
12
13
|
# File 'lib/cfn-nag/custom_rules/SecurityGroupIngressOpenToWorldRule.rb', line 10
def rule_text
'Security Groups found with cidr open to world on ingress. This should ' \
'never be true on instance. Permissible on ELB'
end
|
#rule_type ⇒ Object
15
16
17
|
# File 'lib/cfn-nag/custom_rules/SecurityGroupIngressOpenToWorldRule.rb', line 15
def rule_type
Violation::WARNING
end
|