Ik ben nu bezig met een algemenen firewall te schrijven. Ik pak veel stukken van een anderen maar ik hoop dat het wat wordt. Als we nou allemaal er aan mee werken hoeft verder nooit iemand er meer hulp mee. Dus ik hoor graag van de mensen die zouden willen helpen.
Verwijderd
Ik heb mijn oBSD firewall config script hier ooit eens gepost..... Staat geloof ik ook nog op http://ronald.bitfreak.net/ipf.rules
Daar kun je wel mee beginnen
Zie ook de search, meerdere mensen hebben al eens firewall scripts hier geplaatst
Daar kun je wel mee beginnen
Zie ook de search, meerdere mensen hebben al eens firewall scripts hier geplaatst
Op zich een leuk idee, alleen niet iedereen heeft dezelfde eisen voor een firewall!
Dus zul je toch altijd moeten aanpassen!
Maar verder een leuk idee ...
Mijn firewall is alleen niet interessant, dit is een rip-off van Trinity-os met wat aanpassingen.
Dus zul je toch altijd moeten aanpassen!
Maar verder een leuk idee ...
Mijn firewall is alleen niet interessant, dit is een rip-off van Trinity-os met wat aanpassingen.
pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem
http://people.unix-fu.org/andreasson/
Hier heb ik er een van daan gehaald ik heb hem al een beetje aangepast hij werkt via dhcp dus dat is wel lekker en forward meteen. Verder vraag ik mij af hoe je een bepaalde port nu nog kan forwarden.
#!/bin/sh
#
# rc.firewall - DHCP IP Firewall script for 2.4.x
#
# Author: Oskar Andreasson <blueflux@koffein.net>
# (c) of BoingWorld.com, use at your own risk, do whatever you please with
# it as long as you don't distribute this without due credits to
# BoingWorld.com
#
###########
# Configuration options, these will speed you up getting this script to
# work with your own setup.
#
# your LAN's IP range and localhost IP. /24 means to only use the first 24
# bits of the 32 bit IP adress. the same as netmask 255.255.255.0
#
LAN_IP_RANGE="192.168.0.0/24"
LAN_IP="192.168.0.100/32"
LAN_BCAST_ADRESS="192.168.0.255/32"
LOCALHOST_IP="127.0.0.1/32"
INET_IFACE="eth0"
LAN_IFACE="eth1"
IPTABLES="iptables"
#########
# Load all required IPTables modules
#
#
# Needed to initially load modules
#
#/sbin/depmod -a
#
# Adds some iptables targets like LOG, REJECT and MASQUARADE.
#
#/sbin/modprobe ipt_LOG
#/sbin/modprobe ipt_REJECT
#/sbin/modprobe ipt_MASQUERADE
#
# Support for owner matching
#
#/sbin/modprobe ipt_owner
#
# Support for connection tracking of FTP and IRC.
#
#/sbin/modprobe ip_conntrack_ftp
#/sbin/modprobe ip_conntrack_irc
#
# Enable ip_forward, this is critical since it is turned off as defaul in Linux.
#
echo "1" > /proc/sys/net/ipv4/ip_forward
#
# Dynamic IP users:
#
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr
#
# POSTROUTING chain in the nat table
#
#$IPTABLES -t nat -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
#
# Bad TCP packets we don't want
#
$IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
$IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
#
# Accept the packets we actually want to forward
#
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "
#
# Set default policies for the INPUT, FORWARD and OUTPUT chains
#
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#
# Create separate chains for ICMP, TCP and UDP to traverse
#
$IPTABLES -N icmp_packets
$IPTABLES -N tcp_packets
$IPTABLES -N udpincoming_packets
#
# The allowed chain for TCP connections
#
$IPTABLES -N allowed
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP
#
# ICMP rules
#
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 0 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 5 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
#
# TCP rules
#
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 110 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 10000 -j allowed
#
# UDP ports
#
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 123 -j ACCEPT
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 2074 -j ACCEPT
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 4000 -j ACCEPT
#
# PREROUTING chain.
#
# Do some checks for obviously spoofed IP's
#
$IPTABLES -t nat -A PREROUTING -i $INET_IFACE -s 192.168.0.0/16 -j DROP
$IPTABLES -t nat -A PREROUTING -i $INET_IFACE -s 10.0.0.0/8 -j DROP
$IPTABLES -t nat -A PREROUTING -i $INET_IFACE -s 172.16.0.0/12 -j DROP
#
# INPUT chain
#
# Take care of bad TCP packets that we don't want
#
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#
# Rules for incoming packets from the internet
#
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets
#
# Rules for special networks not part of the Internet
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BCAST_ADRESS -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $INET_IFACE -d $LOCALHOST_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LOCALHOST_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "
#
# OUTPUT chain
#
$IPTABLES -A OUTPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
$IPTABLES -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A OUTPUT -p ALL -s $LOCALHOST_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "
Hier heb ik er een van daan gehaald ik heb hem al een beetje aangepast hij werkt via dhcp dus dat is wel lekker en forward meteen. Verder vraag ik mij af hoe je een bepaalde port nu nog kan forwarden.
#!/bin/sh
#
# rc.firewall - DHCP IP Firewall script for 2.4.x
#
# Author: Oskar Andreasson <blueflux@koffein.net>
# (c) of BoingWorld.com, use at your own risk, do whatever you please with
# it as long as you don't distribute this without due credits to
# BoingWorld.com
#
###########
# Configuration options, these will speed you up getting this script to
# work with your own setup.
#
# your LAN's IP range and localhost IP. /24 means to only use the first 24
# bits of the 32 bit IP adress. the same as netmask 255.255.255.0
#
LAN_IP_RANGE="192.168.0.0/24"
LAN_IP="192.168.0.100/32"
LAN_BCAST_ADRESS="192.168.0.255/32"
LOCALHOST_IP="127.0.0.1/32"
INET_IFACE="eth0"
LAN_IFACE="eth1"
IPTABLES="iptables"
#########
# Load all required IPTables modules
#
#
# Needed to initially load modules
#
#/sbin/depmod -a
#
# Adds some iptables targets like LOG, REJECT and MASQUARADE.
#
#/sbin/modprobe ipt_LOG
#/sbin/modprobe ipt_REJECT
#/sbin/modprobe ipt_MASQUERADE
#
# Support for owner matching
#
#/sbin/modprobe ipt_owner
#
# Support for connection tracking of FTP and IRC.
#
#/sbin/modprobe ip_conntrack_ftp
#/sbin/modprobe ip_conntrack_irc
#
# Enable ip_forward, this is critical since it is turned off as defaul in Linux.
#
echo "1" > /proc/sys/net/ipv4/ip_forward
#
# Dynamic IP users:
#
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr
#
# POSTROUTING chain in the nat table
#
#$IPTABLES -t nat -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
#
# Bad TCP packets we don't want
#
$IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
$IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
#
# Accept the packets we actually want to forward
#
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "
#
# Set default policies for the INPUT, FORWARD and OUTPUT chains
#
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#
# Create separate chains for ICMP, TCP and UDP to traverse
#
$IPTABLES -N icmp_packets
$IPTABLES -N tcp_packets
$IPTABLES -N udpincoming_packets
#
# The allowed chain for TCP connections
#
$IPTABLES -N allowed
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP
#
# ICMP rules
#
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 0 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 5 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
#
# TCP rules
#
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 110 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 10000 -j allowed
#
# UDP ports
#
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 123 -j ACCEPT
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 2074 -j ACCEPT
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 4000 -j ACCEPT
#
# PREROUTING chain.
#
# Do some checks for obviously spoofed IP's
#
$IPTABLES -t nat -A PREROUTING -i $INET_IFACE -s 192.168.0.0/16 -j DROP
$IPTABLES -t nat -A PREROUTING -i $INET_IFACE -s 10.0.0.0/8 -j DROP
$IPTABLES -t nat -A PREROUTING -i $INET_IFACE -s 172.16.0.0/12 -j DROP
#
# INPUT chain
#
# Take care of bad TCP packets that we don't want
#
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#
# Rules for incoming packets from the internet
#
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets
#
# Rules for special networks not part of the Internet
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BCAST_ADRESS -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $INET_IFACE -d $LOCALHOST_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LOCALHOST_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "
#
# OUTPUT chain
#
$IPTABLES -A OUTPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
$IPTABLES -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A OUTPUT -p ALL -s $LOCALHOST_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "
Ik weet niet of het zinvol is hier, maar ik maak gebruik van een pmfirewall script. Die alles blokt, behalve poort 20-21 (FTP) en 80 (HTTP).
"The shell stopped unexpectedly and Explorer.exe was restarted."
Verwijderd
als je in staat bent om iets als PMFirewall te maken, maar dan nog duidelijker dan heb je iets leuks.Op zondag 16 september 2001 19:21 schreef jelmervos het volgende:
Ik weet niet of het zinvol is hier, maar ik maak gebruik van een pmfirewall script. Die alles blokt, behalve poort 20-21 (FTP) en 80 (HTTP).
Het moet wel transparant blijven waarmee je mee bezig bent, net als bij Freesco.
Ik gebruik PMFirewall al bijna een jaar: probleemloos. Mijn log staat vol met pogingen om poorten te benaderen (met scanners?), maar gehackt is ie nog nooit.
[wijsneus mode]Op zondag 16 september 2001 19:21 schreef jelmervos het volgende:
Ik weet niet of het zinvol is hier, maar ik maak gebruik van een pmfirewall script. Die alles blokt, behalve poort 20-21 (FTP) en 80 (HTTP).
Hoe wil je dan internetten
En gebruik maken van icq/mail/dns
[/wijsneus mode]
Eeuwige n00b
Internetten? Dat gaat via poort 80, dus geen probleem.Op zondag 16 september 2001 19:58 schreef fazer het volgende:
[..]
[wijsneus mode]
Hoe wil je dan internetten
En gebruik maken van icq/mail/dns![]()
[/wijsneus mode]
E-mail? Via de web-mail van een computer buiten je firewall.
Enkel ICQ en DNS zal inderdaad niet lukken.
I don't kill flies, but I like to mess with their minds. I hold them above globes. They freak out and yell "Whooa, I'm *way* too high." -- Bruce Baum
Poort 80 is alleen de poort op de server waar hij een verbinding op aanvraagd.. daarna word de aan de client toch een ander poortnummer doorgegeven waar de verbinding op gestart wordOp zondag 16 september 2001 21:21 schreef ajvdvegt het volgende:
[..]
Internetten? Dat gaat via poort 80, dus geen probleem.
E-mail? Via de web-mail van een computer buiten je firewall.
Enkel ICQ en DNS zal inderdaad niet lukken.
dus die poorten moeten ook open zijn...
Eeuwige n00b
ff een slim antwoord terug:Op zondag 16 september 2001 19:58 schreef fazer het volgende:
[..]
[wijsneus mode]
Hoe wil je dan internetten
En gebruik maken van icq/mail/dns![]()
[/wijsneus mode]
Iedereen mag alles vanaf het LAN (eth0). Firewall heb ik alleen voor mensen vanaf buitenaf (Internet) (eth1).
Ik dacht dat dat wel duidelijk was.
"The shell stopped unexpectedly and Explorer.exe was restarted."
Verwijderd
gShield ( http://muse.linuxmafia.org/ ) is een heel erg uitgebreide firewall. Daar zijn natuurlijk wel stukken uit te gebruiken.
Verder lijkt me het handig om de config (variabelen) bovenin het script te plaatsen of in een apart bestand.
Ondersteuning voor 1, 2, 3 of 4 nics zou ik ook erg op prijs stellen. Heb dat voor 3 nics op basis van gShield al wel eens gemaakt, maar de routing was toen nog niet oke.
Waarom 4 nics ? Ik heb 3 ip adressen die via @home DHCP worden geconfigureerd en 1 interne kaart.
De mogelijkheid om de firewall te laten werken zonder experimentele modules zou ook prettig zijn, aangezien die iptables patch-o-matic zooi hier toch niet compileert.
[edit]
Zit ik net de voorbeelden op die site te bekijken, komt me de firewall wel heel erg bekend voor. Die site had Doggie dus al gevonden. Maar weggehaald dus ..
Verder lijkt me het handig om de config (variabelen) bovenin het script te plaatsen of in een apart bestand.
Ondersteuning voor 1, 2, 3 of 4 nics zou ik ook erg op prijs stellen. Heb dat voor 3 nics op basis van gShield al wel eens gemaakt, maar de routing was toen nog niet oke.
Waarom 4 nics ? Ik heb 3 ip adressen die via @home DHCP worden geconfigureerd en 1 interne kaart.
De mogelijkheid om de firewall te laten werken zonder experimentele modules zou ook prettig zijn, aangezien die iptables patch-o-matic zooi hier toch niet compileert.
[edit]
Zit ik net de voorbeelden op die site te bekijken, komt me de firewall wel heel erg bekend voor. Die site had Doggie dus al gevonden. Maar weggehaald dus ..
Verwijderd
hier wat tipjes dat ik graag zou zien in een firewall.
Auto port detection *web/ftpservers ed.*
Leuke trayicon zoals
/
/
/
ed.
Beknopt overzich aanvallen.
Geen irrie popup's of msg's (dat veel wel hebben.)
Mischien leuk om er ook een popup closer ingebouwd wordt dan is het een connectie en popup firewall
Auto port detection *web/ftpservers ed.*
Leuke trayicon zoals
Beknopt overzich aanvallen.
Geen irrie popup's of msg's (dat veel wel hebben.)
Mischien leuk om er ook een popup closer ingebouwd wordt dan is het een connectie en popup firewall
Ik ben toen ook begonnen met Tweakos en dat is ook nooit iets geworden ik hoop dat dit wel iets wordt het lijkt mij erg gaaf om mee te werken aan een project als dit en ook veel inzet te zien van de anderen mensen. :-)
We hebben het hier over een server firewall als ik het me zo bekijk, dus trayicons enzo zullen er niet in komenOp maandag 17 september 2001 13:25 schreef Xtentic het volgende:
hier wat tipjes dat ik graag zou zien in een firewall.
Auto port detection *web/ftpservers ed.*
Leuke trayicon zoals/
/
/
ed.
Beknopt overzich aanvallen.
Geen irrie popup's of msg's (dat veel wel hebben.)
Mischien leuk om er ook een popup closer ingebouwd wordt dan is het een connectie en popup firewall
Verwijderd
JammerOp maandag 17 september 2001 13:38 schreef Ritch het volgende:
[..]
We hebben het hier over een server firewall als ik het me zo bekijk, dus trayicons enzo zullen er niet in komen
Verwijderd
Dat is dus voor ipchains en (nog) niet voor iptables. Zie http://www.linux-firewall-tools.com/linux/notices.htmlOp maandag 17 september 2001 20:37 schreef JVaags het volgende:
www.linux-firewall-tools.com
Nog niet gemoend volgens mij; en het voorbeeld dat ik ga volgen als ik iptables besluit te gebruiken => http://my.netfilter.se/
pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem
Verwijderd
Ook een leuk script :
http://projectfiles.com/firewall/
bovenaan vul je de variabelen in ,
net zo simpel als freesco, + je kan het net zo moeilijk maken als je wil.
goed gedocumenteerd op de site
http://projectfiles.com/firewall/
bovenaan vul je de variabelen in ,
net zo simpel als freesco, + je kan het net zo moeilijk maken als je wil.
goed gedocumenteerd op de site
Pagina: 1
Dit topic is gesloten.
![]()