EN
← Blog

31 Ekim 2026

Self-Hosting'in Unutulan Yarısı: Kurup Bırakılan Sistemler

self-hosting · güvenlik · yama yönetimi · linux kernel · homelab · altyapı · gizlilik

Son iki yılda belirgin bir davranış değişimi var. İnsanlar merkezi bulut servisleri yerine kendi küçük sunucularını kuruyor ve aynı işleri açık kaynak yazılımla yapıyor: depolama, medya sunucusu, şifre kasası, fotoğraflar, otomasyon, wiki. Sebep sadece para değil. Gizlilik, kontrol, öngörülebilirlik ve kimsenin size “bu özelliği kaldırıyoruz” diyememesi. 2026 verileri bu yönelimin hâlâ büyüdüğünü gösteriyor: kataloglanmış 3.530 self-hosted uygulama, yıllık 7.700–9.200 dolar tasarruf, bireysel ve kurumsal ölçekte gerçek bir SaaS alternatifi.

Bu davranışın bir bedeli var ve o bedel çoğu zaman görünmüyor: kurulan sistem, kurduğu gün kalıyor. Kullanıcı sistemin nasıl çalıştığını bilmiyor; sadece çalıştığını biliyor. Çalıştığı sürece bakım gerekmiyor gibi görünüyor. Bakım, ancak bir şey bozulduğunda ya da bir uyarı geldiğinde hatırlanıyor.

Bu yazı, o altı aylık sessizliğin karşılığını rakamlarla gösteriyor. Kısa cevap şu: Mayıs 2026’da “o günün en günceli” olarak kurulan bir makine, bugün onlarca sürüm geride ve o sürümlerin içindeki açıkların bir kısmı internete açık hâlde istismar ediliyor bile.

Veri ne diyor?

Yönteme şeffaf bir not: kernel sayıları kernel.org ChangeLog listelerinden (1 Mayıs – 31 Ekim 2026), uygulama sayıları GitHub API release listelerinden (aynı aralık) alındı. GitHub release kullanmayan projeler (PostgreSQL, Caddy, Proxmox) sayımların dışında.

Büyük resmin çerçevesi şu: NVD, 2026’nın ilk on ayında 86.533 CVE kaydı yayımladı; 2025’in tamamı 48.151’di. Yalnızca bu yazının kapsadığı altı aylık pencereye kabaca 65.000 kayıt düşüyor. Aşağıdaki tablolar, o 65.000 kaydın sizin makinenize ulaşmayan kısmı.

Nisan–Ekim 2026 arası aylık CVE kayıt sayısı sütun grafiği: Nisan'da 5.885'ten Eylül'de 15.074'e yükseliş ve altı aylık pencereye düşen kabaca 65.000 kayıt

Kernel: 26 haftada 185 nokta sürümü

Dal 6 ayda yayınlanan nokta sürümü Mayıs’ta kurulan makine → bugün
5.10 (longterm) 19 5.10.271 → 5.10.274
5.15 (longterm) 20 5.15.222 → 5.15.225
6.1 (longterm) 21 6.1.174 → 6.1.191
6.6 (longterm) 24 6.6.141 → 6.6.161
6.12 (longterm) 30 6.12.91 → 6.12.115
6.18 (longterm) 34 —
7.x (current stable) 37 7.0.x → 7.3.1 (7.0 EOL oldu)

Haftada ortalama yedi yayın. Altı ayda 185 nokta sürümü demek, “güncel kurdum” dediğiniz makinenin bugün 20–37 sürüm geride olması demek. Bu sürümlerin önemli kısmı doğrudan güvenlik düzeltmesi ve bazı paketler tek başına ağır: 24 Temmuz 2026 haftasındaki yayında yalnızca tek bir release candidate içine 2.000’den fazla yama girdi. Debian’ın 3 Ağustos güncellemesi tek seferde 68 çekirdek CVE’sini kapattı; içlerinde Open vSwitch yolunda yerel root ayrıcalığına izin veren bir açık da vardı.

Kernel nokta sürüm çubuk grafiği: altı ayda dal başına 19'dan 37'ye kadar yayın; Mayıs'ta kurulan makine 20–37 sürüm geride kalıyor

Tabloyu asıl dramatik yapan üç ayrıntı var:

  • Tek hafta, 763 kernel CVE. Temmuz sonu bir hafta 763 kayıt yayınlandı; 4–10 Ekim haftası tek başına 220 kayıt, ikisi CRITICAL (CVSS 9.8).
  • Bazı delikler eski dallara hiç taşınmıyor. CVE-2026-98365 (software RDMA rxe, CRITICAL) için 5.10, 5.15 ve 6.1’de fix listelenmiyor. Eski dalda kalmak, bazı güvenlik düzeltmelerini hiç almamak anlamına geliyor.
  • Eski dal, daha az backport demek. 6.6’dan eski 140 hatanın 99’u 6.6’a, 120’si 6.12’ye backport edilmiş; 6.1’de 86, 5.15’te 67, 5.10’da 58. 5.10 ve 5.15 Aralık 2026’da EOL oluyor.

Popüler self-hosted uygulamalar: altı ayda kaç sürüm?

Proje 1 Mayıs öncesi (kurulduğu an) 6 ayda release Bugün
Home Assistant 2026.5.0b0 71 2026.11.0b2
n8n — 277 stable
Traefik v3.7.0-rc3 43 v3.8.0-rc1
Nextcloud Server v33.0.x 62 v35.0.2
Redis / Valkey — 42 / 22 8.12-rc1 / 9.1.3
Syncthing v2.1.0-rc1 25 v2.1.7
Immich v2.7.5 25 v3.4.0-rc1
paperless-ngx v2.20.15 21 v3.4.1
Portainer — 16 2.45.3
Jellyfin v10.11.8 15 v12.4
nginx 1.30.0 15 1.31.8
Uptime Kuma 2.2.1 14 2.5.9
Gitea v1.26.1 11 1.27.x → 28.2.0
Docker Compose — 9 v5.6.1
FreshRSS 1.28.1 7 1.30.4
Vaultwarden 1.35.8 6 1.37.4
Umami 3.1.0 5 3.4.1
Pi-hole v6.4.2 2 v6.5
MinIO Ekim 2025 0 hâlâ Ekim 2025’te

Listenin son satırı tek başına bir hikâye. MinIO’nun GitHub release listesi 379 gündür duruyor; altı ay önce kurulan bir MinIO, bugün artık yayınlanmayan bir çizgide bekliyor. En tehlikeli durum geride kalmak değil, geride kaldığınızı söyleyecek kimsenin kalmaması.

Altı ayda biriken açık duvarı

Sürümler bir yanda ilerledi; içlerinde birikenler öbür yanda. Aynı altı ayın güvenlik dökümü:

  • Nextcloud / Collabora: Kritik OS command injection (CVE-2026-110447). Sömürü Eylül 2026 ortasında başladı; advisory ve CVE Ekim’de yayımlandı, yani resmî uyarıdan yaklaşık bir ay önce sahadaydı. Censys 19.454 host saydı. Sonuç: PHP web shell ve backdoor. CISA due date 26 Ekim. Aynı yığının altında PHP tarafı da delikti: PHP2Shell kusurları web sunucusu kullanıcısıyla kod çalıştırmaya izin veriyor, sızan bellekte parola ve API anahtarı riski doğuruyordu. PHP düzeltmeleri 23 Ekim 2026’da çıktı.
  • Plex Media Server: Dört CVE’lik bir zincir (Plex2Shell). 27 Temmuz’da keşfedildi, 3 Ağustos’ta 1.43.3.10861 ile yamalandı, 20 Ekim’de CISA KEV kataloğuna girdi. Boşluk boyunca tarama botları port 32400’ü toplu süpürdü. Bir ev medya sunucusu, kitlesel istismarın ilk hedeflerinden biri.
  • Gitea: Repo write erişimiyle diffpatch üzerinden Git hook ekleyip shell çalıştırma (CVE-2026-60004). KEV’e 25 Ağustos’ta girdi, due date 28 Ağustos — üç gün. Temmuz’da ayrıca 6 reviewed advisory (3 High, 1 Critical).
  • Home Assistant: Onboarding penceresinde unauthenticated path traversal ile herhangi bir dizine dosya yazma (< 2026.6.0); mDNS SSRF (< 2026.2.3).
  • Jellyfin: Haziran ve Eylül 2026 advisory dalgası — bir Critical, SVG üzerinden memory exhaustion/SSRF, bozuk session remote-control erişim kontrolü.
  • Vaultwarden: Brute-force korumasının bayılması (CVE-2026-43914), IDOR ile başka kullanıcının cipher detayını okuma (CVE-2026-27898), 2FA bypass. Fixler 1.35.4 ve 1.36.0’da.
  • GitLab (self-managed): Max severity flaw; 2014’ten bu yana tüm sürümler etkileniyor.
  • GitHub Enterprise Server (self-managed): Tek bir git push ile uzaktan kod çalıştırma (CVE-2026-3854, Nisan 2026). Araştırmacılar internete açık kurulumların büyük çoğunluğunu etkili buldu.

Tek tek bakınca her madde “yapılır artık” denilecek türden. Yan yana konunca tablo çıkıyor: sizin kurduğunuz yığının her katmanında, son altı ayda en az bir kez “acil” kelimesi geçti.

Asıl mesele: yama var, uygulama yok

  • Verizon 2026 DBIR: KEV kayıtlarının %35’i 28. günde hâlâ açık (2022’de 31 milyon açık instance’tan bugün 184 milyona).
  • Edgescan ölçümü: kritik uygulama kusurlarında ortalama ~74 gün, kritik ağ/cihaz kusurlarında ~65 gün gerçek remediation. Oysa Cyber Essentials v3.3 (27 Nisan 2026’dan itibaren) 14 günü aşan kritik yamayı otomatik fail sayıyor; PCI DSS 30 gün.
  • Sömürünün takvimi bunun tam tersi. Mandiant’ın ölçümünde bir CVE’nin kamuya açılmasından ilk istismar girişimine kadar geçen medyan süre 5 günün altında. Sizde iki buçuk ay süren iş, karşı tarafta bir hafta sonunda bitiyor. Yaması hâlihazırda yayımlanmış açıklar sızıntıların yaklaşık %60’ında kullanılan yol; açıkların %32’si 180 günden uzun süre yamalı kalıyor.
  • OpenLogic 2026: patching, açık kaynakta hâlâ en zor konu. Organizasyonların %20’sinde CVE süreci yok; büyük şirketlerin %39’u kendi SLA’larını tutturamıyor; EOL yazılım sonrası çoğu kurum kendi yamasını yapacak kapasiteye sahip değil.
  • Sonatype 2026: açık kaynak CVE’lerin %65’i NVD’de skor almıyor; NVD medyan time-to-score 41 gün. PoC ve maintainer patch’i ise saatler içinde çıkıyor. Resmî uyarı gelmeden delik çoktan biliniyor ama kullanıcı, skor gelmediği için önceliklendiremiyor.
  • KEV 2026: katalog 1.665 kayıt, ilk 223 günde 181 ekleme (yıllık ~296 projeksiyon — backfill hariç rekor).
İlk istismar için 5 günlük medyan sürenin, Cyber Essentials'ın 14 günlük sınırının ve ölçülen 65–74 günlük yama gecikmesinin karşılaştırma grafiği

Ve güzel bir paradoks: self-hosting topluluğunun %100’ü pinned tag kullanıyor, %98,4’ü restart: unless-stopped. Güvenilirlik için iyi alışkanlıklar — ama aynı zamanda “kurulduğu gibi kalma”nın teknik tanımı. Pinned tag, dokunulmadığı sürece donmuş bir sistem demek. 315 rehberin 33’ünde /var/run/docker.sock mount’lu: root-equivalent erişim, güncellenmeyen bir host üstünde.

Bilgi eksikliği, güvenlik eksikliğine dönüşüyor

Altı ay önce kurulan makine sadece “37 sürüm geride” değil. Asıl fark şurada:

  • Kurulum bir eylem, işletme bir ilişki. Rehberi izleyen kişi hangi parçanın neden orada olduğunu bilmediği için güncellemeyi risk olarak görür; riskin boyutunu bilmediği için erteler. İlk temas arızada olur ve arıza gününde yama altı aylıktır.
  • Kaçırılan pencere, saldırganın çalışma alanıdır. CVE’nin yayıldığı an ile sizin bildiğiniz an arasındaki fark, pratikte sömürünün aktif olduğu süredir.
  • Ertelenen yama, yamayı projeye dönüştürür. Jellyfin 10.11 → 12.4, Nextcloud 33 → 35, paperless-ngx 2 → 3, Gitea 1.x → 28.x. Major geçiş; schema migration ve uygulama uyumluluğu demek. Bir haftada bitecek iş, altı ay sonunda bir projeye dönüşüyor. Dağınık filolarda güncelleme yolu planlamak başlı başına bir iş: bin cihazın güncelleme yolu nasıl alınır üzerine daha önce yazmıştım.
  • Kurup bırakılan yalnızca yazılım değil, kimlik bilgisi de olabilir. Internet Archive’ın 2025 ihlalinde 31 milyon kayıt, bir kod deposunda neredeyse iki yıl açık kalmış bir kimlik token’ıyla çalındı. Karmaşık bir saldırı yoktu; unutulmuş bir kredensiyel, hiç gözden geçirilmediği için hâlâ çalışıyordu.
  • Kernel tarafında bilgi kaybı daha da sessiz. uname -r “6.12.91” yazıyor; ama o rakamın hangi CVE’leri içermediği, hangi dalda olduğunuz ve o dalın ne zaman öleceği ekranda yazmıyor.

Agentic kurulumlar bu boşluğu kısmen kapatıyor: Home Assistant 2026.10 tek tıkla MCP bağlantısı getiriyor, Watchtower en hafif uygulamalar arasında (15 MB). Ama ajan, anlayamadığı bir sistemi yamarken bozabilir. Ajana “ne yapacağını” değil “ne olduğunu” anlatan bir envanter yoksa, otomasyon sadece hızla hata yapar. Bu dalganın ilk sonuçları ölçüldü bile: Mayıs 2026 taramasında erişilebilir Ollama çıkarım sunucularının %31’i kimliksiz isteklere cevap veriyordu; ayrı bir çalışmada internete açık bir milyondan fazla AI servisi sayıldı. Kurulum kolaylığı, bakım kültürü olmadan doğrudan saldırı yüzeyine dönüşüyor.

Aynı makinenin iki hâli

kernel       6.12.91     → bugün 6.12.115     (30 release, çoğu güvenlik)
jellyfin     10.11.8     → 12.4               (2 major, Haziran + Eylül advisory dalgası)
nextcloud    33.0.x      → 35.0.2             (+ Collabora RCE, sömürüldü)
gitea        1.26.1      → 28.2.0             (+ KEV listeli code injection)
vaultwarden  1.35.8      → 1.37.4             (+ brute-force oracle, IDOR)
plex         1.43.2      → 1.43.3.10861       (4 CVE, kitlesel tarama, KEV)
php          8.3.35      → 8.3.36             (PHP2Shell, bellekte parola riski)
minio        Ekim 2025   → Ekim 2025          (6 ayda 0 release)
bilgi        "çalışıyor" → hâlâ "çalışıyor"

Kurulduğu gibi kalan sistem nötr değildir. Her hafta bir şey değişiyor; sistem değişmiyorsa onun etrafındaki dünya değişiyor ve fark sistemin aleyhine birikiyor.

Bu akşam: 30 dakikalık durum tespiti

Rakamların kendi makineniz için de geçerli olup olmadığını öğrenmenin yolu yarım saatlik bir denetim:

  1. Envanter. docker ps çıktısını ya da NAS uygulama listenizi kalıcı bir yere yazın. Adını bilmediğiniz her kayıt listenin tepesine.
  2. Sürüm ve destek durumu. Her servis için çalışan sürüm ve upstream’in hâlâ destekleyip desteklemediği. EOL yazılım geride kalmaktan kötüdür: kurulacak yama hiç yoktur. Nextcloud Security Scan, erişilebilir bir kurulumu saniyeler içinde notlandırır.
  3. Dışa açıklık. Telefondan, mobil veriyle (ev Wi-Fi’ı değil) her servisinize ulaşmayı deneyin. Dönen her cevap bir bulgudur. Kamu IP’niz üzerinde basit bir port taraması aynı listeyi doğrular.
  4. Yama ve yedek. İşletim sistemi güvenlik güncellemeleri en son ne zaman uygulandı? Yedeğiniz en kötü senaryonuzdan yeni mi, geri yükleme hiç test edildi mi?
  5. Loglar. Son bir haftanın sistem hataları ve ters vekil erişim kayıtları. Tekrarlanan giriş denemeleri gürültüdür, normaldir. Log yazmayan bir servisin sessizliği normal değildir.

Sonucu çirkin de olsa yazın. “İnternete açık ve yamalı değil” sıralaması, bu ayki iş listenizdir.

Sonuç: sahip olmak, bakım yapmayı kabul etmektir

Self-hosting’i değerli kılan şey kontrol, gizlilik ve öngörülebilirlik. Ama bu üçü, bakımın adıyla anıldığı şeylerdir. Kontrol, yama uygulayabildiğiniz kadar sizin; gizlilik, anlayamadığınız bir sistemde değil, denetlenen ve güncellenen bir sistemde gerçek. Kurup bıraktığınız bir sunucu size ait değildir: zamanla onu tanımayan bir makineye dönüşür. Kullanıcı sistemin nasıl çalıştığını bilmiyorsa, o sistem artık çalışmıyor — sadece henüz bozulmamış.

Doğru soru “hangisi daha iyi?” değil, “ops takımı kim?” Cloud’da ops takımı sağlayıcıdır; bakım, görünmez kılınmış bir sözleşme karşılığıdır. Self-host’ta ops takımı sizsiniz; siz olmadığınızda sistem, sorumluluğu üstlenmemiş bir boşlukta çalışır.

  • Bakımını yapabileceğiniz yerde self-host.
  • Bakımını yapamayacağınız yerde kurumsal/managed çözüm. Bu geri çekilme değil, dürüst bir sınır tanımıdır. 14 günde yama uygulayamayacağınız bir sistemi internete açmak kontrol değil, kontrolsüzlüğü sahiplenmektir.
  • 2026’nın sağlıklı profili hibrittir: kritik olmayan yüklerde kendi donanımınız, dayanma gücünüzün bittiği yerde yönetilen hizmet. Önemli olan hangi katmanın size ait olduğunu bilmek.

Kendi makinenizin durum tespitini çıkarıp nereden başlayacağınızı konuşmak isterseniz, donanımı konuşalım.

İki bakım, ikisi de ihmal edilmemeli

Fiziksel: toz, hava akışı, fan, sıcaklık, UPS ve güç, disk sağlığı (SMART), yedek disk, kablo ve etiketleme. Yazılım tarafında altı ay sessiz kalan bir makinenin donanımı da sessizce yaşlanır.

Sistemsel: uname -r ve paket listesi, GHSA/KEV akışı, yama penceresi, migration notları, restore testi.

Sıklık İş
Haftalık Yama kontrolü, KEV/advisory alarmı, bir dakikalık göz atma
Aylık Fiziksel kontrol: toz, sıcaklık, fan, SMART, UPS. Bir yedek testi
Çeyreklik Major sürüm ve migration planı, restore tatbikatı, EOL dal kontrolü
Yıllık Donanım değerlendirmesi, yedek disk değişimi, “bu parça neden burada?” envanteri

En basit kural: bakımını yapamadığınız araç, araç değil, yükümlülüktür. Matkabı yılda bir kez temizler ve yağlarsınız; self-host’ı da aynı ciddiyetle kontrol ederseniz, altı ay sonra onu tanımayan bir makine olmaz.

Kurup bırakmayın. Baktığınız şeyi sahiplenin, sahiplendiğiniz şeyi bilin. Self-hosting’in güzelliği, sizin bilginizin hacmi kadardır — ve o bilgi, haftalık birkaç dakikadan doğar.

Sıkça Sorulan Sorular

Self-hosted sunucumu ne sıklıkla güncellemeliyim? İşletim sistemi güvenlik güncellemeleri haftalık, konteyner ve uygulamalar iki haftada bir ya da ayda bir, tam durum tespiti ayda bir. Kernel tek başına haftalık yayın yapıyor ve biriken paketler büyük olabiliyor; aylıktan seyrek her ritim ölçülebilir bir boşluk bırakır.

Self-hosting buluttan daha mı güvenli? Otomatik olarak değil. Verinizin nerede yaşadığı konusunda kontrolü kazanırsınız; yama yönetimi, yedekleme ve dışa açıklık takibini ise devralırsınız. Bakım tarafını üstlenmediğiniz bir self-hosting kurulumu, yerini aldığı buluttan daha riskli hâle gelebilir.

Sunucumu internete açmak zorunda mıyım? Çoğu zaman hayır. WireGuard veya Tailscale üzerinden VPN-first erişim, servislerinizi internete kapalı tutarken telefondan ulaşmanızı sağlar. Genel alan adlarını gerçekten ihtiyaç duyan servislerle sınırlayın; onları da HTTPS’li bir ters vekilin arkasına koyun.

Sunucumu bir yapay zekâ asistanıyla kurdum. Bu bir sorun mu? Değil — ama konfigürasyon, belgeleyene kadar sahipsizdir. Her servisin ne yaptığını ve her portun neden açık olduğunu yazın. Compose dosyanızdaki bir satırı açıklayamıyorsanız ya öğrenin ya kaldırın.

Sunucumun ele geçirilip geçirilmediğini nasıl anlarım? Yukarıdaki denetimle başlayın; sonra şu işaretlere bakın: tanımadığınız süreçler veya konteynerler, açıklanamayan CPU yükü (kripto madenciliği), beklenmedik yeni yönetici hesapları, olağandışı dışa trafik ve değiştirilmiş başlangıç dosyaları. Çalıştırdığınız bir servis bilinen bir açıklığa sahipse ve sürümü eskiyse, ele geçirmeyi olası kabul edip yamaladıktan sonra temiz bir yedekten dönün.

Kaynaklar