KI für DevOps-Engineers – Teil 1: Die Grundlagen von DevOps-KI
DevOps ist ein entscheidender Erfolgsfaktor in der Softwareentwicklung, und wir sind definitiv alle auf die eine oder andere Weise auf KI gestoßen. Eine
In den heutigen schnelllebigen DevOps-Umgebungen ist die Sicherstellung der Infrastrukturkonformität und -sicherheit von höchster Bedeutung. Traditionell war HashiCorp Sentinel innerhalb des HashiCorp-Ökosystems, insbesondere für Terraform-Nutzer, eine bevorzugte Wahl für Richtlinien als Code. Jedoch bietet Mondoo eine überzeugende Alternative, die umfangreiche Sicherheits- und Konformitätsfunktionen bietet, die nahtlos in Terraform integriert werden können. Dieser Artikel untersucht, wie man Mondoo-Richtlinien als Ersatz für HashiCorp Sentinel mit praktischen Beispielen verwendet.
Mondoo ist eine Sicherheits- und Konformitätsplattform, die robuste Fähigkeiten für kontinuierliche Sicherheitsbewertungen und Konformitätsprüfungen in Cloud-, On-Premise- und hybriden Umgebungen bietet. Hier sind einige Hauptgründe, Mondoo zu berücksichtigen:
Mondoo-Richtlinien werden mithilfe der Richtliniensprache von Mondoo verfasst. Hier ist ein Beispiel für eine einfache Mondoo-Richtlinie, um zu überprüfen, dass kein AWS S3-Bucket öffentlich zugänglich ist:
1policies:
2 - uid: terraform-aws-s3-public-access
3 name: "Stellen Sie sicher, dass kein S3-Bucket öffentlich zugänglich ist."
4 version: 1.0.0
5 scoring_system: highest impact
6 tags:
7 mondoo.com/category: security
8 groups:
9 - title: AWS S3 Bucket Richtlinien
10 filters: asset.runtime == "terraform"
11 checks:
12 - uid: aws-s3-public-access
13
14queries:
15 - uid: aws-s3-public-access
16 title: AWS S3 Public Access
17 impact: 50
18 mql: |
19 terraform.plan.resourceChanges.where(r: r.type == "aws_s3_bucket_acl" ).all(i: i.change.after.acl.in( props.allowedACLs ) )
20
21 props:
22 - uid: allowedACLs
23 title: Erlaubte ACLs
24 mql: |
25 ["private", "authenticated-read"]
Um sicherzustellen, dass Ihre Richtliniendefinition gültig ist, können Sie das Mondoo CLI verwenden, um die Richtliniendatei zu validieren:
1cnspec policy lint aws_s3_bucket_policy.mql.yaml
Die Integration von Mondoo mit Terraform beinhaltet das Ausführen von Mondoo-Checks als Teil Ihres Terraform-Workflows basierend auf dem Terraform-Plan. Hier ist ein Beispiel für Terraform-Code, der einen AWS S3-Bucket als Ressource verwendet und die Mondoo CLI verwendet, um den Terraform-Plan mit lokalen Richtliniendateien zu scannen:
1resource "aws_s3_bucket" "example" {
2 bucket = "my-tf-example-bucket"
3}
4
5resource "aws_s3_bucket_ownership_controls" "example" {
6 bucket = aws_s3_bucket.example.id
7 rule {
8 object_ownership = "BucketOwnerPreferred"
9 }
10}
11
12resource "aws_s3_bucket_acl" "example" {
13 depends_on = [aws_s3_bucket_ownership_controls.example]
14
15 bucket = aws_s3_bucket.example.id
16 acl = "private"
17}
1terraform plan -out=tfplan
1terraform show -json tfplan > tfplan.json
1cnspec scan terraform plan tfplan.json -f aws_s3_bucket_policy.mql.yaml
2→ discover related assets for 1 asset(s)
3
4 Terraform Static Analysis tfplan ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% score: A
5
6Asset: Terraform Static Analysis tfplan
7---------------------------------------
8
9Checks:
10✓ Pass: 100 AWS S3 Public Access
11
12Scanned 1 asset
13
14Terraform Plan
15 [100/100] Terraform Static Analysis tfplan
Lassen Sie uns eine Richtlinie durchsetzen, um sicherzustellen, dass keine Sicherheitsgruppe SSH-Zugriff von überall erlaubt.
1policies:
2 - uid: terraform-aws-sec-group-ssh-access
3 name: "Stellen Sie sicher, dass keine Sicherheitsgruppe SSH von 0.0.0.0/0 erlaubt."
4 version: 1.0.0
5 scoring_system: highest impact
6 tags:
7 mondoo.com/category: security
8 groups:
9 - title: AWS SSH Sicherheitsgruppenprüfung
10 filters: asset.runtime == "terraform"
11 checks:
12 - uid: aws-ssh-security-group
13queries:
14 - uid: aws-ssh-security-group
15 title: AWS SSH Sicherheitsgruppenprüfung
16 impact: 20
17 mql: |
18 terraform.plan.resourceChanges.where(r: r.type == "aws_security_group" || r.type == "aws_security_group_rule" ).all(i:
19 i.change.after.from_port == 22
20 && i.change.after.to_port == 22
21 && i.change.after.cidr_blocks.not_in( props.disAllowedCIDRs )
22 && i.change.after.ipv6_cidr_blocks.not_in( props.disAllowedCIDRs )
23 )
24
25 props:
26 - uid: disAllowedCIDRs
27 title: Nicht erlaubte CIDRs
28 mql: |
29 ["0.0.0.0/0", "::/0" ]
Hier ist eine Beispiel-Konfiguration für eine AWS-Sicherheitsgruppe in Terraform:
1resource "aws_security_group" "example" {
2 name = "example-sg"
3 description = "Beispiel Sicherheitsgruppe"
4
5 ingress {
6 from_port = 22
7 to_port = 22
8 protocol = "tcp"
9 cidr_blocks = ["0.0.0.0/0"]
10 }
11}
12
13resource "aws_security_group_rule" "example" {
14 type = "ingress"
15 from_port = 22
16 to_port = 22
17 protocol = "tcp"
18 ipv6_cidr_blocks = [ "::/0" ]
19 security_group_id = aws_security_group.example.id
20}
1terraform plan -out=tfplan
2terraform show -json tfplan > tfplan.json
1cnspec scan terraform plan tfplan.json -f aws_security_group_policy.mql.yaml
Der Mondoo-Scan analysiert den Terraform-Plan und setzt die Richtlinie durch, indem er Sie benachrichtigt, falls eine Sicherheitsgruppe SSH-Zugriff von 0.0.0.0/0 erlaubt.
Mondoo bietet eine leistungsstarke und flexible Alternative zu HashiCorp Sentinel, um Richtlinien in Ihren Terraform-Workflows durchzusetzen. Durch die Integration von Mondoo können Sie die Sicherheits- und Konformitätsposition Ihrer Infrastruktur mit minimalem Aufwand verbessern. Mit seinen breiten Integrationsmöglichkeiten und umfassenden Funktionen für das Richtlinienmanagement ist Mondoo ideal für moderne DevOps-Umgebungen geeignet.
Insgesamt bietet Mondoo eine robuste Plattform für kontinuierliche Sicherheits- und Konformitätsprüfungen in Ihrer Infrastruktur, um sicherzustellen, dass Ihre ressourcenverwalteten Ressourcen von Terraform den Sicherheitsrichtlinien Ihrer Organisation entsprechen. Diese Richtlinien können auf der Mondoo-Plattform gepflegt und als Teil Ihrer Terraform-Workflows und CI/CD-Pipelines durchgesetzt werden.
Beginnen Sie noch heute mit Mondoo und stellen Sie sicher, dass Ihre ressourcenverwaltete Infrastruktur von Terraform sicher und konform bleibt.
Sie interessieren sich für unsere Trainings oder haben einfach eine Frage, die beantwortet werden muss? Sie können uns jederzeit kontaktieren! Wir werden unser Bestes tun, um alle Ihre Fragen zu beantworten.
Hier kontaktieren