firewall Script

Post Reply
Message
Author
hollowman
Posts: 3
Joined: 27. Oct 2000 15:52
Location: saarbrücken

firewall Script

#1 Post by hollowman »

Netzwerk: 5 Clients (Win98 - Win2000), LinuxServer als Router, DNS, Packetfilter, Dial-In over Isdn
Adressen : Netzwerk 192.168.10.0 Linuxserver: 192.168.10.1 , DHCP,Wins über Win2000 Server: 192.168.10.50

Ich hab mir folgendes Script geschrieben und wollte wissen ob jemand mal drüberschaut und mir evtl. Fehler anzeigt:
Für eure Hilfe und Anregungen vielen Dank

#löschen der alten Regeln
echo alte Regeln werden gelöscht...
ipchains -F

# Standardeinstellungen
echo setze Standardeinstellungen...
ipchains -P input DENY
ipchains -P forward DENY
ipchains -P output DENY
# ultimative Firewall

#Variabeln
echo setze definiert Variablen

intern=eth0
ipintern=192.168.10.2
extern=ippp0
ipextern=`/sbin/ifconfig ippp0 | grep inet | cut -d : -f 2 | cut -d \ -f 1`
echo $ipextern
sleep 5
Localnet=192.168.10.0/24
inet=0.0.0.0/0.0.0.0


#Loopback
echo setze Loopback interface...
ipchains -A input -i lo -j ACCEPT
ipchains -A output -i lo -j ACCEPT

#Intranet
echo setze Intranetzugriff
ipchains -A input -i $intern -s $Localnet -j ACCEPT
ipchains -A output -i $intern -d $Localnet -j ACCEPT

#Internet
echo setze Internetzugriff
# http
ipchains -A input -i $intern -p tcp -s $Localnet -d $inet www -j ACCEPT
ipchains -A forward -i $extern -p tcp -s $Localnet -d $inet www -j MASQ
ipchains -A output -i $extern -p tcp -s $ipextern -d $inet www -j ACCEPT
# smtp
ipchains -A input -i $intern -p tcp -s $Localnet -d $inet smtp -j ACCEPT
ipchains -A forward -i $extern -p tcp -s $Localnet -d $inet smtp -j MASQ
ipchains -A output -i $extern -p tcp -s $ipextern -d $inet smtp -j ACCEPT
# pop
ipchains -A input -i $intern -p tcp -s $Localnet -d $inet pop3 -j ACCEPT
ipchains -A forward -i $extern -p tcp -s $Localnet -d $inet pop3 -j MASQ
ipchains -A output -i $extern -p tcp -s $ipextern -d $inet pop3 -j ACCEPT
# nameserver allgemein optional
# ipchains -A input -i $intern -p udp -s $Localnet -d $inet domain -j ACCEPT
# ipchains -A forward -i $extern -p udp -s $Localnet -d $inet domain -j MASQ
# ipchains -A output -i $extern -p udp -s $ipexterb -d $inet domain -j ACCEPT
# nameserver lokalserver
ipchains -A input -s $Localnet 1024: -d $Ipintern 53 -p tcp -i $intern -j ACCEPT
ipchains -A output -s $Ipintern 53 -d $Localnet 1024: -p tcp -i $intern -j ACCEPT ! -y
# proxy-server
ipchains -A input -s $Localnet 1024: -d $Ipintern 3128 -p tcp -i $intern -j ACCEPT
ipchains -A output -s $Ipintern 3128 -d $Localnet 1024: -p tcp -i $intern -j ACCEPT ! -y

ipchains -A input -s $Localnet 1024: -d $Ipintern 8080 -p tcp -i $intern -j ACCEPT
ipchains -A output -s $Ipintern 8080 -d $Localnet 1024: -p tcp -i $intern -j ACCEPT ! -y

ipchains -A input -s $Localnet 1024: -d $Ipintern 8081 -p tcp -i $intern -j ACCEPT
ipchains -A output -s $Ipintern 8081 -d $Localnet 1024: -p tcp -i $intern -j ACCEPT ! -y

ipchains -A input -s $Localnet 1024: -d $Ipintern 1080 -p tcp -i $intern -j ACCEPT
ipchains -A output -s $Ipintern 1080 -d $Localnet 1024: -p tcp -i $intern -j ACCEPT ! -y

#Antwort aus dem Internet
ipchains -A input -d $inet 1024: -p tcp -i $extern -j ACCEPT ! -y
ipchains -A output -d $Localnet 1024: -p tcp -i $intern -j ACCEPT ! -y
ipchains -A input -d $inet 1024: -p udp -i $extern -j ACCEPT ! -y
ipchains -A output -d $Localnet 1024: -p udp -i $intern -j ACCEPT ! -y

#ftp
ipchains -A input -s $Localnet 1024: --destination-port 21 -p tcp -i $intern -j ACCEPT
ipchains -A forward -s $Localnet 1024: --destination-port 21 -p tcp -i $extern -j MASQ
ipchains -A output -s $Ipextern 1024: --destination-port 21 -p tcp -i $extern -j ACCEPT

ipchains -A input --source-port 21 -d $Ipextern 1024: -p tcp -i $extern -j ACCEPT ! -y
ipchains -A output --source-port 21 -d $Localnet 1024: -p tcp -i $intern -j ACCEPT ! -y

ipchains -A input --source-port 20 -d $Ipextern 1024: -p tcp -i $extern -j ACCEPT
ipchains -A output --source-port 20 -d $Localnet 1024: -p tcp -i $intern -j ACCEPT
ipchains -A input -s $Localnet 1024: --destination-port 20 -p tcp -i $intern -j ACCEPT ! -y
ipchains -A forward -s $Localnet 1024: --destination-port 20 -p tcp -i $extern -j ACCEPT ! -y
ipchains -A output -s $Ipextern 1024: --destination-port 20 -p tcp -i $extern -j ACCEPT ! -y

# icmp-acc
echo setze ICMP Einstellung...
ipchains -N icmp-acc
# Benutzerdefinierte Chain wird erstellt.
ipchains -A icmp-acc -p icmp --icmp-type echo-reply -j ACCEPT
ipchains -A icmp-acc -p icmp --icmp-type echo-request -j ACCEPT
ipchains -A icmp-acc -p icmp --icmp-type destination-unreachable -j ACCEPT
ipchains -A icmp-acc -p icmp --icmp-type source-quench -j ACCEPT
ipchains -A icmp-acc -p icmp --icmp-type time-exceeded -j ACCEPT
ipchains -A icmp-acc -p icmp --icmp-type parameter-problem -j ACCEPT

# icmp
echo setze ICMP Hauptrestriktionen
ipchains -A input -p icmp -j icmp-acc
ipchains -A forward -p icmp -j MASQ
ipchains -A output -p icmp -j icmp-acc

# Masquerading
echo Lade Masquerading Module.....
# Module für Masquerading werden geladen
insmod /lib/modules/2.2.10/ipv4/ip_masq_ftp.o
insmod /lib/modules/2.2.10/ipv4/ip_masq_irc.o
insmod /lib/modules/2.2.10/ipv4/ip_masq_quake.o
insmod /lib/modules/2.2.10/ipv4/ip_masq_raudio.o
insmod /lib/modules/2.2.10/ipv4/ip_masq_vdolive.o
insmod /lib/modules/2.2.10/ipv4/ip_masq_cuseeme.o
echo
echo Paketfilter aktiv
echo
Last edited by hollowman on 13. Nov 2000 14:30, edited 1 time in total.

Max

Re: firewall Script

#2 Post by Max »

2 Sachen fallen mir prompt auf. Den Rest habe ich mir jetzt nicht genauer angeguckt. sorry.

Alle icmp Rules stehen auf ACCEPT. Warum?? Welche würdest du sperren??
Keine Regeln gegen spoofing!

Gruss Max

riedel1
Posts: 2
Joined: 16. Aug 1999 19:35
Location: BS
Contact:

Re: firewall Script

#3 Post by riedel1 »

Hi,

wenn ich mich richtig erinnere muss icmp auf ACCEPT gesetzt werden, da sie sonst gesperrt sind.

Zum Script:
#ftp
ipchains -A input -s $Localnet 1024: --destination-port 21 -p tcp -i $intern -j ACCEPT
ipchains -A forward -s $Localnet 1024: --destination-port 21 -p tcp -i $extern -j MASQ
ipchains -A output -s $Ipextern 1024: --destination-port 21 -p tcp -i $extern -j ACCEPT
Warum MASQ und den ganzen rest?
Es reicht auch ein:
#ftp
ipchains -A input -s $Localnet 1024: --destination-port 21 -p tcp -i $intern -j ACCEPT
ipchains -A output -s $Ipextern 1024: --destination-port 21 -p tcp -i $extern -j ACCEPT

und:
udp ist nicht frei bei dir.

Mehr fällt mir momentan nicht auf
bye
Riedel -> www.riedelweb.de

hollowman
Posts: 3
Joined: 27. Oct 2000 15:52
Location: saarbrücken

Re: firewall Script

#4 Post by hollowman »

Ich bin ein Trottel die Antwort Paket mit Udp können nicht -y gesetzt werden. Das funzt
nur mit tcp (kontroll protokoll!!!) Danke für eure Anregungen hat mich schon ein Stück weiter gebracht. Ist gar nicht so einfach den Überblick zu behalten.

Thanx a lot :))

nafets

Re: firewall Script

#5 Post by nafets »

hier mal 'n script machen lassen.
http:\<!--no-->www.packetfilter.amotken.com\doit

die seite is echt klasse finde ich, hab ich auch schon oefters scripts generieren lassen *g*

sellmi

Re: firewall Script

#6 Post by sellmi »

deine seite geht woll nicht ???? ;)

Post Reply