İçeriğe geç
Kimene
TREN

Güvenlik ve mimari

Neyi teslim ediyorsunuz, neyi etmiyorsunuz.

Bu sayfa iki soruyu yanıtlar: kontrol düzlemi neye erişir, ve bir şey ters gittiğinde ne olur. Kurulum bölümü de buradadır, çünkü “kendi makinelerinizde çalışır” bir başlangıç adımından önce bir güvenlik olgusudur.

Güvenlik

Kontrol düzlemi hiçbir kimlik bilgisi tutmaz.

Kimlikler, sahibi olan makinede kalır; veritabanı yalnızca yolu ve referansı bilir. Veritabanını ele geçirmek hiçbir sağlayıcı kimliği vermez.

browserkimene-serversrv-ist-1CLAUDE_CONFIG_DIRKimlik bilgisi sahibi makinede kalırwssmTLStoken=sk-ant-…token=[REDACTED]
  • Kayıt sonrası her bayt karşılıklı TLS ile
  • Redaksiyon atlatılamaz
  • Tarayıcı hiçbir sunucuya doğrudan bağlanmaz
Üç bölge: tarayıcı, kontrol düzlemi ve sunucu. Kimlik bilgisi sunucunun içinden çıkmıyor; sınırı geçen bir günlük satırının gizli kısmı geçerken siliniyor.

Sağlayıcı yalıtımı işlem ortamı üzerinden yapılır, komut satırı üzerinden değil: süreç listesi herkese açıktır, ortam değildir. Düğümler tek kullanımlık bir kayıt jetonundan sonra karşılıklı TLS ile konuşur.

İç ağda olmak bir güvenlik önlemi değildir.

Redaksiyon çağrı yerinde değil, günlük işleyicisinin içindedir — unutulabileceği bir yerde durmaz. Terminal çıktısı hiçbir zaman ham HTML olarak basılmaz ve tarayıcı hiçbir makineye doğrudan bağlanmaz.

kanıtgo test ./internal/security/redact — redaksiyon günlük işleyicisinde

Kurulum

Dört bağımlılık, dört binary, bir doctor.

Ubuntu, Go ve Node. Veritabanı, kuyruk, önbellek ve bir mesaj aracısı. doctor hepsini hiçbir şeyi bozmadan doğrular ve hangi kipte çalıştığını söyler.

$ make doctor
!mongodbmongodb://127.0.0.1:27017/kimene
✓connect+ping4ms
✓server info2ms
!transactions1ms
✓timeseries collections6ms
✓write/read/delete probe9ms
✓index creation12ms
✓rabbitmqamqp://127.0.0.1:5672/
✓connect7ms
✓publisher confirms11ms
✓quorum queues24ms
✓stream queues18ms
✓publish/consume/ack roundtrip15ms
✓redisredis://127.0.0.1:6379/0
✓connect+ping1ms
✓set/get/delete with TTL2ms
✓lease acquire/renew/release (Lua CAS)3ms
✓mqttmqtts://127.0.0.1:8883
✓connect8ms
✓subscribe/publish QoS 1 roundtrip13ms
✓retained message set and clear10ms
kimene-serverkimene-workerkimene-nodekimene

İlk kurulumda bir adım sizi bekler: bir hesap ile model eşleşmesi doğrulanana kadar hiçbir çift yönlendirilebilir değildir. Bu, doğrulanmamış bir eşleşmeye iş göndermemek için bilerek böyledir.

Bilinen eksikler.

Her belgede bir “bilinen eksikler” bölümü var. Dürüst kısım orası; bir yeteneğe güvenmeden önce onu oku.

  • Zamanlanmış yedek yok — komutlar var, onları çalıştıran bir zamanlayıcı yok.
  • Tek komutla düğüm kurulumu yok; ikili elle kopyalanıp kaydediliyor.
  • Sunucu kurulum betiği TLS ve ters vekil için hiçbir şey yapmıyor; ikisi de elle.
  • Saklama politikası tohumlanıyor ama hiçbir şey onu uygulamıyor.
  • Geçici bir hatayla düşen işleyici yeniden denenmiyor, ölü mektuba gidiyor.
  • Terminal katmanı henüz canlı bir tmux’a karşı çalıştırılmadı.

Kurtarma yordamı çalışma kipine göre değişir, o yüzden doctor kipi de söyler. Konteyner yok, orkestratör yok, çalıştırmadan önce her hedefe kurulması gereken bir çalışma zamanı yok.

kanıtmake doctor — dört bağımlılığı da tahribatsız doğrular

Kendi sunucunuzda, kendi hesaplarınızla.

Kimene sizin altyapınızda çalışır ve sizin sağlayıcı hesaplarınızı yönetir. Kimlik bilgisi paylaşan bir servis değildir, çok kiracılı bir vekil değildir, sağlayıcı sınırlarını dolaşmanın bir yolu değildir.