summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2014-09-07 11:00:41 +0200
committerGuido Günther <agx@sigxcpu.org>2014-09-07 11:00:41 +0200
commite0c59d9013fda769aff55a36dd51ac04f3eb2521 (patch)
tree6701b1ceb328733c7acd75006734fbacf0aee8ae
initial commit
-rw-r--r--Makefile21
-rw-r--r--talk.tex217
2 files changed, 238 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..5c6106e
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+TARGET=talk.pdf
+IMGS=$(shell ls images/*.png)
+SOURCES = $(TARGET:pdf=tex)
+
+all: $(TARGET) $(IMGS)
+
+$(TARGET): $(SOURCES)
+ pdflatex $<
+
+clean:
+ rm -f *.toc *.cgm *.nav *.log *.out *.aux *.snm *.*~ *.vrb
+
+allforce:
+ rm -f $(TARGET)
+ make all
+ rm -f $(TARGET)
+ make all
+
+show: $(TARGET) Makefile
+ evince -s --page-label=1 $(TARGET)
+
diff --git a/talk.tex b/talk.tex
new file mode 100644
index 0000000..3cbabec
--- /dev/null
+++ b/talk.tex
@@ -0,0 +1,217 @@
+\documentclass[compress]{beamer}
+\mode<presentation>
+{
+ \usetheme{Warsaw}
+ \setbeamertemplate{footline}{}
+ \setbeamertemplate{headline}{}
+}
+\usepackage{pgfpages}
+\usepackage[english]{babel}
+
+\usepackage[utf8]{inputenc}
+
+\usepackage{times}
+\usepackage[T1]{fontenc} \title{Debian LTS / Library security upgrades} \subtitle{The same principles still apply}
+
+\author[Guido Günther]
+{
+Guido Günther
+{\it <agx@sigxcpu.org>}
+}
+
+\date[FSFE-BN1]{FSFE Fellowhip Treffen Bonn, 2014-09-08}
+
+\begin{document}
+
+\section*{Einführung}
+\begin{frame}
+ \titlepage
+\end{frame}
+
+\begin{frame}
+\frametitle{Debian LTS / Library security upgrades}
+\tableofcontents
+\end{frame}
+
+\begin{frame}
+\frametitle{Me, myself and I}
+\begin{itemize}
+ \item Guido Günther
+ \item Free Software Developer\footnote{\url{https://www.ohloh.net/accounts/agx/positions}}
+ \item Freiberufler\footnote{\url{http://godiug.net}}
+ \item Debian Entwickler seit 1999
+ \item GNOME Foundation Mitglied
+ \item FSFE Fellow
+ \item Blog: {\url{http://honk.sigxcpu.org/con}}
+ \item SMTP/XMPP: {\it agx@sigxcpu.org}
+\end{itemize}
+\end{frame}
+
+\section{Debian LTS}
+
+\begin{frame}
+ \frametitle{Debian LTS}
+ \begin{itemize}
+ \item Verlängerter Security Support (5 Jahre)
+ \item Für Squeeze bis Februar 2016
+ \item \url{https://wiki.debian.org/LTS}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Aus User Sicht}
+{\small
+ \begin{verbatim}
+deb http://ftp.debian.org/debian/ squeeze-lts \
+ main contrib non-free
+
+deb-src http://ftp.debian.org/debian/ squeeze-lts \
+ main contrib non-free
+ \end{verbatim}}
+ \begin{itemize}
+ \item Derzeit nur i386 und amd64
+ \item \url{https://wiki.debian.org/LTS/Using}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Aus Maintainer Sicht}
+ \begin{itemize}
+ \item Secure Testing Alioth Project{\footnote{\url{https://alioth.debian.org/projects/secure-testing/}}}
+ \item \url{https://wiki.debian.org/LTS/Development}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Unterschiede zur debian-security}
+ \begin{itemize}
+ \item Wird nicht vom Debian Security Team gepflegt (aber Überlapp bei den Entwicklern)
+ \item Freiwillige und bezahlte Entwickler
+ \item Kommerzieller Support wird über Freexian{\footnote{\url{http://www.freexian.com/en/services/debian-lts.html}}} koordiniert
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Wie geht es weiter}
+ \begin{itemize}
+ \item Bei Erfolg Wheezy LTS, Jessie LTS, ...
+ \end{itemize}
+\end{frame}
+
+\section{Shared Library Securit Updates}
+\begin{frame}[fragile]
+ \frametitle{Was ist eine Shared Library}
+ \begin{itemize}
+ \item Beim Programmstart durch ld.so geladener Code (Shared Objects)
+ \item Welche Bibliotheken ein Programm benutzt kann via ldd nachgesehen werden
+{\tiny
+\begin{verbatim}
+$ ldd /usr/sbin/atd
+linux-vdso.so.1 (0x00007fff2014f000)
+libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007f377cf34000)
+libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f377cb8b000)
+libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007f377c965000)
+libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f377c761000)
+/lib64/ld-linux-x86-64.so.2 (0x00007f377d36c000)
+\end{verbatim}}
+ \item Nach dem Programmstart können weitere Shared Objects via {\it dlopen(3)} geladen werden.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Wie sieht das im Speicher aus?}
+ \begin{itemize}
+ \item Für laufende Prozesse:
+ \end{itemize}
+{\tiny
+\begin{verbatim}
+$ sudo cat /proc/`pidof atd`/maps
+7f1ce6ab1000-7f1ce6abc000 r-xp 00000000 fd:02 1704639 /lib/x86_64-linux-gnu/libnss_files-2.19.so
+7f1ce6abc000-7f1ce6cbb000 ---p 0000b000 fd:02 1704639 /lib/x86_64-linux-gnu/libnss_files-2.19.so
+7f1ce6cbb000-7f1ce6cbc000 r--p 0000a000 fd:02 1704639 /lib/x86_64-linux-gnu/libnss_files-2.19.so
+7f1ce6cbc000-7f1ce6cbd000 rw-p 0000b000 fd:02 1704639 /lib/x86_64-linux-gnu/libnss_files-2.19.so
+...
+7f1ce7711000-7f1ce78b0000 r-xp 00000000 fd:02 1704626 /lib/x86_64-linux-gnu/libc-2.19.so
+7f1ce78b0000-7f1ce7ab0000 ---p 0019f000 fd:02 1704626 /lib/x86_64-linux-gnu/libc-2.19.so
+7f1ce7ab0000-7f1ce7ab4000 r--p 0019f000 fd:02 1704626 /lib/x86_64-linux-gnu/libc-2.19.so
+7f1ce7ab4000-7f1ce7ab6000 rw-p 001a3000 fd:02 1704626 /lib/x86_64-linux-gnu/libc-2.19.so
+...
+\end{verbatim}}
+\pause
+ \begin{itemize}
+ \item Bei Updates: die alten Shared Objects werden durch neue aus dem Update ersetzt...
+ \pause
+ \item Die Mappings bleiben bestehen
+ \pause
+ \item Langlaufende Dienste sind immer noch verwundbar.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Lösungsansätze}
+ \begin{itemize}
+ \item Restarts vom Diensten im postinst (glibc, openssl)
+{\tiny
+\begin{verbatim}
+ echo -n "Checking for services that may need to be restarted..."
+ check="amanda-server anon-proxy apache2 apache-ssl"
+ check="$check apf-firewall asterisk bacula-director-common"
+ check="$check bacula-fd bacula-sd bind9 bip boinc-client"
+ ...
+\end{verbatim}}
+\pause
+ \item Problem: Hart kodierte Listen von Diensten, neue/selbstgebaute Dienste werden nicht neu gestartet
+\pause
+ \item Dienste erkennen die Shared Objects benutzen und neu starten (checkrestart, needrestart, whatmaps)
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Whatmaps Features}
+ \begin{itemize}
+ \item Unterstützt Deb und RPM
+ \item Unterstützt sysvinit und systemd
+ \item Integration in APT
+ \item Kann Skript zur späteren Ausführung erzeugen
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Whatmaps benutzen}
+ \begin{itemize}
+ \item Auf der Kommandozeile
+\begin{verbatim}
+whatmaps [--debug] libvirt0
+whatmaps --print-cmds=outfile \
+ --restart libvirt0
+whatmaps --restart libvirt0
+\end{verbatim}
+ \item Via apt
+\begin{verbatim}
+ dpkg-reconfigure whatmaps
+\end{verbatim}
+\item Siehe {\it /etc/apt/apt.conf.d/20services}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Whatmaps installieren}
+\begin{verbatim}
+apt-get install whatmaps
+\end{verbatim}
+ Verfügbar in Jessie, Sid und Wheezy-Backports
+\end{frame}
+
+\begin{frame}
+ Danke für die Aufmerksamkeit\\[1cm]
+ Projektseite:\\
+{\small
+ \url{https://honk.sigxcpu.org/piki/projects/whatmaps/}}\\[1cm]
+{\small Mailing Liste:\\
+ \url{https://lists.sigxcpu.org/mailman/listinfo/whatmaps}}\\[1cm]
+ Fragen, Anregungen?
+\end{frame}
+\end{document}
+
+%% LocalWords: make debian fragile Tarball verbatim uscan Git
+%% LocalWords: Commit Fellowhip Developer