Acasă
» ADMIN. REȚEA
»
Cum să activați criptarea pe server în Nextcloud fără o scădere vizibilă a performanței
Cum să activați criptarea pe server în Nextcloud fără o scădere vizibilă a performanței
Începând cu octombrie 2026, documentația stabilă pentru administratori Nextcloud 35 clarifică un aspect important mai mult decât multe tutoriale mai vechi: criptarea pe server (SSE) este destinată în principal protejării fișierelor stocate pe stocare externă, de la terți, iar modul implicit de cheie principală oferă performanțe mai bune și o compatibilitate de autentificare mai largă decât cheile per utilizator. Aceeași documentație menționează, de asemenea, că fișierele criptate adaugă acum doar aproximativ 1% costuri de stocare, comparativ cu costuri mult mai mari în versiunile anterioare Nextcloud 25.
Asta nu înseamnă că criptarea este literalmente gratuită. Fiecare citire și scriere criptată necesită muncă criptografică, așa că niciun ghid responsabil nu poate promite costuri zero pentru CPU sau latență pe fiecare server. Obiectivul practic este diferit: activarea criptării într-un mod care evită o încetinire vizibilă pentru utilizatori, menține sub control presiunea bazei de date și a blocărilor și criptează doar spațiul de stocare care are nevoie de ea.
Înainte de a modifica orice, confirmați starea curentă de criptare și înregistrați o valoare de referință pentru instanță.
Ce protejează criptarea server-side a Nextcloud
Nextcloud SSE criptează conținutul fișierelor de pe server înainte de a fi stocat. Când un utilizator descarcă sau deschide un fișier prin Nextcloud, serverul îl decriptează înainte de a-l livra utilizatorului autorizat. Cheile de criptare rămân pe serverul Nextcloud, motiv pentru care SSE este util în special atunci când datele fișierului se află pe un furnizor de stocare extern în care nu aveți încredere deplină.
SSE nu ascunde numele fișierelor sau structura directoarelor și nu protejează fișierele de un administrator Nextcloud rău intenționat sau de un server de aplicații complet compromis. Dacă cerința este ca nici măcar administratorul serverului să nu poată citi fișierele, modelul de criptare end-to-end al Nextcloud este stratul de securitate relevant. Comparația oficială este disponibilă în documentația de criptare pe server Nextcloud .
Alegeți configurația care creează cea mai mică muncă inutilă
Decizie
Opțiune cu cheltuieli generale mai mici
Când să alegi altceva
Gestionarea cheilor
Cheia principală, care este modul implicit și recomandat în prezent pentru majoritatea implementărilor
Folosiți chei per utilizator numai atunci când compromisul de securitate respectiv este necesar în mod specific și limitările sale de autentificare/recuperare sunt acceptabile.
Domeniu de stocare
Criptați spațiul de stocare extern, lăsând spațiul de stocare local necriptat atunci când modelul de amenințare este furnizorul extern
Criptați și spațiul de stocare de acasă atunci când este necesară și protecția datelor în repaus pe spațiul de stocare local Nextcloud
Blocarea backend-ului
Blocarea fișierelor tranzacționale susținută de Redis sau Valkey
Blocarea bazei de date poate fi acceptabilă pentru sistemele foarte mici, dar adaugă o sarcină evitabilă a bazei de date în condiții de trafic mai intens.
Pasul 1: Faceți o copie de rezervă a instanței și stabiliți o bază de performanță
Cheile de criptare și secretul instanței sunt materiale esențiale pentru recuperare. Nextcloud recomandă în mod explicit crearea unei copii de rezervă a configurației instanței și a cheilor de criptare înainte de activarea SSE. Pierderea cheilor sau a secretului instanței necesare poate face ca datele criptate să nu mai poată fi recuperate.
Înainte de modificare, obțineți o bază simplă folosind volumul de lucru important pentru utilizatorii dvs. Măsurați câteva încărcări și descărcări reprezentative, notați utilizarea CPU PHP-FPM, încărcarea bazei de date, latența spațiului de stocare și timpul de răspuns al aplicației Fișiere. Nu aveți nevoie de un test de laborator. Aveți nevoie de un test înainte și după repetabil care să vă poată spune dacă implementarea a modificat comportamentul vizibil pentru utilizator.
De asemenea, decideți dacă aveți nevoie de criptarea spațiului de stocare de acasă. Dacă obiectivul dvs. este protejarea unui backend S3, SMB, depozit de obiecte sau alt backend extern față de furnizorul de stocare, păstrarea spațiului de stocare local de acasă în afara SSE evită efectuarea de lucrări criptografice care nu oferă nicio valoare suplimentară pentru modelul de amenințare respectiv.
Pasul 2: Remediați problemele de cache și blocare a fișierelor înainte de a activa criptarea
Aceasta este cea mai importantă pregătire pentru performanță. Nextcloud recomandă memorarea în cache pentru memorie pentru performanță optimă și recomandă în mod specific APCu pentru memorarea în cache locală, plus Redis sau un backend compatibil pentru blocarea fișierelor tranzacționale. Blocarea fișierelor tranzacționale este relevantă în special pentru fișierele criptate, deoarece Nextcloud trebuie să coordoneze modificările fișierelor în siguranță în timp ce au loc operațiunile de criptare și stocare.
Configurați memoria cache locală și un backend de blocare bazat pe Redis sau Valkey înainte de a adăuga încărcarea de criptare.
O configurație comună cu un singur server folosește APCu pentru memoria cache locală și Redis pentru blocări:
Dacă Redis rulează pe aceeași gazdă, documentația Nextcloud privind blocarea fișierelor recomandă utilizarea unui socket Unix acolo unde este practic. Documentația Nextcloud 35 mai nouă descrie, de asemenea, opțiunea KeyValueCache inclusă în pachet pentru serverele compatibile cu Redis sau Valkey, care poate oferi blocare tranzacțională fără a necesita extensia PHP phpredis. Folosește configurația care se potrivește implementării tale, în loc să copiezi un exemplu orbește.
De asemenea, OPcache-ul PHP ar trebui activat și dimensionat astfel încât să nu elimine în mod repetat codul compilat. Ghidul de optimizare a serverului Nextcloud precizează că OPcache îmbunătățește performanța aplicațiilor PHP și avertizează administratorii atunci când limitele configurate depășesc 90% din utilizarea. Consultați ghidul oficial de memorare în cache , ghidul de blocare a fișierelor tranzacționale și ghidul de optimizare a serverului înainte de lansare.
Pasul 3: Activați modulul de criptare implicit și utilizați modul cheie principală
Pentru majoritatea implementărilor actuale, modul master-key este cel mai bun punct de plecare. Nextcloud 35 îl documentează ca fiind implicit, îl recomandă pentru majoritatea implementărilor și notează că oferă performanțe mai bune și compatibilitate cu mai multe metode de autentificare. Compromisul este clar: administratorii care controlează serverul pot decripta fișierele utilizatorilor. Dacă acest lucru este inacceptabil, SSE cu o cheie master reprezintă o limită de securitate greșită.
Folosește modul implicit cu cheie principală, cu excepția cazului în care cerințele tale de securitate justifică în mod specific cheile per utilizator.
În interfața web, deschideți secțiunea Criptare pe server din setările de administrator, activați criptarea pe server, apoi activați Modulul implicit de criptare Nextcloud din Aplicații dacă Nextcloud raportează că nu este încărcat niciun modul de criptare. Reveniți la setările de criptare și confirmați că modulul este selectat. Deconectați-vă și reconectați-vă pentru ca cheile de criptare să fie inițializate.
De asemenea, puteți gestiona criptarea cu occ. Referința curentă a comenzilor documentează următoarea secvență:
Dacă scopul SSE este exclusiv stocarea externă, debifați opțiunea de criptare a spațiului de stocare de acasă înainte de a vă angaja la o implementare mai amplă. Această alegere poate reduce semnificativ cantitatea de date care trebuie să treacă prin stratul de criptare.
Pasul 4: Criptați montările externe intenționate și verificați cu trafic real
Criptarea spațiului de stocare extern este configurată pentru fiecare montare. Activați criptarea doar pentru montarile care o necesită, apoi încărcați un fișier reprezentativ prin Nextcloud și descărcați-l din nou. Verificați accesul prin același flux de lucru pe desktop, mobil, WebDAV sau browser pe care îl utilizează utilizatorii dvs.
Activați criptarea pe suporturile de stocare externe din interiorul modelului de amenințare, în loc să criptați totul automat.
După testul funcțional, repetați măsurătorile de referință de la Pasul 1. Comparați timpul de încărcare, timpul de descărcare, utilizarea CPU, activitatea bazei de date și latența stocării. Dacă modificarea este mică și timpul de răspuns vizibil utilizatorului este stabil, serverul are suficient spațiu de stocare. Dacă performanța scade brusc, nu presupuneți că criptarea în sine este singura cauză. Verificați mai întâi dacă există blocarea fișierelor bazată pe baza de date, workere PHP-FPM saturate, stocare externă lentă, OPcache insuficient sau o problemă de conexiune Redis.
Dacă trebuie să criptați fișiere care existau deja înainte de activarea SSE, Nextcloud oferă [serviciu de criptare] encryption:encrypt-all. Tratați acest lucru ca pe o sarcină de lucru pentru migrare, nu ca pe o solicitare interactivă normală. Poate atinge o cantitate mare de date, așa că programați-o în timpul unei ferestre de mentenanță și asigurați-vă că planul de backup și rollback este solid. Comenzile de criptare disponibile sunt documentate în referința oficială de criptare occ [serviciu de criptare] .
Cum să știi dacă lansarea este sănătoasă
Utilizatorii nu observă o creștere semnificativă a timpului de încărcare sau descărcare. Comparați aceleași dimensiuni de fișiere și clienți înainte și după modificare.
Încărcarea bazei de date rămâne stabilă. O creștere semnificativă a activității bazei de date poate indica faptul că blocarea fișierelor folosește în continuare baza de date în loc de Redis sau Valkey.
Workerii PHP nu sunt privați de resurse CPU. Criptarea adaugă efort procesorului, așa că instanțele care deja rulau aproape de capacitatea maximă au nevoie de mai mult spațiu de manevră.
Latența stocării externe este încă factorul dominant atunci când este cazul. Stocarea lentă a obiectelor prin S3, SMB sau la distanță poate depăși cu ușurință costul criptografic.
Nu apar avertismente privind criptarea sau cheia în prezentarea generală sau în jurnalele de administrare. Rezolvați avertismentele înainte de a extinde implementarea.
Greșeli frecvente care cauzează încetiniri evitabile
Criptarea spațiului de stocare local atunci când doar spațiul de stocare extern necesită protecție
Aceasta crește cantitatea de I/O criptate fără a aborda neapărat o amenințare reală. Potriviți domeniul de criptare cu motivul pentru care activați SSE.
Lăsarea blocărilor tranzacționale în baza de date
Documentația Nextcloud precizează că backend-ul implicit de blocare a bazei de date pune o sarcină semnificativă asupra bazei de date. O memorie cache de blocare bazată pe Redis sau Valkey este una dintre cele mai directe modalități de a elimina acest blocaj.
Rularea criptării în bloc în timpul orelor de vârf
Traficul interactiv și o trecere completă de criptare a datelor concurează pentru CPU, I/O, workere PHP și lățime de bandă de stocare. Separați munca de migrare de traficul normal de producție.
Tratarea SSE ca protecție împotriva unui server Nextcloud compromis
Cheile SSE sunt disponibile serverului, așadar un administrator rău intenționat sau un server complet compromis rămâne în limitele de încredere. Folosiți criptarea end-to-end atunci când aceasta este amenințarea pe care trebuie să o abordați.
Concluzie
Cea mai sigură metodă de a activa criptarea pe server Nextcloud fără o scădere vizibilă a performanței este de a menține domeniul de aplicare restrâns, de a utiliza cheia principală implicită atunci când modelul său de încredere se potrivește, de a configura mai întâi blocarea APCu și Redis sau Valkey și de a compara volumul de lucru real înainte și după modificare. Ghidul actual Nextcloud 35 susține această abordare: modul cheie principală este implicit, optim pentru performanță, stocarea externă este principalul caz de utilizare SSE, iar costul suplimentar pentru dimensiunea fișierelor criptate este acum de aproximativ 1%.