Class: SecurityGroupIngressCidrNon32Rule
- Inherits:
-
BaseRule
show all
- Includes:
- IpAddr
- Defined in:
- lib/cfn-nag/custom_rules/SecurityGroupIngressCidrNon32Rule.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
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/cfn-nag/custom_rules/SecurityGroupIngressCidrNon32Rule.rb', line 25
def audit_impl(cfn_model)
violating_security_groups = cfn_model.security_groups.select do |security_group|
violating_ingresses = security_group.ingresses.select do |ingress|
ip4_cidr_range?(ingress) || ip6_cidr_range?(ingress)
end
!violating_ingresses.empty?
end
violating_ingresses = cfn_model.standalone_ingress.select do |standalone_ingress|
ip4_cidr_range?(standalone_ingress) || ip6_cidr_range?(standalone_ingress)
end
violating_security_groups.map(&:logical_resource_id) + violating_ingresses.map(&:logical_resource_id)
end
|
18
19
20
|
# File 'lib/cfn-nag/custom_rules/SecurityGroupIngressCidrNon32Rule.rb', line 18
def rule_id
'W9'
end
|
#rule_text ⇒ Object
10
11
12
|
# File 'lib/cfn-nag/custom_rules/SecurityGroupIngressCidrNon32Rule.rb', line 10
def rule_text
'Security Groups found with ingress cidr that is not /32'
end
|
#rule_type ⇒ Object
14
15
16
|
# File 'lib/cfn-nag/custom_rules/SecurityGroupIngressCidrNon32Rule.rb', line 14
def rule_type
Violation::WARNING
end
|