############################################################################## # Selve opsaetningen af diverse kaeder mm ##############################################################################
# Disable routing inden regler starter echo > /proc/sys/net/ipv4/ip_forward
# Regler og policies flushes echo " Flushing rules and policies" iptables -t filter -F iptables -t nat -F iptables -t mangle -F iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP echo " Done...."
# Laver de nye kaeder echo "Making the new chains" iptables -N lo iptables -F lo iptables -N lan iptables -F lan iptables -N wan iptables -F wan iptables -N dmz iptables -F dmz iptables -N wrl iptables -F wrl echo " Done...."
# Laver de nye forwarderkaeder echo "Making FORWARD chains" # Fra WAN til andre interfaces iptables -N wantodmz iptables -F wantodmz iptables -N wantolan iptables -F wantolan iptables -N wantowrl iptables -F wantowrl # Fra LAN til andre interfaces iptables -N lantodmz iptables -F lantodmz iptables -N lantowan iptables -F lantowan iptables -N lantowrl iptables -F lantowrl # Fra DMZ til andre interfaces iptables -N dmztolan iptables -F dmztolan iptables -N dmztowan iptables -F dmztowan iptables -N dmztowrl iptables -F dmztowrl # Fra WRL til andre interfaces iptables -N wrltodmz iptables -F wrltodmz iptables -N wrltowan iptables -F wrltowan iptables -N wrltolan iptables -F wrltolan echo " Done...."
# Sikrer lokal kommunikation echo "Setting up local chain" iptables -A lo -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT echo " Done.... Local chain is up and running"
# Setting up lan chain echo "Setting up LAN chain" # Sikrer mod IP-spoffing iptables -A lan -s $WAN -j DROP iptables -A lan -s $LO -j DROP iptables -A lan -s $DMZ -j DROP iptables -A lan -s $WRL -j DROP iptables -A lan -s $LAN -j DROP # Accepterer alt andet trafik iptables -A lan -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A lan -j LOG --log-prefix "FW LAN:" iptables -A lan -j DROP echo " Done....LAN chain is running"
# Setting up WAN chain echo "Setting up WAN chain" # Sikrer imod Ip_spoofing iptables -A wan -s $WAN -j DROP iptables -A wan -s $DMZ -j DROP iptables -A wan -s $LAN -j DROP iptables -A wan -s $LO -j DROP iptables -A wan -s $WRL -j DROP # Accepterer alt andet trafik iptables -A wan -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A wan -j LOG --log-prefix "FW WAN:" iptables -A wan -j DROP echo " Done....WAN chain is running"
# Setting up DMZ chain echo "Setting up DMZ chain" # Sikrer imod IP_spoofing iptables -A dmz -s $WAN -j DROP iptables -A dmz -s $LAN -j DROP iptables -A dmz -s $WRL -j DROP iptables -A dmz -s $LO -j DROP iptables -A dmz -s $DMZ -j DROP # Accepterer alle andre forbindelser iptables -A dmz -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A dmz -j LOG --log-prefix "FW DMZ:" iptables -A dmz -j DROP echo " Done....DMZ chain is running"
# Setting up WRL chain echo "Setting up WRL chain" # Sikrer imod Ip_spoofing iptables -A wrl -s $WAN -j DROP iptables -A wrl -s $LO -j DROP iptables -A wrl -s $LAN -j DROP iptables -A wrl -s $DMZ -j DROP iptables -A wrl -s $WRL -j DROP # Accepterer alle andre forbindelser iptables -A wrl -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A wrl -j LOG --log-prefix "FW WRL:" iptables -A wrl -j DROP echo " Done....WRL chain is running"
echo " Done.... DMZ portforwarding is up and running"
# Setting up hide NAT echo "Setting up masquerading - NAT chains" # NAT from LAN to WAN iptables -t nat -A POSTROUTING -s $LAN -o $ETH_WAN -j SNAT --to-source $WAN iptables -t nat -A POSTROUTING -s $DMZ -o $ETH_WAN -j SNAT --to-source $WAN iptables -t nat -A POSTROUTING -s $WRL -o $ETH_WAN -j SNAT --to-source $WAN echo " Done....NAT chains are up and running"
# Selve reglerne for firewallen echo "Setting up the rules" # Packets from DMZ to WAN iptables -A dmztowan --source $ATLANTIS -p tcp --dport 25 -j ACCEPT iptables -A dmztowan -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A dmztowan -j LOG --log-prefix "FW DMZTOWAN:" iptables -A dmztowan -j DROP
# Packets from WAN to DMZ iptables -A wantodmz -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A wantodmz -j LOG --log-prefix "FW WANTODMZ:" iptables -A wantodmz -j DROP
# packets from DMZ to LAN iptables -A dmztolan --source $WAN -d $LAN -p tcp --dport 25 -j ACCEPT iptables -A dmztolan -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A dmztolan -j LOG --log-prefix "FW DMZTOLAN:" iptables -A dmztolan -j DROP
# packets from LAN to DMZ iptables -A lantodmz -s $LAN -d $DMZ -p tcp --dport 80 -j ACCEPT iptables -A lantodmz -s $LAN -d $DMZ -p tcp --dport 22 -j ACCEPT iptables -A lantodmz -s $LAN -d $DMZ -p tcp --dport 25 -j ACCEPT iptables -A lantodmz -s $LAN -d $DMZ -p tcp --dport 143 -j ACCEPT # Logning af trafik iptables -A lantodmz -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A lantodmz -j LOG --log-prefix "FW LANTODMZ:" iptables -A lantodmz -j DROP
# Packets FROM WRL to DMZ iptables -A wrltodmz -s $WRL -d $DMZ -p tcp --dport 80 -j ACCEPT iptables -A wrltodmz -s $WRL -d $DMZ -p tcp --dport 22 -j ACCEPT iptables -A wrltodmz -s $WRL -d $DMZ -p tcp --dport 25 -j ACCEPT iptables -A wrltodmz -s $WRL -d $DMZ -p tcp --dport 143 -j ACCEPT # Logning af trafik iptables -A wrltodmz -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A wrltodmz -j LOG --log-prefix "FW WRLTODMZ:" iptables -A wrltodmz -j DROP
# Packets from LAN to WAN iptables -A lantowan -s $LAN -p tcp --dport 80 -j ACCEPT iptables -A lantowan -s $LAN -p tcp --dport 443 -j ACCEPT iptables -A lantowan -s $LAN -p tcp --dport 21 -j ACCEPT iptables -A lantowan -s $LAN -p tcp --dport 22 -j ACCEPT # Tillader forbindelse til Aladin fra LAN #iptables -A lantowan -s $LAN -d $ALADIN -p tcp --dport 22 -j ACCEPT iptables -A lantowan -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A lantowan -j LOG --log-prefix "FW LANTOWAN:" iptables -A lantowan -j DROP # Packets from WAN to LAN iptables -A wantolan -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A wantolan -j LOG --log-prefix "FW WANTOLAN PORTFWD:" iptables -A wantolan -j DROP
# Packets from WRL to WAN iptables -A wrltowan -s $WRL -p tcp --dport 80 -j ACCEPT iptables -A wrltowan -s $WRL -p tcp --dport 443 -j ACCEPT iptables -A wrltowan -s $WRL -p tcp --dport 21 -j ACCEPT iptables -A wrltowan -s $WRL -p tcp --dport 22 -j ACCEPT # Tillader forbindelse til Aladin fra LAN #iptables -A wrltowan -s $WRL -d $ALADIN -p tcp --dport 22 -j ACCEPT iptables -A wrltowan -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A wrltowan -j LOG --log-prefix "FW WRLTOWAN:" iptables -A wrltowan -j DROP # Packets from WAN to WRL iptables -A wantowrl -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A wantowrl -j LOG --log-prefix "FW WANTOWRL PORTFWD:" iptables -A wantowrl -j DROP
echo " Done....Firewall rules is up and running"
# Loading the different modules echo "Loading the modules" /sbin/modprobe iptable_nat /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_conntrack_ftp echo " Done...."
# Activating the chains echo "Activating the chains" iptables -A INPUT -i $ETH_LAN -j lan iptables -A INPUT -i $ETH_WAN -j wan iptables -A INPUT -i $ETH_DMZ -j dmz iptables -A INPUT -i $ETH_WRL -j wrl iptables -A INPUT -i $ETH_LO -j lo iptables -A FORWARD -i $ETH_WAN -o $ETH_DMZ -j wantodmz iptables -A FORWARD -i $ETH_WAN -o $ETH_LAN -j wantolan iptables -A FORWARD -i $ETH_WAN -o $ETH_WRL -j wantowrl iptables -A FORWARD -i $ETH_LAN -o $ETH_DMZ -j lantodmz iptables -A FORWARD -i $ETH_LAN -o $ETH_WAN -j lantowan iptables -A FORWARD -i $ETH_LAN -o $ETH_WRL -j lantowrl iptables -A FORWARD -i $ETH_DMZ -o $ETH_WAN -j dmztowan iptables -A FORWARD -i $ETH_DMZ -o $ETH_LAN -j dmztolan iptables -A FORWARD -i $ETH_DMZ -o $ETH_WRL -j dmztowrl iptables -A FORWARD -i $ETH_WRL -o $ETH_WAN -j wrltowan iptables -A FORWARD -i $ETH_WRL -o $ETH_LAN -j wrltolan iptables -A FORWARD -i $ETH_WRL -o $ETH_DMZ -j wrltodmz
Der er lukket helt af jeg kan ikke tilgå noget udefra eller indefra, jeg har prøvet at fjerne DROP fra starten af scriptet..
Håber der er en venlig sjæl derude der kan hjælpe mig lidt videre.
Flushing rules and policies Making the new chains Done.... Making FORWARD chains Done.... Flushing NAT - POSTROUTING & PREROUTING Done.... NAT module finished Setting up local chain Done.... Local chain is up and running Setting up LAN chain Done....LAN chain is running Setting up WAN chain Done....WAN chain is running Setting up DMZ chain Done....DMZ chain is running Setting up WRL chain Done....WRL chain is running Setting up DMZ portfarwarding Done.... DMZ portforwarding is up and running Setting up masquerading - NAT chains Done....NAT chains are up and running Setting up the rules Done....Firewall rules is up and running Loading the modules Done.... Activating the chains
Og min running ser således ud:
Chain INPUT (policy ACCEPT) target prot opt source destination lan all -- anywhere anywhere wan all -- anywhere anywhere dmz all -- anywhere anywhere wrl all -- anywhere anywhere lo all -- anywhere anywhere
Chain FORWARD (policy ACCEPT) target prot opt source destination wantodmz all -- anywhere anywhere wantolan all -- anywhere anywhere wantowrl all -- anywhere anywhere lantodmz all -- anywhere anywhere lantowan all -- anywhere anywhere lantowrl all -- anywhere anywhere dmztowan all -- anywhere anywhere dmztolan all -- anywhere anywhere dmztowrl all -- anywhere anywhere wrltowan all -- anywhere anywhere wrltolan all -- anywhere anywhere wrltodmz all -- anywhere anywhere
Ups det var ike de rigtige filer, prøver lige igen.
Min config:
Flushing rules and policies Making the new chains Done.... Making FORWARD chains Done.... Flushing NAT - POSTROUTING & PREROUTING Done.... NAT module finished Setting up local chain Done.... Local chain is up and running Setting up LAN chain Done....LAN chain is running Setting up WAN chain Done....WAN chain is running Setting up DMZ chain Done....DMZ chain is running Setting up WRL chain Done....WRL chain is running Setting up DMZ portfarwarding Done.... DMZ portforwarding is up and running Setting up masquerading - NAT chains Done....NAT chains are up and running Setting up the rules Done....Firewall rules is up and running Loading the modules Done.... Activating the chains Done.... Firewall is now up and running!!!
Og min running:
Chain INPUT (policy DROP) target prot opt source destination lan all -- anywhere anywhere wan all -- anywhere anywhere dmz all -- anywhere anywhere wrl all -- anywhere anywhere lo all -- anywhere anywhere
Chain FORWARD (policy DROP) target prot opt source destination wantodmz all -- anywhere anywhere wantolan all -- anywhere anywhere wantowrl all -- anywhere anywhere lantodmz all -- anywhere anywhere lantowan all -- anywhere anywhere lantowrl all -- anywhere anywhere dmztowan all -- anywhere anywhere dmztolan all -- anywhere anywhere dmztowrl all -- anywhere anywhere wrltowan all -- anywhere anywhere wrltolan all -- anywhere anywhere wrltodmz all -- anywhere anywhere
Chain dmz (1 references) target prot opt source destination DROP all -- 87.51.67.140 anywhere DROP all -- 172.16.0.0/24 anywhere DROP all -- 172.16.1.0/24 anywhere DROP all -- 127.0.0.0/8 anywhere DROP all -- 172.16.10.0/24 anywhere ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED LOG all -- anywhere anywhere LOG level warning prefix `FW DMZ:' DROP all -- anywhere anywhere
Chain dmztolan (1 references) target prot opt source destination ACCEPT tcp -- 87.51.67.140 172.16.0.0/24 tcp dpt:smtp ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED LOG all -- anywhere anywhere LOG level warning prefix `FW DMZTOLAN:' DROP all -- anywhere anywhere
Chain dmztowan (1 references) target prot opt source destination ACCEPT tcp -- 172.16.10.10 anywhere tcp dpt:smtp ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED LOG all -- anywhere anywhere LOG level warning prefix `FW DMZTOWAN:' DROP all -- anywhere anywhere
Chain lan (1 references) target prot opt source destination DROP all -- 87.51.67.140 anywhere DROP all -- 127.0.0.0/8 anywhere DROP all -- 172.16.10.0/24 anywhere DROP all -- 172.16.1.0/24 anywhere DROP all -- 172.16.0.0/24 anywhere ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED LOG all -- anywhere anywhere LOG level warning prefix `FW LAN:' DROP all -- anywhere anywhere
Chain lo (1 references) target prot opt source destination ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
Chain wan (1 references) target prot opt source destination DROP all -- 87.51.67.140 anywhere DROP all -- 172.16.10.0/24 anywhere DROP all -- 172.16.0.0/24 anywhere DROP all -- 127.0.0.0/8 anywhere DROP all -- 172.16.1.0/24 anywhere ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED LOG all -- anywhere anywhere LOG level warning prefix `FW WAN:' DROP all -- anywhere anywhere
Chain wantolan (1 references) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED LOG all -- anywhere anywhere LOG level warning prefix `FW WANTOLAN PORTFWD:' DROP all -- anywhere anywhere
Chain wantowrl (1 references) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED LOG all -- anywhere anywhere LOG level warning prefix `FW WANTOWRL PORTFWD:' DROP all -- anywhere anywhere
Chain wrl (1 references) target prot opt source destination DROP all -- 87.51.67.140 anywhere DROP all -- 127.0.0.0/8 anywhere DROP all -- 172.16.0.0/24 anywhere DROP all -- 172.16.10.0/24 anywhere DROP all -- 172.16.1.0/24 anywhere ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED LOG all -- anywhere anywhere LOG level warning prefix `FW WRL:' DROP all -- anywhere anywhere
Tja, jo .. for å snu litt på problemstillingen ..
Hvorfor skulle dette fungere ?
Det brukes da litt spesielle designprinsipper ..
Hvor er dette grunnoppsettet eller de grunnleggende prinsipper for firewalldesign hentet fra +
Er det selvutviklet, hentet fra en bok, fra en internettside, eller hva .. ?
Hvis man skal utvikle en firewall så må man først ha klart for seg hvilke designprinsipper som er i bruk, og der nest så må syntaksen tilpasses slik at den gjør akkurat det som designprinsippene legger opp til.
Synes ikke at disse designprinsippene rent umiddelbart kan leses rett ut av skriptet eller konfigurewringen over. (Men de kan jo finnes allikevell, og de kan jo være gode nok.)
Hvor er dette grunnoppsettet eller de grunnleggende prinsipper for firewalldesign hentet fra ?
Er det selvutviklet, hentet fra en bok, fra en internettside, eller hva .. ?
Hvis man skal utvikle en firewall så må man først ha klart for seg hvilke designprinsipper som er i bruk, og der nest så må syntaksen tilpasses slik at den gjør akkurat det som designprinsippene legger opp til.
Synes ikke at disse designprinsippene rent umiddelbart kan leses rett ut av skriptet eller konfigurewringen over. (Men de kan jo finnes allikevell, og de kan jo være gode nok.)
.. Måten du deklarerer og bruker nye ekstra chains, hvilket egentlig er unødvendig, gjør at scriptet og firewall rules blir nokså vanskelig å overskue.
Hvis du på alminnelig dansk lager en beskrivelse av det hardwareoppsett du har i bruk og hva du ønsker at firewall faktisk skal gjøre, så vil det sansynligvis være godt mulig å få på plass et script som utfører oppgaven.
Det er ikke lett å svare på hvorfor et script ikke "fungerer" all den tid det ikke finnes noen beskrivelse av hvordan det faktisk skal fungere. Hvis oppgaven kan presiseres noe mer så skulle løsningen også være mulig.
Du gør det alt for kompliseret! og du har vist glemt echo 1 > /proc/sys/net/ipv4/ip_forward
#Det her er nok at overdrive, men nogen mener at det er vigtigt :-) echo 0 > /proc/sys/net/ipv4/ip_forward
#policy iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
#Flush iptables -F iptables -t nat -F
# Gør statefull iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #Det her er nok også at overdrive, for hvem dropper trafik genereret af firewallen selv. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#Og så begynder du bare at at accept pakker #Det er sådan set kun første pakke du akseptere, for firewallen er statefull
#Del scriptet op i trafik til firewallen selv og trafik der skal forwardes. #Til den selv iptables -A INPUT -i eth0 -d 80.80.80.80 -p tcp --dport 80 -j ACCEPT
Jo, loke-liscom sitt oppsett likenr absolutt på noe, men er ikke det opprinnelige script helt på toppen et script for en 3 port installasjon med dmz ?
secusr -> Please clarify :-)
Ellers så er det jo slik at iptables script kan utformes på hundre tusen måter for den samme oppgave. Min mening er at den enkleste og mest mulig oversiktlige måte er den beste, fordi dette gir færre mulighet for feil.
Jeg forstår ikke helt det du skriver i starten :-)
Jeg er enig i at det skal være så simpelt som muligt! Man bør også starte i det små, få det til at virke og så tilføje de mere komplicerede ting, så ved man jo at det grundlæggende virker.
jamen så skete der da noget, dejligt med noget feedback.
Jeg forstår ikke alt du skriver langbein grundet din tegnsætning, men jeg skal da prøve at forklare mig alligevel.
Scriptet som jeg har sat ind her er et gammelt script som jeg engang saksede fra nettet, og det var min mening at bygge videre på det.
Det der egentlig er mit mål er følgende:
At have et netkort til wan, til lan, til dmz og til klienter.
Wan kortet giver sig selv, lan kortet der står en del servere hvor der skal åbnes for nogle porte til bestemte maskiner, dmz zonen der står en computer som der skal have åbent for alle porte fra alle andre netkort pånær lan interfacet.
Klienterne skal have adgang til wan med established, new og related og det samme gælder til lan interfacet og dmz zonen.
Håber det løste nogle af spørgmålene, jeg ved godt at den opsætning jeg beskriver her ikke er den som bliver brugt i det script som jeg har skrevet i denne tråd, men min mening var at hvis jeg kunne få overstående til at virke så kunne jeg godt tilpasse det til det egentlige behov.
Ved ikke om det ville være nemmere at lave et helt nyt script (som i kunne hjælpe mig med) eller om jeg godt kan få overstående til at virke hurtigere end jeg kan lave et nyt?
Nå jeg fik bikset et script sammen der virker som det skal, og det er også en del mere simpelt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.