% Device Drivers (15)
% since 6.13
\section{Security options \texorpdfstring{$\longrightarrow$}{->}}
\textit{(Sicherheits\-optionen)}

%17.1
\subsection{Enable access key retention support}
CONFIG\_KEYS [=y] \textbf{[Y]}\\
Diese Option bietet Unterstützung für die Aufbewahrung von Authentifizierungs- und Zugriffsschlüsseln im Kernel.\\
Außerdem werden Methoden bereitgestellt, mit denen solche Schlüssel mit einem Prozess verknüpft werden können, so dass Netzwerkdateisysteme,
Verschlüsselungsunterstützung und ähnliches sie finden können.\\
Darüber hinaus gibt es einen speziellen Schlüsseltyp, der als Schlüsselbund fungiert: eine durchsuchbare Folge von Schlüsseln.
Jeder Prozess verfügt über den Zugang zu fünf Standard-Schlüsselbunden: UID-spezifisch, GID-spezifisch, Sitzung, Prozess und Thread.\\
Wenn Sie sich nicht sicher sind, ob dies erforderlich ist, antworten Sie mit N.
\english{This option provides support for retaining authentication tokens and access keys in the kernel.\\
It also includes provision of methods by which such keys might be associated with a process so that network file\-systems, encryption support and the like can find them.\\
Furthermore, a special type of key is available that acts as keyring: a searchable sequence of keys.
Each process is equipped with access to five standard keyrings: UID-specific, GID-specific, session, process and thread.\\
If you are unsure as to whether this is required, answer N.}

\subsubsection{Enable temporary caching of the last request\_key() result}
CONFIG\_KEYS\_REQUEST\_CACHE [=y] \textbf{[Y]}\\
Diese Option bewirkt, dass das Ergebnis des letzten erfolgreichen request\_key()-Aufrufs, der nicht zum Kernel hochgeladen wurde, vorübergehend im task\_struct zwischengespeichert wird.
Der Zwischenspeicher wird beim Beenden und kurz vor der Wiederaufnahme des Userspace geleert.\\
Dies ermöglicht die Verwendung des Schlüssels bei mehrstufigen Prozessen, bei denen jeder Schritt einen Schlüssel anfordert, der wahrscheinlich derselbe ist wie der vom letzten Schritt angeforderte, um die Suche zu sparen.\\
Ein Beispiel für einen solchen Prozess ist ein Pathwalk durch ein Netzwerkdateisystem, bei dem jede Methode einen Authentifizierungsschlüssel anfordern muss.
Pathwalk ruft mehrere Methoden für jede durchquerte Dentry auf (permission, d\_revalidate, lookup, getxattr, getacl, \dots).
\english{This option causes the result of the last successful request\_key() call that didn't upcall to the kernel to be cached temporarily in the task\_struct.
The cache is cleared by exit and just prior to the resumption of userspace.\\
This allows the key used for multiple step processes where each step wants to request a key that is likely the same as the one requested by the last step to save on the searching.\\
An example of such a process is a pathwalk through a network filesystem in which each method needs to request an authentication key.
Pathwalk will call multiple methods for each dentry traversed (permission, d\_revalidate, lookup, getxattr, getacl, \dots).}

\subsubsection{Enable register of persistent per-UID keyrings}
CONFIG\_PERSISTENT\_KEYRINGS [=y] \textbf{[Y]}\\
Diese Option stellt ein Register persistenter Schlüsselringe pro UID bereit, das in erster Linie für die Speicherung von Kerberos-Schlüsseln gedacht ist.
Die Schlüsselringe sind persistent in dem Sinne, dass sie auch dann noch vorhanden sind, wenn alle Prozesse dieser UID beendet sind, und nicht, dass sie den Neustart des Rechners überleben.\
Auf einen bestimmten Schlüsselbund kann entweder der Benutzer, dessen Schlüsselbund es ist, oder ein Prozess mit administrativen Rechten zugreifen.
Die aktiven LSMs können festlegen, welche Prozesse mit Administratorrechten auf den Cache zugreifen dürfen.\\
Schlüsselringe werden bei Bedarf erstellt und in das Register aufgenommen und werden entfernt, wenn sie ablaufen (bei der Erstellung wird eine Standardzeitüberschreitung festgelegt).
\english{This option provides a register of persistent per-UID keyrings, primarily aimed at Kerberos key storage.
The keyrings are persistent in the sense that they stay around after all processes of that UID have exited, not that they survive the machine being rebooted.\\
A particular keyring may be accessed by either the user whose keyring it is or by a process with administrative privileges.
The active LSMs gets to rule on which admin-level processes get to access the cache.\\
Keyrings are created and added into the register upon demand and get removed if they expire (a default timeout is set upon creation).}

\subsubsection{TRUSTED KEYS}
CONFIG\_TRUSTED\_KEYS [=m] \textbf{[M]}\\
Diese Option bietet Unterstützung für das Erstellen, Versiegeln und Entsiegeln von Schlüsseln im Kernel.
Vertrauenswürdige Schlüssel sind symmetrische Schlüssel mit Zufallszahlen, die von einer beim Booten des Kernels ausgewählten Vertrauensquelle erzeugt und versiegelt werden.
Der Userspace wird immer nur verschlüsselte Blobs sehen.\\
Wenn Sie sich nicht sicher sind, ob dies erforderlich ist, antworten Sie mit N.
\english{This option provides support for creating, sealing, and unsealing keys in the kernel.
Trusted keys are random number symmetric keys, generated and sealed by a trust source selected at kernel boot-time.
Userspace will only ever see encrypted blobs.\\
If you are unsure as to whether this is required, answer N.}

\paragraph{TPM-based trusted keys}$~$\\
CONFIG\_TRUSTED\_KEYS\_TPM [=y] \textbf{[Y]}\\
Aktivieren Sie die Verwendung des Trusted Platform Module (TPM) als vertrauenswürdiges Schlüssel-Backend.
Vertrauenswürdige Schlüssel sind symmetrische Schlüssel mit Zufallszahlen,
die vom TPM generiert und RSA-versiegelt werden. Das TPM entsiegelt die Schlüssel nur, wenn die Boot-PCRs und andere Kriterien übereinstimmen.
\english{Enable use of the Trusted Platform Module (TPM) as trusted key backend.
Trusted keys are random number symmetric keys, which will be generated and RSA-sealed by the TPM.
The TPM only unseals the keys, if the boot PCRs and other criteria match.}

\subsubsection{ENCRYPTED KEYS}
CONFIG\_ENCRYPTED\_KEYS [=m] \textbf{[M]}\\
Diese Option bietet Unterstützung für das Erstellen/Entschlüsseln/Entschlüsseln von Schlüsseln im Kernel.
Verschlüsselte Schlüssel werden mit vom Kernel generierten Zufallszahlen oder bereitgestellten entschlüsselten Daten instanziiert und
mit einem symmetrischen \glqq Master\grqq{}-Schlüssel ver-/entschlüsselt.
Der \glqq Master\grqq{}-Schlüssel kann entweder ein vertrauenswürdiger Schlüssel oder ein Benutzerschlüssel sein.
Es werden immer nur verschlüsselte Blobs in den Userspace ausgegeben.
Wenn Sie sich nicht sicher sind, ob dies erforderlich ist, antworten Sie mit N.
\english{This option provides support for create/encrypting/decrypting keys in the kernel.
Encrypted keys are instantiated using kernel generated random numbers or provided decrypted data, and are encrypted/decrypted with a `master' symmetric key.
The `master' key can be either a trusted-key or user-key type.
Only encrypted blobs are ever output to Userspace.\\
If you are unsure as to whether this is required, answer N.}

\paragraph{Allow encrypted keys with user decrypted data}$~$\\
CONFIG\_USER\_DECRYPTED\_DATA [=n] \textbf{[N]}\\
Diese Option bietet Unterstützung für die Instanziierung von verschlüsselten Schlüsseln mit vom Benutzer bereitgestellten entschlüsselten Daten.
Die entschlüsselten Daten müssen in Hex-Ascii kodiert sein.
Wenn Sie sich nicht sicher sind, ob dies erforderlich ist, antworten Sie mit N.
\english{This option provides support for instantiating encrypted keys using user-provided decrypted data.
The decrypted data must be hex-ascii encoded.\\
If you are unsure as to whether this is required, answer N.}

\subsubsection{Diffie-Hellman operations on retained keys}
CONFIG\_KEY\_DH\_OPERATIONS [=y] \textbf{[Y]}\\
Diese Option unterstützt die Berechnung von öffentlichen Diffie-Hellman-Schlüsseln und gemeinsam genutzten Geheimnissen unter Verwendung von Werten,
die als Schlüssel im Kernel gespeichert sind.\\
Wenn Sie sich nicht sicher sind, ob dies erforderlich ist, antworten Sie mit N.
\english{This option provides support for calculating Diffie-Hellman public keys and shared secrets using values stored as keys in the kernel.\\
If you are unsure as to whether this is required, answer N.}

%17.2
\subsection{Restrict unprivileged access to the kernel syslog}
CONFIG\_SECURITY\_DMESG\_RESTRICT [=y] \textbf{[Y]}\\
Dies erzwingt Beschränkungen für unprivilegierte Benutzer, die das Kernel-Syslog über dmesg(8) lesen.\\
Wenn diese Option nicht ausgewählt ist, werden keine Beschränkungen durchgesetzt, es sei denn, die Sysctl dmesg\_restrict ist explizit auf (1) gesetzt.\\
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit N.
\english{This enforces restrictions on unprivileged users reading the kernel syslog via dmesg(8).\\
If this option is not selected, no restrictions will be enforced unless the dmesg\_restrict sysctl is explicitly set to (1).\\
If you are unsure how to answer this question, answer N.}

\subsection{Allow /proc/pid/mem access override () \texorpdfstring{$\longrightarrow$}{->}}

\subsubsection{Traditional /proc/pid/mem behavior}
CONFIG\_PROC\_MEM\_ALWAYS\_FORCE [=y] \textbf{[Y]}\\
Damit können die \texttt{/proc/pid/mem}-Zugriffe die Speicherzuordnungsberechtigungen außer Kraft setzen, wenn Sie über ptrace-Zugriffsrechte verfügen.
\english{This allows /proc/pid/mem accesses to override memory mapping permissions if you have ptrace access rights.}

\subsubsection{Require active ptrace() use for access override}
CONFIG\_PROC\_MEM\_FORCE\_PTRACE [=n] \textbf{[N]}\\
Dadurch können /proc/pid/mem-Zugriffe die Speicherzuordnungsberechtigungen für aktive Ptracer wie gdb außer Kraft setzen.
\english{This allows /proc/pid/mem accesses to override memory mapping permissions for active ptracers like gdb.}

\subsubsection{Never}
CONFIG\_PROC\_MEM\_NO\_FORCE [=n] \textbf{[N]}\\
Niemals die Berechtigungen für die Speicherzuordnung außer Kraft setzen.
\english{Never override memory mapping permissions}

%17.4
\subsection{Enable different security models}
CONFIG\_SECURITY [=y] \textbf{[Y]}\\
Damit können Sie verschiedene Sicherheitsmodule auswählen, die in Ihrem Kernel konfiguriert werden sollen.
Wenn diese Option nicht ausgewählt ist, wird das Standard-Linux-Sicherheitsmodell verwendet.\\
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit N.
\english{This allows you to choose different security modules to be configured into your kernel.
If this option is not selected, the default Linux security model will be used.\\
If you are unsure how to answer this question, answer N.}

%17.5
\subsection{Enable the securityfs filesystem}
CONFIG\_SECURITYFS [=y] \textbf{[Y]}\\
Damit wird das securityfs-Dateisystem erstellt.
Es wird derzeit von verschiedenen Sicherheitsmodulen (AppArmor, IMA, SafeSetID, TOMOYO, TPM) verwendet.
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit N.
\english{This will build the securityfs filesystem.
It is currently used by various security modules (AppArmor, IMA, SafeSetID, TOMOYO, TPM).
If you are unsure how to answer this question, answer N.}

%17.6
\subsection{Socket and Networking Security Hooks}
CONFIG\_SECURITY\_NETWORK [=y] \textbf{[Y]}\\
Damit werden die Socket- und Netzwerksicherheitshaken aktiviert.
Wenn diese Option aktiviert ist, kann ein Sicherheitsmodul diese Hooks verwenden, um Socket- und Netzwerkzugangskontrollen zu implementieren.
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit N.
\english{This enables the socket and networking security hooks.
If enabled, a security module can use these hooks to implement socket and networking access controls.
If you are unsure how to answer this question, answer N.}

%17.7
\subsection{Infiniband Security Hooks}
CONFIG\_SECURITY\_INFINIBAND \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
Damit werden die Infiniband-Sicherheitshaken aktiviert.
Wenn diese Option aktiviert ist, kann ein Sicher\-heits\-modul diese Hooks verwenden, um Infiniband-Zugangskontrollen zu implementieren.
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit N.
\english{This enables the Infiniband security hooks.
If enabled, a security module can use these hooks to implement Infiniband access controls.
If you are unsure how to answer this question, answer N.}
\note{Da wir am Laptop sicherlich keine Infiniband-Verbindungen haben, wählen wir N.}

%17.8
\subsection{XFRM (IPSec) Networking Security Hooks}
CONFIG\_SECURITY\_NETWORK\_XFRM [=y] \textbf{[Y]}\\
Damit werden die XFRM (IPSec)-Netzwerksicherheitshaken aktiviert.
Wenn diese Option aktiviert ist, kann ein Sicherheitsmodul diese Hooks verwenden, um Zugriffskontrollen pro Paket auf der Grundlage
von Kennzeichnungen zu implementieren, die aus der IPSec-Richtlinie abgeleitet werden.
Nicht-IPSec-Kommunikationen werden als unmarkiert bezeichnet, und nur Sockets, die zur Kommunikation unmarkierter Daten berechtigt sind,
können ohne IPSec senden.
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit N.
\english{This enables the XFRM (IPSec) networking security hooks.
If enabled, a security module can use these hooks to implement per-packet access controls based on labels derived from IPSec policy.
Non-IPSec communications are designated as unlabelled, and only sockets authorized to communicate unlabelled data can send without using IPSec.\\
If you are unsure how to answer this question, answer N.}

%17.9
\subsection{Security hooks for pathname based access control}
CONFIG\_SECURITY\_PATH [=y] \textbf{Y}\\
Damit werden die Sicherheitshaken für die auf Pfadnamen basierende Zugriffskontrolle aktiviert.
Wenn diese Option aktiviert ist, kann ein Sicherheitsmodul diese Hooks verwenden,
um eine auf Pfadnamen basierende Zugriffskontrolle zu implementieren.
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit N.
\english{This enables the security hooks for pathname based access control.
If enabled, a security module can use these hooks to implement pathname based access controls.
If you are unsure how to answer this question, answer N.}

%17.10
\subsection{Enable Intel(R) Trusted Execution Technology (Intel(R) TXT)}
CONFIG\_INTEL\_TXT [=n] \textbf{[N]}\\
Diese Option aktiviert die Unterstützung für das Booten des Kernels mit dem Trusted Boot (tboot) Modul.
Dadurch wird die Intel(R) Trusted Execution Technology verwendet, um einen gemessenen Start des Kernels durchzuführen.
Wenn das System Intel(R) TXT nicht unterstützt, hat dies keine Auswirkung.\\
Intel TXT bietet eine höhere Sicherheit für die Systemkonfiguration und den Anfangszustand sowie einen Schutz vor Datenrücksetzung.
Damit wird eine robuste anfängliche Kernel-Messung und -Überprüfung durchgeführt, die dazu beiträgt, dass die Kernel-Sicherheitsmechanismen korrekt funktionieren.
Dieses Schutzniveau erfordert eine Vertrauensbasis außerhalb des Kernels selbst.\\
Intel TXT trägt auch dazu bei, die Bedenken der Endbenutzer zu zerstreuen, die sich darauf verlassen wollen, dass ihre Hardware den VMM oder Kernel ausführt,
mit dem sie konfiguriert wurde, insbesondere, da sie dafür verantwortlich sind, VMs und Diensten, die darauf laufen, diese Sicherheit zu geben.
Weitere Informationen über Intel(R) TXT finden Sie unter \url{https://www.intel.com/technology/security/}.
Siehe \url{http://tboot.sourceforge.net} für weitere Informationen über tboot.\\
Unter \texttt{Documentation/arch/x86/intel\_txt.rst} finden Sie eine Beschreibung, wie Sie die Intel TXT-Unterstützung in einem Kernel-Boot aktivieren können.\\
Wenn Sie sich nicht sicher sind, ob dies erforderlich ist, antworten Sie mit N.
\english{This option enables support for booting the kernel with the Trusted Boot (tboot) module.
This will utilize Intel(R) Trusted Execution Technology to perform a measured launch of the kernel.
If the system does not support Intel(R) TXT, this will have no effect.\\
Intel TXT will provide higher assurance of system configuration and initial state as well as data reset protection.
This is used to create a robust initial kernel measurement and verification, which helps to ensure that kernel security mechanisms are functioning correctly.
This level of protection requires a root of trust outside of the kernel itself.\\
Intel TXT also helps solve real end user concerns about having confidence that their hardware is running the VMM or kernel that it was configured with,
especially since they may be responsible for providing such assurances to VMs and services running on it.\\
See \url{https://www.intel.com/technology/security/} for more information about Intel(R) TXT.
See \url{http://tboot.sourceforge.net} for more information about tboot.
See \texttt{Documentation/arch/x86/intel\_txt.rst} for a description of how to enable Intel TXT support in a kernel boot.\\
If you are unsure as to whether this is required, answer N.}

\subsection{Low address space for LSM to protect from user allocation}
CONFIG\_LSM\_MMAP\_MIN\_ADDR [=65536] \textbf{[65536]}\\
Dies ist der Teil des niedrigen virtuellen Speichers, der vor der Zuweisung im Benutzerraum geschützt werden sollte.
Wenn ein Benutzer davon abgehalten wird, auf niedrige Seiten zu schreiben, kann dies dazu beitragen, die Auswirkungen von NULL-Zeiger-Fehlern im Kernel zu verringern.\\
Für die meisten ia64-, ppc64- und x86-Benutzer mit viel Adressraum ist ein Wert von \num{65536} angemessen und sollte keine Probleme verursachen.
Auf ARM und anderen Architekturen sollte er nicht höher als 32768 sein.
Programme, die die vm86-Funktionalität nutzen oder diesen niedrigen Adressraum abbilden müssen, benötigen die für die Systeme, auf denen LSM läuft, spezifische Berechtigung.
\english{This is the portion of low virtual memory which should be protected from userspace allocation.
Keeping a user from writing to low pages can help reduce the impact of kernel NULL pointer bugs.\\
For most ia64, ppc64 and x86 users with lots of address space a value of 65536 is reasonable and should cause no problems.
On arm and other archs it should not be higher than 32768.
Programs which use vm86 functionality or have some need to map this low address space will need the permission specific to the systems running LSM.}

\subsection{Harden memory copies between kernel and userspace}
CONFIG\_HARDENED\_USERCOPY [=y] \textbf{[Y]}\\
Diese Option prüft beim Kopieren von Speicher in den Kernel oder aus dem Kernel (über die Funktionen \texttt{copy\_to\_user()} und \texttt{copy\_from\_user()})
auf offensichtlich falsche Speicherbereiche,
indem Speicher\-bereiche zurückgewiesen werden, die größer als das angegebene Heap-Objekt sind, sich über mehrere separat zugewiesene Seiten erstrecken,
sich nicht auf dem Prozess-Stack befinden oder Teil des Kerneltextes sind.
Dies verhindert ganze Klassen von Heap-Overflow-Exploits und ähnliche Kernel-Speicher-Exponierungen.
\english{This option checks for obviously wrong memory regions when copying memory to/from the kernel (via copy\_to\_user() and copy\_from\_user() functions)
by rejecting memory ranges that are larger than the specified heap object, span multiple separately allocated pages, are not on the process stack, or are part of the kernel text.
This prevents entire classes of heap overflow exploits and similar kernel memory exposures.}

\subsection{Harden common str/mem functions against buffer overflows}
CONFIG\_FORTIFY\_SOURCE [=y] \textbf{[Y]}\\
Erkennung von Pufferüberläufen in gängigen String- und Speicherfunktionen,
bei denen der Compiler die Puffergrößen ermitteln und validieren kann.
\english{Detect overflows of buffers in common string and memory functions where the compiler can determine and validate the buffer sizes.}

\subsection{Force all usermode helper calls through a single binary}
CONFIG\_STATIC\_USERMODEHELPER [=n] \textbf{[N]}\\
Standardmäßig kann der Kernel viele verschiedene Userspace-Binärprogramme über die \glqq usermode helper\grqq{} Kernelschnittstelle aufrufen.
Einige dieser Binärprogramme sind statisch definiert, entweder im Kernelcode selbst oder als Kernelkonfigurationsoption.
Einige von ihnen werden jedoch dynamisch zur Laufzeit erstellt oder können nach dem Start des Kernels geändert werden.
Um eine zusätzliche Sicherheitsebene zu schaffen, leiten Sie alle diese Aufrufe über eine einzige ausführbare Datei, deren Name nicht geändert werden kann.
Beachten Sie, dass es an dieser einzelnen Binärdatei liegt, die entsprechende \glqq echte\grqq{} Usermode-Hilfsprogrammdatei aufzurufen, die auf dem ersten Argument basiert, das ihr übergeben wurde.
Falls gewünscht, kann dieses Programm filtern und auswählen, welche echten Programme aufgerufen werden.
Wenn Sie möchten, dass alle Usermode-Hilfsprogramme deaktiviert werden, wählen Sie diese Option und setzen Sie STATIC\_USERMODEHELPER\_PATH auf eine leere Zeichenkette.
\english{By default, the kernel can call many different userspace binary programs through the ``usermode helper'' kernel interface.
Some of these binaries are statically defined either in the kernel code itself, or as a kernel configuration option.
However, some of these are dynamically created at runtime, or can be modified after the kernel has started up.
To provide an additional layer of security, route all of these calls through a single executable that can not have its name changed.\\
Note, it is up to this single binary to then call the relevant ``real'' usermode helper binary, based on the first argument passed to it.
If desired, this program can filter and pick and choose what real programs are called.
If you wish for all usermode helper programs are to be disabled, choose this option and then set STATIC\_USERMODEHELPER\_PATH 
to an empty string.}

\subsection{SELinux Support}
CONFIG\_SECURITY\_SELINUX [=y] \textbf{[Y]}\\
Damit wird Security-Enhanced Linux (SELinux) ausgewählt.
Sie benötigen außerdem eine Richtlinienkonfiguration und ein gekennzeichnetes Dateisystem.
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit N.
\english{This selects Security-Enhanced Linux (SELinux).
You will also need a policy configuration and a labeled filesystem.
If you are unsure how to answer this question, answer N.}

\subsubsection{SELinux boot parameter}
CONFIG\_SECURITY\_SELINUX\_BOOTPARAM [=y] \textbf{[Y]}\\
Diese Option fügt einen Kernelparameter `selinux' hinzu, mit dem SELinux beim Booten deaktiviert werden kann.
Wenn diese Option ausgewählt ist, kann die SELinux-Funktionalität mit \texttt{selinux=0} in der Kernel-Befehlszeile deaktiviert werden.
Der Zweck dieser Option ist es, dass ein einzelnes Kernel-Image mit eingebautem,
aber nicht unbedingt aktiviertem SELinux verteilt werden kann.
\english{This option adds a kernel parameter `selinux', which allows SELinux to be disabled at boot.
If this option is selected, SELinux functionality can be disabled with selinux=0 on the kernel command line.
The purpose of this option is to allow a single kernel image to be distributed with SELinux built in, but not
necessarily enabled.}

\subsubsection{SELinux Development Support}
CONFIG\_SECURITY\_SELINUX\_DEVELOP [=y] \textbf{[Y]}\\
Dies aktiviert die Entwicklungsunterstützung von SELinux, die nützlich ist, um mit SELinux zu experimentieren und Richtlinien zu entwickeln.
Wenn Sie unsicher sind, sagen Sie Y.
Wenn diese Option aktiviert ist, startet der Kernel im permissiven Modus (alles protokollieren, nichts verweigern), es sei denn, Sie geben enforcing=1 in der Kernel-Kommandozeile an.
Sie können den Kernel über /sys/fs/selinux/enforce interaktiv zwischen dem erzwingenden und dem erlaubenden Modus umschalten (sofern die Richtlinie dies zulässt).
\english{This enables the development support option of SELinux, which is useful for experimenting with SELinux and developing policies.
If unsure, say Y.
With this option enabled, the kernel will start in permissive mode (log everything, deny nothing) unless you specify enforcing=1
on the kernel command line.
You can interactively toggle the kernel between enforcing mode and permissive mode (if permitted by the policy) via /sys/fs/selinux/enforce.}

\subsubsection{SELinux AVC Statistics}
CONFIG\_SECURITY\_SELINUX\_AVC\_STATS [=y] \textbf{[Y]}\\
Diese Option sammelt Zugriffsvektor-Cache-Statistiken in /sys/fs/selinux/avc/cache_stats, die mit Tools wie avcstat überwacht werden können.
\english{This option collects access vector cache statistics to /sys/fs/selinux/avc/cache_stats, which may be monitored via tools
such as avcstat.}