MonMotha-Firewall-Script (IPTABLES)

07.02.2003, 18:24
Ehrenmitglied

Beiträge: 831
#1

Zitat

pingu postete
Ich verwende dzt. das MonMotha-Firewall-Script. Habe aber mangels Know-How nicht die Möglichkeit, die Qualität des Scriptes zu beurteilen.

Hier der Link:
http://monmotha.mplug.org/firewall/index.php
[/i]



Hi

ich habe mir dieses Script ausführlich angeschaut
Ich halte es für eines der Besten IPtablesausführungen die Privatleute und auch kleine Unternehmen für Ihre Firewall nutzen können.

http://monmotha.mplug.org/firewall/index.php

Für die Stabile Version 2.3.7 habe ich einen Zusatz geschrieben.

Die Benutzung läuft auf eigene Gefahr hinaus.

Erweiterungen sind Steahltscans zu unterbinden und viele Gefälschten Adressen am InternetInterface zu vernichten.

Fügt den Code auf Seite 6 vor # Let´s load it ! ein

Viel Erfolg

mfg poiin2000

Code


###### Change by BOARD.PROTECUS.DE http://board.protecus.de/t2937.htm ######
CLASS_D="224.0.0.0/4" #CLASS D Netz
CLASS_E="240.0.0.0/5" #CLASS E Netz
BROAD_SRC="0.0.0.0" #Broadcastabsender
BROAD_DEST="255.255.255.255" #Broadcastempfänger
CLASS_A_PRIV="10.0.0.0/8" #Privates A Netz
CLASS_B_PRIV="172.16.0.0/12" #Privates B Netz
CLASS_C_PRIV="192.168.0.0/16" #Privates C Netz
TEST_NET="192.0.2.0/24" #Test-Net-Bereich
LINK_LOCAL_NET="169.254.0.0/24" #Link-Lokal-Bereich
IPADDR="ServerIPvomInternetfallspermanent,ansonsten lanip" #RechnerIP

# Stealthscans ignorieren
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP

iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP

iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP

iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP

#Gefälschte Adressen
iptables -A INPUT -i $INET_IFACE -s $IPADDR -j DROP

iptables -A INPUT -i $INET_IFACE -s 127.0.0.1 -j DROP

iptables -A INPUT -i $INET_IFACE -s $CLASS_A_PRIV -j DROP

iptables -A INPUT -i $INET_IFACE -s $CLASS_B_PRIV -j DROP

iptables -A INPUT -i $INET_IFACE -s $CLASS_C_PRIV -j DROP

iptables -A INPUT -i $INET_IFACE -s $BROAD_DEST -j LOG

iptables -A INPUT -i $INET_IFACE -s $BROAD_DEST -j DROP

iptables -A INPUT -i $INET_IFACE -s $CLASS_D -j DROP

iptables -A INPUT -i $INET_IFACE -s $CLASS_E -j DROP

iptables -A INPUT -i $INET_IFACE -d $BROAD_SRC -j LOG

iptables -A INPUT -i $INET_IFACE -d $BROAD_SRC -j DROP

iptables -A INPUT -i $INET_IFACE -p ! udp -d $CLASS_D -j DROP

iptables -A INPUT -i $INET_IFACE -p udp -d $CLASS_D -j ACCEPT

iptables -A INPUT -i $INET_IFACE -s 0.0.0.0/8 -j DROP

iptables -A INPUT -i $INET_IFACE -s LINK_LOCAL_NET -j DROP

iptables -A INPUT -i $INET_IFACE -s TEST_NET -j DROP

###### Change by BOARD.PROTECUS.DE http://board.protecus.de/t2937.htm ######

__________
http://linux.regionnet.de/ - http://www.pf-lug.de/ - http://www.4logistic.de/ - http://www.pfenz.de
Dieser Beitrag wurde am 07.02.2003 um 18:27 Uhr von poiin2000 editiert.
Seitenanfang Seitenende
10.07.2003, 16:22
Member

Beiträge: 15
#2 Wenn ich mir diese Liste ansehe, fehlen hier aber noch einige "falsche" IP Adressen.
Das einzige, was ich an der Liste nicht verstehe, ist diese "Aggregated" und "Not Aggregated".
Dieser Beitrag wurde am 10.07.2003 um 16:22 Uhr von lagalopex editiert.
Seitenanfang Seitenende
11.07.2003, 01:25
Member
Avatar Emba

Beiträge: 907
#3 hab grad ma kurz drüber geschaut
sehr aufgeräumtes script

was mich stört evtl. als tip an user, die es benutzen wollen

das forwarding wird VOR dem setzen der drop policies aktiviert

dies sollte man erst aktivieren, wenn die rules fertig eingelesen wurden

greez
Seitenanfang Seitenende
11.07.2003, 01:48
Member
Avatar Xeper

Beiträge: 5291
#4 Was solln der ganze Kram mit 'stealth scans ignorieren'?

Wie soll der ftp server funktionieren wenn syn pakete ignoriert werden? Dann sollte man eher die Pakete ignorieren die bei ftp-data ankommen und keine syn flag haben. Nene ich mag mein Script ich glaube wenn ich das da lade funktioniert gar nichts mehr ;) Viel zu klein das dingen.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
11.07.2003, 10:10
Member
Avatar Emba

Beiträge: 907
#5 öhm xeper...

da werden doch keine pakete ignoriert, die nur das SYN flag gesetzt haben :confused:

hier wird doch nur geschaut, ob bei einem paket, was nicht konform ist, das SYN _und_ FIN/RST bit gesetzt ist - wenn ja, wirds verworfen

iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

normale Verbindungsversuche werden doch weiterhin angenommen
oder liege ich falsch?

greez
Seitenanfang Seitenende
11.07.2003, 11:41
Member
Avatar Xeper

Beiträge: 5291
#6 also für mich siehts so aus als ob alle Pakete die, die SYN,FIN flag besitzen verworfen werden. Vielleicht habsch au nen knick inner optik ;) Aber es sieht so aus.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
11.07.2003, 11:45
Member

Beiträge: 15
#7 Ja, ein normaler Verbindungsaufbau wird nur mit dem SYN gestartet. Man kann bei einigen BS aber aufgrund der Antwort auf ein SYN-FIN (eigentlich nicht korrekt) darauf schließen, ob der port offen ist oder nicht.

PS: Was meint ihr eigentlich zu der Liste mit den IPs, sollte man sowas benutzen?
Dieser Beitrag wurde am 11.07.2003 um 11:46 Uhr von lagalopex editiert.
Seitenanfang Seitenende
11.07.2003, 12:42
Member
Avatar Xeper

Beiträge: 5291
#8 Das mit den IPs ist blödsinn. Man sollte keine ips blocken sondern eher einfach zwischen internes netz und externes netz unterscheiden. Und auch solche scripts zu nutzen ist eigentlich auch Quatsch, jeder sollte sein eigenes schreiben was auch auf denjenigen abgestimmt ist. Bei mir sind Gegebenheiten die wiederum bei jemanden anders nicht sind usw. So würde mir dieses Script also gar nichts bringen. Und das mit den stealthports ist auch blödsinn. Wofür das ganze entweder ist ein Port offen oder zu. Das ergibt halt keinen sinn.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
11.07.2003, 14:45
Member

Beiträge: 15
#9

Zitat

Xeper postete
Das mit den IPs ist blödsinn.

Mehr wollte ich nicht wissen ;)

Zitat

Xeper postete
Man sollte keine ips blocken sondern eher einfach zwischen internes netz und externes netz unterscheiden. Und auch solche scripts zu nutzen ist eigentlich auch Quatsch, jeder sollte sein eigenes schreiben was auch auf denjenigen abgestimmt ist. Bei mir sind Gegebenheiten die wiederum bei jemanden anders nicht sind usw. So würde mir dieses Script also gar nichts bringen.

Hab auch mein eigenes, aber man kann von solchen Scripts bestimmt noch das ein oder andere lernen.

Zitat

Xeper postete
Und das mit den stealthports ist auch blödsinn. Wofür das ganze entweder ist ein Port offen oder zu. Das ergibt halt keinen sinn.

Naja, vielleicht will man einem, der keinen Zugang zu dem Port hat, erst garnicht zeigen, dass der eigentlich offen ist, halt nur für ihn nicht.
Und Stealth-Scans, sind ja nur da, um einfache Firewalls auszutricksen, so dass die nichts anzeigen.
Aber eine SYN-FIN Kombination, z.B., ist eh eine illegale Kombination von TCP-Flags, würde also eh irgenwann verworfen werden.
Seitenanfang Seitenende
11.07.2003, 15:11
Member
Avatar Xeper

Beiträge: 5291
#10 Naja wenn nen Port public ist, dann ist er halt public man sollte lieber den Dienst sicherer machen der da hinter steckt. Der Paketfilter selbst ist eigentlich gar nichts zum sichern eher zum kontrollieren.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
13.07.2003, 16:47
Member
Avatar Emba

Beiträge: 907
#11 xeper hat vollkommen recht, was die ports angeht

wenn ein port als stealthed angezeigt wird, ist das meiner meinung nach sogar gefährlicher, als würde er als "closed" durch einen paket filter angezeigt werden.

denn bei stealthed würde sich ein hacker eher die mühe machen, reinzukommen, da er ja da einen port hinter vermuten kann bzw. auf eine (löchrige) firewall hoffen kann

naja ansichtssache
ich verschicke immer port unreachable meldungen (=>closed)

greez
Seitenanfang Seitenende
14.07.2003, 05:58
Member

Beiträge: 15
#12 Bei tcp müsste aber ein RST verschickt werden...

Und es geht ja nicht darum, dass die Ports als stealth erkannt werden, sondern das der scan stealth ist (jedenfalls für einfache Firewalls/Paketfilter), bzw ungültige Flags kombiniert werden.
Seitenanfang Seitenende
04.09.2004, 12:01
Member

Beiträge: 15
#13 Hi, also folgendes ...

will mon mother auf knoppix 3.6 (hd) installieren. der linux rechner soll als router laufen. die 2. netzwerkkarte (eth0) ist mit dem hub verbunden. Die 1. Netzwerkkarte (eth1) ist gleich am dslmodem. am sind noch 3 XP systeme und ein win2k system. nun will ich dass alle rechner surfen können und der datenaustausch zwischen windows und linux rechner soll auch funzen. was ich halt erstmal hoffe, ist dass dies alles mit monmother funktioniert *g*.


nun wegen der config.
kann ich diese config nu so lassen?. weil meine netzwerkkarten sind ja auch 192.168.0.1 & 192.168.0.2! von daher wüsste ich net was ich noch grossartig einstellen müsse, plz help ........
MonMotha's Firewall 2.3.8-pre7


vielen dank.

Zitat

IPTABLES="/usr/sbin/iptables"# set to your iptables location, must be set
TCP_ALLOW="22"# TCP ports to allow (port<LOCIP)
UDP_ALLOW="68 6112 6119 4000"# UDP ports to allow (port<LOCIP)
INET_IFACE="eth1"# the interface your internet's on (one only), must be set
LAN_IFACE="eth0"# the interface(s) your LAN is on
INTERNAL_LAN="192.168.0.0/24 192.168.1.0/24"# The internal LAN (including DMZs but not censored hosts)
MASQ_LAN="192.168.0.0/24 192.168.1.0/24"# the internal network(s) to be masqueraded (this is overridden by MAC_MASQ)
SNAT_LAN=""# Internal networks/hosts to use static NAT (format is <internal ip or network>:<external ip>;) (this is overridden by MAC_SNAT)
DROP="TREJECT"# What to do with packets we don't want: DROP, REJECT, TREJECT (Reject with tcp-reset for TCP), LDROP (log and drop), LREJECT (log and reject), LTREJECT (log and reject with tcp-reset), ULDROP (ULOG and DROP)
DENY_ALL=""# Internet hosts to explicitly deny from accessing your system at all; format is "IP<LOCIP"
DENY_HOSTWISE_TCP=""# Specific hosts to deny access to specific TCP ports; format is "IP>PORT<LOCIP"
DENY_HOSTWISE_UDP=""# Specific hosts to deny access to specific UDP ports; format is "IP>PORT<LOCIP"
BLACKHOLE=""# People you don't want to have anything to do with (equivlent of my old TK_DROP). This is a bidirectional drop.
BLACKHOLE_DROP="DROP"# What to do for the blackholes (same options as DROP directive above)
ALLOW_HOSTWISE_TCP=""# Specific hosts allowed access to specific TCP ports; format is "IP>PORT<LOCIP"
ALLOW_HOSTWISE_UDP=""# Specific hosts allowed access to specific UDP ports; format is "IP>PORT<LOCIP"
TCP_FW=""# TCP port forwards, form is "SPORT;)PORT>DESTIP<LOCIP" <LOCIP may be omitted
UDP_FW=""# UDP port forwards, form is "SPORT;)PORT>DESTIP<LOCIP" <LOCIP may be omitted
MANGLE_TOS_OPTIMIZE="FALSE"# TOS "optimizations" on or off (TRUE/FALSE toggle)
DHCP_SERVER="FALSE"# Set to true if you run a DHCP server. DHCP clients do not need this. This allows broadcasts to the server from potential clients on the LAN to succeede.
BAD_ICMP="5 9 10 15 16 17 18"# ICMP messages to NOT allow in from internet
ENABLE="N"# Set to 'Y' when it's configured; this is for your own safety
@poiin2000

habe http://www.different-thinking.de/linux-nat-iptables.php durch gelesen ist easy wäre auch ne gute alternative zum routen aber so funzt der netzwerkmist zwischen win und linux net oder sehe ich das falsch `?
Dieser Beitrag wurde am 04.09.2004 um 12:31 Uhr von Bozzy editiert.
Seitenanfang Seitenende
04.09.2004, 17:24
Member
Avatar Xeper

Beiträge: 5291
#14 @Bozzy

Zitat

INET_IFACE="eth1"# the interface your internet's on (one only), must be set
Ist nicht richtig, du hast DSL und ich gehe davon aus das du dich einwählen musst - dann muss ppp0 dahin. eth1 stimmt nur dann wenn du eine direkt Verbindung (meistens mit statischer IP) hast, bei der du dich nichteinwählen musst.

Zitat

ENABLE="N"# Set to 'Y' when it's configured; this is for your own safety
Wie da schon beschrieben ist musst du das N durch ein Y ersetzen ;)

Zitat

habe http://www.different-thinking.de/linux-nat-iptables.php durch gelesen ist easy wäre auch ne gute alternative zum routen aber so funktioniert der netzwerkmist zwischen win und linux net oder sehe ich das falsch `?
Was ist der Netzwerkmist zwischen win und linux??
In diesem Tutorial wird nur beschrieben wie du mehrere Clients ans Internet bekommst, sprich wie du deine GNU/Linux Kiste als Router einsetzt.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: