[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian] ip-up/down - > ipchains -D | ipchains -F?



Mathias Gygax wrote:

> debian support um 06 uhr morgens... wenn das mein boss wüsste :)

Frag ihn doch mal was er zahlen wuerde. ;)

[...]
> > Die Flush-Methode hat den Vorteil, dass man uebersichtliche Scripte schreiben
> > kann aber den Nachteil, dass fuer eine kurze Zeit ueberhaupt keine bzw.
> > unvollstaendige Rules existieren. 
> 
> eben. eine restriktive default policy hilft da vor dem ip-up schon
> weiter. 

Stimmt, wenn die Policy DENY ist und die Rules geflushed werden, dann ist die
Policy immer noch DENY. Wenn nun die Rules dazu kommen, ist wengen der Policy
doch trotzdem nichts "offen". Richtig?

> manuell eingefügte (testweise, man weiss ja nie) regeln bleiben
> beim initalisieren und beenden der firewall vorhanden. könnte bei
> falscher handhabe aber auch ein sicherheitsloch darstellen. aber evt.
> willst du das ja testweise...

Naja, irgendwie ist beides Mist. Da ich aber ab und zu vor der Einwahl
Rules manuell einfügen will, bleibt ja nur das einzelne loeschen und
hinzufuegen der Rules bei auf- bzw. abbau der Verbindung.

> filter script ebenfalls in ip-{up,down}.

Was meinst Du mit "filter script"?

> [0firewall kannst du mal austesten]

Wo bzw. wie soll ich 0firewall testen? BTW, warum eigentlich "0","3" bzw. "99"?

> /etc/ppp/ip-up.d/3firewall:
> 
> #!/bin/sh
> #
> # start firewall
> #
> 
> if [ -x /etc/init.d/firewall ]; then
> 	/etc/init.d/firewall start;
> fi

Das setzt aber vorraus das die Rules fuer externe Verbindungen bereits in
"/etc/init.d/firewall start" stehen, also im Bootscript. Right? Das moechte
_ich_ nicht.

> /etc/ppp/ip-down.de/99firewall
> 
> #!/bin/sh
> #
> # start firewall
> #
> 
> if [ -x /etc/init.d/firewall ]; then
> 	/etc/init.d/firewall stop;
> fi

Klar, kann man natuerlich so machen wenn "/etc/init.d/firewall stop"
entsprechend aussieht.

> [etwas FHS muss es ja haben]

Sorry, was ist FHS?

> /etc/init.d/firewall -> /usr/local/etc/init.d/firewall

Ist doch eigentlich egal oder nicht? Ich kann doch genauso gut (wie weiter
oben von dir ebenfalls geschrieben) /etc/init.d/firewall in /etc/ppp/ip-up.d
ausfuehren, oder nicht?

> #!/bin/sh
> #
> # start/stop firewall
> 	
> addrules () {
>  # adding rules
[...]
> # icmp filter. nur wenn unbedingt nötig. ist bei 2.2 auch schon besser
> # geworden

Was meinst Du mit "icmp filter"?

>  for i in 4 5 8 12 13 15 17; do
>  # ipchains icmp typ in $i filtrieren
>  done;

Das hiesse ja, das die Regeln fuer alle icmp Typen in $i gelten. IMHO will man
das meistens nicht. Ich brauche z.B. nur 0, 8 und fuer Traceroute 11.

> # udp zuerst da wegen spoofing IMHO kritischer

Warum ist udp kritischer als tcp? Ausserdem gibt es doch
/proc/sys/net/ipv4/conf/*rp_filter.

> # udp ports in einer for schleife einzeln filtrieren
> 
>  for i in $portlist do
>    ipchains -A input -p udp -i iface # und hier deine regleln mit udp ports 
>  done;

Das wuerde ja auch heissen das man eine Liste von Regeln auf eine Liste Ports
anwenden will (wie bei icmp), ist doch eigentlich eher selten oder nicht?

> # jetzt tcp
> # tcp ports in einer for schleife einzeln filtrieren
> 
>  for i in $portliste do
>    ipchains -A input -p tcp -i iface # und hier deine regeln mit tcp ports
>  done;

Das gleiche wie bei udp und icmp. Oder verstehe ich dich nur nicht?

> # forward/masq regeln hier
> ipchains -A forward [...]
> # hier das gleiche für output

IMHO sind die Scripts sehr viel besser zu lesen wenn die Regeln fuer ein Paket
in der Reihenfolge input, forward, output stehen. Aber wie gesagt IMHO.

> removerules () {
>  # removing rules
> 
> # ab hier jetzt nochmal das ganze for spiel mit ipchains -D sons alles
> # wie oben in umgekehrter reihenfolge.

Muss es unbedingt in umgekehrter Reihenfolge sein? AFAIK nicht.

> die portlisten sollte man evt. noch global machen... aber ich will
> endlich das mail fertig schreiben...

Wenn du mit Portlisten 1:1023 und 1024:65535 meinst, dann ACK. Aber sonst
brauch man doch eingentlich keine Portlisten.

> die default policy sollte wie in jeder guten firewall auf DENY sein.

ACK.

> die angabe des interfaces erlaubt eine filtrierung speziell für's ppp
> device. im lan ist natürlich, sofern nicht schon konfiguriert, alles
> offen in bezug auf die konfiguration. weitere variablen und so kannst du

Naja, alles offen, nicht unbedingt. Ich hab da auch lieber nur das noetige
erlaubt auch wenn es bei mir zu Hause ist und nur zwei weitere Benutzer am Netz
haengen. Alleine wegen der Windoof Trojaner etc.

> folgende gründe:

> - wenn du am basteln bist behälst du deine ursprünglichen filter.
>   nachteil: manuell eingefügte filter regeln müssen auch manuell oder
>   mit -F (bad idea) gelöscht werden. je nachdem wann du manuell filter

IMHO irgendwie bloed wenn man manuell Regeln einfuegen will. Entweder man muss
dran denken sie wieder zu loeschen oder man kann sie nur nach der Einwahl
hinzufuegen. :(

>   einbaust kann auch ein -I im script besser sein.

Jup, IMHO wegen der uebersichtilichekeit. soger sehr viel besser. 

> folgendes gibt es zu beachten:
> 
> ipmasq kann dir einen strich durch die rechnung machen, sofern
> installiert. das masquerading allenfalls in /etc/ipmasq/*.rul anpassen

Das Paket ipmasq ist nicht installiert und /etc/ipmasq existiert bei mir
ebenfalls nicht. Was macht das Paket eingetlich? Nur Scripts installieren?

> und die masq konfiguration dem packet üblassen. ist konformer, da ipmasq
> ganz am anfang gestartet wird.

In /etc/init.d?

> isdn hat in den ip-{up,down} scripts ebenfalls rules, die aber per
> default, soweit ich das sehe, auskommentiert sind.

Hm, wenn da welche waren, hab ich sie geloescht.
Aber wofuer sind /etc/ppp/ip-down.d/99-isdnutils und
/etc/ppp/ip-up.d/00-isdnutils?

/etc/ppp/ip-down.d/99-isdnutils | /etc/ppp/ip-up.d/00-isdnutils
<snip>
#!/bin/sh

# example /etc/ppp/ip-up.d script for use with ipppd and dynamic IP numbers.
# Edit / add to the entries to suit the requirements of the interface.

# Use the network to enable the IP dynamic hack to reset old connections
# (otherwise the RST-provoking packet can't get out).
# For a smaller set of dynamic numbers:
# PPP_NET=`echo $PPP_LOCAL | sed 's,\.[0-9]*$,.0/24,'`
# in case your ISP has a large pool of dynamic numbers (should be OK):
PPP_NET=`echo $PPP_LOCAL | sed 's,\.[0-9]*\.[0-9]*$,.0.0/16,'`
<snap>

Es gibt doch /proc/sys/net/ipv4/ip_dynaddr fuer Dynamische IPs. Wozu also 
PPP_NET=...?

Danach wird die default Route geloescht und mit dem Kommentar "#usually
necessary" eine neue auf netmask 0 und $PPP_IFACE gesetzt. In 
/etc/ppp/ip-up.d/00-isdnutils das gleiche. Wofuer?
Dann folgen einige auskommentierte ipchains Rules. 

Gruss
Janto

-- 
Janto Trappe       - PGP key available upon request -
Germany


--
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------

685 eingetragene Mitglieder in dieser Liste.


Reply to: