2013-11-21 17:09:40 +00:00
|
|
|
\subsection{Netfilter und IPtables}
|
|
|
|
|
|
|
|
\subsubsection{Grundkonfiguration}
|
|
|
|
|
2014-04-03 09:37:41 +00:00
|
|
|
Beim Systemstart wird der Dienst \emph{iptables.service} gestartet und die
|
|
|
|
Filterregeln aus der Datei \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 Brute-Force-Angriffe wird der Dienst
|
|
|
|
\emph{SSH-Guard} verwendet. Für SSH-Guard haben wir eine eigene Chain
|
|
|
|
mit dem Namen \emph{sshguard} in der \emph{iptables.rules} eingetragen. Alle Zugriffe
|
|
|
|
auf Port 22 werden durch diese Chain gefiltert. Erfolgen in kurzer Zeit zu viele
|
|
|
|
unautorisierte Zugriffe, trägt das Programm \emph{SSH-Guard} automatisch temporär
|
|
|
|
eine neue DROP-Regel in die \emph{sshguard}-Chain ein. Verbindungen nach außen
|
|
|
|
werden ungefiltert durchgelassen, weil es nicht effektiv ist, einzelne Ports zu
|
|
|
|
sperren. Ein in das System bereits eingedrungener Angreifer könnte einfach
|
|
|
|
Pakete auf anderen offenen Ports versenden.
|
2013-11-21 17:09:40 +00:00
|
|
|
|
|
|
|
\subsubsection{Forwarding und Masquerading}
|
|
|
|
|
2014-04-03 09:37:41 +00:00
|
|
|
Der Zugriff auf das Internet wird durch folgende Regel in der NAT-Tabelle:
|
2013-11-21 17:09:40 +00:00
|
|
|
|
|
|
|
\begin{lstlisting}
|
|
|
|
-A POSTROUTING -o eth0 -j MASQUERADE
|
|
|
|
\end{lstlisting}
|
|
|
|
|
2014-03-27 07:24:39 +00:00
|
|
|
für die Compute-Nodes zugängig gemacht. Dazu musste noch die Datei \emph{/etc/sysctl.d} mit der Zeile:
|
2013-11-21 17:09:40 +00:00
|
|
|
|
|
|
|
\begin{lstlisting}
|
|
|
|
net.ipv4.ip_forward = 1
|
|
|
|
\end{lstlisting}
|
|
|
|
|
|
|
|
erstellt werden.
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Diagnose und Logging}
|
|
|
|
|
2014-03-20 07:41:07 +00:00
|
|
|
Alle abgeblockten Verbindungen landen in der \emph{logging}-Chain, wo sie durch:
|
2013-11-21 17:09:40 +00:00
|
|
|
|
|
|
|
\begin{lstlisting}
|
|
|
|
-A logging -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
|
|
|
|
\end{lstlisting}
|
|
|
|
|
2014-04-03 09:37:41 +00:00
|
|
|
geloggt werden. Die Anzahl der Meldungen wurde auf 2 Meldungen pro Minute
|
|
|
|
limitiert. Der Log wird in der Datei \emph{/var/log/iptables.log} gespeichert.
|