Türchen #18: Security-Groups mit InSpec checken


Ein Blick in unseren Werkzeugkasten

Wer von Euch das “Infrastructure-As-Code”-Prinzip lebt, kennt das: einige Werkzeuge sind während der täglichen Arbeit unverzichtbar geworden:

Während Terraform für einen konsistenten Stand unserer Cloud-Infrastruktur sorgt, Ansible beim Betanken neuer Linux-Instanzen hilft und Jenkins alle Fäden zusammenhält, nutzen wir auch InSpec, um kontinuierliche Tests durchführen zu können. Eifrige Leser unseres Adventsblogs erinnern sich bestimmt auch daran, wie wir mit InSpec unsere S3-Buckets auf Herz und Nieren prüften.

Zur Sache!

Der CIS-Benchmark für AWS gibt einige Empfehlungen und Handlungsanweisungen, um Euren Account sicher aufzusetzen und zu betreiben. Unter anderen wird darin empfohlen, SSH Zugriffe nicht uneingeschränkt von jeder Quelle aus dem Internet zuzulassen. InSpec bietet diverse AWS Cloud-Ressourcen, unter anderen lassen sich Security-Groups inspizieren.

Das folgende Code-Beispiel illustriert, wie wir sämtliche Security-Groups, die eingehende SSH-Verbindungen auf Port 22 zulassen, überprüfen können:

control 'cis-amazon-web-services-foundation-benchmark-4.1' do
  impact 1.0
  title "Ensure no security groups allow ingress from 0.0.0.0/0 to port 22"
  desc "It is recommended that no security group allows unrestricted ingress access to port 22."

  tag cis: 'CIS_Amazon_Web_Services_Foundations_Benchmark:1.2'
  tag level: 1

  sg_gids = aws_security_groups.group_ids

  sg_gids.each do |gid|
    describe aws_security_group(id: gid) do
      it { should_not allow_in(port: 22, ipv4_range: '0.0.0.0/0') }
    end
  end
end

Übrigens: unser vollständige InSpec Profile findet Ihr auf Github. Wir freuen uns natürlich über rege Contribution, denn an dieser Stelle gibt es noch viel zu tun!

Happy Secure Coding!

Zurück zu den Blogbeiträgen

Trainings und Workshops

Vom Kurs für Einsteiger bis hin zu Experten-Workshops mit Tiefgang können wir Euch mit technischen Trainings unterstützen. Darüber hinaus bieten wir auch Workshops mit Fokus auf Cloud-Strategie oder für die Vertriebsmannschaft an.

Mehr...