23. maj 2005 - 15:32Der er
14 kommentarer og 1 løsning
Fejl i Iptables script
Jeg har lidt problemer med mit iptables script, ved at sige $IPT -P FORWARD DROP blokker jeg al traffik til min mail server, og kan ikke få det åbnet igen.
#!/bin/sh
## Opsaetning af variabler ## LAN=eth1 #LAN interface DMZ=eth2 #DMZ interface WAN=eth0 #WAN interface DMZ_IP=192.168.1.1 #DMZ ip LAN_IP=10.0.0.1 #LAN interface ip PUBLIC_IP=220.220.0.1 #WAN interface ip IPT=/sbin/iptables
# Slaa routing midlertidigt fra echo 0 > /proc/sys/net/ipv4/ip_forward
# Fjern alle rules (-F) og slet eventuelle tomme bruger-definerede chains (-X) fra filter, nat og mangle tabeller for T in filter nat mangle ; do $IPT -t $T -F $IPT -t $T -X done
$IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP
# Accepter alt fra loopback $IPT -t filter -A INPUT -i lo -j ACCEPT
# Smid input pakker med invalid state ud $IPT -t filter -A INPUT -m state --state INVALID -j DROP
# Accepter etablerede input forbindelser $IPT -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Luk alt fra WAN interface $IPT -t filter -A INPUT -i $WAN -j DROP
# Luk alt fra LAN til DMZ $IPT -t filter -A FORWARD -i $LAN -o $DMZ -j REJECT --reject-with icmp-port-unreachable
# Smid forward pakker med invalid state ud $IPT -t filter -A FORWARD -m state --state INVALID -j DROP
# Accepter etablerede forward forbindelser $IPT -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Fix forward TCP MSS (Maximum Segment Size) fra WAN $IPT -t filter -A FORWARD -i $WAN -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# Masquerade alt der kommer ud af WAN $IPT -t nat -A POSTROUTING -o $WAN -j MASQUERADE
# Diriger pakker til DMZ Web fra WAN $IPT -t nat -A PREROUTING -d $PUBLIC_IP -p tcp --dport 80 -j DNAT --to $DMZ_IP:80
# Diriger pakker til DMZ FTP fra WAN $IPT -t nat -A PREROUTING -d $PUBLIC_IP -p tcp --dport 20 -j DNAT --to $DMZ_IP:20 $IPT -t nat -A PREROUTING -d $PUBLIC_IP -p tcp --dport 21 -j DNAT --to $DMZ_IP:21
Det skal måske lige siges at mail, ftp og webserver ikke ligger på samme server som firewallen (som scriptet ligger op til, men de er flyttet til 192.168.1.2 Men det er rettet i scriptet der kører på serveren...
Nei, scriptet legger vel ikke opp til at det skal kjøre noen serverfunksjon på gateway PC ?! Den/de er vel lagt til DMZ segmentet og nettverksno 192.168.1.0
Kan du forklare litt mer grundig hvordan denne 3 port modellen skal fungere og hvilke servere som er i bruk ?!
Det ser ut til at det ikke skal kjøre noen server eller klinentfunksjoner på selve firewall maskinen (Heller ikke ssh pålogging og dns oppslag). Skal det fungere slik ?!
Det er betydelig enklere å legge serveren inn på lan og så i stedet benytte en 2 port firewall. Det er ikke en akseptabel ide ? Grunnen til at det er enklere er at du speseielt slipper den spesielle situasjonen rundt det å gjøre dmz serveren tigjengelig åde for lan og wan samtidig.
En annen variant er også to stk seriekoplede 2 port firewalls med dmz på midtsegment og lan på innsiden av den innerste firewall. Nokså ekelt å sette opp og kanskje den aller sikreste varianten.
Men treport er selvfølgelig mulig. Det må vel være sen mest tricky varianten, men det kan da la seg gjøre. Det viktige med 3 port varianten er hvordan server funksjonene på dmz skal være tilgjengelig for lan og/eller wan/internett.
Der skal ikke kører nogen server funktion på firewallen, til det er der en windows 2003 server i DMZ zonen, som kører mail, ftp og webserver, ud over det er der et LAN, hvor på klienterne er + 2 domæne controllere. Mit problem er så at hvis jeg sætter de 3 policies INPUT, OUTPUT og FORWARD til drop, kan jeg ikke logge på domænet fra dmz zonen eller fra WAN siden-
"grunden til jeg skal logge på domænet fra dmz" Med "domenet" så menes vel en Windows domenekontroller inne på lan ?! I så fall så kan man vel i utgangspunktet ikke logge seg inn via en router ?! (På grunn av manglende retransmittering av broadcats, tror jeg .. routeren kan modifiseres til å retransmitere broadcast, men det blir jo nok en kompliserende faktor.) Har jeg forstått tingene riktig ??
"Mit problem er så at hvis jeg sætter de 3 policies INPUT, OUTPUT og FORWARD til drop, kan jeg ikke logge på domænet fra dmz zonen eller fra WAN siden"
Trafikken skal vel kun passere via FORWARD chain. Forsøk å åpne kun den.
Vi kjørte en ganske omfattende diskusjon vedrørende utviklingen av en 3 port Linux firewall for litt siden. Den kom opp og kjøre slik som den skulle .. til sist.
Ellers .. den som står over .. det spiller jo sånn sett ikke noen større rolle hva input og output chain står til etter som det hele kjører via forward chain.
Ingen av disse har vel noen fornuftig funksjon. Den midterste er en teoreisk sikkerhetsrisiko:
# Smid input pakker med invalid state ud $IPT -t filter -A INPUT -m state --state INVALID -j DROP
# Accepter etablerede input forbindelser $IPT -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Luk alt fra WAN interface $IPT -t filter -A INPUT -i $WAN -j DROP
Grunn: Output policy til drop og ingen huller ut gjennom denne. Dette gjør at alle input rules blir uten mening fordi input/output spiller sammen som "par". De forutsetter hverandre.
Vedrørende scriptet over, når denne kjøres "$IPT -P FORWARD DROP" slik at forward policy blir satt til drop så må det tilsvarende finnes et antall forwarding rules som lukker opp for den ønskede trafikken. Det finnes av det jeg kan se ingen slike.
Takker for points. Går det bra ? Finner du ut av det ? Ellers så er jo et oppsett med 2 hardwarefirewalls og dmz betydelig enklere å sette opp, men det blir da en PC og (og en sikkerhetsbastion) ekstra.
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.