Gå til innhold

Minimalistisk iptables-oppsett for småbranner?


Anbefalte innlegg

Jeg skal ta med meg de 105 tette sidene med utskrift av Oscar Andreassons iptables-tutorial i påsken, men det er ikke sikkert jeg kommer til å lese alt..

 

Så jeg våger meg på å spørre etter forslag til et minimalistisk iptables-oppsett for en maskin som skal stå som server med fast IP (ADSL), og brukes til noen enkle tjenester (litt PHP, ikke-anonym ftp, ssh-pålogging). Kjører Mandrake 10.1, og styrer unna shorewall etc. Er vel mest ute etter å holde scriptkiddies unna.

Lenke til kommentar
Videoannonse
Annonse

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT

iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

 

Er enkle reglar som eg brukar for å gjere nettet mitt tryggare.

 

Du kan og gjere det litt tryggare vel å nekte utgåande trafikk i utgangspunktet, men ha nokon portar som er tillatt, t.d:

iptables -P OUTPUT DROP

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Det vil kun gje tilgang til oppkoblingar mot port 80 (http)

 

Dersom du kun har faste ip adresser som skal koble seg opp mot ftpserveren,kan du tillate oppkoblingar kun frå desse ip adressene og blokke alle andre.

/etc/hosts.deny kan vel være vel så godt å bruke til det føremålet.

 

Blokke diverse ICMP kan og være smart.

 

Finnes sikkert andre ting som er smart å ha med og:)

 

Linuxguiden har gode toturials.

Lenke til kommentar

Takker for svar - jeg hadde jo vært innom Linuxguiden, plukka opp tutorial-referansen derfra. Må anbefale netfilter-eksemplet, en fryd å lære på den måten. Bra jobba!

 

 

Her er oppsettet så langt:

#!/bin/bash
#  20050321-23 tay Setup for ADSL

# Sett interface til statisk IP
ifconfig eth0 xxx.yyy.zzz.78 netmask 255.255.255.0 up
# Sett  som gw
route add default gw xxx.yyy.zzz.78 dev eth0
# Sett opp IP-forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward
# Sett opp iptables SNAT 
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source xxx.yyy.zzz.78
# Dropp alt
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Godta frå internt nettverk
iptables -A INPUT -i eth1 -s 192.168.10.0/24 -j ACCEPT
# Og frå loopback i brannveggen
iptables -A INPUT -i lo -s 127.0.0.1 -j ACCEPT
# Eigendefinert input-kjede 
iptables -N input_ext
# Som får alle input-pakker
iptables -A INPUT -i eth0 -j input_ext
# Godta etablerte samband
iptables -I input_ext -m state --state RELATED,ESTABLISHED -j ACCEPT
# Godta trafikk på spesifiserte portar
# HTTP&Java
iptables -A input_ext -p tcp --dport 80 -j ACCEPT
iptables -A input_ext -p tcp --dport 8080 -j ACCEPT
# ftp
iptables -A input_ext -p tcp --dport 20:21 -j ACCEPT
#ssh
iptables -A input_ext -p tcp --dport 22 -j ACCEPT
# Trafikk ut godtas
iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -o eth0 -j ACCEPT
# Og etablerte forbindelser inn
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Så lar vi alt frå brannmuren passere..
iptables -P OUTPUT ACCEPT
# Slipp gjennom ping
iptables -I INPUT -p icmp --icmp-type 8 -j ACCEPT

 

Umiddelbart, så ser dette ut til å funke greit, men jeg vil gjerne ha forslag/kommentarer. Når det gjelder ICMP-filtreringa, så er det jo god skikk å svare på ping når en tilbyr server-funksjoner. Men burde jeg sluppet gjennom mer?

 

Jeg er litt skeptisk til å filtrere generelt etter faste IP-numre, både funksjonelt og sikkerhetsmessig. Men det er kanskje nok en av mine fordommer?

 

Edit: Anonymiserte IP-nummeret. Det er fast!

Endret av capricorny
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...