\subsection{Netfilter und IPtables} \subsubsection{Grundkonfiguration} \begin{sloppypar} Beim Systemstart wird der Dienst \emph{iptables.service} gestartet und die Filterregeln aus der \emph{/etc/iptables/iptables.rules} (siehe \emph{aufgabe3.1/iptables.rules}) übernommen. Diese wurde so konfiguriert, dass bestehende Verbindungen, sowie Verbindungen im internen LAN automatisch erlaubt werden. Der Zugriff von außerhalb ist auf den Port 22 beschränkt. Zusätzlich ist \emph{icmp} erlaubt. Zur Absicherung gegen BruteForce verwenden wird \emph{sshguard}, für das wir einen eigene Chain \emph{sshguard} in der \emph{iptables.rules} eingetragen haben. Alle Zugriffe auf Port 22 werden an diese Chain übergeben. Erfolgen in kurzer Zeit zu viele unautorisierte Zugriffe, trägt das Programm \emph{sshguard} automatisch temporär eine neue DROP-Regel in die \emph{sshguard}-Chain ein. Verbindungen nach außen werden alle durchgelassen, weil es nicht effektiv ist, einzelne Ports zu sperren, da ein Angreifer einfach auf anderen Ports Pakete versenden könnte. \end{sloppypar} \subsubsection{Forwarding und Masquerading} Das Internet wird durch folgende Regel in der NAT-Tabelle: \begin{lstlisting} -A POSTROUTING -o eth0 -j MASQUERADE \end{lstlisting} für die Compute-Nodes zugängig gemacht. Dazu musste noch die Datei \emph{/etc/sysctl.d} mit der Zeile: \begin{lstlisting} net.ipv4.ip_forward = 1 \end{lstlisting} erstellt werden. \subsubsection{Diagnose und Logging} Alle abgeblockten Verbindungen landen in der \emph{logging}-Chain, wo sie durch: \begin{lstlisting} -A logging -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4 \end{lstlisting} geloggt werden. Die Anzahl der Meldungen haben wir auf 2 pro Minute limitiert. Der Log kann unter \emph{/var/log/iptables.log} gefunden werden.