%
% ktls-utils.tex
% Last Update: $Id$
%
%%%%%%%%%%%%%%%%%%%%%%%%% Kapitel ktls-utils %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter{ktls-utils - TLS-Handshake-Unterst"utzung f"ur TLS-Benutzer im Kernel}
\index{ktls}


\section{Allgemein}

    \glqq{}ktls-utils\grqq{} TLS-Handshake-Unterst"utzung f"ur NFS und andere
    TLS-Benutzer im Kernel.

    TLS-Benutzer im Kernel ben"otigen einen Mechanismus, um TLS-Handshakes auf
    einem verbundenen Socket durchzuf"uhren und TLS-Sitzungsparameter auszuhandeln,
    die dann in die TLS-Protokoll-Engine des Kernels programmiert werden k"onnen.

    Dieses Softwarepaket enth"alt einen TLS-Handshake-Benutzeragenten, der auf
    Kernel-Anfragen wartet und dann einen Benutzerbereich-Socket-Endpunkt
    materialisiert, auf dem diese Handshakes durchgef"uhrt werden k"onnen. Die
    resultierenden ausgehandelten Sitzungsparameter werden "uber
    Standard-kTLS-Socket-Optionen an den Kernel zur"uckgegeben.

    Um TLS Unterst"utzung f"ur NFS zu erhalten ist das Paket auf dem NFS-Server
    und den jeweiligen NFS-Klient Maschinen zu installieren und einzurichten.

    In der jeweiligen NFS-Klient Konfiguration ist jeweils bei den Optionen die
    Mountoption zu setzten, 'xprtsec=tls' oder wenn mutal 'xprtsec=mtls'.

    Ob das Mounten mit TLS erfolgreich war l"asst sich durch Abfrage von 'mount'
    feststellen oder durch Abfrage vom 'journalctl -u tlshd' und suchen nach
    einer Meldung, die besagt, dass der Server-Handshake erfolgreich war.


\section{Das Men"u im Setup-Programm}

    Das Men"u im Setup-Programm ist wie folgt aufgebaut:

    \mbox{}

    \begin{tabular}{llll}
    & 4. &  Service administration \\
    \end{tabular}
\eline
    \begin{tabular}{p{1cm}llll}
    & x. &  Ktls-utils Service \\
    \end{tabular}
\eline
    \begin{tabular}{p{2cm}llll}
    & 1. &  View documentation \\
    & 2. &  Edit configuration \\
    & 3. &  Advanced configuration file handling \\
    & 4. &  Show status \\
    & 5. &  Stop service \\
    & 6. &  Start service \\
    \end{tabular}

    \mbox{}


\section{Die "Anderung der Konfiguration}

    Die Konfiguration wird "uber den Men"upunkt \glqq{}Edit configuration\grqq{}
    ge"andert.

\section{Die Konfigurationsdatei}

    In der Konfigurationsdatei, welche "uber das Men"u zug"anglich ist,
    sind folgende Parameter vorhanden; wer sie von Hand editieren will,
    findet sie unter \\
    \texttt{/etc/config.d/ktls-utils}.


\section{Die Parameter}

\begin{description}

\config{START\_KTLS\_UTILS}
{START\_KTLS\_UTILS}
{STARTKTLSUTILS}
{
    Für die Aktivierung dieser Konfiguration muss diese Variable
    lediglich auf den Wert 'yes' gestellt werden. Die Einstellung
    'no' schaltet die Aktivierung dieser Konfiguration ab.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{START\_KTLS\_UTILS='no'}
}


\config{KTLS\_UTILS\_SERVER\_CERT}
{KTLS\_UTILS\_SERVER\_CERT}
{KTLSUTILSSERVERCERT}
{
    Mit diesen Parameter wird ein Server Abschnitt in die Konfigurations
    Datei ein gef"ugt.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{KTLS\_UTILS\_SERVER\_CERT='no'}
}


\config{KTLS\_UTILS\_CLIENT\_CERT}
{KTLS\_UTILS\_CLIENT\_CERT}
{KTLSUTILSCLIENTCERT}
{
    Mit diesen Parameter wird ein Klient Abschnitt in die Konfigurations
    Datei ein gef"ugt.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{KTLS\_UTILS\_CLIENT\_CERT='no'}
}

\end{description}


\subsection{Zertifikate Sektion}


\begin{description}

\config{KTLS\_UTILS\_SSL\_CA}
{KTLS\_UTILS\_SSL\_CA}
{KTLSUTILSSSLCA}
{
    Hier wird der Name des CA Zertifikats angegeben, wenn kein Eintrag erfolgt wird
    die CA aus dem Standard Pfad benutzt (default).

    G"ultige Werte: leer oder CA Name

    Standardeinstellung: \texttt{KTLS\_UTILS\_SSL\_CA='{}'}
}


\config{KTLS\_UTILS\_SSL\_CERT}
{KTLS\_UTILS\_SSL\_CERT}
{KTLSUTILSSSLCERT}
{
    Hier wird das Server Zertifikat f"ur die SSL Verbindung angegeben.

    In der Konfiguration des Certs und Certs\_dehydrated Pakets m"ussen
    keine Parameter Einstellungen vorgenommen werden.

    G"ultige Werte: Zertifikat

    Standardeinstellung: \texttt{KTLS\_UTILS\_SSL\_CERT='eis.home.lan.pem'}
}

\end{description}


\subsection{Debug}


\begin{description}

\config{KTLS\_UTILS\_DEBUG}
{KTLS\_UTILS\_DEBUG}
{KTLSUTILSDEBUG}
{
    Mit dieser Option wird eine Zahl angegeben, die die Stufe der
    Debug-Meldungen angibt.

    Standardm"a"sig ist die Einstellung 0.

    G"ultige Werte: Zahl

    Standardeinstellung: \texttt{KTLS\_UTILS\_DEBUG='0'}
}


\end{description}
