/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Hjælp til en sikker FW (Iptables)
Fra : Mike


Dato : 02-09-02 11:16

Hey.. Jeg har en testserver som jeg vil forsøge at forvandle til produktions
server. Det sidste jeg mangler er at få tweaket mit Iptables script. Som det
ser ud nu afslører en portscanning af det vist mere eller mindre er
tilfældigt hvilke porte som er åbne og hvilke som er lukkede.

I mit script ville jeg gerne:

Forwarde port 21,22,80 til $WEBSERVER
Åbne port 8080, 3000, 10001
Tillade alt trafik på $LAN_NET

Som i kan se på scriptet så er der lidt mange ACCEPT? - ville være rart hvis
de var DROP istedet. Er der nogen der kan hjælpe mig lidt på vej? Her er
scriptet:

------------------
EXT_IP="80.111.111.111"
LAN_NET="192.168.0.0/24"
WEBSERVER="192.168.0.163"

# Disable routing inden regler påføres
echo 0 > /proc/sys/net/ipv4/ip_forward

# Regler flushes og policies sættes
iptables -t nat -F
iptables -F
# Accepter alt pr. Default
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT

# Source NAT alle LAN connections til vores externe IP, hvis
# trafikken fra disse ikke er til en af vores LAN IP net.
iptables -t nat -A POSTROUTING -s $LAN_NET -d ! $LAN_NET -j SNAT --to
$EXT_IP

# Tillad derefter trafik vi selv har sat igang at komme igennem
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Forwarding startes.
echo 1 > /proc/sys/net/ipv4/ip_forward

-------------------
Tak for hjælpen
p.s. Jeg har læst og læst på en del websider om emnet. Også prøvet en hel
del forskelligt, uden det har virket. Derfor håber jeg nogen kan hjælpe
Med Venlig Hilsen




 
 
Martin Dalum (02-09-2002)
Kommentar
Fra : Martin Dalum


Dato : 02-09-02 13:35

"Mike" <nospam@nospam.com> writes:

> # Accepter alt pr. Default
> iptables -P FORWARD ACCEPT
> iptables -P OUTPUT ACCEPT
> iptables -P INPUT ACCEPT

Det smarteste er at sætte disse tre defaults til DROP. Så kan du åbne
op for det du har brug for med regler senere. Det giver en overall
bedre sikkerhed.

--
Venlig hilsen / Regards from,
Martin Dalum

Mike (02-09-2002)
Kommentar
Fra : Mike


Dato : 02-09-02 14:29

"Martin Dalum" <garfield@sunsite.dk> wrote in message
news:8665xo603f.fsf@webz.dk...
> "Mike" <nospam@nospam.com> writes:
>
> > # Accepter alt pr. Default
> > iptables -P FORWARD ACCEPT
> > iptables -P OUTPUT ACCEPT
> > iptables -P INPUT ACCEPT
>
> Det smarteste er at sætte disse tre defaults til DROP. Så kan du åbne
> op for det du har brug for med regler senere. Det giver en overall
> bedre sikkerhed.

Kan du give et eksempel på en ultrasimpel opsætning med 3xDROP + åbning af 1
port + åbning/forwarding af 1 port til $SERVER

Så ville jeg blive glad

Mvh




Martin Dalum (02-09-2002)
Kommentar
Fra : Martin Dalum


Dato : 02-09-02 15:05

"Mike" <nospam@nospam.com> writes:

> Kan du give et eksempel på en ultrasimpel opsætning med 3xDROP + åbning af 1
> port + åbning/forwarding af 1 port til $SERVER

OK.. Her er et eksempel.. Det er på INGEN måde testet, så jeg kan ikke
garantere at det virker eller det ikke er fuld af huller. Gør dig
venligst den tjeneste at forstå hvad der sker, så du er fortroligt med
det.

#! /bin/sh

# Configuration options
WAN=eth0
LAN=eth1
LAN_IP=192.168.0.1
WAN_IP=80.111.111.111
LAN_NET=192.168.0.0/24
WEBSERVER=192.168.0.163

#
# flush all the rules in the filter and nat tables.
#
iptables -F
iptables -t nat -F

#
# erase all chains that's not default in filter and nat table.
#
iptables -X
iptables -t nat -X

# Finished flushing.. Now to the configuration.
#############################################################

#
# Set the default policies to DROP
#
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# Allow trafic on loopback interface
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Turn on IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Drop invalid packages
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
   
# Allow all outgoing traffic
iptables -A OUTPUT -j ACCEPT

# Allow established connections on input from WAN and forward
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i $WAN -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow all input traffic on LAN
iptables -A INPUT -i $LAN -j ACCEPT

# Allow port 8080 to localhost
iptables -A INPUT -m state --state NEW -i $WAN -p tcp --dport 8080 -j ACCEPT

# Allow port 3000 to localhost
iptables -A INPUT -m state --state NEW -i $WAN -p tcp --dport 3000 -j ACCEPT

# Allow port 10001 to localhost
iptables -A INPUT -m state --state NEW -i $WAN -p tcp --dport 10001 -j ACCEPT

# Enable source NAT
iptables -t nat -A POSTROUTING -o $WAN -s $LAN_NET -j SNAT --to $WAN_IP
iptables -t nat -P POSTROUTING ACCEPT

# Enable destination NAT
# Forward port 21, 22, 80 to WEBSERVER
iptables -A FORWARD -i $WAN -m state --state NEW -d $WEBSERVER -p tcp --dport 21 -j ACCEPT
iptables -t nat -A PREROUTING -i $WAN -p tcp --dport 21 -j DNAT --to-destination $WEBSERVER:21

iptables -A FORWARD -i $WAN -m state --state NEW -d $WEBSERVER -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i $WAN -p tcp --dport 22 -j DNAT --to-destination $WEBSERVER:22

iptables -A FORWARD -i $WAN -m state --state NEW -d $WEBSERVER -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i $WAN -p tcp --dport 80 -j DNAT --to-destination $WEBSERVER:80

iptables -t nat -P PREROUTING ACCEPT

--
Venlig hilsen / Regards from,
Martin Dalum

Mike (02-09-2002)
Kommentar
Fra : Mike


Dato : 02-09-02 15:25

"Martin Dalum" <garfield@sunsite.dk> wrote in message
news:86sn0s4hdl.fsf@webz.dk...
> OK.. Her er et eksempel.. Det er på INGEN måde testet, så jeg kan ikke
> garantere at det virker eller det ikke er fuld af huller. Gør dig
> venligst den tjeneste at forstå hvad der sker, så du er fortroligt med
> det.

Ok jeg kigger på det.. Det undrer mig iøvrigt at det skulle være nødvendigt
at have

iptables -P FORWARD DROP
iptables -P OUTPUT DROP

Hvis man skal sikre sig "udefra" er det så ikke kun INPUT DROP der behøver
at være sat?

og mange tak for hjælpen!

Mvh



Kent Friis (02-09-2002)
Kommentar
Fra : Kent Friis


Dato : 02-09-02 20:54

Den Mon, 2 Sep 2002 16:25:07 +0200 skrev Mike:
>"Martin Dalum" <garfield@sunsite.dk> wrote in message
>news:86sn0s4hdl.fsf@webz.dk...
>> OK.. Her er et eksempel.. Det er på INGEN måde testet, så jeg kan ikke
>> garantere at det virker eller det ikke er fuld af huller. Gør dig
>> venligst den tjeneste at forstå hvad der sker, så du er fortroligt med
>> det.
>
>Ok jeg kigger på det.. Det undrer mig iøvrigt at det skulle være nødvendigt
>at have
>
>iptables -P FORWARD DROP
>iptables -P OUTPUT DROP
>
>Hvis man skal sikre sig "udefra" er det så ikke kun INPUT DROP der behøver
>at være sat?

Hvad OUTPUT skal være sat til afhænger af om man stoler på brugerne
på maskinen.

Både INPUT (maskinen selv) og FORWARD (hvis maskinen agerer router /
hardware firewall) bør være DROP.

Mvh
Kent
--
NT er brugervenligt - det er bare brugerne der ikke kan finde ud af det
- en NT-administrator

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408868
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste