ownCloud Warnungen abarbeiten mit nginx (3 bekannte)

Im Folgenden zeig ich euch wie ihr die roten Meldungen eurer ownCloud abarbeitet und damit am Ende einen sauber funktionierenden Server vorfindet. Das Ganze zeige ich an einem nginx Server. Unter apache ist alles noch mal einfacher und es existieren dazu bereits unzählige Anleitung. Daher schauen wir uns hier lediglich nginx an.

 

Die ownCloud macht es einem ja schon sehr einfach notwendige Sicherheitsmaßnahmen vorzunehmen. Dennoch ist es nicht immer einfach Fehlermeldungen richtig abzuarbeiten. Schaut dazu einfach kurz auf euren Server. Bei mir ist das https://ljtd.eu/index.php/settings/admin. Und los geht's.

Memory Caching

Seite ownCloud 9 wird das Caching besser unterstützt. Allerdings ist das Caching in einer normalen Ubuntu-Installation nicht aktiviert. Im Normalfall solltet ihr die folgende Meldung unter den Sicherheitsmeldungen eurer ownCloud sehen.

Fehlermeldung

“No memory cache has been configured. To enhance your performance please configure a memcache if available.”

 

oder manchmal auch weiter unten

 

No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation.

Fehlerbehebung

Das Problem ist, dass die APCu Version kleiner als 4.0.6 ist. Im Folgenden upgraden wir im Grunde lediglich zu einer neueren. Das war's.

In der Console schauen wir uns erstmal die aktuelle APCu Version an, dazu: dpkg -s php5-apcu

In der 4.0.2 liegt bei mir also die Ursache. Daher probieren wir erstmal folgendes:

sudo apt-get install php5-dev
sudo apt-get install libpcre3-dev
sudo pecl channel-update pecl.php.net
sudo pecl install apcu
/etc/init.d/php5-fpm restart

Diese Methode klappt aber nur mit php über Verison 7!

 

Daher hier jetzt noch gezeigt wie ihr es auch für frühere php-Versionen möglich ist. Dazu php5dismod apcu und apt-get remove php5-apcu. Das deinstalliert das alte APCu zunächst einmal.

Jetzt installieren wir die neue Version. Dazu am besten ins Home-Verzeichnis mit cd ~ und danach die Installationsdatei besorgen.

 

Hier gibt es sehr viele Quellen. Ich wähle dazu z.B. wget http://www.kiloroot.com/wp-content/uploads/2015/08/php5-apcu_4.0.6-1_amd64.deb. Jetzt noch dpkg -i php5-apcu_4.0.6-1_amd64.deb. Und zum Abschluss php5enmod apcu.

Jetzt legen wir apcu-cli.ini unter /etc/php5/mods-available/ an.

In diese Datei schreibt ihr:

extension=apcu.so
apc.enabled=1
apc.enable_cli=1

Jetzt ist noch ganz wichtig, dass ihr php5enmod apcu-cli ausführt um es zu aktivieren.

Jetzt abschließend noch sudo service php5-fpm restart. Und die Fehler bezüglich des Cachings sollten behoben sein.

Und als wirklich letzten Schritt, müsst ihr jetzt noch 'memcache.local' => '\OC\Memcache\APCu', in eurer ownCloud config.php eintragen.

Sollte es immer noch nicht klappen, dann einfach php5-fpm und nginx neustarten. Dazu sudo service php5-fpm restart und sudo service nginx restart.

Weitere Infos:

- http://konradpodgorski.com/blog/2013/10/23/guide-how-to-configure-server-for-symfony/

 

HSTS aktivieren

Das HTTP Strict Transport Security ist dafür gedacht die Aushebelung der Verbindungsverschlüsselung durch eine downgrade Attacke auf SSL zu unterbinden. Ihr solltet daher HSTS immer aktiviert haben.

Fehlermeldung

The "Strict-Transport-Security" HTTP header is not configured to at least "15768000" seconds. For enhanced security we recommend enabling HSTS

as described in our security tips.

Fehlerbehebung

HSTS ist sehr einfach zu aktivieren. Schaut hier wenn ihr z.B. Apache verwendet.

Wir gehen zu /etc/nginx/sites-available und in der default-Datei fügen wir diese Zeile hinzu:

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";

Die 31536000 entsprechen den Sekunden eines Jahres. Am Ende nicht sudo service nginx restart vergessen, damit die Änderungen übernommen wird.

Weitere Infos:

- ownCloud Github

PATH not properly set

Wenn ihr php-fpm nutzt solltet ihr die Path-Variable setzen.

Fehlermeldung

php does not seem to be setup properly to query system environment variables. The test with getenv("PATH") only returns an empty response.
Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm.

Fehlerbehebung

Hier reicht es aus eine Zeile zu ändern. Dazu geht ihr in den Ordner /etc/php5/fpm/pool.d und dann die www.conf öffnen. Dort sucht ihr nach den folgenden Einträgen:

;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp

Hiervon einfach env[PATH] = /usr/local/bin:/usr/bin:/bin einkommentieren (also ; entfernen vorne) und speichern. Und abschließend noch sudo service php5-fpm restart.

Fazit

Die Behebung der Fehler ist sehr einfach wenn man die richtige Anleitung findet. Viel Erfolg beim Absichern eures Servers.

Kommentar schreiben

Kommentare: 2
  • #1

    Frank (Sonntag, 17 April 2016 20:26)

    Sehr gut zusammengefasst. War tatsächlich auch bisher zu faul die abzuarbeiten. Hat in wenigen Minuten geklappt. Herzlichen Dank.

  • #2

    Stefan (Donnerstag, 12 Mai 2016 10:02)

    Schön Zusammenfassung. Gleich auch mal alle 3 gefixt. Danke.