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

Re: NFS - Performance und Firewall?



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo ;-)

Gerhard Brauer wrote:

> Kann ich nichts dazu sagen, mußt du halt austesten. Die Frage ist
> allerdings: was versprichst du dir davon?

Ich hab halt das Problem, dass unser jetziges NAS (auf der NFS
Seite) zu üblen Hängern neigt, wenn die Netzwerklast zu groß wird.
Und in diesem Fall wird es wohl an den Fragmenten der NFS-UDP Pakete
hängen. Freuen würde ich mich ja, wenn ich TCP zur Übertragung
nutzen könnte, doch das ist selbst in einem 2.6er Kernel noch
'experimental' und ein altes Unix wie Solaris 5 wird damit nichts
anfangen können. Setzt man die wsize und rsize herab, ist zwar die
Sache mit den Fragmenten besser, aber aufgrund des Overheads der
Durchsatz miserabel (gut, das wäre nicht das schlimmste).

Ein Problem mit unserem Netzwerk ist auch, dass wir ein einziges
Subnetz haben, ca. 800 Rechner und nur Layer 2 Switches. Das erzeugt
ungemein viel ARP-Pakete (dank der Windowsrechner, die alle 10
Minuten ihre ARP-Tabellen verwerfen), die dann trotz der Switches zu
Kollisionen und damit zu nicht reparierbaren Fragmenten bei den
RPC-Aufrufen für NFS führen. Und dann muss der gesammte RPC-Aufruf
erneut übertragen werden.

Und genau dort möchte ich lieber etwas weniger Durchsatz, dafür eine
flüssigere Abarbeitung. Möglichkeit 1 ist rsize und wsize
runtersetzen. Andererseits die MTU hoch, doch weiss ich nicht, ob
man das einfach machen kann/darf.

> *Was* willst du denn *warum* mit iptables absichern? Zugriff von
außen?

> Aber auch diese Notwendigkeit der "Verwirrung" von Clients (und
> "Angreifer-Clients) erschließt sich mir nicht. Jedenfalls nicht als
> Allheilmittel.

Zur Aufklärung: Der Rechner um den es hier geht, steht schon in
einem LAN hinter einer Firewall. Von daher ist die Sicherheit in
Richtung Internet ohne weiteres gegeben und in diese Richtung
braucht es auch keine Zugriffe.

Anderes Problem sind Netzwerkscanner von innerhalb des Netzes und
die Zugriffe auf andere Ports auf dem Rechner, als die die zu NFS
gehören (wo hier eben für iptables genau das Problem besteht, das
der Portmapper die Ports zuweist und ich aber für iptables die Ports
kennen müsste).

Was ich erreichen will ist folgendes: Der Server soll nach aussen
hin nur für einen bestimmten Adressbereich NFS annehmen, was auch
kein Problem ist, dafür ist die /etc/exports gut. Nur, was tun, wenn
sich jemand einen Rechner schnappt und die IP ändert? In diesem Fall
wäre ich gerne in der Lage, den Zugriff auf bestimmte MAC Adressen
einzugrenzen, das ginge eben mit iptables (hatte ich mal gelesen).

Zum anderen steht der Rechner später in einem abgeschlossenen Raum
und muss von aussen administriert werden (per SSH). Und hier würde
ich eben auch gerne nur bestimmte Rechner (MAC Adressen) zulassen
wollen und für alle anderen soll der Port einfach als "dicht"
erscheinen, damit die Versuchung nicht allzu groß wird.

> Welche Probleme hast du denn eigentlich? Kommen deine Client-User an
> Daten ran, die sie eigenlich nicht benutzen dürfen? Dann hast du ein
> grundsätzliches Admin-Problem. Und dann nützt es auch nicht über die
> Portreglung zu sagen: "Meine Vordertür ist jetzt bittschön die
> Hintertür", wenn eben diese Hintertür auch sperrangelweit offensteht.

Nein, das ist wie gesagt kein Problem. Nur ich stimme Dir zu, das
NFS eben ein unsicheres Filesystem ist (es findet ja keine Prüfung
des Nutzers statt, ich kann halt einfach mit einer UID ankommen, die
mir vielleicht gar nicht gehört und bekomme dann trotzdem die Rechte
- - daher ja auch unbedingt ein root_squash)- ich es leider wegen
einigen Applikationen unter Solaris auch leider nicht ändern kann.
Aber die Benutzer und Gruppenrechte sind soweit auch erstmal
ausreichend, sonst könnte ich ja auch XFS nehmen (wird es sogar in
der Tat) und damit die ACLs.

Die Sache mit der Festlegung der Ports sollte auch primär nicht der
Sicherheit durch Verschleierung dienen. Aber NFS verwendet nunmal
für einige Dinge wie statd und mountd den Portmapper und damit kann
ich leider vor dem Starten einer iptables Firewall auf dem Server
mir die unerwünschten Gäste nicht vom Hals halten, da ich nicht
weiss, welche Ports ich freigeben muss und welche ich sperren kann.

> e) Die IMHO beste Methode bei höherem Sicherheitsbedürfniss ist, über
> nfs ein verschlüsselndes Dateisystem zu exportieren (z.B. cfs).

ACK - nur wie eben gesagt, leider nicht möglich.

> Das verstehe ich nicht.

Wir haben aus irgendeinem Grund mehere Server, die periodisch alles
was im Subnetz ist, auf dem Telnetport beispielsweise 'anpingen' (wo
der Versuch jedoch abgelehnt wird, da kein Telnet vorhanden). Aber
bei anderen Diensten, die laufen müssen (von einer eingesetzten
Software her), ist es etwas dumm, wenn dadurch ein Prozess gestartet
wird (ist ein inetd Ding), dieser dann die Verbindung ablehnt und
sich wieder beendet. Das kostet bei relativ vielen Zugriffen
(teilweise 10-15 pro Sekunde) einfach eine Menge an CPU und
Speicherressoucen. Von der Seite her möchte ich das gerne
dahingehend unterbinden, dass eben nur die zugelassenen IPs/MACs auf
dem Port den Dienst 'sehen' können, alle anderen aber nicht.

Hab auch schon eine Menge gelesen und ist wohl etwas kniffellig.
Alles wäre kein Problem mehr, wäre NFS mit den sich ändernden Ports
nicht. Dann würde iptables alles das erfüllen können, was ich gerne
hätte. Werd mal weiter forschen, ob ich es schaffen kann, _alle_ zu
NFS gehörenden Dienste an einen festen Port zu binden - das ist
genau das, was mir bisher nicht gelungen ist (aber wohl auch vielen
anderen schon Kopfschmerzen bereitet hat, abgesehen von mir -
erstaunlich was sich alles im Usenet und bei Google dazu findet).

Jan

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFAZerGvvmCkIIgH8QRAjxsAKC64nANjiKl/9sV74q6p5bL7hnAzwCeKyhp
oi3rIsS6TZyqi0jeurgOQ6s=
=tC9j
-----END PGP SIGNATURE-----



Reply to: