diff options
author | Guido Günther <agx@sigxcpu.org> | 2014-09-07 11:00:41 +0200 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2014-09-07 11:00:41 +0200 |
commit | e0c59d9013fda769aff55a36dd51ac04f3eb2521 (patch) | |
tree | 6701b1ceb328733c7acd75006734fbacf0aee8ae |
initial commit
-rw-r--r-- | Makefile | 21 | ||||
-rw-r--r-- | talk.tex | 217 |
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 |