Firewallscripts

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
mclien
Beiträge: 2298
Registriert: 06.12.2005 10:38:46
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Baustelle

Re: Firewallscripts

Beitrag von mclien » 22.06.2006 10:05:49

Hallo ein paar Fragen/ Anmerkungen zum Anfangspost:
k-pl hat geschrieben: Eine ausführlichere Anleitung befindet sich in der Tipp-Sektion.
Is weg :-(

Code: Alles auswählen

# ************
# * POLICIES *
# ************

iptables -P INPUT DROP

# *********
# * INPUT *
# *********

  # Soll nicht sein
  iptables -A INPUT -p TCP ! --syn -m state --state NEW -j DROP
ist das nicht schon mit der drop policy erschlagen?

Code: Alles auswählen

  
  # Vom Internet: Darf nicht sein
  iptables -A INPUT -i $IFACE_EXT  -s 10.0.0.0/8 -j DROP
  iptables -A INPUT -i $IFACE_EXT  -s 172.16.0.0/12 -j DROP
  iptables -A INPUT -i $IFACE_EXT  -s 192.168.0.0/24 -j DROP
Macht das nicht auch die DROP police bei INPUT?

Code: Alles auswählen

# **********
# * OUTPUT *
# **********

  # Ins lokale Netzwerk: Alles erlauben
  iptables -A OUTPUT -o $IFACE_INT -j ACCEPT

  # Ans Loopback: Alles erlauben
  iptables -A OUTPUT -o $IFACE_LO -j ACCEPT

  # Ins Internet : Alles erlauben
  iptables -A OUTPUT -o $IFACE_EXT -j ACCEPT

Ist das nicht identisch mit:

Code: Alles auswählen

 
iptables -P OUTPUT ACCEPT 
?

_alex_
Beiträge: 89
Registriert: 05.09.2006 13:18:55
Kontaktdaten:

Beitrag von _alex_ » 11.09.2006 09:07:11

Hallo, ich verwende zur Zeit das Firewall von http://harry.homelinux.org

Leider bekomme ich beim Start des Scriptes folgende Fehlermeldungen:

Code: Alles auswählen

debian:~# . /etc/init.d/firewall start
Starte IP-Paketfilter
iptables v1.2.11: Unknown arg `--to-destination'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `80'
Try `iptables -h' or 'iptables --help' for more information.
Aktiviere IP-Routing
Hier findet ihr mein Firewall Script:
http://nopaste.debianforum.de/4102

danke schonmal für eure Hilfe.

gruß Alex

Benutzeravatar
DynaBlaster
Beiträge: 957
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 11.09.2006 09:30:38

Code: Alles auswählen

#
# NAT fuer HTTP
#
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination
--to-destination erwartet eine IP-Adresse und optional einen Port als Parameter - als z.b.

Code: Alles auswählen

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80

nap
Beiträge: 31
Registriert: 01.02.2008 14:41:48

Re:

Beitrag von nap » 07.05.2008 23:22:59

Natas12 hat geschrieben:es ging mir nur darum, nicht mit "offener tür" durch die gegend zu fahren... ;o))
Ich muss dir leider sagen: Mit diesem "Script" aus praktisch-nutzlosen Regeln bist du absolut verwundbar, und praktisch alles kann nach aussen kommunizieren.

Nichts mit state NEW darf rein, wohl aber nach draussen? Was denn das für ne Logik?? Naja ... jeder muss sich sein Grab selbst schaufeln, viel Spass

pluvo

Re: Firewallscripts

Beitrag von pluvo » 07.05.2008 23:25:18

Immer diese Totengräber :mrgreen:
Beitrag von Natas12 am 09.11.2002, 19:04

nap
Beiträge: 31
Registriert: 01.02.2008 14:41:48

Re: Firewallscripts

Beitrag von nap » 07.05.2008 23:31:50

aha, und worin liegt nun die Begründung für deine von mir sinnübertragene und frei interpretierte Aussage

Code: Alles auswählen

If Thread.age > 2*365 { flame((autor)this.getlast()); }
?

Sind nachträgliche Anmerkungen, Korrekturen etc. hier nicht erlaubt? Is der Autor mittlerweile tot?

pluvo

Re: Firewallscripts

Beitrag von pluvo » 07.05.2008 23:47:29

nap hat geschrieben:Sind nachträgliche Anmerkungen, Korrekturen etc. hier nicht erlaubt? Is der Autor mittlerweile tot?
Ich wollte nur darauf hinweisen, dass das Zitat mehr als 5 Jahre alt ist. Sonst nichts :wink:
nap hat geschrieben:Ich muss dir leider sagen: Mit diesem "Script" aus praktisch-nutzlosen Regeln bist du absolut verwundbar, und praktisch alles kann nach aussen kommunizieren.

Nichts mit state NEW darf rein, wohl aber nach draussen? Was denn das für ne Logik?? Naja ... jeder muss sich sein Grab selbst schaufeln, viel Spass
Gut. Was ist daran schlecht?

mfg pluvo :)

nap
Beiträge: 31
Registriert: 01.02.2008 14:41:48

Re: Firewallscripts

Beitrag von nap » 08.05.2008 00:06:53

Naja, als Admin muss man _immer_ vom schlimmsten ausgehen, ergo ist nicht mit einer Viren/Malware-Freiheit der Clients zu rechnen, ergo darf nicht alles von drinnen nach draussen.

Zusätzlich dazu sollte man generell den paketstatus "INVALID" abfragen bzw. in alle Richtungen blocken, nicht zugeordnete und unbekannte Pakete haben in einem Netzwerk nix verloren und sind entweder Portscans, DoS oder Überbleibsel einer alten Verbindung des vorherigen IP-"Besitzers".

Also das Beispiel-"Script" würde ich niemandem empfehlen, es sei denn es bestehen Gelüste, den Rechner alsbald zu formatieren

pluvo

Re: Firewallscripts

Beitrag von pluvo » 08.05.2008 00:12:39

nap hat geschrieben:Naja, als Admin muss man _immer_ vom schlimmsten ausgehen, ergo ist nicht mit einer Viren/Malware-Freiheit der Clients zu rechnen, ergo darf nicht alles von drinnen nach draussen
Und wenn man einfach Port 80 benutzt? Das stößt man schnell an die Grenzen eines "einfachen" Paketfilters.

nap
Beiträge: 31
Registriert: 01.02.2008 14:41:48

Re: Firewallscripts

Beitrag von nap » 08.05.2008 00:15:06

Joar, für solche Sachen gibts dann ja aber HAVP, Squid oder gar die iptables-eigenen Funktionen wie zb. "--hex-string" etc.

Ein kleiner HAVP in Zusammenarbeit mit Squid ist nun wirklich nicht sooo schwer, mittels einer (massig im Internet auffindbaren) Anleitung geht das in maximal 2 Std, selbst für Anfänger

Chrissy
Beiträge: 1
Registriert: 05.05.2009 23:03:29

Re: Firewallscripts

Beitrag von Chrissy » 05.05.2009 23:06:50

Ist es denn nicht möglich, irgendwie einen Port 80 zu benutzen? Das wâre jetzt mal so mein erster gedanke. Aber vielleciht täusche ich mich ja auch ;-)

corny
Beiträge: 17
Registriert: 15.10.2007 13:25:45

Re: Firewallscripts

Beitrag von corny » 17.07.2009 14:29:26

Code: Alles auswählen

# Soll nicht sein
  iptables -A INPUT -p TCP ! --syn -m state --state NEW -j DROP
Was macht das genau? Ich versteh den Sinn da net genau, kann man das net wegschmeißen?

Ich möchte jetzt auch noch was erlauben

Code: Alles auswählen

iptables -A INPUT -p tcp -s $IP_EXT --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -s $IP_EXT --dport 80 -m state --state NEW -j ACCEPT
beisst sich das nicht mit der oberen Regel oder versteh ich die oben einfach falsch?

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Firewallscripts

Beitrag von Danielx » 17.07.2009 16:39:01

corny hat geschrieben:Was macht das genau?
Neue Verbindungen ohne SYN-Paket werden verworfen, da es das nicht geben darf.
Wenn dies doch vorkommt, ist eine Manipulation wahrscheinlich (oder evtl. ein Fehler aufgetreten).
corny hat geschrieben:Ich versteh den Sinn da net genau, kann man das net wegschmeißen?
Beachte das "!".
corny hat geschrieben:beisst sich das nicht mit der oberen Regel oder versteh ich die oben einfach falsch?
Nein, da beißt sich nichts.

Gruß,
Daniel
rot = Moderator

Benutzeravatar
OliverDeisenroth
Beiträge: 499
Registriert: 27.07.2003 22:34:31
Wohnort: Schwalmstadt
Kontaktdaten:

Re: Firewallscripts

Beitrag von OliverDeisenroth » 17.10.2013 20:08:31

Mein aktuelles Firewallscript für meinem vServer, als Ergänzung zu fail2ban:

Anpassen braucht man eigentlich nichts...

Code: Alles auswählen

#!/bin/sh

#1 SYN-Flood begrenzen:
/sbin/iptables -A INPUT -p tcp --syn -m limit --limit 2/s --limit-burst 30 -j ACCEPT

#2 Ping-Flood begrenzen:
/sbin/iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#3 Portscanner ausschalten:
/sbin/iptables -A INPUT -p tcp --tcp-flags ALL NONE -m limit --limit 1/h -j ACCEPT
/sbin/iptables -A INPUT -p tcp --tcp-flags ALL ALL -m limit --limit 1/h -j ACCEPT

#4 ungewoehnliche Flags verwerfen
/sbin/iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
/sbin/iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
/sbin/iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
/sbin/iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
/sbin/iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
/sbin/iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
Die SYN-Flood Zeile finde ich mitunter am Wichtigsten... maximal 30 Zugriffe innerhalb von 2 Sekunden. (Anti-DDoS)
Dies sind die Abenteuer des Betriebssystems Debian, das unterwegs ist, um in fremde Logdateien vorzustoßen, die noch nie ein Mensch vorher gesehen hat! 8)
Meine persönliche Homepage (läuft mit Ubuntu-Server)
...when apt is outdated, it is sometimes better to change the running system...!

debnuxer
Beiträge: 236
Registriert: 10.03.2012 12:12:21

Re: Firewallscripts

Beitrag von debnuxer » 19.10.2013 04:56:28

Was mir fehlt:

Eingehendes an Port 113 rejecten, das beschleunigt den Aufbau zu Servern, die eine Ident-Anfrage durchführen, z.B. einige Mailserver.

Code: Alles auswählen

/sbin/iptables -A INPUT -p tcp --syn --dport 113 -j REJECT --reject-with tcp-reset
Nach dem Loggen am Ende ausgehendes rejecten, damit lokale Anwendungen nicht in das Drop Timeout von der Default Policy laufen.

Code: Alles auswählen

/sbin/iptables -A OUTPUT -p tcp -j REJECT
/sbin/iptables -A OUTPUT -p udp -j REJECT
Eingehendes an Port 0 droppen, weil der nur für OS-Fingerprinting verwendet wird.

Code: Alles auswählen

/sbin/iptables -A INPUT -p tcp --dport 0 -j DROP
/sbin/iptables -A INPUT -p udp --dport 0 -j DROP
Das Leben ist wie ein überdimensionales Schachbrett.

Antworten