- Octelium, uzak erişim VPN, ZTNA, API/AI gateway ve daha fazlasını birleşik şekilde destekleyen yeni nesil açık kaynaklı self-hosted bir platformdur
- Self-hosted ve single-tenant yapısıyla tüm iç ve herkese açık kaynaklar için kimlik tabanlı, uygulama katmanı (Katman 7) güvenli erişim sunar
- Secretsiz erişim, ayrıntılı politika tabanlı kontrol, merkezi yönetim ve denetim gibi modern güvenlik gereksinimlerini karşılayan özellikler içerir
- Mevcut Kubernetes, OpenVPN, Tailscale, Cloudflare Access gibi çeşitli ticari/açık kaynak çözümlere karşı rekabet avantajı sağlar ve onların yerine kullanılabilir
- Açık kaynak modelini benimser; ticari özellik desteği ve lisanslama ile iş modelini kurarken, tam işlevli self-hosting sunmaya odaklanır
Octelium projesinin önemi ve genel bakış
- Octelium; Teleport, Cloudflare, Tailscale ve Ngrok gibi ticari çözümlerin yerini alabilecek yeni nesil, açık kaynaklı, birleşik Zero Trust self-hosted güvenli erişim platformudur.
- Mevcut açık kaynak/ticari çözümlere kıyasla tüm özellikleri ödün vermeden kendi ortamınızda barındırabilmesi, ek maliyet ve üretici bağımlılığından kurtarması en büyük avantajlarından biridir.
Octelium nedir
- Octelium, kimlik tabanlı ve Katman 7 algoritmaları kullanan birleşik bir erişim yönetimi platformudur
- Uzak erişim VPN'i (OpenVPN Access Server, Twingate, Tailscale vb.) için bir alternatif olmasının yanında; ZTNA, BeyondCorp (Google BeyondCorp, Cloudflare Access, Teleport vb.), ngrok (reverse proxy), API/AI gateway, self-hosted PaaS altyapısı, Kubernetes ingress alternatifi ve Homelab altyapısı gibi çok çeşitli rolleri karşılar
- Kullanıcıların (insan ve workload'lar), organizasyonların ve uygulamaların erişimi için WireGuard/QUIC tüneli tabanlı istemci yaklaşımını ve BeyondCorp tarzı istemcisiz tarayıcı erişimini birlikte destekler
- Politikaların kodla tanımlandığı policy-as-code yaklaşımı ile ayrıntılı bağlam ve kimlik tabanlı güvenlik, secretsiz kimlik doğrulama ve yetkilendirme temel unsurlardır
Başlıca kullanım senaryoları
- Modern uzak erişim VPN'i: WireGuard/QUIC tabanlı, dinamik, kimlik farkındalıklı, uygulama katmanı güvenliği
- Birleşik ZTNA/BeyondCorp erişim yapılandırması
- Self-hosted güvenli tünel/reverse proxy (
ngrok, Cloudflare Tunnel alternatifi)
- Self-hosted PaaS (container uygulama dağıtımı, ölçekleme ve anonim herkese açık barındırma)
- API gateway (Kong Gateway, Apigee alternatifi)
- AI gateway (LLM sağlayıcı bağlantısı ve kimlik tabanlı kontrol)
- Birleşik secretsiz SaaS API erişimi
- MCP/A2A (model context ve ajanlar arası standartlar) gateway altyapısı sağlama
- Kubernetes ingress/load balancer için gelişmiş alternatif
- Homelab (kişisel kaynaklar, IoT, bulut vb. için birleşik ve güvenli uzaktan yönetim)
Temel özellikler
Modern birleşik mimari
- Tüm kaynaklar (iç ağ/NAT arkasında, herkese açık) ve tüm kullanıcılar (insan/workload) için kimlik farkındalıklı, uygulama katmanı seviyesinde kontrol
- Hem VPN tabanlı uzaktan erişim hem de BeyondCorp tarzı istemcisiz erişim sunar
- Kubernetes üzerinde çalışır; yatay ölçekleme ve yüksek erişilebilirlik yerleşik olarak gelir
Dinamik secretsiz erişim
- HTTP/gRPC API, web uygulamaları, SSH, Kubernetes, PostgreSQL/MySQL gibi çok sayıda uygulama ve veritabanına gizli anahtar yönetimi veya paylaşımı olmadan güvenli erişim sağlar
- mTLS gibi senaryolarda da PKI/sertifika paylaşımı olmadan erişim mümkündür
Bağlam farkındalıklı, kimlik tabanlı, Katman 7 erişim kontrolü
- Merkezi, modüler ve birleştirilebilir politika sistemi (ABAC) yerleşik gelir
- CEL, OPA gibi politika dillerini destekler ve her isteği ayrıntılı şekilde kontrol edebilir
Dinamik yönlendirme/yapılandırma
- Politika tabanlı olarak aynı kaynağa farklı üst bağlam, hesap veya koşullu yönlendirme uygulanabilir
Sürekli güçlü kimlik doğrulama
- OpenID Connect, SAML2.0 gibi standart IdP entegrasyonları
- Workload'lar için OIDC token ile secretsiz kimlik doğrulama
- NIST kimlik doğrulama seviyeleri, MFA ve phishing koruması (Passkey, Yubikey vb.) desteği
Uygulama katmanında derin görünürlük ve denetim
- OpenTelemetry entegrasyonu ile tüm istekler gerçek zamanlı loglanır ve harici OTLP toplayıcılarına gönderilebilir
Sunucusuz SSH ve container uygulama dağıtımı
- Root yetkisi gerektirmeden container'lara, IoT cihazlarına ve SSH olmayan host'lara bile SSH erişimi
- PaaS benzeri container uygulama dağıtımı, ölçekleme ve güvenli erişim desteği
Merkezi deklaratif yönetim ve kodla çalışabilirlik
- Kubernetes benzeri deklaratif yönetim; tek komut veya kodla cluster durumunu yeniden üretme imkanı
octeliumctl CLI ve gRPC API ile DevOps/GitOps dostu işletim
Ağ değişikliği gerektirmez, VPN'in kronik sorunlarını azaltır
- Upstream kaynakların Octelium'un varlığından haberdar olması gerekmez; port açmadan NAT arkasında güvenli hizmet çalıştırılabilir
- Benzersiz dual-stack private IP, private DNS gibi ayarlar otomatikleştirilir
Tamamen açık kaynak, self-hosted ve vendor lock-in yok
- Tüm kaynak kod açıktır; ticari sürümde özellik kısıtlaması veya vendor lock-in yoktur
- Tek düğümlü mini cluster'lardan büyük bulut ortamlarına kadar ölçeklenebilir yapılandırmaları destekler
Lisans ve destek
- İstemci kaynak kodu Apache 2.0, cluster tarafı AGPLv3
- Ticari lisans ve kurumsal destek sunulur; dış katkılar şu anda sınırlıdır
- Resmi dokümantasyon, Discord, Slack, e-posta, Reddit vb. üzerinden topluluk desteği vardır
Sık sorulan sorulardan öne çıkanlar
- Şu anda Public Beta aşamasındadır; uzun süreli dahili geliştirme sonrasında açık kaynağa dönüştürülmüştür
- Tek bir geliştirici (George Badawi) tarafından yürütülmektedir; VC veya dış sermaye olmadan bağımsız şekilde işletilmektedir
- VPN işlevi görebilir; ancak temelde kimlik farkındalıklı proxy tabanlı bir ZTA yaklaşımını hedefler
- Gerçekte "açık kaynak değilmiş gibi" kısıtlamalar veya ticari sürüme zorlama yoktur; self-hosted ve tam işlevlilik sunmak tasarım hedefidir
- İş modeli; teknik destek, ticari lisanslama ve kurumsal ek özellikler (ör. SIEM entegrasyonu, Vault backend, EDR) üzerinden şekillenir
1 yorum
Hacker News görüşleri
Octelium'un ne yaptığını anlamakta zorlananlar için bulduğum en net açıklamayı paylaşmak istiyorum: Octelium nasıl çalışır - resmi dokümantasyon bağlantısı en anlaşılır olanı. Octelium hakkında mümkün olan her özelliği listeleyip kafa karıştırmak yerine, temel kavramlardan başlayıp bunları kademeli olarak açıklayan yaklaşımı oldukça çekici. Başlıca özellikleri, üst düzey protokolleri anlayarak içerik temelli ince ayarlı güvenlik kararları verebilen VPN benzeri bir ağ geçidi ile Kubernetes üzerinde kurulu bir küme yapılandırma katmanı. Bu ikisinin birleşimi bir tür "kişisel bulut" oluşturuyor. Büyük bulut platformları gibi çok sayıda özellik sunuyor, ancak hangisinden başlanacağına karar vermek zor. Kişisel homelab, bulut maliyetlerini düşürmek isteyen küçük şirketler, özelleştirilmiş PaaS gibi farklı kullanım alanları olan harika bir sistem.
TailScale'den memnunum ama bir rakibe ihtiyaç olduğunu hissediyorum. Bir IPO bekleniyor ve o aşamaya gelindiğinde rakip olmazsa fiyatların hızla artma ihtimali yüksek diye düşünüyorum.
Bunu programlanabilir bir ağ tünel yapısı olarak özetleyebiliriz.
Benim açımdan birkaç sorun ve bu yüzden kullanıcıların neden şüpheci yaklaşmak zorunda kaldığını paylaşmak istiyorum. Geliştirme geçmişinin olmayışı, kaynağı bilinmeyen büyük ilk commit, kamudaki bilgi eksikliği, gerçek bir şirket gibi görünmemesi, her şeyi çözdüğünü iddia eden pazarlama dili ve kanıt sunulmayan güvenlik iddiaları gibi birçok nokta güveni zedeliyor. Bu durumda bunun gerçekten özgün bir teknoloji mi olduğu, yoksa yeterince güvenilir mevcut teknolojiler üzerine mi inşa edildiği konusunda daha fazla bilgi gerekiyor. Bunu ticari bir ürün olarak sunacaksanız güven oluşturmanız gerekir. Öte yandan kişisel bir projeyse, bir işletmeymiş gibi görünmeye çalışması tam tersine sahte/dolandırıcılık/uyarı işareti gibi algılanabilir. Tek kişilik bir geliştiricinin büyük şirketlerle rekabet edecek bir ürünü bir anda ortaya çıkarması konusunda olumlu olmak zor. Güvenliği açık ve net biçimde vurgulamak önemli. Yazılımın amacını tek cümleyle bile açıklamak zorsa, zor bir mücadele sizi bekliyordur. Daha fazla özellik listelemek çözüm değil. Hatta bu, "beni ne olursa olsun kur" gibi bir his vererek denemek için motivasyonu azaltıyor. Bunun projenin başarısını engelleme ihtimali yüksek.
Harika geri bildirim. Octelium'un aynı anda çok farklı işler yapacak şekilde bilinçli olarak tasarlanmış olması nedeniyle bu eleştirinin haklılığını anlıyorum. Octelium, insan-iş yükü ve iş yükü-iş yükü arasında birçok senaryoda kullanılabilen birleşik/genel amaçlı bir zero-trust erişim platformu (dokümanlarda çeşitli örnekler ayrıntılı biçimde var). Bu yüzden yeni kullanıcı açısından kafa karıştırıcı olabilir. İlk commit'in bir anda ortaya çıkmasının nedeni, aslında 2020'nin başından beri geliştiriyor olmam ama kodu yayımlamaya karar verdiğimde gizli bilgi sızıntısı riski yüzünden başlangıç commit'leri olmayan temiz bir açık depo ile başlamayı tercih etmemdi. Son 5 yılda neredeyse 9.000 manuel commit yaptım; başlangıçta bu sadece basit bir uzak erişim WireGuard VPN'iydi, sonra bugünkü mimari, özellikler ve karmaşıklığa tamamen evrildi.
Açık kaynak geliştiricilere karşı daha cömert olmak gerekiyor. OP'nin geçmişini ya da motivasyonunu kimse bilmiyor; sadece eğlence için yapıyor da olabilir. Bunu gerekçelendirmek zorunda değil. Bu açık kaynak ve ücretsiz bir yazılım. Kullanıcı açıklamasını tek cümleyle yapamama eleştirisine gelince, tailscale, cloudflare access, ngrok gibi araçlarla nispeten basit şekilde karşılaştırılabilir. Bu tür ürünlere ihtiyaç duymuyorsanız zaten bu ürüne de ihtiyacınız yoktur.
Octelium'a yakın zamanda baktım; kurulum için Kubernetes kümesi zorunluymuş gibi görünüyor. Eğer gerçekten öyleyse giriş bariyeri fazla yüksek. Biz overlay ağa düğümler eklemek istiyoruz, k8s gibi başka altyapı bağımlılıkları istemiyoruz. İç servis bağımlılıklarının olabildiğince az ya da hiç olmaması gerekirken böyle bir tercih şaşırtıcı. Eğer SDN'in küme üstünde çalışması gerekiyorsa hedef bu olabilir, ama sadece bu mu merak ediyorum. Umarım k8s entegrasyonu isteğe bağlıdır, zorunlu ön koşul ya da tek dağıtım yöntemi değildir. k8s olmadan Octelium kullanımıyla ilgili kaynak varsa paylaşır mısınız?
octeliumctl applyçalıştırmanız yeterli ve tüm servisler otomatik olarak dağıtılıyor, yönetiliyor, ölçekleniyor ve kaldırılıyor. Güvenlik duvarında port açmak gibi manuel işler gerekmiyor. Kubernetes'in container'ları yönetmesi gibi, Octelium da aynı şekilde servisleri, proxy'leri vb. otomatik olarak orkestre ediyor. Düğüm sayısı ya da CRI ağ yapısı gibi karmaşık yönetimlerle uğraşmak gerekmiyor. Küme tüm düğümleri kapsıyor ve bildirimsel/programatik şekilde yönetilebiliyor. Octelium'u işletirken Kubernetes hakkında derin bilgiye hiç ihtiyaç yok; k8s kümesini ölçekleme, TLS sertifikası ayarlama gibi birkaç özel iş dışında yalnızca Octelium'un kendisiyle ilgilenmek yeterli. Daha fazla ayrıntı için resmi dokümantasyon tavsiye edilir.Çok fazla buzzword kullanılması bende anında ciddi bir güvensizlik oluşturuyor. GitHub sayfasına baksam bile ürünün somut olarak ne yaptığını anlamak zor.
Genel olarak Tinc, Hamachi, ZeroTier, Nebula, Tailscale, Netbird gibi benzer ürünler zaten fazlasıyla var. Her birinin artıları ve eksileri var ama pratikte büyük farkların sınırlı olduğunu düşünüyorum. Benim gerçekten istediğim şey zero-trust bir "lighthouse". Zerotier ve Tailscale'de hesabıma/ağıma düğüm ekleme yetkisi serviste. Benim istediğim ise tamamen self-hosted olması ve lighthouse'ın ağın bir parçası olmayıp yalnızca düğüm gözetimi yapması. Bununla ilgili daha fazla bilgi aramam gerekecek.
Dokümanları okuyunca birçok kişinin Octelium'un asıl değerini kaçırdığını düşünüyorum. Eğer gerçekten dokümantasyonda anlatıldığı gibi çalışıyorsa, henüz keşfedilmemiş bir cevher olabilir. Kurumların istediği şey, mevcut çevre temelli güvenlikten çıkıp Google überProxy/BeyondCorp'un ortaya koyduğu (ve çeşitli buzzword'lerle sulandırılmış) konsepte geçmek: yani üretim sistemleri, şirket içi ağ ve dış internet arasında temiz bir ayrım; kurum çalışanları için mümkün olduğunca şeffaf bir UX; sınırlar arasında akan trafiğin yetkilerinin açık yönetimi; ve tüm istemciler için güçlü kimlik doğrulaması. Google dışındaki dünyada farklı protokol ortamları nedeniyle ciddi kısıtlar var. Protokol farkındalıklı proxy'ler mevcut durumda yalnızca coarse-grain karar ve loglama yapabiliyor, ama tip çıkarımı da desteklendiğinde istek bazında çok daha ayrıntılı yetki kontrolü mümkün oluyor (yani tüm istek koşullarının politika motoruna açılması). Dokümanlar uzun ve pazarlama dili çok pürüzsüz değil, ama sorun zaten o kadar karmaşık ki kimse bunu tam anlamıyla çözebilmiş değil. OSS ve ticarileştirme tarafında ilk ciddi adımı Teleport attı, StrongDM de ilginç denemeler yapıyor. Hashicorp'un da buna daha fazla yatırım yapmasını isterdim (*kişisel görüşüm).
Octelium, yukarıda anılan ürünlerin yerine geçebilir ama hedefi ve kullanım biçimi daha geniş; açık biçimde zero-trust odaklı. Basit bir VPN/uzak erişim aracı olmanın ötesinde. Lütfen dokümanları okuyup niyetini, mimarisini ve özelliklerini anlamaya çalışın. Bugünlerde her ürün "zero-trust" diye pazarlanıyor ama gerçekte NIST'in tanımladığı anlamda gerçek ZTA (yani L7 farkındalıklı proxy, policy decision point, politika koduna dayalı istek bazlı ayrıntılı erişim denetimi, merkezi kimlik, dış SIEM/SSO/Threat intelligence araçlarıyla bilgi entegrasyonu vb.) çok az sayıda. Fiilen "gerçek" ZTA sayılabilecek ticari ürünler arasında Cloudflare Access, Teleport, Google BeyondCorp, StrongDM, Zscaler var. Hatta şirketlerin bu terimi aşırı kullanması, "gerçek zero-trust" kavramını sulandırma eğilimini daha da güçlendiriyor.
sanctum'un cathedral moduna bakın. Tamamen self-hosted kullanılabiliyor ve düğümler sadece discovery görevi görüyor. Tünel kurulduktan sonra cathedral düğümü devreye girmiyor; yalnızca black key dağıtımı ya da eş NAT arkasındaysa istisnai olarak çalışıyor. reliquary de var. Ben bizzat kullanıyorum. sanctum, reliquary
Daha fazla ilgili proje listesi için awesome-tunneling sayfasına bakabilirsiniz.
"AI" anahtar kelimesinin SEO amacıyla eklendiğini anlıyorum. Bu, haber başlığına "Reddit" eklemek gibi. İçerik iyi olsa bile bu yaklaşım iyi bir izlenim bırakmıyor. API gateway ve AI gateway diyagramları da neredeyse aynı. tailscale blog: AI-normal
Tailscale için açık kaynak bir alternatif aktif olarak arıyorum. Ancak README çok uzun; keşke sadece proje özeti ve doküman bağlantıları daha sıkıştırılmış biçimde sunulsa.
Tailscale'in en büyük avantajı kolay P2P bağlantı kurması. Octelium ise merkezi yönlendirici yapısı kullanıyor gibi görünüyor; doğru mu anlıyorum?
Octelium bir P2P VPN değil, bir zero-trust mimarisi. Elbette WireGuard/QUIC tabanlı uzak erişim VPN'i olarak da kullanılabilir, ancak yapısal olarak Cloudflare Access ve Teleport'a daha yakın. L7 tabanlı erişim kontrolü, sır içermeyen erişim (çeşitli anahtar/token/API key'leri doğrudan dağıtmadan enjekte etme), dinamik yapılandırma ve yönlendirme, gerçek zamanlı OpenTelemetry tabanlı görünürlük ve denetim gibi özelliklerle P2P VPN'lerden özünde farklı. Tam teşekküllü bir ZTNA/BeyondCorp yapısında (service mesh hariç) P2P VPN biçiminde uygulamanın temel sınırları var. İstek bazında erişim kontrolü ve görünürlük sağlamak için mutlaka L7 farkındalıklı proxy gerekir.
Bu arada Tailscale'de de paketler bazen merkezi bir yönlendiriciden geçebiliyor. Tailscale connection types açıklaması
k3s kümesi kurulumunun neden uygulamanın içine gömülü olduğunu anlamıyorum. Mevcut altyapıya kolayca eklenebilecek bir form ya da basit bir CRD ile servisleri açığa çıkarmak daha anlaşılır olurdu. Açık kaynak bir Cloudflare Access/Teleport benzeri fikir kulağa hoş geliyor ama çoğu şeyin sonunda k8s üstü özelleştirme olması, erişim odaklı işlevlere odaklansaydı daha çok ilgimi çekerdi.
octeliumctl applyya da gRPC API üzerinden kaynakları bildirimsel olarak oluşturup silersiniz; geri kalan yönetimi unutabilirsiniz. Kaynaklar bir dönem CRD idi, ancak kullanıcılar, oturumlar, servisler, namespace'ler (bunların bir kısmı k8s namespace'lerinden ayrı), politikalar, cihazlar, kimlik bilgileri vb. çok fazla kaynak tipi vardı ve veri hacmi büyüktü; bu yüzden etcd backend kararsız kaldı. Sonunda ayrı bir Postgres backend getirildi.Benzer proje zaten çok fazla var.
Bunun büyük şirket düzeyinde erişim yönetiminin (kurumsal botnet) alternatifi olup olmadığını merak ediyorum. Ben büyük bir şirket olsaydım, istikrar için büyük bir yazılım şirketi ve destek paketi isterdim; tek geliştiricili bir açık kaynak projenin bu sorunu çözüp çözemeyeceğinden emin değilim.