Paketfilterung mit Linux

ArticleCategory:

System Administration

AuthorImage:

Vincent Renardias

TranslationInfo:[Author and translation history]

original in fr Vincent Renardias

fr to en Georges Tarbouriech

en to de Hermann-Josef Beckers

AboutTheAuthor

GNU/Linux-Benutzer seit 1993, ist Vincent Renardias seit 1996 in dessen Entwicklung involviert: Debian-Entwickler, franz�sischer �bersetzer von GIMP und GNOME, Gr�nder der Linux-Anwendergruppe in Marseille (PLUG) ... Nun Manager f�r Forschung und Entwicklung bei der Firma EFB2, tr�gt er weiterhin zu GNU/Linux bei.

Abstract

Dieser Artikel wurde zuerst in einer Spezial-Ausgabe des franz�sischen Linux-Magazins ver�ffentlich, die sich auf Sicherheit konzentrierte. Der Editor, die Autoren und die �bersetzer haben LinuxFocus freundlicherweise erlaubt, jeden Artikel aus dieser Spezialausgabe zu ver�ffentlichen. Entsprechend wird LinuxFocus diese Artikel ver�ffentlichen, sobald diese ins Englische �bersetzt sind. Dank an alle Personen, die an dieser Arbeit beteiligt sind. Dieser Abstrakt wird f�r jeden Artikel reproduziert, der den gleichen Ursprung hat.


Eine der guten M�glichkeiten, Einbruchsversuche zu verhindern, ist es zu filtern, was in einem Netzwerk nutzlos ist. Diese Aufgabe wird normalerweise einer Maschine �bertragen, die als Firewall genutzt wird.
In diesem Artikel pr�sentieren wir die erforderlichen Grundlagen f�r die Implementierung und Konfiguration eines solchen Systems.

ArticleIllustration:[Das Titelbild des Artikels, do not translate]

[Illustration]

ArticleBody:[Der eigentliche Artikel. Überschriften innerhalb des Artikels sollten h2 oder h3 sein.]

Gateway, Proxy-Arp oder Ethernet-Br�cke ?

Der Filtermechanismus kann als ein Netz betrachtet werden, das einige unerw�nschte Pakete stoppt. Das Wichtigste ist es, die richtige Gr��e der Maschen zu bestimmen und den rechten Ort f�r die Installation.

Firewall-Anordnung im Netzwerk
Firewall location

Um Pakete ordnungsgem�� filtern zu k�nnen, muss der Filtermechanismus physikalisch zwischen dem zu sch�tzenden Netzwerk und dem "Rest der Welt" positioniert sein. Dies wird durch eine Maschine mit zwei Netzwerk-Karten (normalerweise Ethernet) erreicht, eine mit dem internen Netzwerk verbunden und die andere mit dem Router, der den Zugang nach aussen erm�glicht. Auf diese Art muss alle Kommunikation durch die Firewall gehen, die diese Kommunikation in Abh�ngigkeit von ihrem Inhalt blockt oder passieren l�sst.
Der Rechner mit dem Filtermechanismus kann auf drei verschiedene Arten konfiguriert werden:

- "einfaches" Gateway: dies ist die h�ufigste Konfiguration. Der Rechner wird als Gateway zwischen zwei Netzwerken oder Subnetzwerken benutzt. Die Computer im lokalen Netzwerk werden so konfiguriert, dass sie die Firewall anstelle des Routers f�r ihre Default-Route benutzen.

- "Proxy-ARP"-Gateway: die vorstehende Konfiguration impliziert die Aufteilung des Netzwerkes in zwei Subnetz-Bereiche, wobei die H�lfte der verf�gbaren IP-Adressen verloren geht. Dies ist etwas �rgerlich. Beim Beispiel eines Subnetzwerkes mit 16 Adressen (und einer 28-Bit-Netzmaske) gehen wir von 14 auf nur 6 verf�gbare Adressen, da die Netzwerk- und Broadcast-Adresse benutzt werden. Durch Hinzuf�gen eines Bits zur Subnetzmaske verringern wir von 14 auf 6 verf�gbare Adressen (8 IPs abz�glich der f�r Netzwerk und Broadcast). Wenn Sie sich es nicht leisten k�nnen, die H�lfte der verf�gbaren IP-Adressen zu verlieren, k�nnen Sie die Technik nutzen, die etwas sp�ter im Artikel erl�utert wird. Weiterhin erfordert diese Technik keine �nderung in der Netzwerk-Konfiguration der vorhandenen Maschinen, weder am Router noch an den gesch�tzten Computern.

- Ethernet-Br�cke: Installation eines Ethernet-Gateways (nicht eines IP-Gateways) macht den Filtermechanismus f�r andere Rechner unsichtbar. Eine solche Konfiguration kann vorgenommen werden, ohne den Ethernet-Schnittstellen IP-Adressen zuzuweisen. Die Maschine ist dann mittels ping, traceroute usw. nicht zu entdecken. Wir m�ssen beachten, dass eine Paketfilter-Implementation in einer solchen Konfiguration einen 2.2.x-Kernel erfordert, da die Portierung dieser Eigenschaft auf die 2.4.x-Kernel noch nicht fertig ist.

Grundregeln des Filterns

Da wir nun wissen, wo wir unseren Filter installieren, m�ssen wir definieren, was er blockieren und was akzeptieren soll.
Es gibt zwei M�glichkeiten, einen Filter zu konfigurieren:

- Die gute: Es sind nur Pakete zul�ssig, die von einer Regel akzeptiert werden.
- Die schlechte: (leider oft benutzt) nur ausdr�cklich verbotene Pakete werden blockiert, alle anderen werden akzeptiert.

Dies ist einfach zu erkl�ren: im ersten Fall f�hrt das Vergessen einer Regel dazu, dass ein Dienst nicht ordentlich oder gar nicht funktioniert. Dies f�llt normalerweise recht schnell auf und dann reicht es, die passende Regel zu aktivieren, damit wieder alles funktioniert.
Im zweiten Fall bedeutet das Vergessen einer Regel eine m�gliche Verletzbarkeit, die vielleicht schwer zu finden ist ... wenn wir sie �berhaupt finden.

Netfilter

Die am h�ufigsten verwendete Paketfilter-Software in Linux 2.4 ist Netfilter; es ersetzt das in Linux-Kernel 2.2 genutzte 'ipchains' recht gut. Netfilter besteht aus zwei Teilen: der Kernel-Unterst�tzung, die in Ihrem Kernel einkompiliert sein muss und dem 'iptables'-Befehl, der in Ihrem System verf�gbar sein sollte.

Beispiel f�r eine Einrichtung

Ein kommentiertes Beispiel ist besser als eine lange Rede, daher beschreiben wir als n�chstes, wie man einen Filtermechanismus installiert und einrichtet. Zun�chst wird die Maschine als Gateway unter Benutzung von Proxy-ARP konfiguriert, um die Anzahl der IP-Adressen zu begrenzen und wir werden das Filtersystem einrichten.

Der Autor hat eine Vorliebe f�r die Debian-Distribution, um solch ein System einzurichten, aber jede andere Distribution ist genauso gut.

Testen Sie zuerst, ob Ihr Kernel �ber Netfilter-Unterst�tzung verf�gt. Wenn dies der Fall ist, finden Sie in den Boot-Nachrichten folgendes:

ip_conntrack (4095 buckets, 32760 max)
ip_tables: (c)2000 Netfilter core team

Andernfalls m�ssen Sie den Kernel neukompilieren, nachdem Sie die Netzfilter-Unterst�tzung aktiviert haben. Die entsprechenden Optionen finden sich im Untermen� "Netzwerk-Paketfilterung" des Men�s "Netzwerk-Optionen". Aus dem Abschnitt "Netfilter-Konfiguration" w�hlen Sie die von Ihnen ben�tigten Optionen. Im Zweifel k�nnen Sie alle aktivieren. Desweiteren ist es besser, Netfilter in den Kernel zu legen und keine Module zu benutzen. Wenn aus irgendeinem Grund eines der Netfilter-Module fehlt oder nicht geladen wird, funktioniert die Filterung nicht und wir reden besser nicht �ber die Risiken, die das impliziert.

Sie sollten auch das Paket 'iproute2' installieren (dies ist nicht obligatorisch, aber unser Beispiel benutzt es, da es uns erm�glicht, das Konfigurations-Skript einfacher zu gestalten). Mit Debian reicht der Befehl 'apt-get install iproute'.
Bei anderen Distributionen m�ssen Sie das entsprechende Paket installieren. Der �bliche Weg ist es, die Software aus den Quellen zu installieren, die Sie von der folgenden Adresse abrufen k�nnen:
ftp://ftp.inr.ac.ru/ip-routing/

Nun m�ssen die 2 Ethernet-Karten konfiguriert werden. Wir m�ssen beachten, dass der Linux-Kernel bei der Auto-Erkennung der Hardware mit der Suche nach Netzwerk-Karten aufh�rt, sobald eine gefunden wurde. Dementsprechend wird nur die erste erkannt.
Eine einfache L�sung f�r dieses Problem besteht darin, der lilo.conf-Datei folgende Zeile hinzuzuf�gen:
append="ether=0,0,eth1"

Nun m�ssen wir die Ethernet-Schnittstellen konfigurieren. Die Methode, die wir benutzen, erlaubt es uns, die gleiche IP-Adresse f�r beide Karten zu verwenden und damit eine Adresse zu sparen:
Wir nehmen an, dass wir ein 10.1.2.96/28-Subnetzwerk haben, d.h. Adressen von 10.1.2.96 bis 10.1.2.111 einschlie�lich. Der Router erh�lt die Adresse 10.1.2.97 und unser Filter-Rechner die 10.1.2.98. Die eth0-Schnittstelle wird mit dem Router �ber ein RJ45-Cross-Kabel verbunden, wenn beide ohne einen Hub/Switch direkt verbunden sind; die eth1-Schnittstelle wird mit dem Hub/Switch verbunden und von dort mit den Rechnern im lokalen Netzwerk.

Entsprechend werden beide Schinttstellen mit den folgenden Parametern konfiguriert:

Adresse  : 10.1.2.98
Netzmaske  : 255.255.255.240
Netzwerk  : 10.1.2.96
Broadcast: 10.1.2.111
Gateway  : 10.1.2.97

Als n�chstes benutzen wir das folgende Skript, das nach der Initial-Konfiguration der Netzwerk-Karten gestartet werden muss, um die Einrichtung zu beenden.

net.vars: Konfigurations-Variablen 

PREFIX=10.1.2
DMZ_ADDR=$PREFIX.96/28
# Schnittstellen-Definitionen 
BAD_IFACE=eth0
DMZ_IFACE=eth1
ROUTER=$PREFIX.97


net-config.sh: Netzwerk-Konfigurationsskript 

#!/bin/sh
# Aktivieren Sie die n�chste Zeile, um die Befehle w�hrend der Ausf�hrung anzuzeigen
# set -x
# Wir lesen die definierten Variablen aus der vorherigen Datei
source /etc/init.d/net.vars
# Wir entfernen die aktuellen Routen aus dem lokalen Netzwerk 
ip route del $PREFIX.96/28 dev $BAD_IFACE
ip route del $PREFIX.96/28 dev $DMZ_IFACE
# Wir definieren, dass das lokale Netzwerk �ber eth1 erreicht wird
# und der Router �ber eth0.
ip route add $ROUTER dev $BAD_IFACE
ip route add $PREFIX.96/28 dev $DMZ_IFACE
# Wir aktivieren Proxy-ARP f�r beide Schnittstellen 
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
# Wir aktivieren IP-Forwarding, damit die Pakete von einer Karte zur anderen 
# geleitet werden k�nnen.
echo 1 > /proc/sys/net/ipv4/ip_forward
 

Wir kehren nun zum Proxy-ARP-Mechanismus zur�ck, den wir f�r unsere Konfiguration ben�tigen.
Wenn ein Rechner mit einem anderen im gleichen Netzwerk Verbindung aufnehmen m�chte, ben�tigt er dessen Ethernet-Adresse (oder MAC- oder Hardware-Adresse), die der IP-Adresse des Zielrechners entspricht. Der Quellrechner sendet dann die Frage "Wie lautet die MAC-Adresse der Schnittstelle, die die IP-Adresse 1.2.3.4 besitzt?", und der Zielrechner muss antworten.

Hier ist ein Beispiel eines solchen "Gespr�chs", mittels tcpdump aufgezeichnet:
- die Anforderung: der Rechner 172.16.6.72 fragt nach der MAC-Adresse zur IP-Adresse 172.16.6.10.
19:46:15.702516 arp who-has 172.16.6.10 tell 172.16.6.72
- die Antwort: der Rechner 172.16.6.10 teilt seine Karten-Nummer mit:
19:46:15.702747 arp reply 172.16.6.10 is-at 0:a0:4b:7:43:71

Dies bringt uns zum Ende dieser kurzen Erkl�rung: Die ARP-Anforderungen werden mittels Broadcast (Rundspruch) vorgenommen und sind daher auf ein physikalisches Netzwerk begrenzt. Entsprechend sollte die Anforderung von einer gesch�tzten Maschine, die MAC-Adresse des Routers herauszufinden, von dem Filter-Rechner geblockt werden. Die Aktivierung der Proxy-ARP-Eigenschaft erlaubt uns die L�sung dieses Problems, da die ARP Anfragen und Antworten, die zu der Karte kommen, dann weitergeleitet werden.

Zu diesem Zeitpunkt sollten Sie �ber ein funktionierendes Netzwerk verf�gen mit einem Rechner, der den gesamten Verkehr zwischen dem lokalen Netzwerk und der Au�enwelt verwaltet.

Nun m�ssen wir das Filtersystem mittels Netfilter einrichten.
Netfilter erlaubt es, direkt auf den Paketfluss zu reagieren. In der Basiskonfiguration werden die Pakete �ber 3 Regel-Ketten verwaltet:
- INPUT: f�r die �ber eine Schnittstelle hereinkommenden Pakete,
- FORWARD: f�r alle Pakete, die von einer zur anderen Schnittstelle weitergeleitet werden,
- OUTPUT: f�r die �ber eine Schnittstelle herausgehenden Pakete.

Der 'iptables'-Befehl erlaubt es, Regeln in jeder dieser Ketten hinzuzuf�gen, zu �ndern oder zu entfernen, um das Filter-Verhalten zu modifizieren.
Weiterhin hat jede Kette eine Standard-Regelung, d.h. sie weiss, was zu tun ist, wenn keine Regel in der Kette auf ein Paket zutrifft.

Die vier h�ufigsten Optionen sind:
- ACCEPT: das Paket kann passieren,
- REJECT: das Paket wird zur�ckgewiesen und das entsprechende Fehlerpaket wird gesendet (ICMP Port Unreachable, TCP RESET, je nach Fall),
- LOG: schreibt einen Paket-Hinweis in syslog,
- DROP: das Paket wird ignoriert und keine Antwort gesendet.

Paketflu� durch die Standard-Regelketten

Packet flow

Hier sind die Hauptoptionen von iptables, die die Manipulation ganzer Ketten erm�glichen. Wir werden sie sp�ter noch erl�utern:

-N: erstellt eine neue Kette.
-X: entfernt eine leere Kette.
-P: �ndert die Standardregel einer Kette.
-L: listet die Regeln einer Kette auf.
-F: entfernt alle Regeln in einer Kette.
-Z: l�scht die Byte- und Paketz�hler, die die Kette durchlaufen haben.

Zum �ndern einer Kette gibt es die folgenden Befehle:
-A: f�gt eine Regel am Ende einer Kette an.
-I: f�gt eine neue Regel in einer bestimmten Position in einer Kette ein.
-R: ersetzt eine bestimmte Regel in einer Kette.
-D: l�scht eine Regel in einer Kette, entweder �ber deren Nummer oder die Beschreibung der Regel.

Ein kleines Beispiel: wir werden die PING-Antworten (das ist das ICMP-Paket 'echo-reply') blockieren, die von einer bestimmten Maschine kommen.
Zuerst testen wir, ob wir den Rechner mittels "ping" erreichen k�nnen:

# ping -c 1 172.16.6.74
PING 172.16.6.74 (172.16.6.74): 56 data bytes
64 bytes from 172.16.6.74: icmp_seq=0 ttl=255 time=0.6 ms

--- 172.16.6.74 ping statistics ---

1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.6/0.6/0.6 ms
Nun f�gen wir der INPUT-Kette eine Regel hinzu, die die ICMP-Reply-Pakete ('-p icmp --icmp-type echo-reply') abf�ngt, die vom Rechner 172.16.6.74 ('-s 172.16.6.74') kommen. Diese Pakete werden ignoriert ('-j DROP').
# iptables -A INPUT -s 172.16.6.74 -p icmp --icmp-type echo-reply -j DROP

Nun PINGeln wir diesen Rechner erneut an:

# ping -c 3 172.16.6.74
PING 172.16.6.74 (172.16.6.74): 56 data bytes

--- 172.16.6.74 ping statistics ---

3 packets transmitted, 0 packets received, 100% packet loss

Wie wir erwarten konnten, wurden diese Antworten nicht durchgelassen. Wir k�nnen �berpr�fen, dass die 3 Antworten geblockt wurden (3 Pakete mit insgesamt 252 Byte):

# iptables -L INPUT -v
Chain INPUT (policy ACCEPT 604K packets, 482M bytes)
 pkts bytes target     prot opt in    out     source       destination
  3   252   DROP       icmp --  any   any     172.16.6.74    anywhere

Um zur Ausgangssituation zur�ckzukehren, m�ssen wir nur die erste Regel aus der INPUT-Kette entfernen:

# iptables -D INPUT 1

Nun sollte PING wieder funktionieren:

# ping -c 1 172.16.6.74
PING 172.16.6.74 (172.16.6.74): 56 data bytes
64 bytes from 172.16.6.74: icmp_seq=0 ttl=255 time=0.6 ms

--- 172.16.6.74 ping statistics ---

1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.6/0.6/0.6 ms
#

Es klappt!

Sie k�nnen weitere Regelketten zu den 3 vordefinierten hinzuf�gen (die Sie auf keinen Fall entfernen k�nnen) und Datenverkehr erzeugen, der diese Ketten durchl�uft. Dies kann z.B. n�tzlich sein, um doppelte Regeln in verschiedenen Ketten zu vermeiden.

Nun richten wir die erforderlichen Regeln f�r eine minimale Firewall ein. Diese wird die Dienste ssh, domain (DNS), http und smtp erlauben und sonst nichts.
Zur Vereinfachung schreiben wir die Einrichtungs-Befehle in ein Shell-Skript, um die Konfiguration zu erleichtern. Das Skript beginnt damit, die aktuelle Konfiguration zu l�schen, bevor die neue eingerichtet wird. Dieser kleine Trick erlaubt es, das Skript zu starten, wenn die Konfiguration aktiv ist, ohne doppelte Regeln zu riskieren.

rc.firewall

#!/bin/sh

# Verwerfen der bisherigen Regeln
iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD


# Die Regelkette wird entsprechend der Richtung erstellt.
# bad = eth0 (outside)
# dmz = eth1 (inside)
iptables -X bad-dmz
iptables -N bad-dmz
iptables -X dmz-bad
iptables -N dmz-bad
iptables -X icmp-acc
iptables -N icmp-acc
iptables -X log-and-drop
iptables -N log-and-drop

# Spezielle Regelkette zum Aufzeichnen von Paketen, bevor sie geblockt 
# werden
iptables -A log-and-drop -j LOG --log-prefix "drop "
iptables -A log-and-drop -j DROP

# Pakete mit aktivierten TCP-Flags werden verworfen, ebenso diejenigen
# ohne irgendwelche Flags (oft mit Nmap-Scans genutzt)
iptables -A FORWARD -p tcp --tcp-flags ALL ALL -j log-and-drop
iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j log-and-drop

# Pakete von reservierten Adressen werden verworfen, ebenso multicast
iptables -A FORWARD -i eth+ -s 224.0.0.0/4 -j log-and-drop
iptables -A FORWARD -i eth+ -s 192.168.0.0/16 -j log-and-drop
iptables -A FORWARD -i eth+ -s 172.16.0.0/12 -j log-and-drop
iptables -A FORWARD -i eth+ -s 10.0.0.0/8 -j log-and-drop

# Zu einer bestehenden Verbindung geh�rende Pakete werden akzeptiert
iptables -A FORWARD -m state --state INVALID -j log-and-drop
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
#  Die entsprechende Kette wird entsprechend der Paketquelle weitergeleitet
iptables -A FORWARD -s $DMZ_ADDR -i $DMZ_IFACE -o $BAD_IFACE -j dmz-bad
iptables -A FORWARD -o $DMZ_IFACE -j bad-dmz
# Der gesamte Rest wird ignoriert
iptables -A FORWARD -j log-and-drop

# Akzeptierte ICMPs
iptables -A icmp-acc -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A icmp-acc -p icmp --icmp-type source-quench -j ACCEPT
iptables -A icmp-acc -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A icmp-acc -p icmp --icmp-type echo-request -j ACCEPT
iptables -A icmp-acc -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A icmp-acc -j log-and-drop

# Aussen -> Innen-Regelkette 
# mail, DNS, http(s) und SSH werden akzeptiert
iptables -A bad-dmz -p tcp --dport smtp -j ACCEPT
iptables -A bad-dmz -p udp --dport domain -j ACCEPT
iptables -A bad-dmz -p tcp --dport domain -j ACCEPT
iptables -A bad-dmz -p tcp --dport www -j ACCEPT
iptables -A bad-dmz -p tcp --dport https -j ACCEPT
iptables -A bad-dmz -p tcp --dport ssh -j ACCEPT
iptables -A bad-dmz -p icmp -j icmp-acc
iptables -A bad-dmz -j log-and-drop

# Innen -> Aussen-Regelkette
# mail, DNS, http(s) und telnet werden akzeptiert
iptables -A dmz-bad -p tcp --dport smtp -j ACCEPT
iptables -A dmz-bad -p tcp --sport smtp -j ACCEPT
iptables -A dmz-bad -p udp --dport domain -j ACCEPT
iptables -A dmz-bad -p tcp --dport domain -j ACCEPT
iptables -A dmz-bad -p tcp --dport www -j ACCEPT
iptables -A dmz-bad -p tcp --dport https -j ACCEPT
iptables -A dmz-bad -p tcp --dport telnet -j ACCEPT
iptables -A dmz-bad -p icmp -j icmp-acc
iptables -A dmz-bad -j log-and-drop

# Regelketten f�r den Rechner selbst
iptables -N bad-if
iptables -N dmz-if
iptables -A INPUT -i $BAD_IFACE -j bad-if
iptables -A INPUT -i $DMZ_IFACE -j dmz-if

# Externe Schnittstelle
# auf diesem Rechner wird nur SSH akzeptiert
iptables -A bad-if -p icmp -j icmp-acc
iptables -A bad-if -p tcp --dport ssh -j ACCEPT
iptables -A bad-if -p tcp --sport ssh -j ACCEPT
ipchains -A bad-if -j log-and-drop

# Interne Schnittstelle
iptables -A dmz-if -p icmp -j icmp-acc
iptables -A dmz-if -j ACCEPT

Einige Worte zur Dienst-Qualit�t ("quality of service"). Linux kann das ToS-("Type of Service")-Feld modifizieren und dessen Wert �ndern, um dem Paket eine andere Priorit�t zu geben. Z.B. �ndert der folgende Befehl die ausgehenden SSH-Pakete, um die Verbindungs-Antwortzeit zu verbessern.

iptables -A OUTPUT -t mangle -p tcp --dport ssh -j TOS --set-tos Minimize-Delay

In gleicher Weise k�nnten Sie f�r FTP-Verbindungen die Option '--set-tos Maximize-Throughput' nutzen, um die �bertragungsrate zum Nachteil der Sitzungs-Interaktivit�t zu �ndern.

Das wars. Nun kennen Sie die Grundlagen, um ein effektives Paketfilter-System aufzusetzen. Denken Sie jedoch daran, dass eine Firewall kein Allheilmittel ist, wenn es um Sicherheit geht. Er ist nur eine weitere Vorsichtsma�nahme. Die Einrichtung einer Firewall entbindet Sie nicht davon, starke Passw�rter zu nutzen, die aktuellen Sicherheits-Patches, Einbruchs-Entdeckungssysteme usw.

Referenzen