Shorewall (Shoreline Firewall) ist eine Firewall, die das System lehnt sich Netfilter (iptables / ipchains) des Linux-Kernels, für eine einfachere Verwaltung von erweiterten Netzwerk-Konfigurationen. Vor Beginn der Installation von Shorewall, müssen Sie zuerst deinstallieren Sie alle anderen Firewall. Beispiel: firestarter:

# apt-get remove --purge firestarter

# apt-get install shorewall shorewall-common shorewall-shell shorewall-doc dash

1) Partiamo con la configurazione del file interfaces:

# Gedit / etc / shorewall / interfaces

innerhalb kopieren wir dazu:

# Shorewall Version 3.0 - Sample-Schnittstellen für ein File-Interface-Konfiguration.
#
# / Etc / shorewall / interfaces
#
# Sie müssen einen Eintrag in dieser Datei für jede Netzwerk-Schnittstelle auf Ihrem
# Firewall-System.
#
# Spalten sind:
#
# ZONE Zone für diese Schnittstelle. Muss mit dem Namen eines
# Zonen definiert in / etc / shorewall / Zonen. Sie möglicherweise nicht
# Liste der Firewall-Zone in dieser Spalte.
#
# Wenn die Schnittstelle mehrere Zonen dient das sein wird
# Definiert in der Datei / etc / shorewall / hosts-Datei, sollten Sie
# Place "-" in dieser Spalte.
#
# Wenn es mehrere Schnittstellen zu den gleichen Bereichen,
# Sie müssen diese Liste in separate Eintragungen vornehmen:
#
# Beispiel:
#
# Loc eth1 --
# Loc eth2 --
#
# INTERFACE Name der Schnittstelle. Jede Schnittstelle kann nur aufgeführt
# Wenn in dieser Datei. Sie dürfen NICHT den Namen des
# Ein Alias (zB eth0: 0) hier zu sehen;
# # Http: / / www.shorewall.net / FAQ.htm faq18
#
# Sie können Platzhalter angeben. Zum Beispiel, wenn Sie
# Wollen Sie einen Eintrag vornehmen, die für alle gilt PPP
# Interfaces, verwenden Sie 'ppp +'.
#
# Es gibt keine Notwendigkeit, die Loopback-Interface zu definieren (lo)
# In dieser Datei.
#
# BROADCAST Die Broadcast-Adresse für das Teilnetz Um die
# Schnittstelle gehört. Für PTP-Schnittstellen, diese
# Blank.If linken Spalte ist die Schnittstelle verfügt über mehrere
# Adressen über mehrere Subnetze dann die Broadcast-Liste
# Adressen als Komma-separierte Liste.
#
# Wenn Sie den besonderen Wert "Verwendung zu erkennen", die Firewall
# Wird die Broadcast-Adresse ermitteln für Sie. Wenn Sie
# Aktivieren Sie diese Option, muss die Schnittstelle werden vor dem
# Die Firewall gestartet wird, müssen Sie iproute
# Installiert.
#
# Wenn Sie nicht möchten, geben Sie einen Wert für diese Spalte, sondern
# Sie wollen einen Wert in der Spalte Optionen, geben Sie geben
# "-" In dieser Spalte.
#
# OPTIONS Eine durch Kommas getrennte Liste von Optionen, einschließlich der
# Folgende:
#
# DHCP - Geben Sie diese Option, wenn eine der
# Die folgenden Bedingungen erfüllt sind:
# 1. die Schnittstelle seine IP-Adresse
# Über DHCP
# 2. Die Schnittstelle wird durch
# Ein DHCP-Server läuft auf der Firewall
# 3. Sie haben eine statische IP-Adresse, sondern in einem LAN
# Segment mit viel DHCP-Laptop
# Clients.
# 4. Die Schnittstelle ist eine Brücke mit
# Ein DHCP-Server an einem Port und DHCP
# Clients auf einem anderen Port.
#
# Norfc1918 - Diese Schnittstelle sollte nicht erhalten
# Alle Pakete, deren Quelle in einem
# Von den Bereichen nach RFC 1918 reserved
# (ZB private oder "nicht routbares"
# Adressen. Wenn Mangling oder
# Connection-Tracking-Spiel aktiviert ist in
# Ihre Kernel-Pakete, deren Ziel
# Adressen sind nach RFC 1918 reserviert sind
# Ebenfalls abgelehnt.
#
# Routefilter - wiederum auf Kernel-Filterung für diese Route
# Interface (Anti-Spoofing-Maßnahme). Dies
# Option kann auch aktiviert werden weltweit in
# Die Datei / etc / shorewall / shorewall.conf Datei.
#
# Logmartians - Biegen Sie an martian Kernel Logging (Protokollierung
# Der Pakete mit unmöglichen Quelle
# Adressen. Es wird vorgeschlagen, dass, wenn Sie
# Setzen Sie auf eine Schnittstelle, die routefilter
# Sie auch logmartians September. Diese Option
# Kann auch global in der Lage versetzt werden
# / Etc / shorewall / shorewall.conf Datei.
#
# Blacklist - Check-Pakete kommen auf dieser Schnittstelle
# Gegen die / etc / shorewall / blacklist
# file.
#
# Maclist - Verbindungsanforderungen von dieser Schnittstelle
# Gegen die Inhalte im Vergleich
# / Etc / shorewall / maclist. Wenn diese Option
# Angegeben ist, muss die Schnittstelle werden
# Eine Ethernet-Netzwerkkarte und müssen sich vor
# Shorewall gestartet wird.
#
# Tcpflags - Pakete ankommen dieser Schnittstelle werden
# Checked für bestimmte illegale Kombinationen
# TCP-Flags. Pakete gefunden zu haben
# Eine solche Kombination von Flags werden behandelt
# Je nach Einstellung der
# TCP_FLAGS_DISPOSITION nachdem
# Eingeloggt je nach der Einstellung der
# TCP_FLAGS_LOG_LEVEL.
#
# Proxyarp --
# Sets
# / Proc/sys/net/ipv4/conf / <interface> / proxy_arp.
# Verwenden Sie diese Option, wenn Sie
# Beschäftigt Proxy ARP durch Einträge in
# / Etc / shorewall / proxyarp. Diese Option ist
# Nur für die Verwendung mit Proxy ARP bestimmt
# Sub-Netzen beschrieben unter:
# Http: / / www.tldp.org / HOWTO / mini / Proxy-ARP-Subnetz
#
# Routeback - Wenn angegeben, darauf hinweisen, dass Shorewall
# Sollten Bestimmungen umfassen, mit denen
# Filtering ankommenden Verkehr auf dieser
# Interface wieder darauf hin, dass dieselbe Schnittstelle.
#
# Arp_filter - Wenn angegeben, diese Schnittstelle wird nur
# Reagieren auf ARP-Anfragen hat, die für die IP -
# Adressen auf der Schnittstelle konfiguriert werden.
# Falls nicht angegeben, kann die Schnittstelle
# Reagieren auf ARP-Anfragen hat, die für
# IP-Adressen auf einen der Firewall
# Interface. Die Schnittstelle sein müssen
# Wenn Shorewall gestartet wird.
#
Arp_ignore # [= <Nummer>]
# - Wenn angegeben, wird diese Schnittstelle
# Auf ARP-Anfragen auf der Grundlage
# Value of <Nummer>.
#
# 1 - Antwort nur dann, wenn die Ziel-IP-Adresse
# Lokale Adresse ist konfiguriert auf dem
# Incoming-Schnittstelle
#
# 2 - Antwort nur dann, wenn die Ziel-IP-Adresse
# Lokale Adresse ist konfiguriert auf dem
# Incoming-Schnittstelle und sowohl mit dem
# IP-Adresse des Absenders sind Teil von denselben
# Subnet auf dieser Schnittstelle
#
# 3 - antworten Sie nicht für lokale Adressen
# Konfiguriert mit Anwendungsbereich Gastgeber, nur
# Auflösungen für globalen und link -
# Adressen werden beantwortet
#
# 4-7 - reserviert
#
# 8 - antworten Sie nicht für alle lokalen
# Adressen
#
# Wenn keine <number> ist dann angesichts des Wertes
# 1 wird davon ausgegangen,
#
# WARNUNG - NICHT, arp_ignore
# Für jede Schnittstelle BETEILIGTEN Proxy ARP.
#
# Nosmurfs - Filter-Pakete für smurfs
# (Pakete mit einem Broadcast -
# Adresse als Quelle).
#
# Schlümpfe werden gegebenenfalls protokolliert werden auf
# Auf die Festlegung von SMURF_LOG_LEVEL in
# Shorewall.conf. Nach der Anmeldung, die
# Pakete werden verworfen.
#
# Detectnets - Taylors automatisch die Zone benannt
# In the Zone Spalte zur umfassen nur solche
# Hosts geroutet über die Schnittstelle.
#
# UPnP - Eingehende Ersuchen von dieser Schnittstelle
# Mai via UPNP neu zugeordnet werden (upnpd).
#
# WARNUNG: Setzen Sie die Option in Ihrem detectnets
# Internet Interface.
#
# Die Reihenfolge, in der Liste der Optionen ist nicht
# Signifikant, aber die Liste sollte keine eingebetteten weiß
# Space.
#
# Beispiel 1: Angenommen, Sie haben eth0 Verbindung mit einem DSL-Modem und
# Eth1 an Ihr lokales Netzwerk angeschlossen ist und dass Ihre
# Lokale Subnetz 192.168.1.0/24. Die Schnittstelle wird
# Sie die IP-Adresse per DHCP aus dem Subnetz
# 206191149192/27. Sie haben eine DMZ mit Subnetz
# 192.168.2.0/24 über eth2.
#
# Ihre Eingaben für diese Konfiguration würde so aussehen:
#
# Net eth0 dhcp 206191149223
# Local eth1 192.168.1.255
# Dmz eth2 192.168.2.255
#
Beispiel 2: Die gleiche Konfiguration ohne Angabe Broadcast
# Adressen ist:
#
# Net eth0 erkennen dhcp
# Loc eth1 erkennen
# Dmz eth2 erkennen
#
Beispiel 3: Sie haben eine einfache Dial-In-System ohne Ethernet
# Verbindungen.
#
# Net ppp0 --
#
# Weitere Informationen finden Sie unter
# # Interfaces http://shorewall.net/Documentation.htm
#
################################################## #############################
# ZONE INTERFACE BROADCAST OPTIONS
net eth0 erkennen routefilter, DHCP, tcpflags, logmartians, nosmurfs
# LAST LINE - ADD YOUR ENTRIES BEFORE THIS ONE - DO NOT REMOVE

Warnung: Wenn Sie einen Router statt Modem ändern eth0 mit ppp0 haben. In jedem Fall versuchen, auf unsere Bedürfnisse und Konfiguration anzupassen.

2) Konfigurieren Sie die Policy-Datei:

# Gedit / etc / shorewall / Politik

innerhalb kopieren wir dazu:

# Shorewall Version 3.0 - Sample-Policy-Datei für ein-Interface-Konfiguration.
#
# / Etc / shorewall / Politik
#
# Die Reihenfolge der Einträge in dieser Datei ist WICHTIG
#
# Diese Datei bestimmt, was mit eine neue Verbindung, wenn wir
# Lassen Sie sich nicht ein Spiel aus der / etc / shorewall / rules-Datei. Für jede
# Quelle / Ziel-Paar, wird die Datei in Ordnung, bis ein verarbeitetes
# Match gefunden wird ( "all" wird jedem Client oder Server übereinstimmen).
#
# INTRA-ZONE POLITIKBEREICHE sind vordefiniert
#
# Für $ FW für alle Zonen und in / etc / shorewall / Zonen definiert,
# Die Politik für Verbindungen aus der Zone zu sich selbst ist ACCEPT (ohne
# Protokollierung oder TCP-Verbindung Rate Limiting, kann aber überschrieben werden von einem
Anzahl der Einträge in dieser Datei. Das übergeordnete Eintrag muss explizit sein (kann nicht verwendet werden
# "All" in der SOURCE-oder DEST).
#
# Spalten sind:
#
# SOURCE Source-Zone. Muss der Name einer Zone definiert
# In / etc / shorewall / Zonen, $ FW oder "all".
#
# DEST Destination Zone. Muss der Name einer Zone definiert
# In / etc / shorewall / Zonen, $ FW oder "all"
#
# POLITIKBEREICHS wenn keine Übereinstimmung von den Vorschriften Datei gefunden wird. Müssen
# Be "Accept", "DROP", "Ablehnen", "fortsetzen" oder "Keine".
#
# ACCEPT - Nehmen Sie die Verbindung
# DROP - ignorieren die Verbindung Anfrage
# REJECT - Bei TCP, senden RST. Für alle anderen,
# Send "Port Unreachable" ICMP.
# QUEUE - Senden Sie die Anforderung an einen User-Space
#-Anwendung mit dem Ziel QUEUE.
# WEITER - Gehen Sie die Verbindung Anfrage Vergangenheit
# Alle anderen Vorschriften, die sie möglicherweise auch
# Match (wo die Quelle oder
# Destination Zone in dieser Regelung ist
# Eine Obermenge der SOURCE-oder DEST
# In diesem Politikbereich).
# Keine - Angenommen, es wird nie eine
# Pakete aus dieser Quelle
# Um diesen DEST. Shorewall wird nicht gesetzt
# Up jegliche Infrastruktur zum Umgang mit derartigen
# Pakete und Sie können noch keine
# Regeln mit dieser SOURCE und DEST in
# Die Datei / etc / shorewall / rules-Datei. Wenn
# _is_ Ein solches Paket empfangen, die
# Ergebnis ist nicht definiert. Niemand darf nicht
# Verwendet, wenn die SOURCE DEST oder Spalten
# Enthalten die Firewall Zone ($ FW) oder
# "Alle".
#
# Wenn diese Spalte enthält ACCEPT, DROP oder abzulehnen und einen
# Entsprechende gemeinsames Vorgehen definiert in
# / Etc / shorewall / Handlungen (oder
# / Usr / share / shorewall / actions.std), so dass Maßnahmen
# Wird, bevor die Politik in dieser Spalte mit dem Namen geltend gemacht werden
# Durchgesetzt wird.
#
# LOG LEVEL Falls angegeben, jede Verbindung im Rahmen des Standard behandelt
# Policy ist auf dieser Ebene protokolliert. Wenn er nicht angegeben, keine
# Log-Nachricht erzeugt wird. Siehe syslog.conf (5) für eine
# Beschreibung der Log-Level.
#
# Beginnend mit Shorewall Version 1.3.12, können Sie
# Auch ULOG angeben (muss in Großbuchstaben sein). Dies wird
# Log, um das Ziel ULOG und an ein separates Protokoll
Durch Verwendung von ulogd #
# (Http: / / www.gnumonks.org / projects / ulogd).
#
# Wenn Sie nicht wollen, um sich anzumelden, müssen aber noch die Angabe
# Nach der Kolonne, place "-" hier.
#
# LIMIT: BURST Werden sie angenommen, legt die maximale TCP-Verbindung und abstimmen
# Und die Größe eines akzeptablen platzen. Wenn nicht angegeben,
# TCP-Verbindungen werden nicht eingeschränkt.
#
Siehe http://shorewall.net/Documentation.htm # # Policy für weitere Informationen.
#
################################################## #############################
# SOURCE DEST POLICY LOG LEVEL LIMIT: BURST
$ FW net ACCEPT
net all DROP info
# Die folgenden Politik muss LAST
all all REJECT info
# LAST LINE - ADD Ihre Eingaben oberhalb dieser Linie - DO NOT REMOVE

3) Erstellen Sie die Konfigurationsdatei Zones:

# Gedit / etc / shorewall / Zonen

innerhalb kopieren wir dazu:

# Shorewall Version 3.0 - Sample-Datei für die Zonen ein-Interface-Konfiguration.
#
# / Etc / shorewall / Zonen
#
# Diese Datei bestimmt Ihr Netzwerk Zonen.
#
# Spalten sind:
#
# ZONE Short Name der Zone (5 Zeichen lang oder kürzer).
# Die Namen "alle" und "none" vorbehalten bleiben und darf nicht
# Used Namen der Zone.
#
# Wenn eine Zone ist in einer oder mehreren verschachtelten anderen Zonen,
# Sie können die (Unter-folgen) Name der Zone von ":" und ein
# Komma-separierte Liste der Muttergesellschaft Zonen. Die Muttergesellschaft
# Zonen müssen in früheren Aufzeichnungen in diesem Sinne
# Datei.
#
# Example:
#
# # ZONE TYPE OPTIONS
# IPv4
# B ipv4
# C: a, b ipv4
#
# Derzeit Shorewall verwendet diese Informationen nur für die Nachbestellung
# Zonen Liste, so dass Eltern Zonen angezeigt, nachdem ihre Teilgebiete in
# Die Liste. In der Zukunft kann Shorewall einen umfassenderen Einsatz
# Dieser Informationen.
#
# Type ipv4 - Dies ist die Standard-Shorewall Zonentyp und ist die
# Default, wenn Sie diese Spalte leer lassen, oder wenn Sie eingeben
# "-" In der Spalte. Die Kommunikation mit einigen Zone hostet
# Mai verschlüsselt werden. Verschlüsselte Gastgeber Stoffe werden mit
# Die "ipsec'option in / etc / shorewall / hosts.
# Ipsec - Kommunikation mit allen Hosts Zone ist verschlüsselt
# Ihr Kernel und iptables muss Politik
Match # support.
# Firewall
# - Bezeichnet die Firewall selbst. Sie müssen
# Genau ein "Firewall" Zone. Keine Optionen sind
# Erlaubte Zone mit einer "Firewall". Der Name, den Sie
# In der Spalte ZONE Geben Sie wird in der Schale aufbewahrt werden
# Variable $ FW, die Sie benutzen können, in anderen Konfiguration
# Dateien, um die Firewall ausgewiesenen Gebieten.
#
# OPTIONS Eine durch Kommas getrennte Liste von Optionen wie folgt:
# In Optionen,
OUT # OPTIONS = reqid <number> wo <number> angegeben
# Wenn setkey (8) die Verwendung der "einzigartig: <number>
# Option für die SPD Ebene.
#
# Spi = <Nummer> <number> wo ist der SPI von
# Die SA verwendet zum Verschlüsseln / Entschlüsseln Pakete.
#
# Proto = ah | ESP | IPCOMP
#
Mss. # = <Nummer> (setzt den MSS-Feld in TCP-Pakete)
#
# Mode = Transport | Tunnel
#
# Tunnel-src = <Adresse> [/ <mask>] (nur
# Erhältlich mit mode = Tunnel)
#
# Tunnel-dst = <Adresse> [/ <mask>] (nur
# Erhältlich mit mode = Tunnel)
#
# Strict Mittel, dass die Pakete müssen mit aller Regeln.
#
# Weiter Trennt Regeln, kann nur verwendet werden, mit
# Strict ..
#
# Beispiel:
# Mode = Verkehr, reqid = 44
#
# Die Optionen in der Spalte Optionen werden sowohl eingehende als auch angewendet
# Und ausgehenden Datenverkehr. Die in Optionen sind eingehende angewendet
# Traffic (zusätzlich zu den Optionen) und der OUT-OPTIONEN sind
# Angewandte ausgehenden Datenverkehr.
#
# Wenn Sie eine Spalte leer lassen, müssen aber noch einen Eintrag machen
# In einem folgenden Spalte "-" verwenden.
#
# THE Reihenfolge der Einträge in dieser Datei Wenn Sie wichtige NESTED HABEN ODER
# KUMULIERUNG Zonen definiert in / etc / shorewall / hosts.
#
# # See http://www.shorewall.net/Documentation.htm Nested
################################################## #############################
# ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw Firewall
net ipv4
# LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE

4) Konfiguration der Datei rules.

# Gedit / etc / shorewall / rules

innerhalb kopieren wir dazu:

# Shorewall Version 3.0 - Beispiel Regeln für ein File-Interface-Konfiguration.
#
# / Etc / shorewall / rules
#
# Regeln in dieser Datei zu regieren Verbindungsaufbau. Anträge und
# Antworten werden automatisch erlaubt mit Connection Tracking. Für jede
# Besondere (source, dest) zwei Zonen, sind die Regeln in der evaluierten
# In welcher Reihenfolge sie erscheinen in dieser Datei und das erste Spiel ist das ein
# Das ist bestimmt die Anordnung der Anfrage.
#
# In den meisten Orten, an denen eine IP-Adresse oder Subnetz ist erlaubt, Sie
# can preceed the address/subnet with "!" (z. B.! 192.168.1.0/24) zu
# Gibt an, dass die Regel zutrifft alle Adressen mit Ausnahme der Adresse / Subnetz
Da #. Beachten Sie, dass keine Leerzeichen zwischen "erlaubt ist!" und der
# Adresse / Subnetz.
#--------------------------
# ACHTUNG: Wenn Sie Maskerade oder Verwendung SNAT von einem lokalen System mit dem Internet
# Sie können nicht ein ACCEPT Regel für den Verkehr aus dem Internet zu ermöglichen
# Dieses System. Sie * müssen * eine DNAT-Regel verwenden.
#--------------------------
#
# Die Regeln Datei ist in Abschnitte unterteilt. Jeder Abschnitt wird eingeführt durch
# A "Section Header", das ist eine Zeile, die mit ABSCHNITT gefolgt vom
# Section name.
#
# Abschnitte sind wie folgt zu und müssen in der angegebenen Reihenfolge erscheinen:
#
# ESTABLISHED Pakete gegenüber dem Stand verarbeitet werden
# Mit dem in diesem Abschnitt.
#
# Die Aktionen nur in diesem Abschnitt sind erlaubt
# ACCEPT, DROP, REJECT, LOG und QUEUE
#
# Es ist eine implizite ACCEPT Regel eingefügt
# Am Ende dieses Abschnitts.
#
VERWANDTE # Pakete in den RELATED Zustand verarbeitet werden durch
# Regeln in diesem Abschnitt.
#
# Die Aktionen nur in diesem Abschnitt sind erlaubt
# ACCEPT, DROP, REJECT, LOG und QUEUE
#
# Es ist eine implizite ACCEPT Regel eingefügt
# Am Ende dieses Abschnitts.
#
# Neue Pakete in den neuen und ungültige Zustände sind
# Verarbeitete durch Regeln in diesem Abschnitt.
#
# ACHTUNG: Wenn Sie FASTACCEPT = Ja angeben, in shorewall.conf dann die
# ESTABLISHED und RELATED Abschnitte müssen leer sein.
#
# Hinweis: Wenn Sie nicht vertraut sind mit Netfilter bis zu dem Punkt, wo du bist
# Bequem mit den Unterschieden zwischen den einzelnen Verbindung
# Tracking Staaten, dann schlage ich vor, dass Sie den etablierten und weglassen
# Entsprechenden Abschnitte und legen Sie alle Ihre Regeln in dem neuen Abschnitt.
#
# Sie können jeden Abschnitt weglassen, dass Sie nicht brauchen. Wenn kein Abschnitt Header angezeigt
# In der Datei werden alle Regeln angenommen werden, um in der neuen Rubrik werden.
#
# Spalten sind:
#
# ACTION ACCEPT, DROP, REJECT, DNAT, DNAT-, REDIRECT, CONTINUE,
# LOG, QUEUE oder ein <action>.
#
# ACCEPT - erlauben die Verbindung Anfrage
# ACCEPT + - wie ACCEPT, sondern schließt auch die
# Verbindung aus etwaigen weiteren
# DNAT [-] oder REDIRECT [-] Regeln
# Nonat - Schließt die Verbindung von jedem
# Nachfolgende DNAT [-] oder REDIRECT [-]
# Regeln, aber nicht zu generieren in der Regel
# Um den Verkehr zu akzeptieren.
# DROP - die Anforderung ignorieren
# REJECT - verbieten den Antrag und zurück ein
# ICMP-unreachable oder ein RST-Paket.
# DNAT - Weiterleiten der Anforderung an einen anderen
# System (und ggf. eine weitere
# Port).
# DNAT - fortgeschrittene Anwender.
# Wie DNAT erzeugt, sondern nur die
# Iptables DNAT-Regel und nicht
# Der Begleiter ACCEPT Regel.
# SAME - Ähnliche DNAT, außer, dass die
# Port kann nicht neu zugeordnet werden und wenn
# Multiple-Server-Adressen sind
# Eingetragen, alle Anfragen von einem bestimmten
# Remote-System zur gleichen
# Server.
# SAME - fortgeschrittene Anwender.
# Wie SAME erzeugt, sondern nur die
# NAT iptables-Regel und nicht
# Der Begleiter ACCEPT Regel.
# REDIRECT - Leitet die Anfrage an einen lokalen
# Port auf der Firewall.
# REDIRECT --
# - Nur fortgeschrittene Nutzer.
# Wie REDIRET erzeugt, sondern nur die
# REDIRECT iptables-Regel und nicht
# Der Begleiter ACCEPT Regel.
#
# WEITER - (nur für Experten). Don't Prozess
# Eines der folgenden Regeln für diese
# (Source-Zone, Ziel-Zone). Wenn
# Die Quell-und / oder Ziel-IP -
# Adresse fällt in eine definierte Zone
# Später in / etc / shorewall / Zonen, diese
# Antrag auf Anschluss übergeben werden,
# Um die Regeln für die Sinne
# (Diesen) Zone (n).
# LOG - Melden Sie sich einfach das Paket und fortfahren.
# QUEUE - Queue das Paket an ein User-Space
#-Anwendung wie ftwall
# (Http: / / p2pwall.sf.net).
# <action> - Der Name einer Klage gemäß
# / Etc / shorewall / Aktionen oder in
# / Usr / share / shorewall / actions.std.
# <macro> - Der Name eines Makros in einem definierten
# Datei mit dem Namen Makro. <macro-name>. Wenn
# Das Makro nimmt eine Aktion
# Parameter (Sehen Sie in der Makro -
# Quellcode zu sehen, ob es PARAM in
# Die TARGET-Spalte), dann das Makro
# Name ist, gefolgt von "/" und die
# Action (ACCEPT, DROP, REJECT, ...)
# Um für die ersetzt werden
# Parameter. Beispiel: FTP / ACCEPT.
#
# Die Maßnahme kann optional gefolgt werden
# Mit dem ":" und einen Syslog-Log-Level (zB REJECT: info oder
# DNAT: debug). Dadurch wird das Paket an sein
# Eingeloggt auf der angegebenen Ebene.
#
# Wenn der ACTION Namen einer Klage gemäß
# / Etc / shorewall / Aktionen oder in
# / Usr / share / shorewall / actions.std dann:
#
# - Wenn der Log-Level ist, gefolgt von "!" dann alle Regeln
# In die Maßnahmen auf den Log-Level angemeldet sind.
#
# - Wenn die Log-Ebene ist nicht gefolgt von "!" dann nur
# Diese Regeln in die Aktion, die nicht angeben
# Protokollierung sind auf der angegebenen Ebene protokolliert.
#
# - Die besondere log level 'none! Unterdrücken der Protokollierung
# Durch die Einwirkung.
#
# Sie können auch angeben, ULOG (muss in Großbuchstaben sein), als ein
# Protokolliert, um das Protokoll Dies dient ULOG Ziel für das Routing
# Um ein separates Protokoll durch den Einsatz von ulogd
# (Http: / / www.gnumonks.org / projects / ulogd).
#
# Aktionen angegeben Holzeinschlag kann von einem verfolgt werden
# log tag (a string of alphanumeric characters)
# Gibt die Zeichenfolge, die von den generierten angehängt
# LOGPREFIX (in / etc / shorewall / shorewall.conf).
#
# Beispiel: ACCEPT: info: ftp würde auch 'ftp'
# Am Ende des Protokolls durch die generierten Präfix
# LOGPREFIX Einstellung.
#
# Quelle Quelle Hosts, auf denen die Regel gilt. Kann eine Zone
# Definiert in / etc / shorewall / Zonen, $ FW auf die eingestellte
# Firewall selbst, "all", "Alle +" oder "none" Wenn der ACTION
# Ist DNAT oder umleiten, Sub-Zonen von den angegebenen Bereichen
# Mai von der Regel, indem Sie die Zone ausgeschlossen werden
# Name mit "!" und eine durch Kommata getrennte Liste der Sub-Zonen
# Namen.
#
# Wenn "keine" entweder in der SOURCE-oder DEST verwendet
# Säule, ist die Regel ignoriert.
#
# Wenn "alle" ist entweder in der SOURCE-oder DEST verwendet Spalte
# Intra-Zonen-Verkehr nicht beeinträchtigt wird. Wenn "alle +" ist
# Used, intra-Zone Verkehr betroffen ist.
#
# Außer wenn "alle [+]" angegeben ist, können Kunden
# Weitere, um eine Liste der Subnetze und / oder Hosts eingeschränkt durch
# Anhängen ":" und eine durch Kommata getrennte Liste von Subnets
# Und / oder Hosts. Hosts können von IP-oder MAC angegeben werden
# Adresse, MAC-Adressen muss mit "~" und verwenden müssen
# "-" Als Trennzeichen.
#
# Hosts können als IP-Adressbereich angegeben werden, indem die
# Syntax <niedrige address> - <high address>. Dies erfordert, dass
# Ihr Kernel und iptables enthalten iprange Spiel zu unterstützen.
# Wenn Sie Kernel und iptables Match haben ipset Unterstützung
# Dann können Sie den Namen eines ipset durch vorangestellt geben "+".
Ipset # Der Name kann optional gefolgt von einer Zahl werden
# Von 1 bis 6 in eckigen Klammern ([]) eingeschlossen zu
# Gibt die Anzahl der Ebenen der Quelle Bindungen zu
# Abgestimmt.
#
# DMZ: 192.168.2.2 Host 192.168.2.2 in der DMZ
#
# Net: 155.186.235.0/24 Subnet 155.186.235.0/24 auf der
# Internet
#
# Loc: 192.168.1.1,192.168.1.2
# Hosts 192.168.1.1 und
# 192.168.1.2 im lokalen Bereich.
# Loc: ~ 00-A0-C9-15-39-78-Hosts in den Gebieten mit
# MAC-Adresse 00: A0: C9: 15:39:78.
#
# Net :192.0.2.11-192 .0.2.17
# Hosts in 192.0.2.11-192.0.2.17
# Der Netto-Zone.
#
# Alternativ können Kunden durch die Schnittstelle angegeben werden
# Durch das Anhängen ":" den Namen der Zone, gefolgt von der
# Interface-Namen. Zum Beispiel, loc: eth1 legt ein
# Client kommuniziert mit dem Firewall-System
# Durch eth1. Dies kann optional gefolgt werden von
# Ein weiterer Doppelpunkt (":") und eine IP / MAC / Subnet-Adresse
# Wie oben beschrieben (z. B. loc: eth1: 192.168.1.5).
#
DEST # Standort des Servers. Kann eine Zone definiert in
# / Etc / shorewall / Zonen, $ FW gesetzt, um die Firewall
# Selbst, "alle". "Alle +" oder "keine".
#
# Wenn "keine" entweder in der SOURCE-oder DEST verwendet
# Säule, ist die Regel ignoriert.
#
# Wenn "alle" ist entweder in der SOURCE-oder DEST verwendet Spalte
# Intra-Zonen-Verkehr nicht beeinträchtigt wird. Wenn "alle +" ist
# Used, intra-Zone Verkehr betroffen ist.
#
# Außer wenn "alle [+]" angegeben ist, kann der Server
# Weitere zu einem bestimmten Netzwerk, Host-oder eingeschränkt
# Interface durch Anhängen von ":" und der Netz-, Host-oder
# Interface. See above.
#
# Einschränkungen:
#
# 1. MAC-Adressen sind nicht zulässig.
# 2. In DNAT-Regeln werden nur IP-Adressen
# Erlaubt, kein FQDN-oder Subnet-Adressen
# Sind zulässig.
# 3. Sie können nicht gleichzeitig eine Schnittstelle und
# Eine Adresse.
#
# Wie in der Source-Spalte können Sie angeben, eine Reihe von
# Bis zu 256 IP-Adressen mit der Syntax
# <Erstes Ip> - <letzte ip>. Bei der Aktion ist DNAT oder DNAT-,
# Die Verbindungen werden an Adressen in der zugeordneten
# Range in einer Round-Robin-Mode.
#
# Wenn Sie Kernel und iptables Match haben ipset Unterstützung
# Dann können Sie den Namen eines ipset durch vorangestellt geben "+".
Ipset # Der Name kann optional gefolgt von einer Zahl werden
# Von 1 bis 6 in eckigen Klammern ([]) eingeschlossen zu
# Gibt die Anzahl der Ebenen der Ziel-Bindungen
# Um abgestimmt werden. Nur eine der SOURCE und DEST Spalten
# Mai geben Sie einen Namen ipset.
#
# Der Port, der Server lauscht, kann auf
# Inklusive und von IP-Adresse des Servers getrennt durch
# ":". Wird er weggelassen, wird die Firewall nicht die MoDifiy
# Destination Port. Ein Ziel-Port kann nur
# Inklusive bei der Aktion ist DNAT oder umzuleiten.
#
# Beispiel: loc: 192.168.1.3:3128 gibt einen lokalen
# Server unter der IP-Adresse 192.168.1.3 und auf Port
# 3128. Die Portnummer muss als ganze Zahl angegeben werden
# and not as a name from /etc/services.
#
# if the ACTION is REDIRECT, this column needs only to
# contain the port number on the firewall that the
# request should be redirected to.
#
# PROTO Protocol – Must be "tcp", "udp", "icmp", "ipp2p",
# "ipp2p:udp", "ipp2p:all" a number, or "all".
# "ipp2p*" requires ipp2p match support in your kernel
# and iptables.
#
# DEST PORT(S) Destination Ports. A comma-separated list of Port
# names (from /etc/services), port numbers or port
# ranges; if the protocol is "icmp", this column is
# interpreted as the destination icmp-type(s).
#
# If the protocol is ipp2p, this column is interpreted
# as an ipp2p option without the leading "–" (example
# "bit" for bit-torrent). If no port is given, "ipp2p" is
# assumed.
#
# A port range is expressed as <low port>:<high port>.
#
# This column is ignored if PROTOCOL = all but must be
# entered if any of the following ields are supplied.
# In that case, it is suggested that this field contain
# "-"
#
# If your kernel contains multi-port match support, then
# only a single Netfilter rule will be generated if in
# this list and the CLIENT PORT(S) list below:
# 1. There are 15 or less ports listed.
# 2. No port ranges are included.
# Otherwise, a separate rule will be generated for each
# port.
#
# CLIENT PORT(S) (Optional) Port(s) used by the client. If omitted,
# any source port is acceptable. Specified as a comma-
# separated list of port names, port numbers or port
# ranges.
#
# If you don't want to restrict client ports but need to
# specify an ORIGINAL DEST in the next column, then
# place "-" in this column.
#
# If your kernel contains multi-port match support, then
# only a single Netfilter rule will be generated if in
# this list and the DEST PORT(S) list above:
# 1. There are 15 or less ports listed.
# 2. No port ranges are included.
# Otherwise, a separate rule will be generated for each
# port.
#
# ORIGINAL DEST (0ptional) — If ACTION is DNAT[-] or REDIRECT[-]
# then if included and different from the IP
# address given in the SERVER column, this is an address
# on some interface on the firewall and connections to
# that address will be forwarded to the IP and port
# specified in the DEST column.
#
# A comma-separated list of addresses may also be used.
# This is usually most useful with the REDIRECT target
# where you want to redirect traffic destined for
# particular set of hosts.
#
# Finally, if the list of addresses begins with "!" then
# the rule will be followed only if the original
# destination address in the connection request does not
# match any of the addresses listed.
#
# For other actions, this column may be included and may
# contain one or more addresses (host or network)
# separated by commas. Address ranges are not allowed.
# When this column is supplied, rules are generated
# that require that the original destination address
# matches one of the listed addresses. This feature is
# most useful when you want to generate a filter rule
# that corresponds to a DNAT- or REDIRECT- rule. In this
# usage, the list of addresses should not begin with "!".
#
# See http://shorewall.net/PortKnocking.html for an
# example of using an entry in this column with a
# user-defined action rule.
#
# RATE LIMIT You may rate-limit the rule by placing a value in
# this colume:
#
# <rate>/<interval>[:<burst>]
#
# where <rate> is the number of connections per
# <interval> ("sec" or "min") and <burst> is the
# largest burst permitted. If no <burst> is given,
# a value of 5 is assumed. There may be no
# no whitespace embedded in the specification.
#
# Example: 10/sec:20
#
# USER/GROUP This column may only be non-empty if the SOURCE is
# the firewall itself.
#
# The column may contain:
#
# [!][<user name or number>][:<group name or number>][+<program name>]
#
# When this column is non-empty, the rule applies only
# if the program generating the output is running under
# the effective <user> and/or <group> specified (or is
# NOT running under that id if "!" is given).
#
# Examples:
#
# joe #program must be run by joe
# :kids #program must be run by a member of
# #the 'kids' group
# !:kids #program must not be run by a member
# #of the 'kids' group
# +upnpd #program named upnpd (This feature was
# #removed from Netfilter in kernel
# #version 2.6.14).
#
# Example: Accept SMTP requests from the DMZ to the internet
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# ACCEPT dmz net tcp smtp
#
# Example: Forward all ssh and http connection requests from the
# internet to local system 192.168.1.3
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# DNAT net loc:192.168.1.3 tcp ssh,http
#
# Example: Forward all http connection requests from the internet
# to local system 192.168.1.3 with a limit of 3 per second and
# a maximum burst of 10
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE
# # PORT PORT(S) DEST LIMIT
# DNAT net loc:192.168.1.3 tcp http – – 3/sec:10
#
# Example: Redirect all locally-originating www connection requests to
# port 3128 on the firewall (Squid running on the firewall
# system) except when the destination address is 192.168.2.2
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# REDIRECT loc 3128 tcp www – !192.168.2.2
#
# Example: All http requests from the internet to address
# 130.252.100.69 are to be forwarded to 192.168.1.3
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# DNAT net loc:192.168.1.3 tcp 80 – 130.252.100.69
#
# Example: You want to accept SSH connections to your firewall only
# from internet IP addresses 130.252.100.69 and 130.252.100.70
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# ACCEPT net:130.252.100.69,130.252.100.70 $FW \
# tcp 22
################################################################
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/
# PORT PORT(S) DEST LIMIT GROUP

# Reject Ping from the "bad" net zone.. and prevent your log from being flooded..

Ping/REJECT net $FW

# Permit all ICMP traffic FROM the firewall TO the net zone

ACCEPT $FW net icmp

#LAST LINE — ADD YOUR ENTRIES BEFORE THIS ONE — DO NOT REMOVE

In questo file vengono settate le regole di accesso, quindi è qui che a secondo delle esigenze di ognuno di noi vanno aperte le porte per i programmi che noi utilizziamo.  Facendo degli esempi con Amule, Deluge, Ftp, prima dell'ultima riga:

#LAST LINE — ADD YOUR ENTRIES BEFORE THIS ONE — DO NOT REMOVE

vanno inserite le regole:

# aMule
ACCEPT        net        $FW        tcp         4662
ACCEPT        $FW        net        tcp         4662
ACCEPT        net        $FW        udp        4672
ACCEPT        $FW        net        udp        4672
ACCEPT        net        $FW        udp        4665
ACCEPT        $FW        net        udp        4665

# Ftp modo passivo
ACCEPT          net             $FW             tcp             21
ACCEPT          $FW             net             tcp             21
ACCEPT          net             $FW             tcp             50000:50100
ACCEPT          $FW             net             tcp             50000:50100

#deluge
ACCEPT        net        $FW         tcp        6881:6889
ACCEPT        $FW        net         tcp        6881:6889

5) Per attivare shorewall all'avvio:

# gedit /etc/default/shorewall

e rimpiazzare "startup=0" con "startup=1"

6) Lanciare shorewall:

# shorewall start

7) Dopo aver fatto qualche modifica:

# shorewall restart

Per moltissime altre info, soprattutto più esaurienti e complete direttamente qua .

Post ähnlichen (oder fast alle):

  1. Skripts für Google Mail, um Mail von Google Mail zu holen ... ich
  2. File Cryptare Jeder von uns, mehr oder weniger, ist eifersüchtig auf ...
  3. Super Grub Disk su penna usb Super Grub Disk come si sa è utilissimo, è uno...
  4. Dateien verschlüsseln mit encfs es eine andere Möglichkeit außer dies für ...
  5. Mcrypt-cifrare file Questo è un piccolo trucchetto per cifrare velocemente un...

Tag: , ,

6 Risposte a “Shorewall installazione e configurazione”

  1. FussyPenguin scrive:

    A me pare inutile riportare tutta sta roba se poi ci sono solo due righe scarne di spiegazione…

    Bah,

  2. US Debian Iceweasel Debian IceWeasel 3.0.4 con Debian GNU / Linux Debian GNU / Linux
  3. Edmond schreibt

    @ FussyPenguin

    In realtà io ho riportato quella che può essere una configurazione base, per un uso più o meno immediato, e mi sembra che sia abbastanza esauriente :) Certamente, a secondo delle nostre esigenze di configurazione, di approfondimenti ce ne sarebbero tanti, ma per quello e meglio rimandare alle faq di shorewall, altrimenti si rischia di scrivere un volume lungo come quello di Guerra e Pace. Ciao ;)

  4. US Debian Iceweasel Debian IceWeasel 3.0.4 con Debian GNU / Linux Debian GNU / Linux
  5. newsert scrive:

    Ciao Edmond,
    dato che sei esperto in shorewall e lo uso anch io, ti posto un quesito a cui non so ancora rispondermi…..
    In shorewall e possibile differenziare i log in più file???

    da 2 regole tipo
    DNAT:info1 wan lan:10.0.0.2 tcp 22
    DNAT:info2 wan lan:10.0.0.2 tcp 110

    in modo da avere 2 file distinti quali
    /var/log/info1
    /var/log/info2

    grazie ciao…

  6. US Internet Explorer Internet Explorer 7.0 con Windows Windows XP
  7. Edmond schreibt

    Ciao newsert in questo momento non riesco a fare delle prove, spero di riuscire a risponderti al più presto, nel caso trovassi tu per primo la soluzione postala pure.

  8. US Debian Iceweasel Debian IceWeasel 3.0.12 con Debian GNU / Linux Debian GNU / Linux
  9. newsert scrive:

    Soluzione….

    Installare syslog-ng, nel file /etc/syslog-ng/syslog-ng.conf alla voce destinations aggiungere questo script

    destination df_dnatTCP22 { file(\/var/log/info1.log\); };
    filter f_dnat0 { match(\DNAT\); };
    filter f_dnat1 { match(\DPT=22\); };
    log {
    source(s_all);
    filter(f_dnat0);
    filter(f_dnat1);
    destination(df_dnatTCP22);
    };
    destination df_dnatTCP110 { file(\/var/log/info2.log\); };
    filter f_dnat0 { match(\DNAT\); };
    filter f_dnat1 { match(\DPT=110\); };
    log {
    source(s_all);
    filter(f_dnat0);
    filter(f_dnat1);
    destination(df_dnatTCP110);
    };

    Cosi ho risolto la mia necessità… comunque il sistema non ha una immediata elasticità come immaginavo, per ogni porta bisogna fare una regola e la cosa e un pochino complessa….
    Comunque a me basta e spero anche a voi…..

    Edmond scusa, hai mai usato fwlogwatch???
    e un bel programmino che sto usando per implementare shorewalll..

    CiauzzZzz

  10. US Firefox Mozilla Firefox 3.5.2 con Windows Windows XP
  11. Edmond schreibt

    Grazie per aver postato la soluzione, spero di poterla provare al più presto. Per quanto riguarda fwlogwatch non l'ho mai provato anche perchè non ho necessità di report per quanto riguarda la mia rete. Ciao ;)

  12. US Debian Iceweasel Debian IceWeasel 3.0.12 con Debian GNU / Linux Debian GNU / Linux

Schreiben Sie einen Kommentar

Optimiert für Mozilla Firefox