mk2014.tex
changeset 1 a9c30a9d07e4
parent 0 97c6afdbae1f
child 2 b2f6ea236243
--- a/mk2014.tex	Mon Apr 28 17:47:53 2014 +0200
+++ b/mk2014.tex	Fri May 02 13:01:50 2014 +0200
@@ -1,7 +1,9 @@
-\documentclass[draft]{beamer}
+%\documentclass[draft]{beamer}
+\documentclass{beamer}
 \usepackage[ngerman]{babel}
 \usepackage[utf8x]{inputenc}
-%\setbeamercovered{transparent}
+\usepackage{xmpmulti}
+\setbeamercovered{transparent}
 \usetheme{Dresden}
 \title[Exim]{Exim - MTA-Framework oder MTA?}
 \subtitle{Mailserver-Konferenz Berlin 2014}
@@ -14,10 +16,10 @@
 	\titlepage
 \end{frame}
 
-%\begin{myFrame}[fragile]{Wie positioniert Exim sich gegenüber anderen MTA}
 
-\begin{frame}[<+->][fragile]
+\begin{frame}[<+->][fragile]{Wie positioniert Exim sich gegenüber anderen MTA}
 \begin{itemize}
+  \item seit 1995 Phil Hazel, seit ca. 2007 ca. 5…8 Aktive
 	\item Lego vs. Playmobil (P. Heinlein)
 	\item Klassisch Unix: Traditionelle Konfiguration und traditionelles Prozess-Management
 	\item Flexibilität
@@ -39,38 +41,86 @@
 \end{itemize}
 \end{frame}
 
-\begin{frame}{Arbeitsweise und Anatomie}
+\begin{frame}{Arbeitsweise und Anatomie}{Überblick}
 \begin{itemize}
-\item Binary: gesteuert über Options
+\item Binary: (ca 1MB) großer Universalklumpen
 \item Queue: Verzeichnis, 2 Files je Message
-\item IPC: nichts, außer „exec()“
+\item IPC: nichts, außer fork(2) oder exec(3)
 \item Shared: „Hint“-Files (z.B. retry info)
 \end{itemize}
+\end{frame}
+
+\begin{frame}{Arbeitsweise und Anatomie}{Prozesse}
+\includegraphics[width=0.8\textwidth,angle=270]{procs}
+%\llap{\includegraphics[width=0.8\textwidth,angle=270]{procs-1}}
+%\llap{\includegraphics[width=0.8\textwidth,angle=270]{procs-2}}
+%\llap{\includegraphics[width=0.8\textwidth,angle=270]{procs-3}}
+%\multiinclude[<+->][format=pdf,graphics={width=0.8\textwidth,angle=270}]{procs}
+\end{frame}
+
+\begin{frame}{Arbeitsweise und Anatomie}{IN, OUT, Retry}
+\begin{enumerate}
+	\item IN: ACL (Ratelimit, Blacklists, Routing-Test, Content-Scan) Enqueue
+	\item OUT: Dequeue, Routing, Transport
+	\item Retry: Queuerunner, Dequeue, Routing, Transport
+\end{enumerate}
+\end{frame}
+
+\begin{frame}[fragile]{Konfiguration}{Struktur}
+\begin{itemize}
+	\item Main (global)
+	\item Access-Control-Lists für SMTP: \verb=begin acl=
+	\item Routing-Regeln (ACL und Routing): \verb=begin routers=
+	\item Transport-Definitionen: \verb=begin transports=
+	\item Retry-Vorgaben: \verb=begin retry=
+	\item Envelope/Header-Rewriting: \verb=begin rewrite=
+	\item SMTP-Authentifizierung: \verb=begin authenticators=
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]{Konfiguration}{Syntax}
+\begin{exampleblock}{Macros}\scriptsize\begin{verbatim}
+	CF = /etc/exim4/
+	USER_BASE = ou=users,BASE
+	BASE = dc=example,dc=com
+\end{verbatim}\end{exampleblock}
+
+\begin{exampleblock}{Direktiven}\scriptsize\begin{verbatim}
+	primary_hostname = mail.example.com
+	smtp_active_hostname = ${lookup{$received_ip_address}lsearch{CF/hostnames}}
+\end{verbatim}\end{exampleblock}
+
+\begin{exampleblock}{Listen}\scriptsize\begin{verbatim}
+	domainlist local_domains = example.com : example.org
+	domains = +local_domains
+\end{verbatim}\end{exampleblock}
 
 \end{frame}
 
-\begin{frame}{Wie positioniert Exim sich gegenüber anderen MTA}
-\end{frame}
-\begin{frame}{Arbeitsweise und Anatomie: Receiving, Routing, Transport}
-\end{frame}
-\begin{frame}{Konfiguration: Struktur und Syntax (Beispiel: Standard-Konfigurations-Datei)}
-\end{frame}
 \begin{frame}{String-Expansionen / Listen / File- und Datenbank-Lookups}
 \end{frame}
+
 \begin{frame}{Router (allg. Optionen und die einzelnen Router accept, dnslookup, manualroute, …)}
 \end{frame}
+
 \begin{frame}{Transports (allg. Optionen und die einzelnen Transports smtp, appendfile, …)}
 \end{frame}
+
 \begin{frame}{ACL (SMTP-Phasen, Address-Überprüfung, Rate-Limiting, Content-Scan)}
 \end{frame}
+
 \begin{frame}{Logging (mainlog, rejectlog, paniclog)}
 \end{frame}
+
 \begin{frame}{Test und Betrieb}
 \end{frame}
+
 \begin{frame}{Sicherheitsbetrachtungen (Funktionssicherheit (Verlust von Mails), Einbruchssicherheit, Schreibrechte, Root-Rechte)}
 \end{frame}
+
 \begin{frame}{Möglichkeiten zur Leistungsverbesserung (Warteschlange, Parallelisierung, Blockierung, Ratelimit)}
 \end{frame}
+
 \begin{frame}{Ausblick/Offene Punkte: PRDR, DANE, Enhanced Status Codes}
 \end{frame}