Ana içeriğe geç

Veritabanı Şifrelemesi

Libre WebUI, hassas değerleri depolamaya yazmadan önce uygulama düzeyinde şifreler.

Şifreleme Yöntemi

Sunucu Node.js crypto üzerinden AES-256-GCM kullanır. Anahtar 32 baytlık, 64 karakterli onaltılık dize olmalıdır:

ENCRYPTION_KEY=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

Anahtar oluşturun:

openssl rand -hex 32

Anahtar Depolama

Sıra:

  1. Ortamdan ENCRYPTION_KEY.
  2. Seçili DATA_DIR altındaki kalıcı .encryption_key.
  3. Yalnızca yeni depoda, veritabanından önce DATA_DIR/.encryption_key içine kalıcı yazılan yeni anahtar.

Ortam ve dosya anahtarları eşleşmelidir, aksi halde başlatma başarısız olur. Özgün anahtarı olmayan mevcut şifreli durum da güvenli biçimde reddedilir; Libre mevcut depo için yenisini üretmez.

Önemli Kurallar

  • ENCRYPTION_KEY ile veritabanını birlikte yedekleyin.
  • Şifreli değerler için geçiş planı olmadan anahtarı döndürmeyin.
  • Anahtarı kaybetmek verileri kurtarılamaz yapar.
  • Verileri yeniden şifrelemeden anahtarı değiştirmek mevcut değerleri okunamaz yapar.

Neyi Korur

Şifreleme hizmetini veya şifreli depolama yardımcılarını kullanan kod yollarındaki kimlik bilgileri ve özel kullanıcı verileri gibi hassas değerleri korur.

Tam disk, SQLite sayfası veya kullanıcıyla tarayıcı arasında uçtan uca şifreleme değildir. Bu katmanlar için disk şifreleme ve HTTPS kullanın.

Work Verileri

Uygulama şifrelemesi bütün Work görevini şifrelemez. Kaynaklar ve bağımlılıklar görev Docker birimlerinde sıradan dosyalardır. Konuşmalar, araç sonuçları, komut çıktısı ve meta veriler SQLite içindedir ve bazı kimlik bilgisi yolları şifreleniyor diye otomatik şifrelenmez.

Gerektiğinde Docker veri kökünü ve DATA_DIR dizinini erişim denetimi ve disk şifrelemeyle koruyun. Veritabanını, ENCRYPTION_KEY anahtarını ve Work birimlerini birlikte yedekleyin. Uzak modele gönderim konuşmayı, dosyaları veya çıktıyı sağlayıcıya açıklayabilir; depolama şifrelemesi ağ sınırını değiştirmez.

Docker ve Kubernetes

Üretimde kararlı anahtarı açıkça ayarlayın:

ENCRYPTION_KEY=replace-with-64-hex-characters
DATA_DIR=/data

DATA_DIR kalıcı depolamada olmalıdır. Kubernetes’te anahtarı Secret içinde, veriyi PersistentVolume üzerinde tutun.

Sorun Giderme

Geçersiz anahtar uzunluğu

Tam 64 onaltılık karakter gerekir:

openssl rand -hex 32

Yeniden dağıtımdan sonra veri çözülemiyor

Aynı ENCRYPTION_KEY ve DATA_DIR birimini doğrulayın.

Geliştirme yeni anahtar üretti

DATA_DIR/.encryption_key dosyasını veritabanıyla saklayın. Aynı değeri ENCRYPTION_KEY ile de verebilirsiniz; ikisi varsa eşleşmelidir.

İlgili Belgeler