Betriebstechnik | Biographien | Biologie | Chemie | Deutsch | Digitaltechnik |
Electronica | Epochen | Fertigungstechnik | Gemeinschaftskunde | Geographie | Geschichte |
Informatik | Kultur | Kunst | Literatur | Management | Mathematik |
Medizin | Nachrichtentechnik | Philosophie | Physik | Politik | Projekt |
Psychologie | Recht | Sonstige | Sport | Technik | Wirtschaftskunde |
Ähnliche Berichte:
|
Projekte:
|
Papers in anderen sprachen:
|
informatik referate |
Thema:
Firewall-regeln unter dem Kernel 2.4 (iptables)
Was sind iptables ?
Bei 'iptables' handelt es sich um einen Paketfilter.
Und zwar um einen Paketfilter unter der Linux- Kernel - Version 2.4.
Bei einem Paketfilter handelt es sich um eine Software zur Überwachung von eingehenden und ausgehenden Paketen.
Dabei wird anhand
vom Senders bzw. vom Empfängers entschieden was mit dem Paket passieren soll.
Es kann akzeptiert werden oder auch verworfen werden (ACCEPT oder DROOPEN).
Dies wird in Form von Regeln in die jeweiligen Tabellen eingetragen (Dazu später mehr).
In Linux sind seit der 1.1 Kernel - Version Paketfilter enthalten.
Die erste Version (basierend auf 'ipfw' von BSD) wurde 1994 portiert.
Diese Version wurde dann weiter entwickelt und mit Hilfe des Tools 'ipfwadm' im Kernel 2.0 verwendet.
Ab dem Kernel 2.2 kam 'ipchains' zum Einsatz und Mitte 1999 mit der neu überarbeiteten Kernel - Version 2.4 das Tool 'iptables'.
Iptables besteht aus 2 Komponenten :
Wenn man Iptables verwenden will muss man die Userspace-Kommandos installieren. Bei Mandrake, RedHat, SuSE und anderen Verwandten Linux-Distributionen liegt diese Software meistens als rpm-Paket vor.
z.B bei Mandrake bei einem erst ab i586-kompatiblen Rechner:
iptables-1.2.5-1mdk.i586.rpm
Ob sie schon installiert ist überprüft man einfach mit dem Befehl:
rpm -q iptables
Wenn das nicht der Fall sein sollte, einfach installieren
Man wechsle also am besten zuerst in das Verzeichnis wo sich das rpm-Paket befindet (Wichtig: Als Root ).In unserem Falle z.B ins Verzeichnis
/mnt/nfs/mdk-82/i586/Mandrake/RPMS/
Und installiert das Programm Paket
rpm -i iptables-1.2.5-1mdk.i586.rpm
und dazu muss man noch das Modul 'ip_tables' laden,
wenn es denn noch nicht geladen ist.
Überprüfen kann man das mit dem Befehl:
lsmod | grep -i ip
und falls es dann nötig ist, kann man das Modul mit folgendem Befehl laden:
insmod ip_tables
Wenn es dann zu Fehlermeldungen kommt muss man den Kernel neu konfigurieren.
Und sollte man einen Rechner als Firewall einsetzen wollen dann,
muss IP-Forwarding aktiviert sein.
Dies macht man (als Root) mit dem Befehl:
echo1> /proc/sys/net/ipv4/ip_forward
Iptables enthält auch ein Kompatibilitäts-Modul für ipchains
(Name des Moduls: ipchains)
und auch eins für ipfwadm (Name des Moduls: ipfwadm).
Diese Module schließen sich aber gegenseitig aus. Das zuerst geladene Modul 'gewinnt'. Bei SuSE 7.2 zum Beispiel wird in einem Initialisierungs-Skript das Kernel-Modul 'ipchains' geladen. Dann funktioniert 'iptables' nicht.
Übersicht über
die Standard-Module von IP-Tables
Modul |
Beschreibung |
Modul |
Beschreibung |
iptable_nat |
Implementiert die Tabelle nat |
iptable_mangle |
implementiert Tabelle mangle |
iptable_filter |
Implementiert die Tabelle filter |
ipt_unclean |
noch nicht getestet (experimental) |
ipt_tos |
Filter für type of service |
ipt_state |
Filter für Verbindungsstatus |
ipt_owner |
Filter auf erzeugenden Nutzer (lokal) |
ipt_multiport |
Filter für mehrere Ports auf einmal |
ipt_mark |
Filter auf MARK-Symbole von Paketen |
ipt_mac |
MAC-Filter |
ipt_limit |
Begrenzerfilter |
ipt_TOS |
type of service setzen |
ipt_REJECT |
Zurückweisen von Paketen |
ipt_REDIRECT |
transparentes Umleiten von Paketen |
ipt_MIRROR |
paket mirroring (source, destination) |
ipt_ MASQUERADE |
Masquerading |
ipt_MARK |
packet marking |
ipt_LOG |
packet logging (Target LOG) |
ipfwadm |
ipfwadm Kompatibilitaets-modul |
ipchains |
ipchains Kompatibilitaets-modul |
ip_queueing |
packet queueing (Weiterreichen an Userspace) |
ip_nat_ftp |
NAT-Support für FTP |
ip_contrack_ftp |
dasselbe für FTP |
ip_conntrack |
Verbindungsverfolgung (connection tracking) |
Diese so genannten Kernel-Module befinden sich in den Verzeichnissen :
/lib/modules/2.4.*/kernel/net/ipv4/netfilter/
/lib/modules/2.4.*/kernel/net/ipv6/netfilter/
Bei der C't-HEISE-Knoppix-Version (4/2003) z.B in den Verzeichnissen:
/lib/modules/2.4.20-xfs/kernel/net/ipv4/netfilter/
/lib/modules/2.4.20-xfs/kernel/net/ipv6/netfilter/
Grundsätzliche Funktionsweise
Am Weg den ein Datenpaket durch den Kernel macht, möchte ich die Funktion verständlicher machen.
INPUT |
Alle Pakete die an einen lokalen Prozess gerichteten sind landen hier. |
OUTPUT |
Alle Pakete die von einem lokalen Prozess ausgehen sind laufen hier durch. |
PREROUTING |
Kurz bevor eine Routing-Entscheidung getroffen wird, müssen die Pakete hier durch (Erstes Paket). |
FORWARD |
Hier müssen alle zu routenden Pakete durch. |
POSTROUTING |
Alle zu routenden Pakete laufen nach dem Routing hier durch. |
In diesen Chains sind entsprechende Regeln einzutragen, um bestimmte Zwecke zu erreichen bzw. bestimmte Schutzvorrichtungen aufzubauen.
Man kann aber noch benutzerdefinierte Chains hinzufügen.
Die drei Tabellen(tables) in der Netfilter-Architektur
In IPtables gibt es drei Arten von Tabellen:
Diese 'tables' haben den Zweck, die verschiedenen Arten der Paketbehandlung auf Module zu verteilen und nur die Module zu laden, die grade bzw. für die gestellte Anforderung benötigt werden.
Jeder dieser Tabellen erthält eigene Regeln.
filter
Die Standard-Tabelle ist filter, die immer dann verwendet wird, wenn keine andere Tabelle ausdrücklich angegeben wird, deswegen schauen wir sie uns auf der nächsten Seite genauer an.
Diese Tabelle besteht aus den Chains (Ketten): INPUT, FORWARD, OUTPUT.
Man kann aber noch (wie gesagt) benutzerdefinierte Chains hinzufügen.
nat
Die Tabelle nat dient der Network Adress Translation bzw. dem Port-Forwarding.
Sie besteht aus den chains: PREROUTING, OUTPUT und POSTROUTING.
Diese Chains werden für jedes erste Paket einer neuen Verbindung aufgerufen und führen Anderungen an den Port-Nummern oder an den IP-Nummern der Pakete durch.
mangle
In der Tabelle mangle können tiefer greifende Anderungen an den Paketen vorgenommen werden. Die Pakete können markiert werden oder eine TOS (Type of Service Bits) Manipulation kann vorgenommen werden.
Diese Tabelle besteht aus den Chains: PREROUTING und OUTPUT.
Diese Tabellen gibt es nur wenn Regeln in diesen Tabellen angelegt worden sind.
Das bedeutet, dass die Effizienz eines solchen Paketfilters eventl. sehr hoch sein kann.
Denn wenn man nur einfache Filterfunktionen nutzt, müssen die nicht vorhandenen Tabellen gar nicht erst geladen und durchlaufen werden. Das spart halt Zeit.
Ex muss aber sehr auf den Zusammenhang
zwischen Tabellen und Ketten (tables/Chains) geachtet werden. Um darüber
Überblick zu schaffen habe ich diesem Thema eine Seite gewidmet, später mehr
dazu.
Die Tabelle filter
Wenn ein Paket eine Kette erreicht, wir diese Kette untersucht und das Schicksal des Paketes bestimmt. Wenn die Kette besagt dass das Paket zu verwerfen ist ,wird es verworfen (gelöscht). Wenn die Kette es akzeptiert wird das Paket weitergeleitet.
Jede Kette besteht aus Regeln, in den Regeln ist festgelegt was mit den jeweiligen Paketen passieren soll. Diese Regeln werden solange untersucht bis die Regel die auf das Paket zutrifft gefunden ist. Wenn keine Regel gefunden wird, wird der Kernel sich die Policy der Kette ansehen und entscheiden was passieren soll.
In diesem Fall sollte das Paket verworfen werden (Die Policy sollte so gesetzt sein).
1.Der Kernel sieht sich die Zieladresse des eingehenden Paketes an (Routing).
2.Wenn das Paket für diesen Rechner bestimmt ist, kommt es in die INPUT-Kette.
Danach bekommt der wartende Prozess das Paket .
3.Wenn aber das Paket für eine anderes Interface gedacht ist geht direkt zur
FORWARD- Kette.
Wenn es dort akzeptiert wird, kann es weiter geleitet werden
(IP-Forwarding muss aktiviert sein).Wenn nicht werden die Pakete einfach verworfen.
4.Pakete die von diesem Rechner verschickt werden sollen, kommen direkt in die
OUTPUT-Kette. Falls diese Pakete dann akzeptiert werden, können sie zu anderen
Schnittstellen weitergeleitet werden.
Was wird praktisch mit den Tables/Chains gemacht ?
Nochmal auf ein Blick:
Table/Chain |
|
filter/INPUT |
hier landen alle Pakete, die an einen lokalen Prozess gerichtet sind. Damit lassen sich Zugriffe auf lokale Prozesse hier perfekt regulieren, z.B.:
|
filter/OUTPUT |
hier gehen alle Pakete durch, die von einem lokalen Prozess erzeugt wurden. Damit lassen sich lokale Prozesse nach außen schützen, z.B.:
|
filter/FORWARD |
durch diese Chain gehen alle Pakete durch, die durch diese Maschine geroutet werden. Hiermit lassen sich also alle Rechner in jeweils dem Zielnetz des Routing schützen, z.B.:
|
nat/PREROUTING |
Wenn Adress-Übersetzungen durchgeführt werden, müssen alle Pakete vor dem Routing hier durch. Hier lassen sich von zu routende Pakete verändern:
|
nat/OUTPUT |
vom lokalen Rechner stammende Pakete gehen hier durch; Anderungen genauso wie bei nat/PREROUTING. |
nat/POSTROUTING |
Hier gehen nochmals alle Pakete, die geroutet worden sind, durch (auch lokal erzeugte Pakete). Hier werden Angaben über die Herkunft eines Paketes verändert,wie:
|
mangle/PREROUTING mangle/OUTPUT |
ähnlich den 'nat' Chains, nur mit dem Unterschied, dass hier spezielle Paket-Parameter geändert werden können, wie:
|
Aufruf-Konventionen
z.B. -A
Die Ziele werden mit großen Wörtern geschrieben z.B. ACCEPT
Die Chains auch aus einen Wort in groß. z.B. INPUT
Tabellen werden aus einen Wort in klein geschrieben. z.B. filter
Und Optionen werden in Klein-Buchstaben dargestellt z.B. -t
Kommandos
-A |
<Chain-Name> |
<regel > |
Eine Regel an das ENDE einer Chain/Tabelle anfügen |
-D |
<Chain-Name> |
<regel > |
Eine Regel aus einer Chain/Tabelle löschen |
-C |
<Chain-Name> |
<regel > |
Ein Paket testen mit bestimmten Bedingungen auf eine Chain/Tabelle |
-R |
<Chain-Name> |
<Nr> <regel > |
Ersetzen einer Regel durch eine neue Regeln |
-I |
<Chain-Name> |
<Nr> <regel > |
Eine Regel am ANFANG einer Tabelle/Chain einfügen |
-L |
<Chain-Name>] |
Die Regeln einer Tabelle/Chain auflisten |
|
-F |
<Chain-Name>] |
Alle Regeln einer Tabelle/Chain löschen. Wenn keine Chain angegeben wird ,werden alle Chains geleert. |
|
-Z |
<Chain-Name>] |
Stellt Paket- und Bytezähler einer Chain auf Null |
|
-N |
<Chain-Name> |
Erstellt eine benutzerdefinierte Chain |
|
-X |
<Chain-Name> |
Löscht eine benutzerdefinierte Chain |
|
-P |
<Chain-Name> |
<Ziel> |
Legt die Policy einer Chain fest |
-E |
<Chain-Name> |
<Neuer Chain-Name> |
Benennt eine Chain um |
|
Bedeutet Negation. Der Nachfolgende Parameter darf nicht mit den Daten eines Paketes übereinstimmen |
Begleitende Optionen
-t |
<Tabellen-Name> |
Auswahl einer der 3Tabellen. Es wird dabei das angegebene 'Tabellen-Modul' geladen (iptable_<Tabellen-Name>) |
-v |
Gibt 'mehr' aus |
|
-n |
Gibt die Auflistung numerisch aus. |
|
-x |
Sorgt für eine exakte Zahlenangabe (Anstatt Kilo, Mega, Giga) |
|
-h |
Gibt Hilfe-Meldungen und Optionen aus |
|
-m |
<Modul-Name> |
Stellt zusätzliche Optionen bereit, die sich im angegebenen Modul befinden. Modul-Name wird ohne 'ipt_' und ohne Datei-Endung angegeben. |
Filteroptionen
-p |
|
<Protokoll> |
Bestimmt ein Protokoll |
-s |
|
<Adresse> [/<Maske>] |
Gibt die Quell-IP Adresse an (& z.B.+ /8) |
-d |
|
<Adresse> [/<Maske>] |
Gibt die Ziel-IP Adresse an (& z.B.+ 255.0.0.0) |
-i |
|
<interface> |
Analysiert die Schnittstelle durch die das Paket gekommen ist |
-o |
|
<interface> |
Spezifiziert die Schnittstelle durch die das Paket gehen wird |
|
-f |
Mit der Option -f kann eine Regel erstellt werden, die auf zweite oder weitere Fragmente zutrifft |
] = Optional
< > = Einzusetzender Inhalt
Aktion bei erfolgreicher Maskierung (Ziele)
Wenn die vorher bestimmten Regel erfüllt worden sind dann gibt es die Möglichkeit bestimmte ,vorher festgelegte, Aktionen durchzuführen.
Diese Aktionen werden auch als Ziele bezeichnet.
Mit dem Parameter ' -j ' bestimmt man was als Aktion durch zuführen ist.
Fehlt aber dieser Parameter dann hat die Regel keine Auswirkung.
Es gibt folgende Ziele:
-j |
ACCEPT |
Akzeptiert das Paket |
-j |
DROP |
Verwirft das Paket. |
-j |
QUEUE |
Hängt das Paket an die Reihe der Benutzerprozesse. Es werden hierfür aber benötigt: ein 'queue-Händler' und eine Anwendung, die die Pakete empfängt und weiterverarbeitet. Die maximale Länge beträgt 1024. Wenn die Queue voll oder es keine Anwendung gibt wird das Paket verworfen. |
-j |
RETURN |
Das Paket wird zum Ende 'durchgereicht', ohne dazwischen liegende Regeln zu beachten und wird weiterverarbeitet. |
Und als Module verwirklichte Ziele:
-j |
LOG |
Daten des Paketes in die System-Log eintragen. Z.B. TCP Sequencenummer, IP Optionen, TCP. Regeln werden sonst ganz normal weiter fortsetzen. |
-j |
MARK |
Das Paket mit einer optional anzugebenden Zahl markiere.. |
-j |
MASQUERADE |
Hier bekommen geroutete Pakete als Absender-Adresse die Ip-Adresse & einen beliebigen Port des ausgehenden Interfaces. So lassen sich bei Wählverbindungen mehrere PC's über einen Router an eine Verbindung koppeln. |
-j |
REJECT |
Man schickt dem Sender eine ICMP-Fehlermeldung. ('port unreachable') |
-j |
TCPMSS |
Enthält Optionen, die Datenmenge pro Paket zu beschränken. |
-j |
TOS |
Mit diesem Ziel lässt sich das 8bit große Type of Service Feld des IP-Headers setzen. |
-j |
MIRROR |
Mirror vertauscht die Quelle und das Ziel. So 'scannt' ein Angreifer sich selbst. |
-j |
REDIRECT |
Sorgt dafür, dass Pakete an den lokalen Rechner zugestellt werden. So lassen sich z.B. Pakete an 'Phantasie-Ziele' abfangen und lokal behandeln. |
-j |
SNAT (Source-NAT) |
NAT ist für die Maskierung der internen IP-Adressen verantwortlich. Man unterscheidet zwischen zwei Fällen von NAT: Bei SNAT wird die Quell-Adresse und eventuell der Port eines Paketes und von den nachfolgenden Paketen verändert. Masquerading ist ein besonderer Fall von SNAT. SNAT findet immer nach dem Routing statt und sollte nur bei festen IP-Nummern verwendet werden |
-j |
DNAT (Destination-NAT) |
Bei DNAT wird die Zieladresse eines Paketes und von den nachfolgenden Paketen verändert und muss vor dem Routing stattfinden. |
Welche Ziele sind wo erlaubt ?
Damit noch mal klar ist welche Ziele in welchen Chains erlaubt und auch sinnvoll sind bzw. welche Tabellen noch mal welche Chains beinhalten. Habe ich, wie vorhin angekündigt, diese 3 Faktoren in Form von einer Tabelle unter einen Hut gebracht. Da bei IPtables halt sehr genau darauf geachtet werden muss, welche Ziele- Kombinationen überhaupt möglich sind. Und welche nicht.
Table | |||||
Chains |
INPUT |
PREROUTING |
FORWARD |
POSTROUTING |
OUTPUT |
filter |
ACCEPT DROP QUEUE RETURN LOG REJECT MIRROR |
|
ACCEPT DROP QUEUE RETURN LOG REJECT MIRROR |
|
ACCEPT DROP QUEUE RETURN LOG REJECT |
nat |
|
ACCEPT MIRROR DNAT REDIRECT |
|
ACCEPT SNAT MASQUERADE |
ACCEPT DNAT REDIRECT |
mangle |
|
ACCEPT MARK TOS |
|
|
ACCEPT MARK TOS |
ICMP - Internet Control Message Protocol
Mit ICMP lässt sich das Verhalten von TCP- und UDP- Verbindungen beeinflussen.
Es dient dazu, Hosts günstigere Routen zu einem Ziel bekannt zugeben, über Routing-Probleme zu informieren oder Verbindungen wegen Problemen im Datennetz abzubrechen.
Viele ICMP Nachrichten, die einen Host erreichen sind nur für eine bestimmte Verbindung wichtig oder durch ein bestimmtest Paket ausgelöst. So sollte eine Redirect- oder Destination Unreachable-Nachricht sich bloß auf eine bestimmte Verbindung beziehen. Aber es nutzen leider alle ICMP- Implementierungen diese Info nicht. Wenn solche Nachrichten empfangen werden, wirken sie auf alle Verbindungen zwischen den beteiligten Hosts. Wenn ihr Hostals Antwort auf ein Paket zum Host PING.CO.AT ein Destination Unreachable erhält, weil dieses eine Paket PING.CO.AT nicht erreichen konnte, dann werden alle Verbindungen zu PING.CO.AT abgebrochen.
Ein Router sollten niemals einer Redirect Message glauben,
da es dadurch einem Angreifer möglich ist, den Verkehr zu sich selbst umzuleiten
UDP - User Datagram Protocol
UDP stellt Applikationen die Datagram-Dienste von IP direkt zur Verfügung. Die Paketzustellung erfolgt ungesichert: verlorene, duplizierte oder in der Reihenfolge vertauschte Pakete werden gar nicht erkannt, und auch die Erkennung von Übertragungsfehlern ist optional und eine Fehlerkorrektur nicht vorhanden.
UDP ist ungünstig, wenn es für umfangreiche Übertragungen genutzt wird. Da dem Protokoll eine Flusskontrolle fehlt, kann es das Netz lahm legen, indem es Router und Hosts mit Paketen überflutet. Durch diese Überflutungen steigen die Paketverluste im Netz sehr an.
UDP-Pakete sind viel leichter zu fälschen als TCP-Pakete, weil es weder Quittungs- noch Laufnummern gibt. Mann muss deswegen sehr vorsichtig sein, wenn man die Quelladresse solcher Pakete verwendet. Die Applikationen selbst müssen geeignete Sicherheitsvorkehrungen treffen.
Paketfilter und UDP
Es ist schwierig TCP-Verbindungen zu filtern. Es ist beinahe unmöglich, UDP-Pakete ohne Funktionalitätsverluste zu filtern. Dies liegt an dem grundsätzlichen Unterschied zwischen TCP und UDP: TCP ist verbindungsorientiert und merkt sich daher Zusammenhang, während UDP paketorientiert ist, und daher die Datagramme unabhängig voneinander betrachtet werden. Bei TCP erlaubt uns das ACK-Bit die Unterscheidung zwischen eingehenden und abgehenden Verbindungen. Doch bei UDP fehlt uns solches "Auswahlkriterium".
TCP - Transmission Control Protocol
TCP stellt gesicherte virtuelle Verbindungen bereit. Verlorene oder 'verstümmelte' Pakete werden noch mal übertragen und die Pakete in der gleichen Reihenfolge abgeliefert, in der sie gesendet wurden.
Die Reihenfolge der Pakete wird durch die Laufnummer bestimmt. Jedes übermittelte Byte wird gezählt. Alle TCP-Pakete, außer dem allerersten einer Sitzung, enthalten eine Quittungsnummer, was die Laufnummer des letzten in Folge korrekt empfangenen Byte zurückgibt. Die Startlaufnummer (initial sequence number) wird zeitabhängig zufällig bestimmt. Das sich die Startlaufnummer für neue Verbindungen ständig ändert, ist es TCP möglich, alte Pakete aus vorangegangenen Inkarnationen derselben virtuellen Verbindung zu erkennen.
Jede TCP-Nachricht enthält den 4-Tupel
<Quellsystem, Quellport, Zielsystem, Zielport>
Durch diese Kombination aus Quell- und Zielsystem und jeweiligen Port-Nummern wird sie eindeutig einer bestimmten virtuellen Verbindung zugeordnet.
Es ist nicht nur erlaubt, sondern durchaus üblich, mehrere verschiedene Verbindungen über die gleiche lokale Port-Nummer abzuwickeln. Solange sich Zielsystem oder Zielport dieser Verbindungen unterscheiden, gibt es keine Probleme.
Server-Prozesse, die einen Dienst über TCP anbieten,"lauschen" auf bestimmten Port-Nummern. Das nennt man TCP-listen. Über eine Übereinkunft haben die Server-Ports niedrige Nummern. Diese Übereinkunft wird allerdings nicht immer eingehalten, was zu Sicherheitsproblemen führen kann.
Die Port-Nummern der Standarddienste werden als bekannt vorausgesetzt.
Ein Port im Listen-Modus stellt im eigentlich eine halboffene Verbindung dar:
Nur Quellsystem und Quellport sind bekannt. Geht ein Paket mit einer Verbindungsanfrage ein, so werden die fehlenden Einträge ergänzt. Der Server-Prozess kann vom Betriebssystem dupliziert werden, so dass weitere Anfragen auf den selben Port auch behandelt werden können.
Port |
Dienst |
|
Smtp |
|
http |
|
nntp |
Die meisten TCP Versionen für UNIX Systeme stellen sicher, dass nur der root Port-Nummern unterhalb von 1024 nutzen kann. Dies sind die privilegierten Ports. Fremde System sollen der Echtheit von Informationen, die sie von diesen Ports erhalten, vertrauen können. Diese Einschränkung ist allerdings nur eine Konvention, deren Einhaltung von der Protokollspezifikation nicht verlangt wird. Die Konsequenz ist klar: Sie können privilegierten Ports nur dann trauen, wenn sie absolut sicher sind, dass das Quellsystem die Konvention einhält und korrekt verwaltet wird.
Die schon erwähnten Laufnummern haben auch einen gewissen Sicherheitseffekt:
Eine Verbindung kommt erst dann zustande, wenn beide Seiten jeweils den Empfang der Startlaufnummern quittiert haben.
Fazit
Vorteile
Nachteile
'Kleine' Fehler könnten schon fatale Folgen haben
Iptables ist im großen und ganzen eine ganz
nützliche Angelegenheit.Nicht nur, dass es kostenlos ist , Nein ist auch noch
verdammt sicher.Zwar sollte man eine gewisse fachliche Kompetenz mit bringen
aber wo muss man das nicht?Und wer sich schon mit den älteren Versionen z.B.
ipchains auseinandergesetz hat kann sieauch weiterhin einsetzen Dank den
Kompatibilitätsmodulen .Überhaupt die Sache mit den Modulen ist eine ganz
praktische Geschichte.Da es dadurch sehr leicht ist 'iptables' zu
erweitern. Und dadurch auch Zeit gespart werden kann. Da die Pakete nicht alle
Tabellen bzw. Chains durch laufen müssen.Aber leider können kleine
Aufmerksamkeitsfehler für große Schäden sorgen. Das System sollte schottendicht
sein, sonst bringen die besten Regeln und Filteroptionen auch nicht viel.
Quellenangabe
INTERNET
SONSTIGES
Referate über:
|
Datenschutz |
Copyright ©
2024 - Alle Rechte vorbehalten AZreferate.com |
Verwenden sie diese referate ihre eigene arbeit zu schaffen. Kopieren oder herunterladen nicht einfach diese # Hauptseite # Kontact / Impressum |