Wie sichert ihr eure ganze Server?

  • und alle zusätzlichen Einstellungen innerhalb von nginx selber definiere?

    Geschmackssache. Wechselst du bspw. irgendwann auf einen anderen Webserver (Apache2 o.ä.), dann musst du halt alles händisch aus den NGINX-Configs rauskopieren und ggf. im Apache einpflegen, was unnötiger Aufwand wäre.


    EDIT: 2 Pools unter der gleichen Owner/Gruppe macht kein Sinn oder bzw. kann man das trotzdem machen?

    Nein. Genau so hebelst du ja den eigentlichen "Schutz" der Benutzer/Gruppen-Separierung aus.

    Wird Seite A gehackt, ist Seite B mit großer Wahrscheinlichkeit mit dran.

  • dann ist es defintiv besser verschiedene pools zu nutzen wie hier zB beschrieben:https://www.digitalocean.com/c…d-php-fpm-on-ubuntu-14-04


    Dort kann ich dann auch unterschiedliche php konfigurationne machen die sich nicht auswirken.


    Gibs unter linux kein tools woman die user bzw. gruppen besser managen kann, finde das hier etwas umständlich auch um nachzuschauen welche es bereits gibs usw.


    cat /etc/passwd usw. ist immer etwas umständlich :D

    ┌П┐(◉_◉)┌П┐

  • Gibs unter linux kein tools woman die user bzw. gruppen besser managen kann, finde das hier etwas umständlich auch um nachzuschauen welche es bereits gibs usw.


    cat /etc/passwd usw. ist immer etwas umständlich :D

    Keine Ahnung. Ich nutz meist nur lokale Benutzer. LDAP o.ä. wäre noch eine Lösung, hat aber auch Nachteile.

  • Ok danke :)


    Na klappt doch mit den Pools von der anleitung oben und anpassen der php.ini :D


    Dort ändern Sie im Pool aber nur user und gruppe, dies bleibt www-data

    Code
    listen.owner = www-data
    listen.group = www-data


    Quote

    #ps aux | grep 'pool'

    www-data 5026 0.0 0.1 233660 12056 ? S 16:38 0:00 php-fpm: pool www

    www-data 5027 0.0 0.1 233660 12056 ? S 16:38 0:00 php-fpm: pool www

    testing 5132 1.5 0.4 253120 33100 ? S 16:41 0:00 php-fpm: pool testing

    root 5134 0.0 0.0 5192 736 pts/0 S+ 16:41 0:00 grep --color=auto pool

    ┌П┐(◉_◉)┌П┐

  • Ich habe bis jetzt mal alles umgesetzt funktioniert auch mit den Pools und verschiedenen php-Einstellungen perfekt (das einzige was per nginx noch gesetzt wird ist der openbasedir)


    Hier mal meine Dateien, kann ja jemand drüber schauen und bescheid geben was da schlecht ist oder verbessert werden könnte (habe schon einige spielerei wie Wartungsmodus eingebaut zum testen):

    ┌П┐(◉_◉)┌П┐

    • Official Post

    Hallo,

    Das ergibt meines Erachtens nach keinen Sinn.

    doch, es gibt selbstverständlich Anwendungsfälle dafür zwei Pools mit gleichem Benutzer laufen zu lassen. Für einen Dienst, den ich administriere verwende ich beispielsweise zwei getrennte FPM-Pools für ein- und dieselbe Anwendung. Grund dafür ist, dass ich dadurch verhindere, dass ein bestimmter Bestandteil der Anwendung alle Worker-Prozesse in Beschlag nimmt und andere, wichtigere, Anfragen warten müssen. Stattdessen bekommt ebenjener Bestandteil seinen eigenen Worker-Pool. Wenn der komplett in Verwendung ist, ist der komplett in Verwendung, beeinflusst aber nicht den Rest der Seite.

  • Hab gerade getestet ein demo von woltlab hochzuladen, klappt auch wunderbar nur mit der seo umschreibung nicht:

    Forum ist in einem Ordner 'forum':

    Bei Core klappt noch etwas nicht der core ist unter /forum/core.


    EDIT funktioniert, musste vorne noch ein forum/core/| dran hängen.


    Ich habe noch das Rechte-System auf dem Server nicht so ganz intus, jetzt mir den 2 pools mit den zwei usern und gruppen habe ich probleme mit meinem sftp-user, ist es nicht einfacher jetzt wo eh 2 user für die pools (werde dann für jede Webseite ein pool anlegen) existieren dennen auch sftp zu geben somit sollten die rechte immer passen?


    EDIT:

    Code
    ChrootDirectory directory must be owned by root and have 755 mode:
    
    sudo chown root:root /var/www/RESTRICTED_DIR
    sudo chmod 755 /var/www/RESTRICTED_DIR
    Ok, now all files into /var/www/RESTRICTED_DIR must be owned by MY_USER, which must belong to www-data group, and have 775 mode to allow group permissions, like this:
    
    sudo usermod -a -G www-data MY_USER
    sudo chown MY_USER:www-data /var/www/RESTRICTED_DIR/*
    sudo chmod 775 -R /var/www/RESTRICTED_DIR/*
    NOTE: Remember is a good practice allow access only to an htdocs folder if you are configuring apache.

    Chroot muss root:root bleiben und alles drunter dem user und gruppe des pools, so funktioniert es jedenfalls ist das aber auch richtig :D

    ┌П┐(◉_◉)┌П┐

    Edited 2 times, last by TeRRible__KHONS ().

  • So soweit läuft alles, jetzt muss ich mich zum testen noch entscheiden welches backup tools ich nutzen möchte das täglich inkrementelle backups erstellt, ich denke dafür ist rsync am besten geeignet oder? Dafür erstelle ich dann ein bash-script was zuvor alle webseiten in maintenance schaltet (in der vhost-conf von nginx schon intregiert) und dann die Ordner sichert und die Datenbanken.


    Wöchentlich will ich dann noch ein Full-Back per TAR machen.


    Was denkt ihr ist am besten für inkremenette Backups geeignet?

    ┌П┐(◉_◉)┌П┐

  • Das hattest du ja erwähnt aber dachte das wäre nicht inkrementell und machst nur full?

    Nein die Backups sind inkrementell; Beispiel:

    Original size Compressed size Deduplicated size
    This archive: 5.21 GB 4.15 GB 48.23 MB
    All archives: 76.46 GB 61.44 GB 4.82 GB

  • Okay danke, werde mir das morgen mal anschauen wie das funktioniert, will die Backups nur local speichern vielleicht auch per rsync auf meinen pc ziehen als 2 Sicherung.


    Hab mir vorgestellt:

    Borg erstellt ein Backup auf dem dem server ~/backups/files jeden Nacht um 2 Uhr.

    Ein mysql-dump mach ich dann ebenfalls um 2 Uhr in ~/backups/databases

    Während dieser Zeit wo das Backup läuft werden alle Webseiten in den Maintenance-Modus geschaltet dass nix dazwischen funkt.


    Muss mir morgen mal anschauen wie genau das funktioniert. Sieht auch den ersten Blick etwas schwierig aus :D


    Kann man dort automatisch Backups nach einziger Zeit löschen lassen?


    Danke nochmals.

    ┌П┐(◉_◉)┌П┐

  • Kann man dort automatisch Backups nach einziger Zeit löschen lassen?

    Ja mit einem Script. Das steht auch alles in dem Artikel den ich hier bereits verlinkt hatte ^^


    Sinnvollerweise richtet man sich einen extra Backupserver ein. Da reicht z.B. der kleinste CX Server von Hetzner, ggf. zusammen mit mehr Speicher als Volumen.

  • Hatte ich die Tage nur schnell überflogen :D Sah erstmal kompliziert aus, muss mich damit mal beschäftigen und erstmal nur lokale backups erstelle & nach 7 Tagen bzw. alle lösen und wieder von vorne anfangen.

    ┌П┐(◉_◉)┌П┐

  • Ist eigentlich ziemlich simpel, einfach mal ausprobieren ^^

    Werde ich heute machen, benutzt du die mount oder extract methode für den restore? :)


    Noch eine Frage bzw. owner/group:

    • In nginx.conf ist www-data eingestellt, im fmp-pool user/group zB testing:testing und listen-user:listen-group > www-data:www-data, ist das korrekt so?
    • zum upload per sftp nehm ich dann den gleichen user wie im fpm-pool (testing ist gechrooted)


    Ist das allgemein so korrekt und sicher?

    ┌П┐(◉_◉)┌П┐

  • Tobias777


    Hallo, bin dabei das ganze mit borg zu testen im Script inkl. Datenbank sicherung, funktioniert super :)


    Jedoch wenn ich jetzt die verschiedenen Backups mounte, werde mir die Daten von zuvor auch angezeigt, wie kann ich sehen welche Daten jetzt genau neu sind seit dem letzten Backup, mir wird eigentlich jedesmal alles angezeigt aus allen Backups nur eben neue Dateien sind dabei aber wie erkenne ich diese nun? :D

    ┌П┐(◉_◉)┌П┐

  • Ich nutze borg extract zur Wiederherstellung, vorher schaue ich halt mit borg list welches Backup ich dafür nehme.


    Dass Borg alle Daten anzeigt ist aber logisch. Die Backups sind ja vollständig, auch wenn nur neue Dateien auch wirklich gespeichert werden, die anderen Daten werden halt aus älteren Backups genommen. Oder ich verstehe nicht was du meinst ^^

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!