Skip to Content
Güvenlik

Güvenlik

IronFlock, güvenliğin isteğe bağlı olmadığı endüstriyel ve kurumsal IoT ortamları için tasarlanmıştır. Sistem, cihaz bağlantısından veri izolasyonuna kadar her katmanda derinlemesine savunmayla sıfır güven mimarisini takip eder.

Cihazlarda Açık Port Yok

IronFlock çalıştıran uç cihazlar hiçbir açık portu açığa çıkarmaz. Cihaz ajanı, tüm bağlantıları WAMP mesaj yönlendiricisine giden yönde başlatır. Bu şu anlama gelir:

  • Cihaz ağında gelen güvenlik duvarı kurallarına gerek yoktur.
  • Cihazlar internet üzerinden keşfedilemez veya doğrudan adreslenemez.
  • Uzaktan erişim ters tüneller aracılığıyla çalışır — cihaz dışarıya bağlanır, tam tersi değil.

Bu, cihazların açık portlarda (SSH, HTTP, MQTT) dinlediği IoT dağıtımlarında yaygın olan tüm bir saldırı vektörü sınıfını ortadan kaldırır.

Kimlik Doğrulama

IronFlock, kullanıcı kimlik doğrulaması için OpenID Connect (OIDC) kullanır.

Çok Faktörlü Kimlik Doğrulama

Tüm hesaplar TOTP tabanlı iki faktörlü kimlik doğrulamayı (Zaman Tabanlı Tek Kullanımlık Parola) destekler. Kullanıcılar, herhangi bir standart doğrulayıcı uygulamasını (Google Authenticator, Authy, 1Password vb.) kullanarak hesap ayarlarında 2FA’yı etkinleştirebilir.

API Anahtarları

Programatik erişim için kullanıcılar, REST API’ye karşı kimlik doğrulayan API anahtarları oluşturur. API anahtarları, herhangi bir işlem yürütülmeden önce arka uç aracılığıyla her istekte doğrulanır.

Cihaz Kimlik Doğrulama

Cihazlar, cihaz başına kimlik bilgileriyle WAMP-CRA (Meydan Okuma-Yanıt Kimlik Doğrulama) kullanarak kimlik doğrular. Her cihaz, flaşlama işlemi sırasında cihazda depolanan ve tüm sonraki bağlantılar için kullanılan benzersiz bir sır alır.

Şifreli Taşıma

IronFlock’taki tüm iletişim şifrelenir:

BağlantıProtokolŞifreleme
Tarayıcıdan IronFlock’aHTTPSTLS 1.2+
Cihazdan yönlendiriciyeWSS (WebSocket Secure)TLS 1.2+
Servisten serviseWSSTLS (dahili)
Veritabanı bağlantılarıPostgreSQL SSLTLS
Uzaktan erişim tünelleriTLS üzerinden ters proxyTLS

Sistemin tamamında düz metin iletişim yolu yoktur.

Mesajlaşma İzolasyonu

IronFlock, tüm gerçek zamanlı iletişim için WAMP (Web Application Messaging Protocol) kullanır. Mesaj yönlendirici, projeler arasında katı izolasyon uygular:

Ayrı Alanlar

Her proje-uygulama kombinasyonu, WAMP yönlendiricisinde kendi mesajlaşma alanını alır. Bir alan tamamen izole edilmiş bir ad alanıdır — bir alanda yayımlanan mesajlar diğer tüm alanlara görünmezdir.

Bu şu anlama gelir:

  • A Projesindeki cihazlar, B Projesinden mesajları göremez.
  • A Projesinde yüklü X Uygulaması, B Projesinde yüklü X Uygulamasından farklı bir alana sahiptir.
  • Aynı uygulama iki projede yüklü olsa bile, veri akışları tamamen ayrıdır.

Alan Kimlik Doğrulama

Her alan bağlantısı kimlik doğrulama gerektirir. Cihazlar, arka uç servisler ve UI istemcileri, bir alana katılmak için geçerli kimlik bilgilerini sunmak zorundadır. Yetkisiz istemciler konulara abone olamaz veya prosedürleri çağıramaz.

Veritabanı İzolasyonu

Her proje, FleetDB’de (PostgreSQL) kendi özel veritabanı kaynaklarını alır:

  • Ayrı tablolar — Her proje-uygulama kombinasyonunun kendi zaman serisi tabloları seti vardır. Farklı projelerden verilerin sızabileceği ortak bir tablo yoktur.
  • Ayrı kimlik bilgileri — Her veri arka ucunun benzersiz bağlantı kimlik bilgileri vardır. Uygulamalar yalnızca kendi projelerinin verilerine erişebilir.
  • Projeler arası sorgu yok — Veritabanı katmanı, sorguların proje sınırlarını aşamayacağını zorlar.

Bu izolasyon, yalnızca uygulama düzeyinde değil, altyapı düzeyinde uygulanır. Güvenliği ihlal edilmiş bir uygulama bile başka bir projedeki verilere erişemez.

Yetki Sistemi

IronFlock, her proje, cihaz, grup, uygulama, pano ve veri arka ucunun kendi erişim kontrolüne sahip olduğu bir varlık başına yetki modeli uygular:

  • Bir varlığın sahibi tam kontrole sahiptir ve diğer kullanıcılara izin verebilir.
  • Proje sahibi, proje içindeki tüm varlıklar üzerinde otomatik olarak tam kontrole sahiptir.
  • Her izin ayrı bir boolean bayrağıdır — sınırsız erişim sağlayan geniş “admin” rolleri yoktur.
  • Tüm yetki değişiklikleri değişmez bir denetim izinde kaydedilir.

Varlık türü başına izinlerin tam listesi için Yetkiler bölümüne bakın.

Yazılım Tedarik Zinciri Güvenliği

Güvenlik, yazılımın nasıl çalıştığıyla bitmez — yazılımın nasıl derlendiği ve teslim edildiğiyle başlar. Cihazlarınızda doğrudan çalışan tek IronFlock bileşeni olan IronFlock Supervisor, filonuza tam olarak neyin ulaştığına güvenebilmeniz için sağlamlaştırılmış, tamamen otomatik bir tedarik zinciri aracılığıyla derlenir.

  • Minimum saldırı yüzeyi — Supervisor, harici çalışma zamanı bağımlılığı ve gömülü yorumlayıcı içermeyen, statik olarak bağlanmış tek bir Go ikili dosyası olarak teslim edilir. Paket yöneticisi, dinamik kütüphane ağacı yoktur ve gelen bağlantıları dinleyen hiçbir şey yoktur — bu da bir saldırganın hedefleyebileceği şeyleri önemli ölçüde azaltır.
  • Sürekli güvenlik açığı taraması — Her sürüm, hem kendi kodumuzdaki hem de tüm bağımlılıklardaki bilinen güvenlik açıkları (CVE) için, ikili dosyanın gerçekten yürütebileceği kod yollarına odaklanan erişilebilirlik bilinçli analiz kullanılarak taranır. Taramalar ayrıca haftalık bir programa göre de çalışır, böylece bir sürüm yayımlandıktan sonra açıklanan güvenlik açıkları, halihazırda dağıtılmış derlemelere karşı yine de yüzeye çıkar.
  • Yazılım Malzeme Listesi (SBOM) — Her sürüm, ikili dosyaya giren her bileşenin ve sürümün tam bir envanteri olan eksiksiz bir CycloneDX SBOM yayımlar. Bu, size ve denetçilerinize neyi çalıştırdığınız konusunda tam şeffaflık sağlar.
  • İmzalı, doğrulanabilir derlemeler — Her sürüm ikili dosyası, tam içeriğine kriptografik olarak bağlanmış bir sigstore imzalı köken kanıtı taşır. İmza, kurcalamayı belli eder ve bağımsız olarak doğrulanabilir, böylece bir ikili dosyanın IronFlock’un boru hattı tarafından üretildiğini ve aktarım sırasında değiştirilmediğini doğrulayabilirsiniz.
  • Kontrollü, otomatik sürümler — Derleme, imzalama ve yayımlama, bireysel bir geliştiricinin makinesinde değil, kontrollü bir CI boru hattında gerçekleşir. Tam otomatik test ve güvenlik paketi geçmedikçe hiçbir şey yayımlanmaz; bu da teslim edilen yapının tam olarak test edilen ve kanıtlanan yapı olmasını sağlar.
  • Güvenli kablosuz (OTA) güncellemeler — OTA güncellemeleri şifreli kanallar üzerinden teslim edilir ve yalnızca IronFlock tarafından yayımlanan, imzalı derlemelerden alınır — böylece cihazlar, hiçbir gelen port açmadan veya doğrulanmamış bir yapıya güvenmeden kendilerini günceller.

Bu kontroller birlikte, kaynak koddan her cihazda çalışan ikili dosyaya kadar doğrulanabilir bir gözetim zinciri sağlar.

Uyumluluk

IronFlock’un güvenlik mimarisi şunlarla uyumluluğu destekler:

  • IEC 62443 — Endüstriyel otomasyon ve kontrol sistemleri güvenliği
  • ISO 27001 — Bilgi güvenliği yönetimi
  • SOC 2 — Veri güvenliği için hizmet organizasyonu kontrolleri
  • GDPR — AB veri merkezlerinde depolanan veriler (yapılandırılabilir), veri erişimi için denetim izi
  • EU Cyber Resilience Act (CRA) — Sürüm başına SBOM’lar ve belgelenmiş, sürekli bir güvenlik açığı işleme süreci, CRA’nın dijital öğeler içeren ürünlere yönelik temel yükümlülüklerini doğrudan karşılar.
  • SLSA / NIST SSDF — İmzalı derleme kökeni ve kontrollü bir CI boru hattı, tanınmış tedarik zinciri bütünlüğü ve güvenli yazılım geliştirme çerçeveleriyle uyumludur.

Şifreli taşıma, kimlik doğrulama, proje başına veri izolasyonu, ayrıntılı yetkiler, kapsamlı denetim kaydı ve sağlamlaştırılmış bir yazılım tedarik zincirinin kombinasyonu, bu çerçevelerin gerektirdiği kontrolleri sağlar.

Last updated on