Avatar billede zeus19 Nybegynder
15. april 2002 - 20:33 Der er 35 kommentarer og
1 løsning

Hjælp med Iptables script

Jeg har sat en Linux Firewall op, med en redhat 7.2 og iptables, men jeg kan ikke få min DNAT til at virke som den skal. dette gælder for flere services som jeg kører på mit interne LAN, jeg vil give 500 point 2x 200 & 1x 100 hvis der er en der kan hjælpe mig igennem problemet, men kun via icq eller MSN.
Kontakt mig på.

icq = 32668910
eller
MSN = politi_20@hotmail.com
Avatar billede zeus19 Nybegynder
15. april 2002 - 21:21 #1
#!/bin/sh


# tillad ikke forwarding af pakker
echo "0" > /proc/sys/net/ipv4/ip_forward

# angiver variablerne intern ip og extern ip 
INTIP=192.168.0.1
EXTIP=80.62.44.238


# kæderne bliver lige tømt, så man kan køre scriptet igen uden problemer
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F block
iptables -t nat -F

# luk al indgående som standard
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# lav en ny kæde
iptables -N block

# tillad alt lokal trafik
iptables -A INPUT -i lo -j ACCEPT

# vi tillader trafik på forbindelser, der er blevet oprettet
iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
# og vi tillader nye forbindelser, hvis de kommer indefra
iptables -A block -m state --state NEW -i eth1 -j ACCEPT
# vi tillader forward af etableret trafik.
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# aktiver source nat
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d "!" 192.168.0.0/24 -j SNAT --to $EXTIP

# aktiver Destination nat
iptables -t nat -A PREROUTING -d 80.62.44.238 -p tcp --dport 80 -j DNAT --to 192.168.0.2
#iptables -t nat -A PREROUTING -p tcp -d 80.62.44.238 -m multiport --dport 20,21,80,411 -j DNAT --to 192.168.0.2


# tillad adgang til udvalgte services udefra
iptables -A INPUT -p tcp -d $EXTIP --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -d $EXTIP --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -d $EXTIP --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -d $EXTIP --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -d $EXTIP --dport 411 -j ACCEPT

# Starter FORWARD af pakker som skal til WEB/FTP serveren
iptables -A FORWARD -d 192.168.0.2 -p tcp --dport 80 -j ACCEPT
#iptables -A FORWARD -s 80.62.44.238 -p tcp -m multiport --dport 20,21,80,411 -j ACCEPT

# spær for adgang til visse services fra lan
iptables -A INPUT -p udp -d $INTIP --dport syslog -j DROP
iptables -A INPUT -p tcp -d $INTIP --dport swat -j DROP

# blockkæden kobles på INPUT og FORWARD kæderne
# Det betyder at der er adgang til alt indefra (på nær det, der blev
# droppet lige før, og til ALT udaf, men ingenting udefra
iptables -A INPUT -j block
iptables -A FORWARD -j block

# og derudover logger vi alt andet der prøver at blive forwardet.
iptables -A FORWARD -j LOG

# Tilad forward af pakker
echo "1" > /proc/sys/net/ipv4/ip_forward

#Gemmer Scriptet ved kørsel
/etc/init.d/iptables save
Avatar billede langbein Nybegynder
15. april 2002 - 22:03 #2
Ikke dårlig. Meget bra satt opp firewall script bortsett fra noen detaljer hist og her. Det aller meste er jo 100 % korrekt. Mest komplette script sett på eksperten til nå !
Gjelder fortsatt ønsket om icq eller MSN ?
Avatar billede langbein Nybegynder
15. april 2002 - 22:12 #3
Her har du satt opp en enkel ekstern internetttilkopling. Samtidig finnes bare en enkelt intern LAN. Denne lan inneholder både arbeidsstasjoner og en enkelt server som kjører div server funksjoner inne på LAN (192.168.0.2). Firewall er en ren firewall den utfører ingen andre funksjoner som kan leses ut av scriptet. Rett ??
Avatar billede langbein Nybegynder
15. april 2002 - 22:19 #4
Noen av reglene ser ut til å forutsette en annen konfigurasjon en det som er nevnt over, slik at DNAT følgelig ikke kan kjøre ..
Avatar billede zeus19 Nybegynder
15. april 2002 - 22:27 #5
ja jeg ønsker stadig hjælp, helst på icq :-)
Avatar billede zeus19 Nybegynder
15. april 2002 - 22:30 #6
Du har ret, med de ting du siger, men hvis du vil kontakte mig på icq, så de sidste ting kan komme iorden. :-)
Avatar billede zeus19 Nybegynder
15. april 2002 - 22:33 #7
Eller MSN :-)
Avatar billede langbein Nybegynder
15. april 2002 - 22:35 #8
OK tror faktisk jeg kan se noe av løsningen :-) MSN
Avatar billede zeus19 Nybegynder
15. april 2002 - 22:36 #9
msn ok :)
Avatar billede langbein Nybegynder
15. april 2002 - 22:38 #10
Har ikke brukt MSN på år og dag. Du ser ut til å være offline ??
(Eller er min MSN som ikke kjører ??)
Avatar billede zeus19 Nybegynder
15. april 2002 - 22:38 #11
politi _ 20 @ hotmail . com

i sammensat ord min msn account
Avatar billede zeus19 Nybegynder
15. april 2002 - 22:41 #12
din mail arneXXXX@xxxxxxx.com
Avatar billede zeus19 Nybegynder
15. april 2002 - 22:50 #13
Hmm. langbein har du skrevet til mig ??
Avatar billede zeus19 Nybegynder
15. april 2002 - 23:53 #14
ándre må godt komme med bud hvis nogle skulle have nogle.
Avatar billede langbein Nybegynder
16. april 2002 - 08:15 #15
Internettforbindelsen gikk ned i går kveld. Sener en mail !
Avatar billede zeus19 Nybegynder
16. april 2002 - 12:09 #16
okay kigger lige på mailen.
Avatar billede zeus19 Nybegynder
16. april 2002 - 12:32 #17
Jeg Kunne ikke få det til at virke, den kom med et par fejl, fordi der var lavet multiple -d og det kan man åbenbart ikke jeg ligger lige hele mit script, igen så hvis du gidder kigge på det en gang mere. :-)

#!/bin/sh


# tillad ikke forwarding af pakker
echo "0" > /proc/sys/net/ipv4/ip_forward

# angiver variablerne intern ip og extern ip 
INTIP=192.168.0.1
EXTIP=80.62.44.238


# kæderne bliver lige tømt, så man kan køre scriptet igen uden problemer
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F

# luk al indgående som standard
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# lav en ny kæde
iptables -N block

# tillad alt lokal trafik
iptables -A INPUT -i lo -j ACCEPT

# vi tillader trafik på forbindelser, der er blevet oprettet
iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0  -m state --state ESTABLISHED,RELATED -j ACCEPT

# og vi tillader nye forbindelser, hvis de kommer indefra
iptables -A block -m state --state NEW -i eth1 -j ACCEPT

# aktiver source nat
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d "!" 192.168.0.0/24 -j SNAT --to $EXTIP

# aktiver Destination nat
iptables -t nat -A PREROUTING -i eth0 -p tcp --sport 1024:65535 -d 80.62.44.238 --dport 80 -j DNAT --to-destination 192.168.0.2:80
iptables -t nat -A PREROUTING -p tcp --dport 3000:3019 -j DNAT --to 192.168.0.11
iptables -t nat -A PREROUTING -p tcp --dport 3020:3039 -j DNAT --to 192.168.0.12
iptables -t nat -A PREROUTING -p tcp --dport 3040:3059 -j DNAT --to 192.168.0.13
iptables -t nat -A PREROUTING -p tcp --dport 3060:3079 -j DNAT --to 192.168.0.14
iptables -t nat -A PREROUTING -p tcp --dport 3080:3099 -j DNAT --to 192.168.0.15
iptables -t nat -A PREROUTING -p tcp --dport 3100:3119 -j DNAT --to 192.168.0.16

# tillad adgang til udvalgte services udefra
#iptables -A INPUT -p tcp -d $EXTIP --dport 20 -j ACCEPT
#iptables -A INPUT -p tcp -d $EXTIP --dport 21 -j ACCEPT
#iptables -A INPUT -p tcp -d $EXTIP --dport 22 -j ACCEPT
#iptables -A INPUT -p tcp -d $EXTIP --dport 80 -j ACCEPT
#iptables -A INPUT -p tcp -d $EXTIP --dport 411 -j ACCEPT
#iptables -A INPUT -p tcp -d $EXTIP --dport 3000:3019 -j ACCEPT
#iptables -A INPUT -p tcp -d $EXTIP --dport 3020:3039 -j ACCEPT

# Starter FORWARD af pakker som skal til WEB/FTP serveren
#iptables -A FORWARD -s 80.62.44.238 -p tcp -m multiport --dport 20,21,80,411 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --sport 1024:65535 -d 192.168.0.2 -m state --state NEW -j ACCEPT
iptables -A FORWARD -p tcp --dport 3000:3019 -j ACCEPT
iptables -A FORWARD -p tcp --dport 3020:3039 -j ACCEPT

# spær for adgang til visse services fra lan
iptables -A INPUT -p udp -d $INTIP --dport syslog -j DROP
iptables -A INPUT -p tcp -d $INTIP --dport swat -j DROP

# blockkæden kobles på INPUT og FORWARD kæderne
# Det betyder at der er adgang til alt indefra (på nær det, der blev
# droppet lige før, og til ALT udaf, men ingenting udefra
iptables -A INPUT -j block
iptables -A FORWARD -j block

# og derudover logger vi alt andet der prøver at blive forwardet.
iptables -A FORWARD -j LOG

# Tilad forward af pakker
echo "1" > /proc/sys/net/ipv4/ip_forward

#Gemmer Scriptet ved kørsel
/etc/init.d/iptables save
Avatar billede langbein Nybegynder
16. april 2002 - 18:41 #18
Din firewall er satt opp til å akseptere en hel del trafikk inn til de lokale prosessene inne i firewallmaskinen. Dette gjør tingenen en del komlisert samtidig som firewallen får en mindre grad av sikkerhet. Det finnes på denne måte flere veier inn til firewallen som gjør at en hacker event kan oppnå kontroll over firewallen og bruke denne som "plattform" for videre anngrep inn mot nettverket.

Forholder det seg virkelig slik at du kjører web server og slikt ting på selve firewall maskinen, slik at det både er nødvendig å åpne opp inn til firewall maskinen og til serveren bak, eller er dette unødvendig ??

Du vil få en enklere og mere sikker firewall dersom du restrikter all trafikk inn til de lokale prosessene i firewallen samtidig som du åpner opp for de portene som behøves til den serveren som ligger bak.

Denne gjør det mulig å kjøre en web browser på selve firewall maskinen er dette nødvendig ?
iptables -A INPUT -i lo -j ACCEPT

Disse to angir at det skal tillates den samme trafikk inn til de lokale prosessene på firewallen som til den serveren som ligger bak, er det nødvendig ??
iptables -A INPUT -j block
iptables -A FORWARD -j block


Selv om du i utgangspunktet åpner opp for de samme portene på den bakenforliggende serveren i stedet for de tilsvarende portene inn til server prosessene, så mener jeg at sikkerhetsrisikoen langt fra blir den samme.

Firewallmaskinen er tilgjengelig fra internett ved en global "offentlig" ipadresse. Den kan nås fra hele verden. Den interne serveren kan bare nås via en lokal ip adresse som ikke er routbar via internett. Dette gjør den i utgangspunktet mindre utsatt, slik som jeg ser det.

Med andre ord, viktig spørsmål: Kjører du serverfunsjoner på din firewall maskin slik som ditt firewall script antyder, eller er dette ikke tilfellet slik at firewall scriptet kan skrives om til å være et rent firewall script med en bakenforliggende beskyttet server og et tilsvarende LAN ?? Behøver du, eller har du til hensikt å kjøre en web browser på din
firewall maskin ??

(Problemstillingene ville ikke vært de samme dersom det hadde dreid seg om ipchains. Forsøker bare å optimalisere litt mot de muligheter som ligger i iptables.)

Hvis firewall kan være firewall og så avstengt mot omverdenen som mulig og server kan være server med de portene åpene som er nødvendig så blir tingene slik som jeg ser det både enklere og sikrere.
Avatar billede langbein Nybegynder
16. april 2002 - 18:47 #19
Hvilken funksjon er dette avsnittet ment å skulle ha:

iptables -t nat -A PREROUTING -p tcp --dport 3000:3019 -j DNAT --to 192.168.0.11
iptables -t nat -A PREROUTING -p tcp --dport 3020:3039 -j DNAT --to 192.168.0.12
iptables -t nat -A PREROUTING -p tcp --dport 3040:3059 -j DNAT --to 192.168.0.13
iptables -t nat -A PREROUTING -p tcp --dport 3060:3079 -j DNAT --to 192.168.0.14
iptables -t nat -A PREROUTING -p tcp --dport 3080:3099 -j DNAT --to 192.168.0.15
iptables -t nat -A PREROUTING -p tcp --dport 3100:3119 -j DNAT --to 192.168.0.16
Avatar billede langbein Nybegynder
16. april 2002 - 19:30 #20
Kan vanskelig se at avsnittet over faktisk har noen fornuftig eller meningsfull funksjon (???) Dersom det ikke tjener noen bestemt hensikt så bør det tas vekk. Det vil slik som jeg ser det ikke være hensiktsmessig å ha liggende et stykke regelsett som ikke er i stand til å utføre noen fornuftig funksjon alene, da bør det heller tas vekk, eller funksjonen (hva den skal være) bør spesifiseres slik at den funksjon som ønskes oppnådd kan gjøres komplett. (Det vil si med de tillegsregler for forwarding som behøves for hver prerouting setning.)
Avatar billede langbein Nybegynder
16. april 2002 - 19:46 #21
Du bør angi nøyaktig hvordan ditt nettverks og server oppsett ser ut og hvorledes det er tenkt å skulle kjøre. Så bør det være mulig å finne fram til et regelsett ..
Avatar billede zeus19 Nybegynder
16. april 2002 - 19:48 #22
Hey så er jeg her
Avatar billede langbein Nybegynder
16. april 2002 - 19:49 #23
Godt, venter på et par ord (Firewalling er egentlig ganske gøy .. og det vanskeligste i Linux synes jeg, så nettop derfor .. )
Avatar billede zeus19 Nybegynder
16. april 2002 - 19:51 #24
Disse regler bruges til at lave direct connection fra Icq, den skal bruge 20 porte per klient,
iptables -t nat -A PREROUTING -p tcp --dport 3000:3019 -j DNAT --to 192.168.0.11
iptables -t nat -A PREROUTING -p tcp --dport 3020:3039 -j DNAT --to 192.168.0.12
iptables -t nat -A PREROUTING -p tcp --dport 3040:3059 -j DNAT --to 192.168.0.13
iptables -t nat -A PREROUTING -p tcp --dport 3060:3079 -j DNAT --to 192.168.0.14
iptables -t nat -A PREROUTING -p tcp --dport 3080:3099 -j DNAT --to 192.168.0.15
iptables -t nat -A PREROUTING -p tcp --dport 3100:3119 -j DNAT --to 192.168.0.16

Der ud over kører jeg en intern web/ftp/DC hub server på 192.168.0.2
det er port 21/80/411 så vil jeg gerne gøre sådan at det kun er 192.168.0.2 der kan bruge port 412 hvis dette kan lade sig gøre
Avatar billede zeus19 Nybegynder
16. april 2002 - 19:51 #25
der kører kun ssh server på firewallen.
Avatar billede zeus19 Nybegynder
16. april 2002 - 19:52 #26
Der skal være adgang til at bruge Alle port - 412 fra alle klienter på Lan siden
Avatar billede zeus19 Nybegynder
16. april 2002 - 20:01 #27
hvis der er noget der skal uddybes mere må du lige skrive hvad
Avatar billede langbein Nybegynder
16. april 2002 - 20:30 #28
Ja det klaret opp en del. Firwall skal kun ha en eneste port åpen gjennom input chain og det er port for ssh og det forenkler (og forbedrer) ganske mye. Altså kan hele kjeden "block" tas vekk og de reglene som ligger i block "kan legges direkte inn der de hører kjemme."

Når det gjelder icq greiene, så tror jeg det er litt viktig å bygge opp funksjonene litt steg for steg mens man sjekker at hvert enkelt steg fungerer før man går videre til det neste. Har ikke sett og kjenner ikke til noen dokumentasjon som forteller hvorledes man setter opp icq på denne måten gjennom firewall. Mener at dette derfor bør utsettes til slutt som en engen ekprimentserie, eventuelt at det lages et eget script som bare tester ut icq funksjonen. Det øvrige med en server innefor firewall ser jo ellers ut til å være rimelig greit nok.

Man kan godt begrense slik at det bare er en ip avsender som kan bruke en port. Det er serveren 192.168.0.2 som skal kunne gå inn på en port 412 på firewall maskinen ?? Hvorfor ?

Når det gjelder klientene og port 412 er dette på firewall maskinen som de skal ha adgang eller er det på servermaskinen ? (Det må vel være firewall maskinen det dreier seg om, hvorfor ?)

I det hele og store så mener jeg at man dvs vi bør begrense oss til standard og utprøvde ting, i hvertfall i første omgang, dersom vi skal kunne regne med at tingene skal komme opp å kjøre.
Avatar billede zeus19 Nybegynder
16. april 2002 - 20:32 #29
okay
Avatar billede langbein Nybegynder
16. april 2002 - 20:33 #30
Det første scriptet du la ut var ganske ryddig og bra og noe som rimelig lett bør kunne gjøres noe ut av.
Avatar billede zeus19 Nybegynder
16. april 2002 - 20:33 #31
gidder du kigge på scriptet og fjerne de ting som ikke skal være der og poste det igen ? ;-)
Avatar billede langbein Nybegynder
16. april 2002 - 20:37 #32
Stikker ut nå. Tar med meg en utskrift av dt over og kikker litt på det. Forsøker å lage et utkast til et revidert script som forhåpentligvis kan klare noe av det grunnleggende. Vil du ha det her eller pr mail ?
Ellers hvis du jar noen flere opplysninger så legg de her eller send dem pr mail !!
Avatar billede zeus19 Nybegynder
16. april 2002 - 20:39 #33
Helst pr. mail.

jeg skriver lige hvordan hele mit netværk er bygget op så du har noget at gå efter
Avatar billede langbein Nybegynder
16. april 2002 - 20:51 #34
Kjempebra, for scriptets oppgave er jo nettop å sørge for rett trafikk i forhold til de tingene som er på nettverket, og hvis noe av opplyningene om dette mangler, så er det heller ikke lett å sette opp de reglene som skal styre trafikken på rett måte.
Avatar billede zeus19 Nybegynder
16. april 2002 - 20:57 #35
ligger du lige en kommentar når du har fået min mail ?? ;-)
Avatar billede langbein Nybegynder
16. april 2002 - 21:02 #36
Den har kommet :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester