Site icon bintorosoft.com

AppArmor Profile für Compose: Service-spezifische Policies

AppArmor ist ein Mandatory Access Control (MAC) System unter Linux, das Prozesse restriktiv auf Dateisystem-, Netzwerk- und IPC-Zugriffe beschränkt. Für Container ermöglicht AppArmor die Definition von Service-spezifischen Policies, um die Angriffsfläche zu minimieren und potenziell gefährliche Aktionen zu verhindern. In Kombination mit Docker Compose können so differenzierte Sicherheitsprofile pro Service eingesetzt werden, ohne den gesamten Host global zu beeinflussen.

1. Grundlagen von AppArmor

AppArmor arbeitet auf Profilbasis und erlaubt das Setzen von Zugriffsrechten für ausführbare Dateien. Jeder Prozess wird einem Profil zugewiesen, das die erlaubten Operationen definiert. Standardmäßig kann Docker das „docker-default“-Profil verwenden, eigene Profile ermöglichen jedoch eine granularere Kontrolle.

Funktionsweise

2. Ein eigenes AppArmor-Profil erstellen

AppArmor-Profile werden in Textdateien definiert. Ein Basisprofil besteht aus:

Beispielprofil für einen Webservice

profile my-webapp flags=(attach_disconnected) {
  # Allow read-only access to /app
  /app/** r,

Allow writing to /app/data

/app/data/** rw,

Allow networking

network inet stream,

Deny everything else

deny /** w,
}

Dieses Profil erlaubt dem Service nur den Zugriff auf die App-Daten und Netzwerkzugriffe, alles andere wird blockiert.

3. Nutzung von AppArmor-Profilen in Docker Compose

In Docker Compose kann ein AppArmor-Profil einem Service über die `security_opt`-Option zugewiesen werden:

version: "3.8"
services:
  web:
    image: my-webapp:latest
    security_opt:
      - apparmor:my-webapp

Damit verwendet der Container ausschließlich die im Profil definierten Berechtigungen, unabhängig von anderen Containern oder Host-Standards.

Praktische Hinweise

4. Logging und Troubleshooting

AppArmor protokolliert Verstöße gegen das Profil über `dmesg` oder Syslog (`/var/log/kern.log`).

Beispiele für Log-Analyse

sudo dmesg | grep DENIED
sudo journalctl -k | grep apparmor

Analysieren Sie die Logs, um zu erkennen, welche Aktionen vom Profil blockiert werden, und passen Sie die Regeln entsprechend an.

5. Best Practices für Compose-Stacks

6. Kombination mit weiteren Security-Maßnahmen

AppArmor kann effektiv mit Seccomp und Capability-Drop kombiniert werden:

Durch diese Kombination entsteht eine mehrschichtige Sicherheitsarchitektur, die Container umfassend schützt.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version