Zero Door · Mimari

Nerede durur, ne gönderir, kiminle konuşur.

Bir mimarın pilottan önce sorduğu sorular tek sayfada: dağıtımın şekli, sunucudan çıkan veri, bağlandığı sistemler ve bilerek yapmadığı şeyler.

Şekli

Tek ajan dışarı, içeri hiçbir şey.

Kullanıcı alanında bir ajan

Her sunucuda servis olarak küçük bir Rust ajanı çalışır. Kurulacak çekirdek modülü ya da sürücü yoktur. Linux 5.8 ve üzerinde derin sensör eBPF kullanır; kullanamadığı yerde inotify ve auditd'ye düşer ve bunu kendi durumunda yazar. Windows'ta ETW ve USN günlüğünü okur.

Bağlantıyı ajan açar

Ajan TLS 1.2 ve üzeri üzerinden gRPC ile dışarı bağlanır ve tek akışı açık tutar; komutlar aynı akıştan geri iner. Sunucularınıza içeri bağlantı gelmediği için gelen yönde güvenlik duvarı kuralı gerekmez. Karşılıklı TLS ve SPKI sertifika sabitleme vardır; bozuk bir sabit değer ajanı sabitsiz çalıştırmak yerine açılışta durdurur.

Arkasındaki platform

Bir API, bir gRPC alım katmanı ve işçiler; PostgreSQL, ClickHouse, Redis ve NATS üzerinde, raporlar S3 ya da MinIO'ya yazılır. Kiracılar uygulama kodunda değil veritabanında, satır düzeyi güvenlikle ve bunu atlayamayan bir rolle ayrılır.

Kurulum ve yaşam döngüsü

Yazılımı zaten nasıl dağıtıyorsanız öyle.

Kendine özel kurucu değil, paket

amd64 ve arm64 için .deb ve .rpm, 64 ve 32 bit Windows için MSI, eski glibc dağıtımlarında da çalışan statik derlenmiş ikili dosya. Kurulum betikleri platforma göre üretilir, ajanla birlikte bir Ansible rolü gelir.

Kademeli güncelleme, geri dönüş yolu açık

Ajan güncellemeleri önce küçük bir sunucu grubuna, sonra kademeli olarak yayılır; sorun çıkarsa kendiliğinden geri alınır. Ayrı bir güncelleyici, bir şeyi değiştirmeden önce sabitlenmiş güven kökünü doğrular, daha eski bir sürüme geçmeyi reddeder ve yeniden başlatmayla yarıda kalan güncellemeyi ya tamamlar ya geri alır.

Panele bağlı olmayan kaldırma

Kaldırma, ajanın çevrimdışı doğruladığı imzalı bir token ile yetkilendirilebilir; bağlantısı kopmuş bir sunucu da temizlenebilir.

Ajan kendini korur

İkili dosya açılışta kendi özetini alır, ikili dosya ve servis birimleri değişmez işaretlenebilir, uzaktan gelen komutların imza taşıması şart koşulabilir.

Sunucudan ne çıkar

Dosyalarınız değil, meta veri ve özetler.

Ürünün derdi dosyalar değil, dosyalar hakkındaki kanıt. Ajanın gönderdiği şey sınırlıdır ve listesi budur.

Dosya bilgileri
Yol, değişiklik türü, kriptografik özet, boyut, izinler, sahiplik, zaman damgaları, imza ve paket kanıtı.
Kim ve nasıl
Derin sensör çalışırken komut satırlarıyla süreç ağacı (4 KB'de kesilir) ve arkasındaki kullanıcı.
Envanter
Kaynağına göre kurulu paketler ve sürümleri: dpkg, rpm, pacman, apk; MSI, yüklü programlar ve Store uygulamaları.
Dosya içerikleri
Gönderilmez. Tek istisna, 64 KB ile sınırlı Windows zamanlanmış görev tanımıdır; orada değişikliğin kendisi o belgedir.
Adli paketler
Sunucuda, şifreli kalır. Yüklenmez.
Kaynak kullanımı

Sunucu yoğunken çekilir.

  1. Uyarlamalı bir hız denetleyicisi yüzde 70 işlemci hedefler, işi düşük öncelikle yapar ve yük arttıkça durup sarsmak yerine dosya dosya yavaşlar.

  2. Bağlantı koptuğunda olaylar diskte, şifreli olarak, varsayılan 500 MB'a kadar sıraya girer ve ancak sunucu aldığını bildirdikten sonra sıradan düşer.

  3. Alım katmanı ajan başına hız sınırı uygular; gürültülü tek bir sunucu bütün havuzu bastıramaz.

Entegrasyonlar

Zaten çalıştırdığınız şeye oturur.

SIEM

  • CEF 0, LEEF 2.0, RFC 5424 syslog ve JSON
  • TCP, UDP, TLS ya da HTTPS üzerinden; kaydetmeden önce satırın tam hâlini gösteren önizlemeyle
  • İletilen şey alarm akışıdır; denetim ve dosya olayı akışları bugün iletilmez

Bildirimler

  • Kendi SMTP sunucunuz üzerinden e-posta
  • Slack ve Microsoft Teams
  • PagerDuty; yinelenen bildirimler alarmın parmak iziyle bastırılır
  • HMAC ile imzalı, yeniden oynatma saldırısına karşı zaman damgalı webhook'lar

Çağrı ve değişiklik

  • Kritik ve yüksek alarmlar için otomatik açılan, yinelenmeyen Jira kayıtları
  • Diğer ITSM araçları imzalı webhook ile; çağrı numarası değişiklik kaydında durur
  • Onaylar, değişiklik pencereleri ve dört göz incelemesi üründe, tabloda değil

Kimlik ve API

  • OIDC ve SAML 2.0 tek oturum açma (SSO), grup-rol eşlemesiyle LDAP ve Active Directory
  • TOTP ve passkey; hassas işlemlerde yeniden kimlik doğrulama
  • Oluşturanın yetkisini asla aşamayan kapsamı sınırlı anahtarlarla REST API
Nerede çalışır

Sizin sunucularınız, bizimkiler ya da hiçbiri.

Kurum içi

Otomatik ölçekleme, kesinti bütçeleri, ağ ilkeleri ve veritabanı geçiş işi olan bir Kubernetes paketi; daha küçük ortamlar için tek düğümlü Docker Compose kurulumu.

Bizim işlettiğimiz

Aynı yapı, bizim işlettiğimiz hâliyle; kiracılar veritabanında ayrı, veri Avrupa Birliği'nde.

Kapalı ağ

Çevrimdışı paket, imzaları ve yazılım malzeme listesiyle (SBOM) birlikte Helm paketini ve bütün konteyner imajlarını taşır; kurulum kendi deponuzda olmayan bir imajı reddeder, lisans imzalı bir dosyayla etkinleşir.

Sınırlar

Yapmadığı şeyler.

Alıcı bunu er geç öğrenir. Pilotun üçüncü haftasında değil, burada öğrensin.

  • Engellemez, sunucuyu ağdan ayırmaz, dosyayı karantinaya almaz, süreç sonlandırmaz. Tespit eder, açıklar ve kanıtlar; müdahale sizindir.

  • İçerik denetleyicisi değildir. Veri sızıntısı önleme yoktur; dosya içeriğinde kişisel veri ya da kart verisi araması yapmaz.

  • Ajanın vekil sunucu (proxy) desteği yoktur: alım adresine bir yol ister, sonlandırmayı kendi sınırınızda yapıyorsanız oradan.

  • Yayımlanmış bir OpenAPI belgesi henüz yok.

  • SCIM ile kullanıcı sağlama yok; hesaplar tek oturum açma (SSO) ya da LDAP ile gelir.

  • Kapalı ağ kurulumunda zafiyet ve destek sonu verisi kendiliğinden tazelenmez.

  • Bugün macOS yapısı yok; 5.8'den eski çekirdeklerde derin sensör yedek kipinde çalışır.

Kendi ağınızın üzerine yerleştirin.

Sizinkine benzer bir topolojiyi birlikte geçelim: ne nerede çalışır, sunucudan ne çıkar, ne hiç çıkmaz.

Mimari görüşmesi planlayın