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

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



On Sam, Jan 13, 2001 at 09:59:19 +0100, Janto Trappe wrote:

> Frag ihn doch mal was er zahlen wuerde. ;)

geld spielt keine rolle, solange ich mir eine flatrate leisten kann.
idealismus allerdings schon :)

> Stimmt, wenn die Policy DENY ist und die Rules geflushed werden, dann
> ist die Policy immer noch DENY. 

ja.

> Wenn nun die Rules dazu kommen, ist wengen der Policy
> doch trotzdem nichts "offen". Richtig?

nein, eigntlich nicht. kommt auf die rules an. wenn du eine rules hast
die -j ACCEPT werden, kommt was durch. die default policy gilt für
packete die auf keine rule passen. d.h. sind rules die -j ACCEPT haben
schon mal potenziell gefährlich und sollten sorgfältig ausgewählt
werden. allerdings wirst du keinen brauchbaren filter haben wenn du gar
nichts frei gibst. soweit klar.

> Was meinst Du mit "filter script"?

im kontext, das script das den eigentlichen filter in init.d startet.

> Wo bzw. wie soll ich 0firewall testen? 

in /etc/ppp/ip-up.d/0firewall .

> BTW, warum eigentlich "0","3"
> bzw. "99"?

die scripts in /etc/ppp/ip-up.d/* werden von /etc/ppp/ip-up gestartet. das
programm das dafür zuständig heisst run-parts und findest du bei debian
noch an anderen stellen. zweck der übung ist es, das script so früh wie
möglich nach erfogreichen starten von IPCP zu starten. das ipmasq zeugs
wird mit 00ipmasq gestartet damit gewährleistet ist, dass run-parts das
an allererster stelle macht. deswegen hab ich gemeint, du könntest mit
0firewall das script noch ehner starten als 3firewall.

noch sicherer wäre allerdings, die regeln schon vor der verbindung zu
haben. das wär dann wieder die lösung mit /etc/init.d/firewall und
update-rc.d . aber so wie ich dich bis jetzt verstanden habe, willst du
das nicht.

> 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.

wenn du nicht z.b. update-rc.d firewall defaults machst, wird beim
booten gar nichts gestartet. alternativ dazu kannst du das script auch
nur in /usr/local/etc/init.d/firewall haben, wenn's dich verwirrt.

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

tut es auch und ist empfehlenswert.

> Sorry, was ist FHS?

filesystm hierarchy standard -> http://www.pathname/fhs ist ein standard
wie die dateien und verzeichnisse auf einem linux system zu organisieren
sind. hat sich bewährt und debian hält sich erfolgreich daran.

> > /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?

lies den FHS. da das eigentliche script nichts mit der offiziellen
distribution zu tun hat, gehört es unterhalb von /usr/local . der
symlink in /etc/init.d dient der einfachheit/übersichtlichkeit.

> Warum ist udp kritischer als tcp? 

weil's sich einfacher spoofen lässt. 

kurz und bündig gesagt: bei tcp wird eine zur initialisierung des
sockets eine sequenz nummer an die source adresse geschickt die der
absender mit einem SYN-ACK bestätigen muss. da diese sequenznummer
"zufällig" generiert wird, ist sie schwer für's spoofing zu eraten,
ausser man sitzt im gleichen subnetz und snifft den traffic oder braucht
solch unbrauchbare betriebssysteme wie winblöd bei denen diese nummer
einfach zu erraten ist. dem missbrauch stehen alle türen offen.

bei udp hingegen kann man mit entsprechender kenntniss der raw-sockets
ein packet unter falscher absender-adresse an den empfänger schicken und
der empfänger hat keine möglichkeit das zu überprüfen.

das zu einem thema wo's tonnenweise tips und tricks gibt und mit diesen
paar sätzen noch lange nicht abgehandelt ist...

> Ausserdem gibt es doch
> /proc/sys/net/ipv4/conf/*rp_filter.

ok.

> 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?

die liste der regeln wär in dieser schlaufe immer gleich. nur die
parameter für den port werden übergeben.

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

du kannst sie mit -j entweder akzeptieren, sperren oder ablehnen. je
nach default policy. deswegen die for schlaufe. entweder du hast eine
default policy von deny und gibt's in der for schlaufe einzeln ports
frei, oder du hast eine default policy von accept und sperrst einzelne
ports. ist flexibel.

> 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.

YMMV. du läufst einfach die gefahr, für kurze zeit deinen input filter
nicht sicher zu haben. allerdings nur wenn eine default policy accept
hast. hier musst du prioritäten setzen. ist die eigentliche firewall
sicherer und das subnetz das dahinter steckt dafür nicht mit masq
gesichert, ist dem forward rule eine höhere priorität zu geben.

[ ob das firewall-stop-script zuerst output, dann forward und am schluss
  input löschen soll ]

> Muss es unbedingt in umgekehrter Reihenfolge sein? AFAIK nicht.

es *muss* nicht. das script in /etc/ppp/ip-down.d/99firewall wird
ohnehin erst gestartet wenn verbindung gar nicht mehr aktiv ist.

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

ja, vollkommen richtig. wenn du die default policy deny hast musst du
auch nicht einzelne ports sperren und kannst bei der portliste getrost
nur deine obigen angaben machen um den standard freizugeben. die for
schleife macht einfach die übergabe der argumente flexbiler.

btw, das lässt sich mit :1023 und 1024: abkürzen.

> 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.

ack.

> IMHO irgendwie bloed wenn man manuell Regeln einfuegen will. Entweder
> man muss dran denken sie wieder zu loeschen 

ja, so ist das.

> oder man kann sie nur nach
> der Einwahl hinzufuegen. :(

warum? wird ja nach meinem prinzip nichts geflushed...

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

und was für welche!

Description: Securely initializes IP Masquerade forwarding/firewalling
 This package contains scripts to initialize IP Masquerade for use as a
 firewall.  IP Masquerade is a feature of Linux that allows an entire network
 of computers to be connected to another network (usually the Internet) with
 only one network address on the other network.  IP Masquerade is often
 referred to as NAT (Network Address Translation) on other platforms.
 .
 By default, this package configures the system as a basic forwarding
 firewall, with IP spoofing and stuffed routing protection.  The firewall
 will allow hosts behind the firewall to get to the Internet, but not allow
 connections from the Internet to reach the hosts behind the firewall.
 However, ipmasq now features a very flexible framework where you can
 override any of the predefined rules if you so choose.  It also allows you
 to control if the rules are reinterpreted when pppd brings a link up or
 down.
 .
 This package should be installed on the firewall host and not on the
 hosts behind the firewall.
 .
 IP Masquerade requires the kernel to be compiled with CONFIG_FIREWALL,
 CONFIG_IP_FIREWALL, CONFIG_IP_FORWARD, and CONFIG_IP_MASQUERADE.

[ wo ipmasq gestartet wird ]

> In /etc/init.d?

dort und /etc/ppp/ip-up.d/00ipmasq

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

chiba:~$ echo 192.168.1.1 | sed 's,\.[0-9]*\.[0-9]*$,.0.0/16,'
192.168.0.0/16

das steht nicht in ip_dynaddr :)
wird für die auskommentierten ipchains regeln verwendet um das subnetz
anzugeben.

> 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?

aus der de-man page von route:

       netmask Nm
              ändert  die  Netzwerksmaske der Route, die zugefügt
              werden soll.


fazit: apt-get install ipmasq
doku in /usr/share/doc/ipmasq/ lesen, regeln in /etc/ipmasq/rules ggfs.
anpassen (mit einem .rul file) und freuen. sollte für deine zwecke die
beste lösung sein als mühsam ein eigenes script zu schreiben.

-- 
"Mine!  Mine!  It's all mine!"
	-- Daffy Duck

--
-----------------------------------------------------------
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: