simplicissimus firewallus

2005-09-10 17:20

Wenn es nicht immer so einfach wäre, würde ich mir ja komplexere Regeln ausdenken, aber eigentlich reicht das doch so – und dabei wird sogar schon geloggt, was das Zeug hält. Der geneigte Leser erinnert sich an meine Anmerkung? Ich hab’s hiermit mal getan.

#!/bin/bash
iptables=/sbin/iptables
ext=eth0
local=212.60.158.245

ifconfig eth0:0 $local netmask 255.255.255.248
route del default gw 192.168.0.1
route add default gw 212.60.158.241

$iptables -A OUTPUT -o $ext -s $local -p tcp -j ACCEPT
$iptables -A INPUT -i $ext -d $local -p tcp -m state –state ESTABLISHED -j ACCEPT
$iptables -A INPUT -i $ext -d $local -j LOG –log-prefix „DROP “
$iptables -A INPUT -i $ext -d $local -j DROP

3 Kommentare to “simplicissimus firewallus”

  1. HagK Says:

    OK, man sollte die vorletzten beiden Zeilen auch für UDP, wenigstens für UDP Port 53 erlauben, sonst muss das DNS immer auf TCP ausweichen, wenn es keine Antwort bekommt, weil UDP bis dato gedropt wird. Wer so komische Sachen wie FTP benötigt, muss kommt mit obigem natürlich auch nicht hin. Mindestens ein RELATED wäre sehr sinnvoll.

  2. nfowar Says:

    was versprichst Du dir von der OUTPUT-beschränkung auf tcp? Ich würde auf output gar nicht filtern, macht IMHO hinterher nur probleme („wieso kann ich nicht pingen???“).
    Und für das loggen würde sich ein LIMIT anbieten, es sei denn Du willst es ganz genau wissen ;)

  3. HagK Says:

    nfowar, es soll ja restriktiv sein, damit ich nicht immer zu faul bin, mich hinter dem NAT-Gateway zu verstecken. Sinn dieser festen IP ist es, dass ich schnell mal Mails checken kann, und die lese ich dann auf dem Server. Da brauche ich nur tcp. Ich wollte ja eben kein Skript mir 100+X Zeilen.

Leave a Reply