Just nu i M3-nätverket
Gå till innehåll

Iptables hjälp


jefman

Rekommendera Poster

Hejsan,

 

Vi har idag en brandvägg som kör "Linux Firewall 2.4.27" när man körde uname -a

 

Maskinen har tre nätverkskort, ett för internet, LAN, DMZ. På dmz sitter vår webbserver med ett publikt ip (IIS windows 2003 server)

 

Vi fick firewallen installerad för många år sedan och den har tuffat på fint men nu skulle vi behöva lägga till en server till på dmz zonen och samtidigt konfigurera upp så att den kan fjärrstyras.

 

Kör jag iptables -L så får jag fram de regler som finns idag och de ser ut så här:

 

[color="#ff0000"]
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0          udp dpt:5768
ACCEPT     all  --  xxx.xxx.xxx.xx9         0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            xxx.xxx.xxx.xx9
DROP       all  --  xxx.xxx.xxx.xxx       0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  xxx.xxx.xxx.xxx      0.0.0.0/0
ACCEPT     all  --  xxx.xxx.xxx.xxx      0.0.0.0/0
ACCEPT     all  --  172.0.0.91         0.0.0.0/0
ACCEPT     all  --  172.0.0.92         0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:4899
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:4532
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:1494
ACCEPT     udp  --  xxx.xxx.xxx.xxx       0.0.0.0/0          udp dpt:161
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0          tcp flags:0x16/0x02

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0          state RELATED,ESTABLISHED
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0          state NEW,ESTABLISHED
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0          tcp flags:!0x16/0x02 state NEW
LOG        tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW tcp dpt:21 LOG flags 0 level 6
LOG        tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW tcp dpt:25 LOG flags 0 level 6
LOG        tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW tcp dpt:3000 LOG flags 0 level 6
LOG        tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW tcp dpt:3001 LOG flags 0 level 6
LOG        tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW tcp dpt:3002 LOG flags 0 level 6
DROP       tcp  --  172.0.0.0/24       0.0.0.0/0          tcp dpt:135
ACCEPT     tcp  --  172.0.0.0/24       0.0.0.0/0          tcp dpt:21 state NEW
ACCEPT     all  --  172.0.0.0/24       0.0.0.0/0          state NEW
ACCEPT     tcp  --  0.0.0.0/0            172.0.0.42       state NEW tcp dpt:4899
ACCEPT     tcp  --  0.0.0.0/0            172.0.0.42       state NEW tcp dpt:4532
ACCEPT     tcp  --  0.0.0.0/0            172.0.0.21       state NEW tcp dpt:1494
ACCEPT     tcp  --  0.0.0.0/0            172.0.0.21       state NEW tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            172.0.0.21       state NEW tcp dpt:21
ACCEPT     all  --  172.0.0.12         xxx.xxx.xxx.xx1
ACCEPT     all  --  xxx.xxx.xxx.xx1         172.0.0.12
ACCEPT     tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW,RELATED tcp dpt:21
ACCEPT     tcp  --  xxx.xxx.xxx.xx1         0.0.0.0/0          state NEW,RELATED tcp dpt:21
ACCEPT     tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW tcp dpt:25
ACCEPT     tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW tcp dpt:110
ACCEPT     tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW tcp dpt:3000
ACCEPT     tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW tcp dpt:3001
ACCEPT     tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx1       state NEW tcp dpt:3002
ACCEPT     tcp  --  xxx.xxx.xxx.xx1         0.0.0.0/0          state NEW tcp dpt:25
ACCEPT     tcp  --  xxx.xxx.xxx.xx1         0.0.0.0/0          state NEW tcp dpt:80
ACCEPT     tcp  --  xxx.xxx.xxx.xx1         0.0.0.0/0          state NEW tcp dpt:443
ACCEPT     tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx2       state NEW tcp dpt:3372
ACCEPT     tcp  --  0.0.0.0/0            xxx.xxx.xxx.xx2       state NEW tcp dpt:3389
ACCEPT     all  --  xxx.xxx.xxx.xx2         172.0.0.11
ACCEPT     all  --  xxx.xxx.xxx.xx2         172.0.0.12
ACCEPT     all  --  172.0.0.11         xxx.xxx.xxx.xx2
ACCEPT     all  --  172.0.0.12         xxx.xxx.xxx.xx2
ACCEPT     all  --  0.0.0.0/0            xxx.xxx.xxx.xx3
ACCEPT     all  --  xxx.xxx.xxx.xx3         0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            xxx.xxx.xxx.xx7
ACCEPT     all  --  xxx.xxx.xxx.xx7         0.0.0.0/0
ACCEPT     all  --  xxx.xxx.xxx.xx9         0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            xxx.xxx.xxx.xx9
ACCEPT     all  --  192.168.10.0/30      0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            192.168.10.0/30
ACCEPT     all  --  172.0.0.13         xxx.xxx.xxx.xx1
ACCEPT     all  --  xxx.xxx.xxx.xx1         172.0.0.13

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
[/color]

 

Observera att jag har ändrat alla ipnr av förklariga skäl.

 

Jag har nu läst manualerna och verkar fått fram att jag skall lägga till reglerna på följande vis:

 

 

Www tjänst

iptables -A FORWARD -p tcp --sport www -src 0.0.0.0/0 -d --dport www xxx.xxx.xxx.xx8 --state NEW -j ACCEPT

iptables -A FORWARD -p tcp --sport www -src xxx.xxx.xxx.xx8 -d --dport www 0.0.0.0/0 --state NEW -j ACCEPT

Remote

iptables -A FORWARD -p tcp --sport 3389 -src myipnr -d --dport 3389 xxx.xxx.xxx.xx8 --state NEW -j ACCEPT

iptables -A FORWARD -p tcp --sport 3389 -src xxx.xxx.xxx.xx8 --dport 3389 myipnr --state NEW -j ACCEPT

 

Stämmer detta eller är jag käpprätt åt fel håll ?

Behöver man spara allt när man har gjort en ändring för att det skall ligga kvar när man startar om maskinen ?

 

Stort tack på förhand !

 

/Jef

 

Länk till kommentar
Dela på andra webbplatser

Nja, inte riktigt, förklaringen kommer nedan:

 

Www tjänst

iptables -A FORWARD -p tcp --sport www -src 0.0.0.0/0 -d --dport www xxx.xxx.xxx.xx8 --state NEW -j ACCEPT

iptables -A FORWARD -p tcp --sport www -src xxx.xxx.xxx.xx8 -d --dport www 0.0.0.0/0 --state NEW -j ACCEPT

Remote

iptables -A FORWARD -p tcp --sport 3389 -src myipnr -d --dport 3389 xxx.xxx.xxx.xx8 --state NEW -j ACCEPT

iptables -A FORWARD -p tcp --sport 3389 -src xxx.xxx.xxx.xx8 --dport 3389 myipnr --state NEW -j ACCEPT

 

I första regeln antar jag att du vill släppa igenom www trafik till burken med ip som slutar på 8. Då räcker det med detta:

iptables -A FORWARD -d xxx.xxx.xxx.xx8 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s xxx.xxx.xxx.xx8 -p tcp --sport 80 -j ACCEPT

 

Du kan aldrig specificera en sourceport för inkommande trafik, lika lite som en destinationsport för utgående (kolla hur TCP/IP kommunikation funkar, så förstår du vad jag menar). Det fungerar att specificera state NEW för inkommande, men det är i princip helt onödigt. För utgående trafiken så funkar det inte med NEW (men funkar ändå, eftersom en tidigare regel skulle ta hand om den typen av trafik)

 

samma sak med fjärrstyrningen, om den körs på tcp/3389:

iptables -A FORWARD -s [i]myip[/i] -d xxx.xxx.xxx.xx8 -p tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -d [i]myip[/i] -s xxx.xxx.xxx.xx8 -p tcp --sport 3389 -j ACCEPT

 

Fråga gärna om något är oklart!

 

***Edit***

Trodde att kursiv taggen var :-)

 

==Coleburn==

 

--------------------

"It takes a lot of knowledge to

really mess something up!"

 

 

[inlägget ändrat 2005-10-17 23:43:59 av Coleburn]

Länk till kommentar
Dela på andra webbplatser

Kanon !

 

Jag satt och tittade på de andra reglerna och försökte sätta ihop det som jag skulle behöva därför blev det lite mycket. Jag såg bland annat att de hadde satt state NEW så därför trodde jag att det skulle vara så.

 

Fråga ang. fjärrstyrningen

 

iptables -A FORWARD -s myip -d xxx.xxx.xxx.xx8 -p tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -d myip -s xxx.xxx.xxx.xx8 -p tcp --sport 3389 -j ACCEPT

 

Om jag har tre olika personer/nät som skall kunna accessa denna, två av näten har en fast ip adress medans en har dynamisk adress hur kan jag då lägga upp en regel så att bara dessa kan accessa servern ? Skulle den dynamiska adressen kunna låsas med MAC adress ?

 

Behöver man spara när man har lagt till en regel ?

 

Tack för på förhand !

 

/Jef

 

[inlägget ändrat 2005-10-18 08:32:33 av jefman]

Länk till kommentar
Dela på andra webbplatser

Om jag har tre olika personer/nät som skall kunna accessa denna, två av näten har en fast ip adress medans en har dynamisk adress hur kan jag då lägga upp en regel så att bara dessa kan accessa servern ? Skulle den dynamiska adressen kunna låsas med MAC adress ?

 

Behöver man spara när man har lagt till en regel ?

 

Det finns en modul i iptables för kontroll av MAC-adresser, men jag skulle definitivt inte använda den annat än från nät där jag har kontroll på alla steg, dvs på insidan om brandväggen.

Detta pga att routrar på vägen i vissa fall source-mappar MAC-adressen till sin egen.

 

Vi skall inte bli för paranoida...Windows Terminal Server har ju accesskontroll i sig, och jag anser att du lugnt kan acceptera all inkommande trafik till den, dvs :

iptables -A FORWARD -d xxx.xxx.xxx.xx8 -p tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -s xxx.xxx.xxx.xx8 -p tcp --sport 3389 -j ACCEPT

 

Ja, man måste spara reglerna för att de skall finnas kvar efter en omboot. Hur detta görs beror på hur de är skapade från början. Är reglerna skapade med ett script, som körs vid uppstart, så bör du editera in reglerna i det scriptet. Om det är hackade direkt mha iptables-kommandot, så kan du köra iptables initscript med tillägget save. Beroende på distribution skrivs då reglerna ner till en fil, som per default alltid läses vid uppstart.

 

 

==Coleburn==

 

--------------------

"It takes a lot of knowledge to

really mess something up!"

 

Länk till kommentar
Dela på andra webbplatser

Kan jag på något sätt kontrollera om det körs via script eller är sparat, då vi inte har en aning hur den är konfigurerad från början ?

 

/Jef

 

Länk till kommentar
Dela på andra webbplatser

En liten fråga bara...är den här brandväggen ditt företags, eller är den privat?

 

 

==Coleburn==

 

--------------------

"It takes a lot of knowledge to

really mess something up!"

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...