4.10.10 - kriege AppArmor nicht korrekt kompiliert

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
bumer
Beiträge: 238
Registriert: 02.07.2014 12:29:15

4.10.10 - kriege AppArmor nicht korrekt kompiliert

Beitrag von bumer » 29.04.2017 19:45:54

Hallo,

ich kriege AppArmor einfach nicht korrekt in einen neuen 4.10.10er Kernel kompilert. AppArmor funktioniert und blockt verbotene Zugriffe, das Problem ist jedoch, dass ich keine Meldungen im Syslog erhalte, wie:

Code: Alles auswählen

Apr 29 19:32:35 machine kernel: [  694.437361] audit: type=1400 audit(1493508755.516:49): apparmor="DENIED" operation="open" profile="/usr/bin/keepass2"
name="/usr/share/texmf/fonts/opentype/public/tex-gyre-math/" pid=1822 comm="cli" requested_mask="r" denied_mask="r" fsuid=1001 ouid=0
Audit ist total tot. Ich weiß nicht an welcher Kernel-Option das liegt. Habe AppArmor wie folgt kompiliert:

Code: Alles auswählen

Security options --->
[*] Enable different security models
-*- Enable the securityfs filesystem
-*- Socket and Networking Security Hooks
[*]   XFRM (IPSec) Networking Security Hooks
[*] Harden memory copies between kernel and userspace
[*] AppArmor support
(1)   AppArmor boot parameter default value
[*]   Enable introspection of sha1 hashes for loaded profiles
[*]     Enable policy hash introspection by default
[*] Integrity subsystem
[*]   Enables integrity auditing support
Wie bereits erwähnt, wenn ich den Kernel mit den erwähnten Optionen kompiliere, kriege ich, erstens, keine Audit-Meldungen und, zweitens, funktionieren Programme wie LibreOffice-Writer und Keepass2 nicht richtig.

Könnte es daran liegen, dass audit ein Teil von SELinux ist und ich SELinux ganz abgeschaltet habe?

Hat jemand 'ne Ahnung welche Option ich vergessen habe, bzw. wo das Problem liegt?

Viele Grüße,
bumer

stillebucht
Beiträge: 31
Registriert: 30.10.2013 11:13:19

Re: 4.10.10 - kriege AppArmor nicht korrekt kompiliert

Beitrag von stillebucht » 30.04.2017 11:31:31

Eigentlich braucht es nicht viele Optionen um Apparmor zum Laufen zu bekommen. Ich aktiviere eigentlich nur CONFIG_SECURITY ("Enable different security models") und CONFIG_SECURITY_APPARMOR ("AppArmor support") manuell. Dabei werden dann automatisch einige Abhängigkeiten und Default-Werte für Apparmor gesetzt. Die ich so lasse. AppArmor aktiviere ich dann über die entsprechenden Bootparameter apparmor=1 und security=apparmor. Ich weiß aber aus Erfahrung auch, dass das ganze funktioniert, wenn man AppArmor in der Kernel-Konfiguration bereits als Default Security Module aktiviert.

Hast du die entsprechenden AppArmor-Userland-Progrmame installiert ("apparmor-utils")?

Falls das alles nicht hilft, lad dir mal ein aktuelles Kernel-Paket aus dem Debian-Archiv herunter und vergleiche die Konfiguration mit deiner, zumindest den Abschnitt zur Security-Konfiguration des Kernels. Vielleicht findest du da eine größere Diskrepanz.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: 4.10.10 - kriege AppArmor nicht korrekt kompiliert

Beitrag von rendegast » 01.05.2017 10:48:35

'grep APPARM -C5 /boot/config*':

Code: Alles auswählen

/boot/config-3.16.0-4-amd64-CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
/boot/config-3.16.0-4-amd64-CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
/boot/config-3.16.0-4-amd64-# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
/boot/config-3.16.0-4-amd64-CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
/boot/config-3.16.0-4-amd64-CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
/boot/config-3.16.0-4-amd64:CONFIG_SECURITY_APPARMOR=y
/boot/config-3.16.0-4-amd64:CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
/boot/config-3.16.0-4-amd64:CONFIG_SECURITY_APPARMOR_HASH=y
/boot/config-3.16.0-4-amd64-CONFIG_SECURITY_YAMA=y
/boot/config-3.16.0-4-amd64-CONFIG_SECURITY_YAMA_STACKED=y
/boot/config-3.16.0-4-amd64-# CONFIG_IMA is not set
/boot/config-3.16.0-4-amd64-# CONFIG_EVM is not set
/boot/config-3.16.0-4-amd64-# CONFIG_DEFAULT_SECURITY_SELINUX is not set
/boot/config-3.16.0-4-amd64-# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
/boot/config-3.16.0-4-amd64:# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
/boot/config-3.16.0-4-amd64-# CONFIG_DEFAULT_SECURITY_YAMA is not set
/boot/config-3.16.0-4-amd64-CONFIG_DEFAULT_SECURITY_DAC=y
/boot/config-3.16.0-4-amd64-CONFIG_DEFAULT_SECURITY=""
/boot/config-3.16.0-4-amd64-CONFIG_XOR_BLOCKS=m
/boot/config-3.16.0-4-amd64-CONFIG_ASYNC_CORE=m
--
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
/boot/config-4.9.0-0.bpo.2-amd64-# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
/boot/config-4.9.0-0.bpo.2-amd64:CONFIG_SECURITY_APPARMOR=y
/boot/config-4.9.0-0.bpo.2-amd64:CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
/boot/config-4.9.0-0.bpo.2-amd64:CONFIG_SECURITY_APPARMOR_HASH=y
/boot/config-4.9.0-0.bpo.2-amd64:CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
/boot/config-4.9.0-0.bpo.2-amd64-# CONFIG_SECURITY_LOADPIN is not set
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_SECURITY_YAMA=y
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_INTEGRITY=y
/boot/config-4.9.0-0.bpo.2-amd64-# CONFIG_INTEGRITY_SIGNATURE is not set
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_INTEGRITY_AUDIT=y
/boot/config-4.9.0-0.bpo.2-amd64-# CONFIG_IMA is not set
/boot/config-4.9.0-0.bpo.2-amd64-# CONFIG_EVM is not set
/boot/config-4.9.0-0.bpo.2-amd64-# CONFIG_DEFAULT_SECURITY_SELINUX is not set
/boot/config-4.9.0-0.bpo.2-amd64-# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
/boot/config-4.9.0-0.bpo.2-amd64:# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_DEFAULT_SECURITY_DAC=y
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_DEFAULT_SECURITY=""
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_XOR_BLOCKS=m
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_ASYNC_CORE=m
/boot/config-4.9.0-0.bpo.2-amd64-CONFIG_ASYNC_MEMCPY=m
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

bumer
Beiträge: 238
Registriert: 02.07.2014 12:29:15

Re: 4.10.10 - kriege AppArmor nicht korrekt kompiliert

Beitrag von bumer » 01.05.2017 13:27:02

vielen Dank für die Tipps.

Hab alles von den Optionen genau so wie es sein sollte. 'apparmor-utils' ist keine Vorraussetzung, dass AppArmor läuft.

Ich denke eher es ist ein audit-Problem. Habe nämlich das ganze SELinux-Zeugs deaktiviert und irgendwo gelesen, dass audit ein Teil dessen ist. Kann das jemand bestätigen?

stillebucht
Beiträge: 31
Registriert: 30.10.2013 11:13:19

Re: 4.10.10 - kriege AppArmor nicht korrekt kompiliert

Beitrag von stillebucht » 02.05.2017 17:10:29

bumer hat geschrieben:Hab alles von den Optionen genau so wie es sein sollte. 'apparmor-utils' ist keine Vorraussetzung, dass AppArmor läuft.
Sorry, mein Fehler. apparmor-utils werden natürlich nicht benötigt, sondern vielmehr das Paket apparmor. Das ist installiert, oder? Ein Userspace-Programm muss sich ja um das Laden der Profile kümmern. Ist der AppArmor dienst auch aktiviert?
bumer hat geschrieben:Ich denke eher es ist ein audit-Problem. Habe nämlich das ganze SELinux-Zeugs deaktiviert und irgendwo gelesen, dass audit ein Teil dessen ist. Kann das jemand bestätigen?
SELinux braucht man nicht per se. Das ist bei mir auch deaktiviert. Es kann aber natürlich sein, dass du im Zuge dessen eine andere relevante Option deaktiviert hast, auf die AppArmor angewiesen ist...

Ich füge hier mal die Abschnitte Security (für AppArmor und Co.) und General Setup (dort findest du die Audit-Optionen) meiner Konfiguration für einen 4.4 Kernel ein (die gesamte Konfiguration sprengt das Beitragslimit hier im Forum). Die kannst ja mal vergleichen - vielleicht fällt dir dabei etwas Relevantes auf:

Code: Alles auswählen

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_LZMA is not set
CONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_FHANDLE=y
# CONFIG_USELIB is not set
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y

[...]

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_PERSISTENT_KEYRINGS is not set
# CONFIG_BIG_KEYS is not set
CONFIG_ENCRYPTED_KEYS=m
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
CONFIG_SECURITY_APPARMOR_HASH=y
# CONFIG_SECURITY_YAMA is not set
CONFIG_INTEGRITY=y
# CONFIG_INTEGRITY_SIGNATURE is not set
CONFIG_INTEGRITY_AUDIT=y
# CONFIG_IMA is not set
# CONFIG_EVM is not set
# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_CRYPTO=y

Antworten