xzibiz Skrevet 29. juli 2006 Del Skrevet 29. juli 2006 har installert slackware 10.2 kernel 2.6.X. Som eg kjører som router/brannmur ++ Men nå skal den ver med på et lan, og derfor skulle eg teste brannmuren.. Den virka ikkje... Kjører dette scriptet.. :: #!/bin/sh # IPT må peke mot der du har iptables installert. IPT="/usr/sbin/iptables" LANNET="10.0.0.0/24" LAN_IFACE="eth0" WAN_IFACE="eth1" WAN_IP="85.166.170.XX" OPEN_PORTS_TCP="21,22,23,53,80,113,1863,3724,5595,6667,8080,8798,27015,14644"" OPEN_PORTS_UDP="53,113" # Vi starter med å flushe og blokke alt! Og jeg mener alt :) $IPT -F $IPT -t nat -F $IPT -t mangle -F $IPT -X # Vi legger til noen saker i /proc systemet :) echo "1" > /proc/sys/net/ipv4/ip_forward echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects echo "0" > /proc/sys/net/ipv4/conf/all/secure_redirects echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses #echo "1" > /proc/sys/net/ipv4/tcp_syncookies echo "0" > /proc/sys/net/ipv4/tcp_ecn for i in /proc/sys/net/ipv4/conf/*; do echo "1" > $i/rp_filter done echo "1" > /proc/sys/net/ipv4/conf/all/log_martians $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP # Nå lager vi en rule som deler internett med de andre pc'ene du har. $IPT -t nat -A POSTROUTING -s $LANNET -d ! $LANNET -o $WAN_IFACE -j SNAT --to $WAN_IP $IPT -A FORWARD -s $LANNET -d ! $LANNET -j ACCEPT $IPT -A FORWARD -m state --state NEW -i $LAN_IFACE -s $LANNET -d ! $LANNET -j ACCEPT $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -i $WAN_IFACE -s ! $LANNET -j ACCEPT # Vi dropper noen scans.... som eks. XMAS Scan osv... $IPT -A INPUT -p tcp --tcp-flags ALL ALL -j DROP $IPT -A FORWARD -p tcp --tcp-flags ALL NONE -j DROP # Vi tillater 4 TCP koblinger pr. sekund, ingen flere! $IPT -N syn-flood $IPT -A INPUT -p tcp --syn -j syn-flood $IPT -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN $IPT -A syn-flood -j DROP # Nå må vi sette opp en state rules :) $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A INPUT -m state --state NEW -i ! $WAN_IFACE -j ACCEPT $IPT -A INPUT -m state --state INVALiD -j DROP # NEW state uten syn er sperret!, siden dette er mest sansynlig noe 'ondt'. $IPT -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP $IPT -A INPUT -p tcp --tcp-option ! 2 -j REJECT --reject-with tcp-reset # Vi lar $LAN_IFACE ha tilgang til alt... $IPT -A INPUT -i $LAN_IFACE -j ACCEPT # Vi tillater ECHO Requests. Det vil si Ping :) $IPT -A INPUT -p icmp --icmp-type 0 -j ACCEPT $IPT -A INPUT -p icmp --icmp-type 8 -j ACCEPT # Vi setter opp destination unreachable :) $IPT -A INPUT -p icmp --icmp-type 3 -j ACCEPT # Vi er hyggelig som tillater 'traceroute' :) $IPT -A INPUT -p icmp --icmp-type 11 -j ACCEPT $IPT -A INPUT -p icmp --icmp-type 30 -j ACCEPT # Vi tillater noen TCP porter :) $IPT -A INPUT -p tcp -m multiport --dport $OPEN_PORTS_TCP -m tcp -j ACCEPT # Vi tiltater noen UDP porter :) $IPT -A INPUT -p udp -m multiport --dport $OPEN_PORTS_UDP -m udp -j ACCEPT # Vi stenger for noen lokale ip'er som ikke er våre. $IPT -A FORWARD -s 192.168.0.0/16 -j DROP $IPT -A FORWARD -s 172.16.0.0/12 -j DROP #$IPT -A FORWARD -s 10.0.0.0/8 -j DROP $IPT -A INPUT -s 192.168.0.0/16 -j DROP $IPT -A INPUT -s 172.16.0.0/12 -j DROP #$IPT -A INPUT -s 10.0.0.0/8 -j DROP $IPT -A FORWARD -d 192.168.0.0/16 -j DROP $IPT -A FORWARD -d 172.16.0.0/12 -j DROP #$IPT -A FORWARD -d 10.0.0.0/8 -j DROP # Nå må vi huske å tillate OUTPUT:) $IPT -A OUTPUT -s $WAN_IP -j ACCEPT $IPT -A OUTPUT -s $LANNET -j ACCEPT $IPT -A OUTPUT -s 127.0.0.1 -j ACCEPT # Ferdig :) å ville eg teste.. Så eg begynte å fjerna portane den skal godta.. Men uansett kaforein eg fjerna virka alt ennå... Tog vekk port 80.., og eg kunne fremdeles surfe fritt. port 22 og eg kunne ennå ssh'a serveren. port 27015 og eg kunne ennå spela cs.. Någe eg gale.. Viss eg fjerner alle portene og blokker INPUT, OUTPUT og FORWARD stopper den jo alt samen.. Men eg finner ikkje ut ka det er... Alt har virka fint før.. Men vet ikkje ka det er nå.. Einaste eg har gjort siden den virka var å oppgradere kernelen fra 2.4 til 2.6.X... men trodde ikje det sko ha så møye å sei.. La te støtte for iptables når eg kompilerte.. Lenke til kommentar
Torbjørn Skrevet 30. juli 2006 Del Skrevet 30. juli 2006 Portene du snakker om går på INPUT table, så du mener surfe fritt på din server, ssh'e fritt på din server, spille cs fritt på din server går jeg ut fra? Det kunne høres ut som om du med "surfe fritt" mente surfe ut på internett fritt. Og det stopper ikke INPUT chain deg i å gjøre. Lenke til kommentar
xzibiz Skrevet 30. juli 2006 Forfatter Del Skrevet 30. juli 2006 Ja eg kan surfe fritt på internett, spille online cs, ssh'a serverar utfor mitt nettverk, laste ned via bitlord.. Det står jo i scriptet at den blokker alt, så er det bare å liste opp portene som skal opnes.. Dette har virka før, men ikkje nå lenger... Lenke til kommentar
Torbjørn Skrevet 30. juli 2006 Del Skrevet 30. juli 2006 det står ingenting slikt i scriptet. i scriptet står det: $IPT -A FORWARD -s $LANNET -d ! $LANNET -j ACCEPT og det åpner opp internet på alle porter. Lenke til kommentar
xzibiz Skrevet 30. juli 2006 Forfatter Del Skrevet 30. juli 2006 så viss eg fjerner den linjå.. blokker den alt å slepper bare inn dei portane eg godtar ?? Lenke til kommentar
Torbjørn Skrevet 30. juli 2006 Del Skrevet 30. juli 2006 nei, de portene var aldri ment å blokkere utgående trafikk, kun inngående trafikk for servere du setter opp. disse to linjene, hva gjør de: $IPT -A FORWARD -m state --state NEW -i $LAN_IFACE -s $LANNET -d ! $LANNET -j ACCEPT $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -i $WAN_IFACE -s ! $LANNET -j ACCEPT Så lenge du har linja i forige post foran disse, vil de aldri få noen effekt. Lenke til kommentar
xeon Skrevet 31. juli 2006 Del Skrevet 31. juli 2006 (endret) Her er det noe galt..... Du bruker SNAT, men har sannsynligvis en ruter med PPPoE-oppkobling? I så tilfelle skal WAN_IP være IP du har fått fra ruteren (10.0.0.x) Hvis du virkelig har public ip på eth1 bør du bruke MASQ i stedet... $IPT -A FORWARD -s $LANNET -d ! $LANNET -j ACCEPT <-- der tillater du eksplisitt all trafikk ut.. $IPT -A OUTPUT -s $WAN_IP -j ACCEPT <-- har du tenkt på hva den linjen gjør? $IPT -A INPUT -i $LAN_IFACE -j ACCEPT <-- og den? Btw, den maks 4 connections pr. sekund kommer sannsynligvis til å skape problemer med f.eks. torrenter hvis den faktisk fungerer, og browsere foretar ofte mer enn 4 connections pr. sekund.. Min anbefalning vil egentlig være å fjerne mest mulig og begynne på nytt uten det andre fancy-greine og heller legge til ting etterhvert hvis du virkelig ønsker å begrense hva som skal kunne gå ut fra maskinen... Endret 31. juli 2006 av xeon Lenke til kommentar
Torbjørn Skrevet 31. juli 2006 Del Skrevet 31. juli 2006 Det er da ikke uvanlig å åpne trafikk ut? Lenke til kommentar
xzibiz Skrevet 1. august 2006 Forfatter Del Skrevet 1. august 2006 Plane var å blokke alle porter fra lan mot wan,, Pga at den er ein lan gateway,og derfor vil eg blokke alle porter og deretter skrive inn dei portane som skal ver opne.. Då klarer eg å blokke all torrent programmå å alle andre ting som bruker båndbredden eg har.. Lenke til kommentar
Torbjørn Skrevet 1. august 2006 Del Skrevet 1. august 2006 kanskje denne kan være til hjelp? http://l7-filter.sourceforge.net/L7-HOWTO-Netfilter Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå