Eine Firewall Basic Script, Linux als Workstation

Bisher haben wir vor allem über die Verwendung von iptables Filteroptionen gelernt. Ich werde nun Aufbau einer kleinen Firewall-Skript, das ich glaube, sollte standardmäßig bei der Installation einer Linux-Distribution.
Standardmäßig sind alle Linux-Distributionen das Standard-policy ACCEPT auf alle Filter-Ketten. Auch auf eine Standard-Installation, lassen die meisten Linux-Distributionen eine Menge von Diensten ausgeführt werden. Wenn Sie eine alte Linux-Distribution zu installieren und zu entscheiden, zum Mittagessen zu gehen, nachdem Sie müssen nur ohne Firewall gebootet und mit einer öffentlichen IP-Adresse, bestehen gute Aussichten, die von der Zeit haben Sie die Suppe gegessen, ein Rootkit ist bereits auf Ihrem Computer.
Werfen wir einen Blick auf die folgenden einfachen Skript:

  

#! / bin / bash
# Variable $ IPT zuweisen mit dem Befehl iptables
IPT = / sbin / iptables
# set Politik auf jede Kette
Iptables-P INPUT DROP
Iptables-P FORWARD DROP
Iptables-P OUTPUT ACCEPT # default, sondern legen Sie es trotzdem
# alle Regeln in der Tabelle filter
Iptables-F
# Verkehr erlauben auf das Loopback-Interface
$ IPT-A INPUT-i lo-j ACCEPT
# ICMP-Verkehr
$ IPT-A INPUT-p icmp-j ACCEPT
# eingehender DNS-Verkehr
$ IPT-A INPUT-p udp - sport 53-j ACCEPT
# etablierten TCP-Verbindungen erlauben
$ IPT-A INPUT-p tcp! - syn-j ACCEPT

Also, was wir hier getan wurde, um die INPUT-und FORWARD-Ketten Politik DROP. Die OUTPUT-Kette Politik ist zu akzeptieren, die die Standard-Policy für diese Kette wird eingestellt.
Wir werden nicht angehängt, Regeln in die FORWARD-Kette, denn dies ist ein Personal Computer und nicht einen Router, so dass die Weiterleitung wird ausgeschaltet. Wir werden auch nicht angehängt, Vorschriften für die OUTPUT-Kette-alles, was wir stammen, ist OK.
Weiter, spülen wir alle bestehenden Regeln aus der Filter-Tabelle. An diesem Punkt nichts wirklich funktioniert. Einige Anwendungen verwenden TCP / IP-Verbindungen auf das Loopback-Interface, so ist es sicher für Pakete, die in der Schnittstelle "lo kommen lassen".
Wir haben gelernt, über ICMP-Attacken in Artikel 2. Allerdings ist es meine Auffassung, dass ICMP zugelassen werden sollte. Filtern von ICMP wird nicht zulassen, dass Sie Ihre Internet-Verbindung zu testen mit ping, traceroute, mtr, etc., und auch Path MTU Discovery wird nicht funktionieren, die eine sehr wichtige Protokoll in vielen Fällen.

DNS-Antworten Verwendung des UDP-Protokolls und Quell-Port 53. Beachten Sie, dass Sie die Zeile:

$ IPT-A INPUT-p udp - sport 53-j ACCEPT

eine potenzielle Sicherheitslücke. Wir haben es so aus, weil wir schon früher festgestellt, dass das ist, was wir denken, die Standard-Firewall sollte wie folgt aussehen. Allerdings, wenn Sie nicht einen DNS-Server läuft (was nicht für einen PC zu empfehlen ist), akzeptieren eingehende UDP-Verbindungen mit Quell-Port 53 nur von Ihrem Provider DNS-Servern (die, die Sie in / etc / resolv.conf). Zum Beispiel, wenn der Anbieter die DNS-Server 1.1.1.1 und 1.1.2.1 sind, ersetzen die früheren Einklang mit:

$ IPT-A INPUT-s 1.1.1.1-p udp - sport 53-j ACCEPT
$ IPT-A INPUT-s 1.1.2.1-p udp - sport 53-j ACCEPT

Auf diese Weise werden Sie sicherer.

 

Das letzte, was wir brauchen für unsere Internet-Verbindung zur Arbeit ist es, eingehende TCP-Verkehr für bereits etablierte TCP-Verbindungen zu ermöglichen. Besser formuliert, bestreitet jede eingehende TCP-Verkehr nicht geleitet wird und eine TCP-Verbindung, dass dieser Computer eingeleitet (Deny TCP-SYN-Pakete).


iproute2 und Traffic Control

iproute2 ist ein Software-Paket, das verschiedene Werkzeuge für die erweiterte Routing-, Tunnel bietet, und Flugsicherung.
iproute2 wurde ursprünglich von Alexey Kuznetsov entwickelt und ist gut für die Durchführung QoS in Linux-Kernel bekannt und wird derzeit von Stephen Hemminger gepflegt. Der primäre Ort für iproute2 ist http://linux-net.osdl.org/index.php/Iproute2und ihre wichtigsten Dokumentations-Projekt ist http://www.lartc.org.
Die wichtigsten Werkzeuge, die iproute2 Verfügung stellt, sind IP-und TK.
Netzwerk-Konfiguration: "ip" Tool

Die IP-Tool bietet die meisten der Netzwerkkonfiguration einer Linux-Box braucht. Sie können konfigurieren, Schnittstellen, ARP, Policy Routing, Tunnel, etc.
Jetzt, mit IPv4 und IPv6 IP kann so ziemlich alles, (auch eine Menge, die wir nicht in unserem besonderen Situationen tun müssen). Die Syntax von IP ist nicht schwer, und es gibt eine Menge an Dokumentation zu diesem Thema. Allerdings ist das Wichtigste zu wissen, was wir brauchen, und wenn wir sie brauchen.
Zunächst einmal ist ip das wichtigste Instrument brauchen wir für die dynamische Routing-Protokollen (BGP, OSPF und RIP) unter Linux zur Verfügung gestellt von Zebra, die später in diesem Artikel wird diskutiert.
Werfen wir einen Blick auf die IP-Befehl help, um zu sehen, welche IP-weiß:

root @ router: ~ # ip Hilfe

Die IP-Link-Befehl zeigt die Netzwerk-Konfiguration des Geräts, die mit IP-Link gewechselt werden. Dieser Befehl wird verwendet, um das Gerät zu ändern, Anstand und nicht die IP-Adresse.
Die IP-Adressen konfiguriert werden kann mit dem Befehl ip addr. Dieser Befehl kann benutzt werden, um eine primäre oder sekundäre (alias hinzufügen) IP-Adresse an ein Netzwerkgerät (ip addr add), die IP-Adressen für jedes Netzwerkgerät (ip addr show) oder IP-Adressen von Schnittstellen (ip löschen Anzeige del addr). IP-Adressen können auch gespült nach verschiedenen Kriterien, zB ip addr flush dynamischen werden alle Routen Flush hat, um den Kernel durch ein dynamisches Routing-Protokoll.
Nachbar / Arp Tabelle Verwaltung erfolgt über IP-Nachbarn, die ein paar Kommandos ausdrücklich gestattet hinzuzufügen, zu ändern, ersetzen, löschen und bündig ist.
IP-Tunnel wird verwendet, um Tunnel-Verbindungen zu verwalten. Tunnels kann gre, ipip, sitzen. Wir werden ein Beispiel sind später in dem Artikel darüber, wie IP-Tunnel zu bauen.
Die IP-Tool bietet eine Möglichkeit zur Überwachung von Strecken, Adressen und die Zustände der Geräte in Echtzeit. Dies kann erreicht werden mit Hilfe von IP-Monitor, rtmon und rtacct Befehle, die in das iproute2-Paket.
Ein sehr wichtiger und wahrscheinlich die am häufigsten verwendete Objekt die IP-Tool ist die IP-Route, die alle Vorgänge auf der Kernel-Routing-Tabelle tun können. Es enthält Befehle hinzufügen, ändern, ersetzen, löschen, zeigen, Flush, und nutzen Sie Routen.
Eines der Dinge, iproute2 mit Linux konfrontiert wurde sichergestellt, dass seine Popularität war Policy Routing. Dies kann mit Hilfe von IP und IP-Route der Regel in wenigen einfachen Schritten.

Traffic Control: tc

Die tc-Befehl ermöglicht es Administratoren, verschiedene QoS-Richtlinien in ihre Netze zu bauen den Einsatz von Linux anstelle von sehr teure Spezial-QoS-Maschinen. Mit Linux können Sie QoS-Umsetzung in allen Wegen eine spezielle QoS-Maschine kann und sogar noch mehr. Auch kann man eine Brücke mit einem guten PC mit Linux, die in eine sehr starke und sehr billig umgewandelt werden kann, widmet QoS-Maschine.
Dafür müssen QoS-Unterstützung im Linux-Kernel (CONFIG_NET_QOS = "Y" und CONFIG_NET_SCHED = "konfiguriert Y").

Classless Queuing Disciplines (Classless qdiscs)

Classless qdiscs sind die einfachsten, weil sie nur akzeptieren, Tropfen, Verzögerung oder Umschuldung Daten. Sie können zu einer Schnittstelle angeschlossen werden und kann nur durch ihre Form die gesamte Oberfläche.

Es gibt mehrere qdisc Implementierungen auf Linux, die meisten von ihnen, die in der Linux-Kernel.

  1. FIFO (pfifo und bfifo): Die einfachste qdisc, welche Funktionen von der First In, First Out Regel. FIFO-Algorithmen eine Warteschlange Größenbeschränkung (Puffergröße), die in Paketen für pfifo oder in Bytes für bfifo definiert werden kann.
  2. pfifo_fast: Die Standard-qdisc auf allen Linux-Schnittstellen. Es ist wichtig zu wissen, wie pfifo_fast Werke, so erklären wir es bald.
  3. Token Bucket Filter (TBF): Eine einfache qdisc, dass für das Abbremsen einer Schnittstelle zu einem bestimmten Zinssatz ist perfekt. Es kann kurze Salven über die angegebene Rate zu ermöglichen, ist sehr freundlich Prozessor.
  4. Stochastic Fair Queuing (SFQ): Einer der am häufigsten verwendeten qdiscs. SFQ versucht, ziemlich die Datenübermittlung zwischen einer Reihe von Strömungen zu verteilen.
  5. Verstärkte Stochastic Fair Queuing (ESFQ): Nicht in der Linux-Kernel enthalten, es funktioniert in der gleichen Weise wie SFQ mit der Ausnahme, dass der Benutzer mehrere Parameter des Algorithmus wie Tiefe (Fluss) zu begrenzen, Hash-Tabelle Größe Optionen steuern kann (im Original SFQ hardcoded) und Hash - Typen.
  6. Random Early Detection und Generic Random Early Detection (RED und Gretl): qdiscs geeignet für Daten-Backbone-Queuing, mit Datenraten von über 100 Mbps.

Es gibt mehr qdiscs als die, die ich hier angegeben. Jedoch nicht aus meiner Erfahrung, SFQ und ESFQ einen tollen Job, und sind die qdiscs, dass ich die besten Ergebnisse mit bekam.
Wie ich bereits sagte, ist der Standard qdisc auf Linux für alle Schnittstellen pfifo_fast. Normalerweise würde man denken, dass dies nur wie pfifo ist, was bedeutet, gibt es einen Puffer und Pakete gehen durch den Puffer mit der First In First Out Regel. Eigentlich ist es nicht ganz richtig. pfifo_fast hat 3 Bänder-0, 1 und 2-in die Pakete werden nach ihrer TOS-Byte gesetzt. Die Pakete werden von den Bands wie geschickt folgt:

  1. 0 Pakete in der Band haben die höchste Priorität
  2. Pakete in der 1-Band gesendet werden nur, wenn es keine Pakete in der 0-Band
  3. Pakete in der 2-Band haben die niedrigste Priorität und werden verschickt, wenn es keine Pakete in die 0 und 1 Bands.

Es ist wichtig zu wissen, denn dies ist ein Weg, um zu optimieren, wie die Pakete durch das Netz reisen Schnittstellen unserer Linux-Router.

Ein Artikel eingereicht von Philip A Clare


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Eine Firewall Basic Script, Linux als Workstation" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 254 users browsing the articles directory