prepaired Belug talk
authorratten <ratten@buecherratten.in-berlin.de>
Wed, 6 Dec 2023 14:39:37 +0000 (15:39 +0100)
committerratten <ratten@buecherratten.in-berlin.de>
Wed, 6 Dec 2023 14:39:37 +0000 (15:39 +0100)
Cryptopolicies-Handout.pdf
Cryptopolicies-presi.pdf
Cryptopolicies.tex

index 5ac91436e5364cd293be223bf1e65eccabbf4747..409d618040925096d8c8ccd58cd6842eec2be910 100644 (file)
Binary files a/Cryptopolicies-Handout.pdf and b/Cryptopolicies-Handout.pdf differ
index 3157d07d18888baa80165e15fb0f20b251c0ec6b..447fb94e7998d11f5dcb711c4f28a4346cc5a382 100644 (file)
Binary files a/Cryptopolicies-presi.pdf and b/Cryptopolicies-presi.pdf differ
index 1c9c3e35557c940ba7af24306f2c5fadab2eaea2..1242595a1f487efabf6fa12535fb8d11167c7a31 100644 (file)
@@ -1,4 +1,4 @@
-\documentclass[xcolor={dvipsnames,table},graphicx,parskip,handout]{beamer}
+\documentclass[xcolor={dvipsnames,table},graphicx,parskip]{beamer}
 
 \usepackage[ngerman]{babel}
 \usepackage[utf8]{inputenc}
 \title[Crypto-Policies]{Crypto-Policies}
 \subtitle{one Tool to rule all Crypto in Linux}
 \author[Bücherratten]{\textbf{Bücherratten}\\\texttt{ratten@buecherratten.in-berlin.de}}
-\institute{\textbf{37C3}}
+\institute{\textbf{BeLUG}}
 
 \date{Dezember 2023}
 
 \begin{frame}<beamer>[t]
   \frametitle{Die Fehler Beschreibung}
   \only<1-4>{\begin{beamercolorbox}[wd=0.9\textwidth,left,rounded=true]{Kollege}
-      Ich kann mich nicht mehr mit meinem SSH-key mit den RHEL8-Servern verbinden, kannst du mal rauskriegen woran das liegt? Du magst doch SSH.
+      Ich kann mich nicht mehr mit meinem SSH-key mit den RHEL8-Servern verbinden, kannst du mal raus kriegen woran das liegt? Du magst doch SSH.
   \end{beamercolorbox}}
   \only<2-5>{\quad\quad\begin{beamercolorbox}[wd=0.9\textwidth,right,rounded=true]{Azubi}
     Klar\\
-    Was hast du für nen SSH-key?\\
+    Was hast du für `nen SSH-key?\\
     Wie lautet die Fehlermeldung?
   \end{beamercolorbox}}
   \only<3-6>{\begin{beamercolorbox}[wd=0.9\textwidth,left,rounded=true]{Kollege}
-    Ich hab nen normalen RSA-SSH-key und ich hab keine Fehlermeldung, es kommt nur die Passwort-Abfrage von dem Server
+    Ich hab `nen normalen RSA SSH-key und ich hab keine Fehlermeldung, es kommt nur die Passwort-Abfrage von dem Server
   \end{beamercolorbox}}
   \only<4-7>{\quad\quad\begin{beamercolorbox}[wd=0.9\textwidth,right,rounded=true]{Azubi}
-    Wie viele bits hat den dein RSA?\\
+    Wie viele Bits hat den dein RSA?\\
     Hast du mal \mintinline{bash}{ssh -v user@Server} oder \mintinline{bash}{ssh -oKexAlgorithms=ecdh-sha2-nistp256 user@Server} versucht?
   \end{beamercolorbox}}
   \only<5-7>{\begin{beamercolorbox}[wd=0.9\textwidth,left,rounded=true]{Kollege}
   \subsection{bisherige Kryptographie Einstellungen}
 
 \begin{frame}
-  \frametitle{Krytpographie im System bisheriger Stand}
+  \frametitle{Kryptographie im System bisheriger Stand}
   \framesubtitle{Abfrage}
   Wer von euch:
   \begin{itemize}
   \item{hat den Überblick über alle Konfigurationsmöglichkeiten?}
     \pause
-  \item{ist der Meinung das die Konfigurations Optionen bezüglich Crypto einheitlich sind?}
+  \item{ist der Meinung, das die Konfigurations-Optionen bezüglich Crypto einheitlich sind?}
     \pause
   \item{findet es easy mal eben Systemweit zB SHA1 auszuschalten?}
   \end{itemize}
 \setbeamercovered{transparent}
 
 \begin{frame}[fragile]
-  \frametitle{Krytpographie im System bisheriger Stand}
+  \frametitle{Kryptographie im System bisheriger Stand}
   \begin{itemize}
   \item{jedes Tool hat eigene Crypto-Regeln}
   \item{Crypto-Regeln in der Konfigurationsdatei des Tools definieren}
@@ -356,7 +356,7 @@ MACs hmac-sha2-256,hmac-sha2-512,hmac-sha1
 \begin{frame}
   \frametitle{One tool to rule them all}
   \small{
-  Wofür können Crypto-policies momentan verwendet werden:
+  Wofür können Crypto-Policies momentan verwendet werden:
   \begin{itemize}
   \item{libssh SSH2 protocol implementation (scopes: libssh, SSH)}
   \item{sequoia PGP, outside of rpm-sequoia (scopes: sequoia)}
@@ -387,7 +387,7 @@ MACs hmac-sha2-256,hmac-sha2-512,hmac-sha1
   \item[EMPTY] für Debugging deaktiviert alle Crypto
   \end{description}
   \pause
-  *\textsuperscript{1} fun fakt: Die RedHat Customer Portal API kann zur Zeit noch nicht mit Future.\\
+  *\textsuperscript{1} fun fact: Die RedHat Customer Portal API kann zur Zeit noch nicht mit Future.\\
   \pause
   *\textsuperscript{2} \url{https://gitlab.com/redhat-crypto/fedora-crypto-policies/-/blob/master/policies/BSI.pol}
   \note{*\textsuperscript{3} Amerikanische Zertifizierung für Kryptographie bezieht sich auf die Kryptographischen Teile eines Produkts im Gegensatz dazu CC (Common Criteria for Information Technology Security Evaluation) ist das Europäische Gegenstück bezieht sich auf Sicherheitsbezogene Themen nach ISO 15408}
@@ -409,7 +409,7 @@ MACs hmac-sha2-256,hmac-sha2-512,hmac-sha1
   \item{deaktivieren}
     \begin{itemize}
     \item{Bei SSH über eine Variable in der Konfigurationsdatei (sshd.config) als opt-out}
-    \item{über die CLI mit cipher Optionen}
+    \item{über die CLI mit Cipher Optionen}
     \end{itemize}
   \item{nach Änderungen an den Policies wird ein Neustart empfohlen, weil evtl. viele Services betroffen sind}
   \end{itemize}
@@ -417,9 +417,9 @@ MACs hmac-sha2-256,hmac-sha2-512,hmac-sha1
 
 \section{Problemlösungsweg}
 
-\subsection{Lösungsweg}
+\subsection{Debugging}
 \begin{frame}[fragile]
-  \frametitle{erster Lösungsweg}
+  \frametitle{Debugging}
   \framesubtitle{Was läuft hier?}
   \begin{itemize}
   \item{\mintinline{bash}{ssh -oKexAlgorithms=ecdh-sha2-nistp256} wird benötigt}
@@ -444,7 +444,7 @@ MACs hmac-sha2-256,hmac-sha2-512,hmac-sha1
 \end{frame}
 
 \begin{frame}[fragile]
-  \frametitle{erster Lösungsweg}
+  \frametitle{Debugging}
   \framesubtitle{die mysteriöse Variable}
   \begin{itemize}
   \item{die Service Unit /usr/lib/systemd/system/sshd.service}
@@ -470,16 +470,21 @@ WantedBy=multi-user.target
   \note{Realisiert werden Policies darüber, das die Variabel CRYPTOPOLICY beim Aufruf der Systemd Unit gefüllt werden}
 \end{frame}
 
+\subsection{erste Lösung}
 \begin{frame}[fragile]
-  \frametitle{erster Lösungsweg}
+  \frametitle{erste Lösung}
   \framesubtitle{das Backend}
   \begin{itemize}    
   \item{\mintinline{bash}{update-crypto-policies --show}}
   \item{FIPS}
     \pause
-  \item{/etc/crypto-policies/back-ends/opensshserver.config bearbeitet}
-  \item{/etc/crypto-policies/back-ends/libssh.config bearbeitet}
-  \item{/etc/crypto-policies/back-ends/openssh.config bearbeitet}
+  \item{bearbeitete Dateien}
+    \begin{itemize}
+    \item{/etc/crypto-policies/back-ends/opensshserver.config}
+    \item{/etc/crypto-policies/back-ends/libssh.config}
+    \item{/etc/crypto-policies/back-ends/openssh.config}
+    \end{itemize}
+    \pause
     \begin{minted}[fontsize=\footnotesize,breakanywhere]{linux-config}
 CRYPTO_POLICY='-oCiphers=aes256-gcm@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,aes128-ctr,aes128-cbc -oMACs=hmac-sha2-256-etm@openssh.com,hmac-sha1-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha1,hmac-sha2-512 -oGSSAPIKeyExchange=no -oKexAlgorithms=ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512 -oHostKeyAlgorithms=ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp521-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-256-cert-v01@openssh.com,rsa-sha2-512,rsa-sha2-512-cert-v01@openssh.com -oPubkeyAcceptedKeyTypes=ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp521-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-256-cert-v01@openssh.com,rsa-sha2-512,rsa-sha2-512-cert-v01@openssh.com -oCASignatureAlgorithms=ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-256,rsa-sha2-512'
     \end{minted}
@@ -500,9 +505,9 @@ CRYPTO_POLICY='-oCiphers=aes256-gcm@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm
     \pause
   \item{ist der perfekte Ort um CLI-Nerds (rtfm) mit Werbung für ein Programm zu versorgen}
     \pause
-  \item{enthält Programm Features, die noch nicht im Programm integiert sind}
+  \item{enthält Programm Features, die noch nicht im Programm integriert sind}
     \pause
-  \item{ist ein farbelhaftes Versprechen was ein Programm alles für Funktionen hat}
+  \item{ist ein fabelhaftes Versprechen was ein Programm alles für Funktionen hat}
     \pause
   \item{ist keine Anleitung zu dem Programm}
   \end{itemize}  
@@ -593,8 +598,8 @@ Authenticated to crypt-arbeit9 ([192.168.2.107]:22).
   \framesubtitle{ssh-key-size}
   \small{%
   \begin{proof}\phantom{\qedhere}
-    AlmaLinux8 hat noch eine ältere ssh Version, diese kennt die Option \textcolor{red}{RequiredRSASize} noch nicht.
-    \begin{block}{Auszug aus der ssh manpage AlmaLinux9}
+    AlmaLinux8 hat noch eine ältere SSH Version, diese kennt die Option \textcolor{red}{RequiredRSASize} noch nicht.
+    \begin{block}{Auszug aus der SSH manpage AlmaLinux9}
       RequiredRSASize\\
       Specifies the minimum RSA key size (in bits) that sshd(8) will accept. User and host-based authentication keys smaller than this limit will be refused. The default is 1024 bits.  Note that this limit may only be raised from the default.
     \end{block}
@@ -650,14 +655,14 @@ Authenticated to crypt-arbeit9 ([192.168.2.107]:22).
     \begin{itemize}
     \item{\mintinline{linux-config}{cipher@SSH = -*-CBC}}
     \end{itemize}
-  \item{negierung mit option@!scope}
+  \item{Negierung mit option@!scope}
   \item{scope ist case-insensitive}
-  \item{scopes sind bevorzugte schreibweise}
+  \item{scopes sind bevorzugte Schreibweise}
   \item{die Reihenfolge der Crypto ist wichtig, was zuerst steht wird priorisiert}
   \item{Reihenfolge der Optionen ist vorgegeben}
   \end{itemize}
   \pause
-  wichtige scopes für ssh:
+  wichtige scopes für SSH:
   \begin{itemize}
   \item{OpenSSH SSH2  (scopes: OpenSSH, SSH)}
   \item{libssh SSH2 protocol implementation (scopes: libssh, SSH)}
@@ -670,7 +675,7 @@ Authenticated to crypt-arbeit9 ([192.168.2.107]:22).
   \begin{itemize}
   \item{im Ordner /etc/crypto-policies/policies oder /usr/share/crypto-policies/policies}
   \item{Dateiname muss GROSS geschrieben werden}
-  \item{Dateiextention ist .pol}
+  \item{Dateiextension ist .pol}
     \end{itemize}
 \end{frame}
 
@@ -709,9 +714,9 @@ ssh_etm = 1
   \begin{itemize}
     \item{im Ordner /etc/crypto-policies/policies/modules oder /usr/share/crypto-policies/policies/modules}
     \item{Dateiname muss GROSS geschrieben werden}
-    \item{Dateiextention ist .pmod }
+    \item{Dateiextension ist .pmod }
     \item{mit - (minus) Parameter entfernen}
-    \item{* ist wildcard}
+    \item{* ist Wildcard}
     \item{Konfiguration erlaubt (noch) vollständiges Überschreiben der key-exchange Parameter (von ECDHE keys)}
   \end{itemize}
 \end{frame}
@@ -788,7 +793,7 @@ cipher@libssh = AES-256-CBC+
 
 \section{Ende}
 \begin{frame}
-  \frametitle{Resoucen zum Recherchieren}
+  \frametitle{Ressourcen zum Recherchieren}
   \begin{itemize}
   \item{man crypto-policies}
   \item{man update-crypto-policies}
@@ -806,7 +811,7 @@ cipher@libssh = AES-256-CBC+
       \url{https://www.redhat.com/en/interactive-labs/customize-system-wide-cryptographic-policy}
     \end{column}
   \end{columns}}
-  \item{Entwicklungs Repo:
+  \item{Entwicklungs-Repo:
   \begin{columns}
     \only<beamer>{\begin{column}{0.1\textwidth}
       \qrcode[hyperlink,height=1cm]{https://gitlab.com/redhat-crypto/fedora-crypto-policies/}
@@ -921,7 +926,7 @@ cipher@libssh = AES-256-CBC+
     \item{ es sind keine SHA-1 in Signaturen erlaubt}
     \item{es wird eine (unvollständige) Post-Quanten Kryptographie unterstützt}
     \item{Unterstützung von 256-Bit symmetrischer Verschlüsselung}
-    \item{RSA and Diffie-Hellman Parameter länger als 3071 Bits}
+    \item{RSA und Diffie-Hellman Parameter länger als 3071 Bits}
     \item{mindestens 128-Bit Sicherheit}
     \end{itemize}
     \begin{description}
@@ -972,12 +977,12 @@ cipher@libssh = AES-256-CBC+
     \begin{block}{BSI}
       \begin{itemize}
       \item{Author: Marcus Meissner von OpenSuse}
-      \item{Grundlage des BSI Standarts TR 02102 \url{https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102.html}}
+      \item{Grundlage des BSI Standards TR 02102 \url{https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102.html}}
       \item{Empfehlungen des BSI werden regelmäßig geupdated}
       \item{unvollständige Unterstützung für Post-Quanten Kryptographie}
-      \item{128 Bit Sicherheit (ausser RSA)}
-      \item{erlaubt kein SHA1 (auser DNSSEC und RPM)}
-      \item{Beachtet Chacha20 and Camellia werden nicht vom BSI empfohlen}
+      \item{128 Bit Sicherheit (außer RSA)}
+      \item{erlaubt kein SHA1 (außer DNSSEC und RPM)}
+      \item{Beachtet Chacha20 und Camellia werden nicht vom BSI empfohlen}
       \end{itemize}
   \begin{description}
   \item[MACs:] all HMAC with SHA-256 or better + all modern MACs
@@ -1024,18 +1029,18 @@ cipher@libssh = AES-256-CBC+
   diese können jedoch aktiviert werden
   \end{frame}
 
-\subsection{Konfigurations Dateien}
+\subsection{Konfigurations-Dateien}
 \begin{frame}<beamer:0>
-  \frametitle{Konfigurations Dateien}
+  \frametitle{Konfigurations-Dateien}
   \scriptsize{
   \begin{description}
   \item[/etc/crypto-policies/back-ends] Back-End Config-Dateien, verlinkt zur Package Crypto-Policies, es sei den local.d -Konfiguration wurde hinzugefügt
-  \item[/etc/crypto-policies/config] Beinhaltet Namen der aktiven Cryto-Policies
+  \item[/etc/crypto-policies/config] Beinhaltet Namen der aktiven Crypto-Policies
   \item[/etc/crypto-policies/local.d] weitere Konfiguration, entweder Package basierend, oder vom Admin erstellt. Die back-end.config wird angehängt, wie ausgeliefert, vom Packet.
-  \item[/usr/share/crypto-policies/policies] Policy Definitions Datei
-  \item[/usr/share/crypto-policies/policies/modules] Unter Definitions Dateien
+  \item[/usr/share/crypto-policies/policies] Policy Definitions-Datei
+  \item[/usr/share/crypto-policies/policies/modules] Unter Definitions-Dateien
   \item[/etc/crypto-policies/policies] Änderungen der Policy-Definitionen des System Admins
-  \item[/etc/crypto-policies/policies/modules] Änderungen der Unter-Policy-Definitionen des System Admins
+  \item[/etc/crypto-policies/policies/modules] Änderungen der Modul-Definitionen des System Admins
   \item[/usr/share/crypto-policies/$<$POLICYNAME$>$] generierte Datei des back-ends für die Policy POLICYNAME
   \end{description}
   }