PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie sollte ein gute Partitionierung für einen Webserver aussehen ?



binary trust
22.04.04, 08:39
Hi,

gibt es ihrgendwo ein Doku wie man einen Webserver richtig partitionieren sollte ? Ich spiel gerade mit einen Testserver rum weis allerdings nicht wie ich wegen der Auslastung die Partionen erstellen soll. Es heißt ja z.B. das man /usr/lib und /usr/src anscheinend auf verschiedene Partionen packen sollte. Gibt es da ihrgend ein Howto wo man sich ein bischen einlesen kann oder könnt ihr mir ein paar Tipps geben ?


Danke

Gruß
Binary

Jorge
22.04.04, 09:12
Partitionierungsfrage, egal ob es um einen Desktoprechner geht oder einen Server, sind immer vergleichbar mit der Frage nach dem heiligen Gral. Partitonierungsvorschläge kann man zwar machen, allerdings ist die Partitionierung immer von den Gegebenheiten Abhängig. Eine goldene Regel, womöglich noch mit Größenangaben für die einzelnen Partitionen gibt es nicht.

core
22.04.04, 09:23
Das Thema wurde hier sicher schon des öfteren erörtert.
Ich plädiere für
/, /boot, /usr, /home, /tmp und /var
kannst ja noch /var/www dazu nehmen ..

eclipse
22.04.04, 09:23
Jo da hatt Jorge recht. Gibt keine Goldene Regel.
Aber eines sollte man machen.
Wenn man quotas machen will, was bei mehreren Usern aufjedenfall drauf gehört, sollten die Homes schon auf einer eigenen Partition liegen.
Naja es schadet sowie so nicht, soviel wie möglich auf eigene Partitionen zu verlagern.

binary trust
22.04.04, 09:25
jo, das ist mir schon klar aber es gibt ja auch bestimmt goldene regeln welche verzeichnisse man unbedingt auf eine extra partition setzen sollte und welche eher nicht. bei einem webserver wäre dann warscheinlich /opt/ eine extra partition die wie ein schatz ständig zu sichern wäre ....

eclipse
22.04.04, 09:31
Solange du das hier befolgst:


* /bin
Das Verzeichnis /bin enthält die grundlegenden Systemprogramme, die zum Starten des Systems benötigt werden. Zum Beispiel das mount-Programm. Ohne dieses Programm können keine weiteren Dateisysteme gemountet werden, es ist also zwingend notwendig, daß /bin auf der Wurzelpartition liegt, wo es gleich nach dem Laden des Kernels zur Verfügung steht.
* /dev
Das Verzeichnis /dev enthält die Gerätedateien, mit denen der Kernel physikalische Geräte (unter anderem auch Partitionen und Platten) ansprechen kann. Diese Gerätedateien werden benötigt, um Partitionen zu mounten. Also muß auch dieses Verzeichnis zwingend auf der Wurzelpartition liegen.
* /etc
Das Verzeichnis /etc enthält - neben vielen anderen Informationen - die Information, wohin welche Partition gemountet werden soll. Ohne diese Information wäre es gar nicht möglich, andere Partitionen automatisch zu mounten.
* /lib
Das Verzeichnis /lib enthält die grundlegenden Libraries, die von Programmen wie mount benötigt werden um zu funktionieren. Außerdem liegt in diesem Verzeichnis das Unterverzeichnis modules, das die Kernelmodule enthält. Es können hier auch Kernelmodule liegen, die für die Erkennung von Dateisystemtypen notwendig sind.
* /sbin
Das Verzeichnis /sbin enthält Programme, die während des Startvorganges notwendig sind, bevor gemountet wurde. So sind hier beispielsweise die Programme zur Überprüfung der Konsistenz von Dateisystemen enthalten. Diese Konsistenzüberprüfung muß vor dem Einhängen des jeweiligen Dateisystems stattfinden.

Diese Verzeichnisse müssen also zwingend auf der Wurzelpartition liegen, alle anderen Verzeichnisse können theoretisch auf andere Partitionen ausgelagert werden. Zumindestens das Verzeichnis /root, das Heimatverzeichnis des Systemverwalters sollte (muß aber nicht) noch auf dem Wurzelverzeichnis gelegen sein, da es vorkommen kann, daß der Systemverwalter in einem Wartungsmodus mit dem System arbeiten muß, in dem nur das Wurzelverzeichnis eingehängt ist. Wenn /root auf der Wurzelpartition liegt, ist so sichergestellt, daß er auch in diesem Wartungsmodus Zugriff auf seine Dateien hat.

Kannst du eigentlich machen was du willst.

core
22.04.04, 09:39
bei einem webserver wäre dann warscheinlich /opt/ eine extra partition die wie ein schatz ständig zu sichern wäre ....

/opt, wie kommst denn darauf?
Oder geht's hier um SuSe, und die legen dort die www Root ab? Wäre denen ja durchaus zuzutrauen...

binary trust
22.04.04, 09:44
ups, hab net opt gemeint.
ich meinte /srv/www (Verzeichniss von htdocs unter SuSE).
Sollte ich das auf eine andere Partition schieben ?

eclipse
22.04.04, 11:58
binary trust:
Es ist völlig egal wo deine webseiten liegen.
Du kannst den Webserver auch so konfigurieren das /home dein Webverzeichnis ist, und nicht /srv/www.
Und dann kannst du ja /home nehmen und deine quotas einrichten.

oafish
22.04.04, 12:03
Und mach das /var nicht zu klein. Muss jede Woche alte Logs löschen weil ich Dussel beim Partitionieren eine 0 vergessen hab!

oafish

DarkSorcerer
22.04.04, 12:26
Hier gibts auch noch ein paar Tipps für nen sicheren Webserver:
http://www.gentoo.org/doc/de/gentoo-security.xml

netzmeister
22.04.04, 12:45
Hallo,

2 Partitionen ;)

1 Partition für das System und die Daten, die andere für Swap.

Viele Grüße

Eicke

binary trust
22.04.04, 13:43
alles klar :)
am besten die homeverzeichnisse noch als tmpfs mounten :ugly:


ok, ich hab nun einiges an infos von euch und werd mich nun mal genauer mit partitionen und lvm zeugs beschäftigen. herzlichen dank für all die tipps (abgesehen denn von netzmeister *g*).

so far ::::: binary trust

kane32
22.04.04, 13:52
für /tmp würde ich auf jeden fall eine eigene partition machen, und die dann mit der "noexec"-option mounten.
So habens die script-kiddies schwerer ;)

binary trust
22.04.04, 14:05
danke für denn tip!

wenn ich mir denn beitrag von eclipse anschaue welche partitionen man nicht auf andere platten legen darf dann nehme ich doch auch schwer an das /proc ebenso auf der / Partition laufen muss da er die internen Kernelanweisungen usw. beinhaltet ....
ebenso gehe ich davon aus das die oben genannten partitionen sich nicht auf lvm laufwerken befinden dürfen ?

geronet
22.04.04, 15:26
/ <- sowieso
/var <- würd ich empfehlen
/boot <- nur falls der bootloader es nicht peilt

Sonst so wie Eicke es vorschlägt ;)

binary trust
22.04.04, 16:57
/boot <- nur falls der bootloader es nicht peilt ???

was net peilt ?

core
22.04.04, 20:24
/boot, weil dann der kernel im laufendem betrieb nicht gemountet sein muss - sprich im falle eines absturzes keine Dateisystem fehler hier. sehr vorteilhaft!
/tmp kann jeder schreiben, also wegen ... z.b. hardlinks auch extra!
/var kann schnell voll laufen.. daher, extra!
/home - userspace, extra!
/usr programme .... muss nicht ist aber vorteilhaft weil hardlinks ja dann doch oft genau hier her zeigen.
/ der rest

extra sicher.. /srv/www oder /var/www oder wo auch immer die DocumentRoot ist extra!

mave
22.04.04, 21:35
/boot, weil dann der kernel im laufendem betrieb nicht gemountet sein muss - sprich im falle eines absturzes keine Dateisystem fehler hier. sehr vorteilhaft!
/tmp kann jeder schreiben, also wegen ... z.b. hardlinks auch extra!
/var kann schnell voll laufen.. daher, extra!
/home - userspace, extra!
/usr programme .... muss nicht ist aber vorteilhaft weil hardlinks ja dann doch oft genau hier her zeigen.
/ der rest

extra sicher.. /srv/www oder /var/www oder wo auch immer die DocumentRoot ist extra!

Nur schnell eine Frage nebenbei... Wär das auch empfehlenswert für Dekstop User?! Nimmt mich nur mal wunder... von Var habe ich schon gehört für Server.... mhm..

eclipse
23.04.04, 01:21
Klar ist das auch für Desktops brauchbar.


core leider machst du in deiner Aufzählung einen Fehler.

Hardlinks sind nicht Partitionsübergreifende !!!
Also werden auch keine Hardlinks standardmäßig in diese Verzeichnisse /usr und /tmp zeigen.

core
23.04.04, 04:15
Klar ist das auch für Desktops brauchbar.


core leider machst du in deiner Aufzählung einen Fehler.

Hardlinks sind nicht Partitionsübergreifende !!!
Also werden auch keine Hardlinks standardmäßig in diese Verzeichnisse /usr und /tmp zeigen.
Da hast du mich falsch verstanden. Eben weil Hardlinks *nicht* Partitionsübergreifend funktionieren -> Unterteilung in verschiedene Partitionen.
"Standardmässig" sowieso nicht.

binary trust
23.04.04, 07:50
sagtmal meint ihr mit hardlink eine verknüpfung wie man sie mit ln -s erzeugt ? würde das dann bedeuten wenn ich z.b. von /home/abc eine verknüpfung auf /usr/coolesProggi mache und beide auf einer extra partition sind, dies nicht gehen würde ?

eclipse
23.04.04, 07:55
Okay core !

@binary trust:
Nö das was du meinst mit "ln -s" sind Softlinks , und die sind Partitionsübergreifend.
Hardlinks werden nur mit z.B "ln" erzeugt.

core
23.04.04, 08:34
Hier mal ein kleiner Text zum Thema hardlinks..
http://www.hackinglinuxexposed.com/articles/20031214.html
oder hier

http://www.securityfocus.com/archive/1/200311241736.29572.jlell@JakobLell.de/2004-04-20/2004-04-26/0

oder, oder, oder.. wurde schon oft behandelt das Thema -> Mit Google stösst man auf mehr ..

binary trust
23.04.04, 09:47
danke für die links!
werd mir das gleich mal durchlesen.

ich bin grade damit beschäftigt die partitionen sicher zu gestallten.
einige sachen sind mir klar aber was bewirkt denn z.b. die einstellungen: nodev und noatime ?
dev sind gerätedateien, das ist klar aber was heißt dann z.b. /usr/ nodev ? bedeutet das das man programme die von der /usr partition gestartet hat, den zugriff auf /dev verbietet oder bedeutet dies das ich auf dieser partition keine gerätedateien anlegen darf ? wie könnte denn eine solche sicherheitslücke dann aussehen ?

die zweite frage ist warum man noatime einstellen sollte. soweit mir bekannt ist wird bei jedem programmzugriff die inode mit der aktuellen zeit versehen, was denn letzten zugriff auf die datei zeigt. aber welche gefahren sollen denn enstehen wenn man atime statt noatime verwendet ?

nosuid wird warscheinlich einfach das ausführen von Programmen die das SUID Bit gesetzt haben verbieten.

und bedeutet sync das die Dateien direkt geschrieben und nicht erst gechached werden ? wäre eine solche einstellung für /srv/www empfehlenswert ?

eine weitere frage ist welche der partitionen sollte man unbedingt mit solchen schutmechanismen versehen ?

nochmals danke für eure ganze hilfe!
bin danke euch schon ein ganzes stück weitergekommen.

sirmoloch
23.04.04, 10:06
Und mach das /var nicht zu klein. Muss jede Woche alte Logs löschen weil ich Dussel beim Partitionieren eine 0 vergessen hab!

Lass logrotate doch für dich arbeiten...:rolleyes:

bullet4one
23.04.04, 11:08
ich würde auch 2 swap partitionen anlegen

versuchs mal

gruss


bullet4one

McHurt
23.04.04, 11:51
Hallo zusammen,

Ich habe meinen Web-/FTP-Server mehr oder weniger nach den Empfehlungen von debianhowto.de partitioniert (http://www.debianhowto.de/howtos/de/ausgangssystem_normal/install_partitionierung.html), natürlich mit entsprechden Anpassungen, aber im grossen und ganzen sieht das so bei mir aus.

Greetz
McHurt

bullet4one
23.04.04, 12:10
sorry, fehlschuss :-)

binary trust
23.04.04, 13:26
passt schon :ugly:

so meine entscheidung fällt dann wohl auf eine solche konstellation:

/ 500MB
/boot 20MB
/swap 512MB

LVM
[
/usr 3000MB
/home 500MB
/tmp 1000MB
/var REST
/www 3000MB oder größer ...
]