PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Partitionierung für Webserver



renevolution
25.05.09, 16:29
Hallo Linux-Freaks! ;)

da ich gerade an meinem ersten linux-webserver-projekt arbeite wollte ich euch um eure meinung/hilfe fragen.
was soll realisiert werden: ein Debian-Webserver (apache,mysql,php) der die Daten einer CRM-Applikation für Kunden im Internet bereitstellt. Die CRM-(Web)-Daten werden automatisch über Scripts aufbereitet und per FTP übertragen. Am Webserver wird dann automatisch die Datenbank befüllt. Weiters sollen dazu 2 Domains eingerichtet werden (virtualhost).
Performance sowie Ausfallsicherheit spielen dabei keine allzu große Rolle. Backups der DB bzw. php-Seiten kann ebenfalls vernachlässigt werden da über die CRM-Schnittstelle jederzeit eine Vollübertragung gemacht werden kann (der "radiert" dann alles weg und baut neu auf). Wichtiger sind System-Backups (um wöchentliche Neuinstallation sowie Konfiguration zu vermeiden) bzw. Systemsicherheit da es sich um Unternehemens-Webseiten handelt.

Nun zu meiner eigentlichen Frage betreffend Partitionierung: im Einsatz sind 2x160 GB HDD im Raid1-Verbund. da ich mich in den letzten Tagen mit dem Thema Partitionierung auseinandergesetzt habe und ich aber noch immer noch nicht ganz durchblicke wollte ich mal fragen was ihr zu diesem Partitionierungsvorschlag haltet:

Primär/Logisch Dateisystem Mount Point
P ext3 /boot
P ext3 /
L ext3 /tmp
L ext3 /var/log
L ext3 /var/mysql
L ext3 /var/www
L ext3 /usr
L SWAP SWAP

Nun zu meiner Begründung:
- /boot & / : hab ich aufgeschnappt dass es sicherer ist diese Partitionen eigens anzulegen
- /temp: auch hier aus Sicherheitsgründen eine eigene Partition damit zB bei einer Attacke nur die temp-Partition zugemüllt wird (und nicht /)
- /var-Partitionen: hab ich ebenfalls gelesen dass hier eine Trennung möglich ist aber nicht unbedingt erforderlich. Mein Grund war der Übersichtlichkeit halber (irgendwie finde ich es besser wenn die php-Scripts und die DB auf getrennte Partitionen liegen)
- /usr: statisches Programmverzeichnis

Warum habe ich auf /root bzw. /home verzichtet: da auf dem Server keine User "arbeiten" bzw. ich nicht vorhabe mitn "root" tag und nacht eingeloggt zu sein, habe ich auf diese Verzeichnisse verzichtet.

Unschlüssig bin ich noch ob es auch Sinn macht eine eigene Partition für die Serverdienste (/srv) einzurichten da ich über die Vorteile/Nachteile noch im unklaren bin.

Ich bitte um eure Vorschläge, Meinungen, usw...

Vielen Dank im Voraus!

MFG Renevolution

Thovan
25.05.09, 16:52
Primär/Logisch Dateisystem Mount Point
P ext3 /boot
P ext3 /
L ext3 /tmp
L ext3 /var/log
L ext3 /var
L ext3 /usr
L SWAP SWAP

Nun zu meiner Begründung:
- /boot & / : hab ich aufgeschnappt dass es sicherer ist diese Partitionen eigens anzulegen
- /temp: auch hier aus Sicherheitsgründen eine eigene Partition damit zB bei einer Attacke nur die temp-Partition zugemüllt wird (und nicht /)
- /var-Partitionen: hab ich ebenfalls gelesen dass hier eine Trennung möglich ist aber nicht unbedingt erforderlich. Mein Grund war der Übersichtlichkeit halber (irgendwie finde ich es besser wenn die php-Scripts und die DB auf getrennte Partitionen liegen)


Übersichtlichkeit ist in dem Fall unnötig:
Die Daten liegen (für Dich) sichtbar immer an der gleichen Stelle.
Es ist also in beiden Fällen gleich (un-)übersichtlich.

Einzig /var/log/ könnte man ausgliedern - falls mal die Logfiles voll laufen.

Das gleich gilt für Deine Frage zu /srv/:
Sofern die Gefahr besteht, dass das Verzeichnis voll laufen könnte, könnte eine eigene Partition Sinn machen.
Letztendlich reicht es am Ende aber, wenn auf den jeweiligen Partitionen ein paar Prozent ausschließlich für root rerserviert werden.
Die könnten dann höchstens von Diensten mit Root-Berechtigung geschrieben und vollgemüllt werden.
Meist ist es eher so, dass Dienste "den Dienst versagen", Du Dich aber immer noch als root anmelden kannst um aufzuräumen.

lkwg82
25.05.09, 18:17
überlege, ob du gleich ein LVM runterpackst, so daß du die Dienste nicht anhalten mußt, um einen Snapshot anzulegen.

Interessant ist das Gesamtkonzept! Welche Ausfälle werden toleriert, wieviel Wert legst du auf Sicherheit usw..

renevolution
26.05.09, 07:36
Hallo!

Danke für die Anregungen.

Die Daten liegen (für Dich) sichtbar immer an der gleichen Stelle.
Es ist also in beiden Fällen gleich (un-)übersichtlich.
Ja, so gesehen schon. Aber vielleicht ist es sicherheitstechnisch auch besser die DB und php-Scripts zu trennen...??


Das gleich gilt für Deine Frage zu /srv/:
Sofern die Gefahr besteht, dass das Verzeichnis voll laufen könnte, könnte eine eigene Partition Sinn machen.
kann man dieses Partitionen eigentlich als RO Mounten (wenn ich das richtig verstanden habe befinden sich ja nur statische Programmdateien in /usr bzw. /srv)?? Dann könnte man sich eventuell auch eine Auslagerung ersparren... (oder??)


überlege, ob du gleich ein LVM runterpackst
danke für den Tipp. Habe bis jetzt keine Erfahrung mit LVM und darüber gelesen dass es nur einen Vorteil hat wenn man zB Partitionsgrößen verändern muss/möchte. Werd mir aber nochmal darüber Gedanken machen.


Welche Ausfälle werden toleriert, wieviel Wert legst du auf Sicherheit usw..
Wie gesagt legen wir nicht so hohen Wert auf niedrige Ausfallzeiten bzw. Performance (nicht so viele Zugriffe auf die Webseiten (z Z 3000-3500 monatlich)). Auf Sicherheit jedoch schon.

THX4HELP!
MFG Renevolution

marce
26.05.09, 07:45
Ja, so gesehen schon. Aber vielleicht ist es sicherheitstechnisch auch besser die DB und php-Scripts zu trennen...??
Wenn das System sauber installiert ist - nein. Der User des Webservers dürfte dann keine Rechte haben, auf die Dateien des DB-Servers zuzugreifen - außer eben über die def. DB-Schnittstelle.

Einzig wenn ein System Amok läuft könnte es dafür sorgen, daß der Rest sauber weiterläuft - wie hoch das Risiko ist musst Du aber einschätzen können.



kann man dieses Partitionen eigentlich als RO Mounten (wenn ich das richtig verstanden habe befinden sich ja nur statische Programmdateien in /usr bzw. /srv)?? Dann könnte man sich eventuell auch eine Auslagerung ersparren... (oder??)
Wenn Du Dir sicher bist, daß dort nur statische Dateien liegen - ja. Statisch ist aber wirklich statisch, auch auch keine Systemupdates, Patches auf Web-Anwendungen, ...



Wie gesagt legen wir nicht so hohen Wert auf niedrige Ausfallzeiten bzw. Performance (nicht so viele Zugriffe auf die Webseiten (z Z 3000-3500 monatlich)). Auf Sicherheit jedoch schon.
Sicherheiit beginnt aber an einer anderen Stelle. Die Systempartitionierung ist da eigentlich nur ein sehr kleiner (wenn überhaupt) Punkt.

Meinereiner ist übrigens der Ansicht, daß zu viele Partitionen (außer in Spezialfällen) nichts bringen. Wenn man ein durchdachtes Systemdesign hat kann man frech mit 3 Partitionen auskommen (Swap eingerechnet) - die meisten Server hier bei uns laufen sogar nur mit / und Swap.

lkwg82
26.05.09, 10:50
Was unabhängig vom Volllaufen für eine separate Partition von Verzeichniszweigen spricht, ist, daß darüber auch restriktive Mountoptionen gesetzt werden können. So kann ein Einbruch dann nutzlos werden, wenn die Partition 'noexec' hat.