Add iptables to SRV-DOC
This commit is contained in:
parent
6d167a892f
commit
aae723272f
|
@ -132,11 +132,93 @@ Anschließend werden die vorgenommenen Einstellungen aktiviert.
|
|||
\end{lstlisting}
|
||||
|
||||
\paragraph{iptables}
|
||||
\todo{Hier gibt es noch zu tun.}
|
||||
Es wurden Regeln definiert, welcher Datenverkehr für den VPN-Server und VPN-Clients erlaubt sind.
|
||||
Diese werden jetzt über Filterregeln mit \texttt{iptables} beziehungsweise \texttt{ip6tables} umgesetzt.
|
||||
Als Standardpolicy wird \texttt{DROP} gewählt.
|
||||
\begin{lstlisting}
|
||||
iptables -P INPUT DROP
|
||||
iptables -P OUTPUT DROP
|
||||
iptables -P FORWARD DROP
|
||||
ip6tables -P INPUT DROP
|
||||
ip6tables -P OUTPUT DROP
|
||||
ip6tables -P FORWARD DROP
|
||||
\end{lstlisting}
|
||||
|
||||
Datenverkehr über das Loopback-Interface ist immer erlaubt.
|
||||
\begin{lstlisting}
|
||||
iptables -A INPUT -i lo -j ACCEPT
|
||||
iptables -A OUTPUT -i lo -j ACCEPT
|
||||
ip6tables -A INPUT -i lo -j ACCEPT
|
||||
ip6tables -A OUTPUT -i lo -j ACCEPT
|
||||
\end{lstlisting}
|
||||
|
||||
Die Protokolle ICMP und ICMPv6 werden immer durchgelassen.
|
||||
\begin{lstlisting}
|
||||
iptables -A INPUT -p icmp -j ACCEPT
|
||||
ip6tables -A INPUT -p icmp6 -j ACCEPT
|
||||
iptables -A OUTPUT -p icmp -j ACCEPT
|
||||
ip6tables -A OUTPUT -p icmp6 -j ACCEPT
|
||||
iptables -A FORWARD -p icmp -j ACCEPT
|
||||
ip6tables -A FORWARD -p icmp6 -j ACCEPT
|
||||
\end{lstlisting}
|
||||
|
||||
Zugriffe auf den VPN-Server sind für die Dienste SSH und OpenVPN erlaubt.
|
||||
\begin{lstlisting}
|
||||
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
|
||||
ip6tables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
|
||||
|
||||
iptables -A INPUT -p udp --dport 1194 -m state --state NEW,ESTABLISHED -j ACCEPT
|
||||
ip6tables -A INPUT -p udp --dport 1194 -m state --state NEW,ESTABLISHED -j ACCEPT
|
||||
\end{lstlisting}
|
||||
|
||||
Antwortpakete für eingehende Pakete auf SSH und OpenVPN-Dienst sind erlaubt.
|
||||
\begin{lstlisting}
|
||||
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
ip6tables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
\end{lstlisting}
|
||||
|
||||
Vom VPN-Server ausgehende Pakete sind grundsätzlich erlaubt.
|
||||
\begin{lstlisting}
|
||||
iptables -A OUTPUT -m state --state NEW -j ACCEPT
|
||||
ip6tables -A OUTPUT -m state --state NEW -j ACCEPT
|
||||
\end{lstlisting}
|
||||
|
||||
Zum VPN-Server eingehende Pakete sind als Antwort auf ausgehende Pakete erlaubt.
|
||||
\begin{lstlisting}
|
||||
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
Für IPv4-Verkehr aus dem VPN soll NAT durchgeführt werden.
|
||||
\begin{lstlisting}
|
||||
iptables -t nat -A POSTROUTING -s 10.2.0.0/16 -j MASQUERADE
|
||||
\end{lstlisting}
|
||||
|
||||
Datenverkehr aus dem VPN zu Hosts in der DMZ ist verboten und wird verworfen.
|
||||
\begin{lstlisting}
|
||||
iptables -A FORWARDING -s 10.2.0.0/16 -d 141.71.38.0/24 -j DROP
|
||||
ip6tables -A FORWARDING -s 2001:638:614:1750::/64 -d 2001:683:614:1780::/64 -j DROP
|
||||
\end{lstlisting}
|
||||
|
||||
Jeglicher weiterer Datenverkehr aus dem VPN ist erlaubt.
|
||||
\begin{lstlisting}
|
||||
iptables -A FORWARDING -s 10.2.0.0/16 -m state --state NEW,ESTABLISHED -j ACCEPT
|
||||
ip6tables -A FORWARDING -s 2001:638:614:1750::/64 -m state --state NEW,ESTABLISHED -j ACCEPT
|
||||
\end{lstlisting}
|
||||
|
||||
In das VPN eingehender Verkehr ist nur als Antwort auf ausgehende Pakete erlaubt.
|
||||
\begin{lstlisting}
|
||||
iptables -A FORWARDING -d 10.2.0.0/16 -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
ip6tables -A FORWARDING -d 2001:638:614:1750::/64 -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
Um die mit \texttt{iptables} erstellten Regeln auch über Neustarts hinweg zu behalten, wird das Paket \texttt{iptables-persistent} installiert.
|
||||
\begin{lstlisting}
|
||||
apt-get install iptables-persistent
|
||||
\end{lstlisting}
|
||||
Zum Schluss werden die Regeln abgespeichert, damit diese bei einem Neustart durch die Skripte des Pakets \texttt{iptables-persistent} neu geladen werden können.
|
||||
Anschließend können die aktuell aktiven Regeln abgespeichert werden, damit sie bei einem Neustart wieder geladen werden können.
|
||||
\begin{lstlisting}
|
||||
iptables-save > /etc/iptables/rules.v4
|
||||
ip6tables-save > /etc/iptables/rules.v6
|
||||
|
|
Loading…
Reference in New Issue