· kaynak dev.to (home feed)
Agata Proxima Açık Kaynak Rust Proxy'si PostgreSQL için Tenant İzolasyon Katmanı Ekliyor
Bir geliştirici, çok kiracılı SaaS dağıtımlarında tenant izolasyonunu zorunlu kılmak ve erişimi denetlemek üzere uygulamalar ile PostgreSQL arasında konumlanan açık kaynak Rust tabanlı bir proxy olan Agata Proxima'yı yayımladı.

Bir geliştirici, çok kiracılı dağıtımlarda tenant izolasyonunu zorunlu kılmak üzere uygulamalar ile PostgreSQL arasında konumlanan, Rust ile yazılmış açık kaynak bir proxy olan Agata Proxima'nın çekirdek motorunu yayımladı. Duyuru dev.to üzerinde yayımlandı; yazar orada motivasyonu, mimariyi ve motoru açık kaynak yapma kararını ele alıyor.
Ele alınan sorun
Çok kiracılı SaaS ürünleri genellikle birçok müşterinin kaydını tek bir PostgreSQL veritabanında saklar. Bu müşteriler arasındaki izolasyon genellikle uygulama katmanında, sorgulara eklenen yetkilendirme kontrolleri ve tenant filtreleriyle, bazen de PostgreSQL'in Row-Level Security özelliğiyle sağlanır. Dev.to gönderisinde açıklandığı gibi, bu mekanizmaların her biri sessizce başarısız olabilir: eksik bir filtre, hatalı bir yetki kontrolü veya yanlış yapılandırılmış bir RLS politikası, bir tenantın başka bir tenantın verisini okumasına izin verebilir. Gönderinin ana savısı, uygulama kodunun yatkın olduğu hata sınıfını tam olarak yakalayacak ikinci, bağımsız bir uygulama noktasının gerektiğidir.
Proxy'nin konumu
Agata Proxima doğrudan bağlantı yoluna yerleşir: uygulama Rust proxy ile konuşur, proxy de PostgreSQL ile konuşur. Bu konum üzerinden motor, tenant izolasyon kurallarını ve güvenlik politikalarını uygular, erişim kontrollerini doğrular ve veritabanı etkinliğini kaydeder; böylece yöneticiler denetlenebilir günlüklere kavuşur. Yazar, aracı bir alternatif değil ek olarak konumlandırmaya özen gösteriyor: araç, PostgreSQL'in kendi güvenlik özelliklerinin (Row-Level Security dahil) yerini almak için değil, temeldeki veritabanını değiştirmeden onların üzerine bir derinlemesine savunma katmanı eklemek için tasarlanmıştır.
Neden Rust
Gönderiye göre Rust üç nedenden dolayı seçildi: bellek güvenliği garantileri, güçlü performans ve altyapı yazılımına uygunluğu. Yazarın gerekçesi, her uygulama isteği ile veritabanı arasındaki kritik yolda yer alan bir bileşenin hem hızlı hem güvenilir olması gerektiği ve Rust'ın derleme zamanı garantilerinin bu role doğal biçimde uyduğu yönünde. Ancak duyuruda hiçbir benchmark yer almıyor; dolayısıyla performans yüküne dair iddialar kamuoyu önünde henüz test edilmiş değil.
Bir proxyden fazlası
Motor tablonun yalnızca bir parçası. Etrafında geliştirici, tenant yönetimi ve politika yapılandırması, erişim doğrulama, veritabanı etkinlik izleme, gönderinin güvenlik attestasyonları dediği denetim kayıtları, motor düğüm yönetimi ve entegrasyon için geliştirici API'lerini kapsayan daha geniş bir platform inşa etmiş. Özellikle yalnızca motorun kendisi açık kaynak olarak tanımlanıyor; gönderi, çevresindeki platform için lisans bilgisi vermiyor. Motorun kaynak kodu, bir proje web sitesiyle birlikte GitHub'daki Agata-Proxima organizasyonunda yayımlanmış durumda.
Duyurunun yanıtsız bıraktığı sorular
Yazar, PostgreSQL mühendilerine böyle bir proxy'yi dağıtmanın neyi en çok endişelendireceğini sorarak kapanıyor; performans yükü, bağlantı yönetimi, uyumluluk ve operasyonel karmaşıklığı olası endişe alanları olarak sayıyor. Bunlar aynı zamanda her olası kullanıcı için en belirgin değerlendirme ölçütleri: veritabanı bağlantılarını sonlandıran veya aracılık eden bir proxy hata modlarını değiştirir ve uyguladığı her politika gecikme ekler. Yayımlanmış benchmark, vaka çalışması veya kullanım rakamı olmadığından proje, üretimde tenant izolasyonuyla uğraşmış mühendislerden geri bildirim aktif biçimde arayan erken aşama bir çalışma olarak okunuyor.
Neden önemli
Tenant'lar arası veri sızıntısı SaaS'taki en yıkıcı hata modlarından biridir: aynı anda etkilenen her müşterinin güvenini zedeler ve tipik olarak sofistike bir saldırıdan çok sıradan bir geliştirici hatasından kaynaklanır. Veritabanına bitişik bir uygulama katmanı iyi anlaşılmış bir derinlemesine savunma desenidir ve Rust'ta yazılmış açık kaynak bir uygulama, bu deseni yalnızca ticari değil incelenebilir ve self-hostable hale getirir. Paylaşımlı veritabanlı PostgreSQL mimarileri çalıştıran ekipler için böyle bir araç, yazarın ortaya koyduğu performans ve operasyonel sorular ikna edici biçimde yanıtlanabildiği takdirde, eksik bir tenant filtresi olaya dönüşmeden yakalamanın bir yolunu sunuyor.
- #postgresql
- #rust
- #open-source
- #security
- #proxy
İlgili yazılar
- Argus, makine hızındaki saldırılara yönelik ajan tabanlı bir güvenlik operasyonları platformunu açık kaynak yaptı
- Kritik PHP açıkları yamalanamayan siteleri kaldırdı ve yapay zeka benzerlerini bulabilir
- AWS, CVSS 9.8 puanlı Multi Model Server açığını yamalamayacak; yönetim API'sinde kimlik doğrulama yok