Güvenliğe genel bakış
Keydra yönettiği bütün sunucuların kimlik bilgilerini tutar. Bunun şifreleme, oturumlar, dış istekler ve her şeyi koruyan anahtar açısından anlamı.
Keydra neyi, nasıl korur#
Keydra yönettiği bütün sunucuların kimlik bilgilerini tutar. Bu onu doğrudan bir hedef hâline getirir; aşağıdaki önlemler de bunu ciddiye almanın sonucudur.
- Kimlik bilgileri şifreli saklanır
-
Örnek anahtarıyla AES-256-GCM kullanılır ve hiçbir API bunları geri döndürmez. Bkz. Keydra neyi saklar, neyi korur.
- Parolalar özetlenir
-
Argon2id kullanılır ve doğrulama bir işçi iş parçacığında yapılır.
- Oturum yalnızca çerez değil, bir kayıttır
-
Oturumu sonlandırmak bir sonraki istekte etkili olur; parola değiştirmek de o ana kadar açılmış bütün oturumları kapatır. Bkz. Oturumlarınız.
- İzinler her istekte yeniden hesaplanır
-
Erişimi geri almak için kullanıcının çıkış yapmasını beklemek gerekmez.
- Tarayıcıya uygulatılan başlıklar
-
İçerik güvenliği politikası,
X-Content-Type-Options: nosniffve diğerleri varsayılmaz, başlık olarak gönderilir. Politika bir yapılandırma değeridir; varlıkları başka bir sunucudan sunan bir kurulum, başlığı kapatmak yerine yalnızca ihtiyaç duyduğu yönergeyi genişletir. - Çerezler
-
Oturum çerezi
HttpOnlyişaretlidir; hiçbir betik onu okuyamaz.SameSite=Laxişaretlidir; başka bir site onu kullanamaz. Üretimde ayrıcaSecureolur. - Dış adresler çağrılmadan önce denetlenir
-
Webhook’lar, sağlayıcı keşfi ve nesne deposu uç noktaları aynı denetimden geçer. Link-local adresler reddedilir ve bunu açan bir ayar yoktur:
169.254.169.254adresi makinenin bulut kimlik bilgilerini döndürür, uyarı tanımlamak ise yönetici değil operatör işidir. Denetim hem adres kaydedilirken hem de istek atılmadan önce çalışır; kayıt, denetimden eski olabilir. - Yayınlar hangi hedefe ait olduklarını belirtir
-
Tek bir hedefe ait bildirim, yalnızca sahibinin o hedefi görebildiği soketlere ulaşır. Tek bir sunucuda yetkisi olan bir kullanıcı, diğerleri hakkında hiçbir şey duymaz.
- Sırlar günlüğe yazılmaz
-
Ne hedef parolaları, ne belirteçler, ne anahtar parolaları. Komut izleyici de sırları motordan çıkmadan önce maskeler.
- Anahtar uzayını boşaltan işlemler bekletilebilir
-
Bir hedef, kendi adı yazılmadıkça ya da isteği açandan başka biri onaylamadıkça boşaltılmayı reddedebilir. İkisi de bir yetki olmadığı için, açmak kimseyi dışarıda bırakmaz — bkz. İkinci bir kişiyi bekleyen işlemler.
Örnek anahtarını değiştirme#
KEYDRA_SECRET_KEY, saklanan bütün kimlik bilgilerini şifreler. Değiştirilemeyen bir anahtar,
kimsenin değiştirmediği anahtardır; bu da ilk ayrılan çalışandan sonra anahtarın hiç olmaması
kadar risklidir.
Şifreli her değer, kendisini yazan anahtarı belirtir; böylece aynı anda birden fazla anahtar okunabilir. Anahtar değişimini kesintiden ayıran özellik budur.
-
crypto:rotateizniniz olmalı. Yalnızca yöneticilerde bulunur: değişim, kurulumdaki bütün kimlik bilgilerini yeniden yazar.
-
Yeni anahtarı üretin:
openssl rand -base64 32 -
Yeni anahtar yazacak, eski anahtar hâlâ okuyacak biçimde dağıtın:
KEYDRA_SECRET_KEY=<yeni anahtar> KEYDRA_PREVIOUS_SECRET_KEYS=<eski anahtar>Bu dağıtım, hiçbir veri yeniden şifrelenmeden de çalışır. Mevcut değerler kendilerini yazan anahtarla çözülmeye devam eder.
-
Arayüzden yeniden şifrelemeyi başlatın. İşlem şifreli bütün sütunları — hedef parolaları, tünel kimlik bilgileri, sağlayıcı istemci sırları, yedek hedefi kimlik bilgileri — yeni anahtara taşır ve kaç kaydı taşıdığını bildirir.
-
KEYDRA_PREVIOUS_SECRET_KEYSsatırını kaldırıp yeniden dağıtın.
Kurulum açılır, bütün hedefler bağlanır ve bütün tüneller çalışır. Yeni açılışın eski anahtara ihtiyaç duymaması, değişimin tamamlandığının kanıtıdır.
Yeniden şifreleme bütün kayıtları taşıdığını bildirmeden eski anahtarı kaldırmayın. Eski anahtarı silinmiş, yarım kalmış bir değişim, hiçbir şeyin okunamadığı bir veritabanı demektir.