Avatar billede archy Nybegynder
06. marts 2005 - 21:12 Der er 4 kommentarer

Iptables firewall (LAN/WAN/DMZ)

Nogle der kan tage et kig på dette script og sige mig hvad jeg evt. mangler?
Det er ikke fordi det ikke virker (det er ikke taget direkte fra runtime - men mener det virker)

Vil bare gerne have nogle forslag til ændringer evt. til at gøre det mere sikkert..

(Som altid herinde går point til dem der kan komme med nogle gode ideer/forslag/ændringer)

#!/bin/sh

# Sæt default Policy
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Flush de 3 chains
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT

# eth0 = DMZ (00:01:03:45:46:F9) IP:192.168.2.1
# eth1 = WAN (00:01:03:45:45:3E) IP:10.100.156.1
# eth2 = LAN (00:A0:24:DA:62:ED) IP:192.168.3.1

# Variabler
LAN_NET=’192.168.3.0/24’
EXT_IP=’10.100.156.1’
DMZ_NET=’192.168.2.0/24’

# Accepter etablerede/relaterede forbindelser
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Accepter alle nye forbindelser der ikke kommer fra WAN og ikke skal ind på eth2
iptables -A INPUT -m state --state NEW –o ! eth2 -i ! eth1 -j ACCEPT
iptables -A FORWARD -m state --state NEW –o ! eth2 -i ! eth1 -j ACCEPT

# IP Spoofing sikkerhed.
iptables -A INPUT --protocol all -s 192.168.3.0/24 -i eth1 -j DROP
iptables -A FORWARD --protocol all -s 192.168.3.0/24 -i eth1 -j DROP

iptables -A INPUT --protocol all -s 127.0.0.1 -i eth1 -j DROP
iptables -A FORWARD --protocol all -s 127.0.0.1 -i eth1 -j DROP



# Accepter indkommende http, ftp, ssh
iptables -A INPUT -m state --protocol tcp --state NEW --destination-port http -j ACCEPT
iptables -A INPUT -m state --protocol tcp --state NEW --destination-port ssh -j ACCEPT
iptables -A INPUT -m state --protocol tcp --state NEW --destination-port ftp -j ACCEPT
# Accepter ICMP (f.eks. Ping)
iptables –A INPUT –m state –protocol icmp –state NEW –j ACCEPT

# Opsæt MASQUERADING
iptables -t nat -F POSTROUTING
iptables –t nat –A POSTROUTING –d ! 192.168.0.0/16 –j MASQUERADE


#Forward Port 80 (http) til linux server på DMZ
Iptables -t nat -A PREROUTING -i eth1 -d 10.100.156.1 -p tcp --dport 80 -j DNAT --to 192.168.2.2:80
Avatar billede bufferzone Praktikant
06. marts 2005 - 21:28 #1
Den kan strammes lidt op.

prøv at kikke i denne opgave. Fra side 26 og frem kan du se et iptables script forklaret. du kan tage en del af enkelt punkterne og sætte ind i dit script, alle dele er forklaret

http://www.giac.org/certified_professionals/practicals/gcfw/0526.php

Spørg hvis der er noget du ikke forstår, faktisk vil du kunne bruge de første liniet, der strammer selve firewallens sikkerhed op og der kommer også andet senere
Avatar billede bufferzone Praktikant
06. marts 2005 - 21:29 #2
du bør også læse denne

http://www.eksperten.dk/artikler/554
Avatar billede archy Nybegynder
06. marts 2005 - 21:36 #3
uhm tak, men har ikke brug for endnu en iptables tutorial/guide :)

Håbede på noget mere specifikt, har allerede læst et ton af artikler og håbede der var nogle der kunne komme med nogle specifikke områder jeg kunne gøre dette script stærkere på..

... Derfor de 100 point.
Avatar billede bufferzone Praktikant
06. marts 2005 - 21:47 #4
den er faktisk ret specefik, men jeg klipper da gerne lidt til dig

Først sikres selve firewallen

# Enable syn-cookies (syn-flooding attacks)
echo "1" >/proc/sys/net/ipv4/tcp_syncookies

# Disable ICMP echo-request to broadcast addresses (Smurf amplifier)
echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Shut off source-routing and enable IP spoof detection. This must be done for all network interfaces
for f in /proc/sys/net/ipv4/conf/*; do
  # Drop all source-routed packets
  echo "0" >$f/accept_source_route

  # Enable source-address verification (anti spoofing).
  # The value 2 represents Ingress filtering. For more info se RFC 1812.
  echo "2" >$f/rp_filter
done


Du mangler vist også at flushe nat, post pg pre

# Flush NAT-chain POSTROUTING and PREROUTING
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -F PREROUTING
echo "NAT module flushed"


Hvad med lidt extra moduler hvis du vil kunne håndtere f.eks. ftp

#-----------------------------------------------------------------------------
# LOADING ADDITIONAL MODULES
#-----------------------------------------------------------------------------

echo -n "Loading helper-modules        :"

/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp

echo "Done"


Disse er klippet fra ovennævnte dokument, du kan se sammenhængen i dokumentet
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