Opcache zwischen Nutzern trennen

Locked
User avatar
v3ng
Posts: 297
Joined: Wed 4. Jul 2018, 18:08

Opcache zwischen Nutzern trennen

Post by v3ng »

Hi,

Um die Performance zu steigern, möchte ich Opcache nutzen.
Ich habe hierfür folgende Settings in das Feld für die zusätzlichen PHP Einstellungen eingetragen.

Code: Select all

opcache.enable=1
opcache.enable_cli=1
opcache.validate_permission=1
opcache.validate_root=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=256
opcache.save_comments=1
opcache.revalidate_freq=1

Um die Funktionalität zu überprüfen, habe ich einem Kunden ein OPcache Status Script in den Docroot gepackt.

Dabei musste ich jedoch feststellen, dass der Cache scheinbar Global ist und alle Kunden darauf Zugriff haben, was wohl ein Sicherheitsrisiko darstellt.
Ich möchte den Cache pro User seperieren, jeder User soll also seinen eigenen Cache mit der Größe von 256MB haben.

Laut Google sollten dafür eigentlich folgende Einstellungen ausreichen, doch leider scheint das nicht der Fall zu sein.

Code: Select all

opcache.validate_permission=1
opcache.validate_root=1
Image

Hat jemand eine Idee wie ich die Nutzer bzw den Cache jeweils seperieren kann?
Über Hinweise wäre ich sehr dankbar!

Grüße
User avatar
OlliTheDarkness
Posts: 1854
Joined: Tue 14. Aug 2018, 16:41
Location: Essen (NRW)

Re: Opcache zwischen Nutzern trennen

Post by OlliTheDarkness »

Daran beiß ich mir auch schon länger die Zähne aus.
Nextcloud log spammt fleißig Fehler fehler fehler wegen opcache.
Habs abr mittlerweile wegen "läuft trotzdem" auf meiner todo ganz hinten.
Mit freundlichen Grüßen
OlliTheDarkness

**************************************************************
Helden leben lange, Legenden sterben nie

:!: World Hack Organization :!:
**************************************************************
User avatar
v3ng
Posts: 297
Joined: Wed 4. Jul 2018, 18:08

Re: Opcache zwischen Nutzern trennen

Post by v3ng »

Niemand eine Idee?
Blackmoon
Posts: 345
Joined: Sat 1. Dec 2018, 16:42

Re: Opcache zwischen Nutzern trennen

Post by Blackmoon »

Moin.
v3ng wrote: Fri 12. Oct 2018, 18:28 Dabei musste ich jedoch feststellen, dass der Cache scheinbar Global ist und alle Kunden darauf Zugriff haben, was wohl ein Sicherheitsrisiko darstellt.
Ich möchte den Cache pro User seperieren, jeder User soll also seinen eigenen Cache mit der Größe von 256MB haben.
Laut dieser Beschreibung ist das bei OPCache nicht vorgesehen.
v3ng wrote: Fri 12. Oct 2018, 18:28 Laut Google sollten dafür eigentlich folgende Einstellungen ausreichen, doch leider scheint das nicht der Fall zu sein.

Code: Select all

opcache.validate_permission=1
opcache.validate_root=1
opcache.validate_permission: Funktioniert meinem Verständis nach nur, wenn PHP-FPM unter dem jeweiligen Benutzerkonto ausgeführt wird.
opcache.validate_root: Ist nur für Umgebungen in Verbindung mit chroot gedacht.

Du könntest auf die Nutzung von Shared Memory verzichten und auf Datei basierenden Cache zurückgreifen.

Code: Select all

opcache.file_cache_only=1
opcache.file_cache=/home/users/dani/opcache
Bezüglich möglicher Attaken habe hat ein Kollege einen guten Artikel geschrieben.


Gruß,
Dani
User avatar
v3ng
Posts: 297
Joined: Wed 4. Jul 2018, 18:08

Re: Opcache zwischen Nutzern trennen

Post by v3ng »

Hi,

Vielen Dank für Deine Antwort!
@Alexander ist es denn möglich bei dem "Zusätzliche PHP-Einstellungen" Feld bei den Kontovorlagen Variablen für den Username/ Docroot zu verwenden?
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: Opcache zwischen Nutzern trennen

Post by Alexander »

@v3ng - ist für 18.2.1 notiert - sollte dann relativ zeitnah erscheinen.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Locked