Re: [Forum] Netfilter

From: Michael Westergaard <mw@daimi.au.dk>
Date: Fri Jan 12 2001 - 13:43:05 CET

> From forum-admin@aalug.dk Fri Jan 12 12:36:25 2001
> Subject: [Forum] Netfilter
>
> Hejsa...
>
> Jeg er ved at læse lidt omkring netfilter, da jeg har installeret kernel
> 2.4, men kan ikke rigtig vente med at prøve det =).

Hvis du ikke allerede har gjort det, så læs Netfilter-HOWTO og Masqerading
HOWTO (de bliver installeret i /usr/doc/iptables-x.y.x hvis du installerer
fra rpm). De er ret korte og _meget_ informative.

>
> Er der nogen som har sat det op, og som evt kunne smide et eksemple på deres
> opsætning af regler?

Jeg bruger:

#!/bin/bash

# Disable forwarding
echo "0" > /proc/sys/net/ipv4/ip_forward

# Enable SYN-cookies
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

# Ignore echo-requests (ping) on broadcast address
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Enable anti-spoofing on all interfaces
for f in /proc/sys/net/ipv4/conf/*; do
   echo "2" >$f/rp_filter
done

# Setup default policies
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Flush all chains
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t nat -F OUTPUT

# Setup source-NAT
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source extern.ip.number

# Setup INPUT rules
# Allow for known connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow new valid http and ssh connection from everywhere
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
# Allow for new connection from inner network
iptables -A INPUT -m state --state NEW -s 172.16.1.0/255.255.255.0 -j ACCEPT
# Allow for slow pinging
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/s -j ACCEPT

# Setup FORWARD rules
# Allow for known connections
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow for new connection from inner network
iptables -A FORWARD -m state --state NEW -s 172.16.1.0/255.255.255.0 -j ACCEPT

# Enable forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward

>
> jeg har nogle maskiner som sidder på 172.16.1.*, så har jeg min linux box
> med 2 netkort 172.16.1.1 og et fast ip som er 212.et.eller.andet.

undersøg lige det med 212.et.eller.andet igen. Hvis du har stofa er det
nemlig _ikke_ dit IP-nummer. Det er det IP-nummer du ses med udefra (Stofa
laver nemlig også NAT). Jeg vil tro det er det samme med alle andre udbydere.

>
> linux maskinen skal tilbyde web og ftp.

har du overvejet om ftp ikke kan erstattes af ssh?

Ellers skal du udskifte ssh med ftp og 22 med 21 i ovenstående.

Mit script tillader at maskinen pinges, men ikke at den flood-pinges. Jeg
synes det er en rar ting, nogen mener måske andet, men jeg ser det ikke
som noget specielt sikkerhedshul.

> alle maskinerne på det interne net skal kunne komme ud på alle porte.
>
> /Kasper
>
>

Men det er dog med forbehold for evt. fejl.

Husk at kernen skal være compileret med support for iptables (har du nok)
samt support for state-rule og hvad du ellers finder på at bruge.

   _______
  / \ Michael Westergaard
 / /|/| \ \ mw@daimi.au.dk
( ( ` | ) ) http://www.daimi.au.dk/~mw
 \ \ |/\/ /
  \_______/ Redundans er godt. Men redundans er bedre.
Received on Fri Jan 12 13:43:05 2001

This archive was generated by hypermail 2.1.8 : Tue Jul 19 2005 - 16:01:49 CEST