Zurücksetzen der AppArmor-Protokollzeile in eine Regel

386
flungo

Ich bin auf der Suche nach einer Möglichkeit, eine einzelne Zeile /var/log/syslogvon AppArmor für ein Profil im Reklamationsmodus zurückzunehmen. Ich habe gesehen, aa-genprofdass das verwendet wird, was an das Syslog gemeldet wird, um Regeln zu generieren. Zum größten Teil konnte ich meine Regeln von Hand schreiben, um das zuzulassen, was benötigt wird, aber ich bleibe jetzt bei diesen beiden Zeilen aus meinem Syslog:

[88529.103991] audit: type = 1400 audit (1414408592.500: 5298): apparmor = "ALLOWED" operation = "mount" info = "fehlgeschlagener Typübereinstimmung" error = -13 profile = "docker-das" name = "/ var / lib / docker / btrfs / "pid = 9289 comm =" docker "srcname =" / var / lib / docker / btrfs / "flags =" rw, bind "

[88529.104010] audit: type = 1400 audit (1414408592.500: 5299): apparmor = "ALLOWED" operation = "mount" info = "fehlgeschlagener Typübereinstimmung" error = -13 profile = "docker-das" name = "/ var / lib / docker / btrfs / "pid = 9289 comm =" docker "flags =" rw, privat "

Ich habe versucht, die folgende Zeile (und mehrere Varianten während des Geplätscherns) zu meinem docker-dasProfil hinzuzufügen, jedoch ohne Erfolg:

mount fstype=btrfs -> /var/lib/docker/btrfs/ 

Der einzige Grund, aus dem ich sehen kann, dass dies nicht funktioniert, ist der, der commgleich ist ( dockerim Gegensatz zu mountnativen Mount-Befehlen).

Leider kann ich scheinbar aa-genprofkeine Hilfe finden (ich glaube aufgrund des Profils, das keinen Standardnamen hat) und die AppArmor-Dokumentation (obwohl hilfreich, da ich jetzt die richtige Seite in ihrem Wiki gefunden habe) ist ein Durcheinander.

Wenn es eine einfache Möglichkeit gibt, die erforderliche Zeile zu generieren, wäre dies ein großes Wissen. Andernfalls kann jeder sehen, was mit der Regel nicht stimmt, oder herausfinden, welche Regel ich für die in den Protokollen angegebenen Mounts zulassen muss. Was ich möchte, ist, dass Sie die beste Übereinstimmung für eine Protokollzeile haben, damit ich entscheiden kann, welche Teile nicht erforderlich sind.

3

1 Antwort auf die Frage

0
flungo

Obwohl dies keine vollständige Lösung ist (es ist nicht möglich, aus einer beliebigen Protokollzeile eine Übereinstimmungsregel generieren zu können), ist die folgende Lösung die beste Lösung, die ich für das jeweilige Problem finden könnte und sollte sicher genug sein:

deny mount /dev/**, mount -> /var/lib/docker/btrfs/ 

Es wäre aber trotzdem schön, wenn es möglich wäre, die bestmögliche Übereinstimmung für den Protokolleintrag zu erhalten, sodass ich ihn dann verwenden oder schwächer machen kann (wenn ich das wünsche).