SERİ · Kurumsal yazılımın temelleri
Yazılım bileşenlerinin destek süresi ve uygulamanın ömrü
Bir uygulama, üzerine kurulduğu çalışma ortamı ve kütüphaneler desteklendiği sürece güvenle işletilebilir. Node.js takvimi örneğinde destek süresi kavramı ve kurumun sözleşmede istemesi gerekenler.
- Node.js
- Güvenlik
- Bakım
KISACA
- 01Destek süresi dolan bir bileşen güvenlik güncellemesi almaz ve o bileşene dayanan uygulama, yeni açıklanan zafiyetlere karşı korumasız kalır.
- 02Node.js projesine göre üretim ortamında yalnızca uzun süreli destek (LTS) evresindeki sürümler kullanılmalıdır; Node.js 20'nin desteği 30 Nisan 2026'da sona ermiştir.
- 03Kurum, şartnamede ve bakım sözleşmesinde desteklenen sürümde çalışmayı, güncelleme takvimini, bağımlılık taramasını ve yazılım malzeme listesini (SBOM) açıkça istemelidir.
Kurumsal bir uygulama, kendi kodundan çok daha fazlasına dayanır. Çalışma ortamı, uygulama çatısı ve çok sayıda açık kaynaklı kütüphane uygulamanın parçasıdır. Bu bileşenlerin her birinin bir destek süresi vardır ve uygulamanın güvenle işletilebileceği süre, bu sürelerin en kısasıyla sınırlıdır.
Bu yazı, sunucu tarafında kullanılan Node.js çalışma ortamının sürüm takvimini örnek alarak destek süresi kavramını açıklamakta ve kurumların ihale şartnamesinde ve bakım sözleşmesinde bu konuda neleri güvence altına alması gerektiğini ele almaktadır.
Uzun süreli destek ve kullanım sonu kavramları
Açık kaynaklı yazılım projelerinin çoğu, sürümlerinin ne kadar süre bakım göreceğini önceden ilan eder. Uzun süreli destek (Long Term Support, LTS), bir sürümde kritik hataların ve güvenlik açıklarının belirli bir süre boyunca düzeltileceği anlamına gelir. Kullanım sonu (End-of-Life, EOL) ise bu sürenin bittiği andır.
Node.js projesi kullanım sonunu şöyle tanımlar: bir sürüm kullanım sonuna ulaştığında güvenlik yamaları dahil hiçbir güncelleme almaz ve bu sürümle çalışan uygulamalar asla düzeltilmeyecek güvenlik sorunlarına ve hatalara açık kalır. Proje ayrıca, daha yeni sürümlerde düzeltilen bir açık eski sürümleri de etkiliyorsa, eski sürümler için yeni yayım yapılmayacağını ve bu sürümleri kullananların açıklanan zafiyetleri istismar eden saldırılara hemen açık hale geleceğini vurgular. Aynı açıklamada pek çok sektör denetiminin bakımı yapılmayan çalışma ortamlarını kabul etmediği de belirtilir.
“Bir uygulamanın güvenle işletilebileceği süre, üzerine kurulduğu bileşenlerin en kısa destek süresiyle sınırlıdır.”
Node.js sürüm takvimi
Node.js'te her ana sürüm altı ay boyunca güncel (Current) evrede kalır. Node.js 26'ya kadar olan dönemde tek numaralı sürümler bu altı ayın sonunda destek dışına çıkar, çift numaralı sürümler ise LTS evresine geçer. Proje, LTS evresinin kritik hataların genellikle toplam 30 ay boyunca düzeltilmesini güvence altına aldığını ve üretim ortamındaki uygulamaların yalnızca etkin LTS ya da bakım LTS evresindeki sürümleri kullanması gerektiğini belirtir.
Node.js sürüm deposundaki takvime göre 23 Ekim 2026 itibarıyla durum şöyledir:
- Node.js 20 (Iron): desteği 30 Nisan 2026'da sona ermiştir.
- Node.js 22 (Jod): bakım evresindedir, desteği 30 Nisan 2027'de sona erecektir.
- Node.js 24 (Krypton): bakım evresinin başlangıcı 20 Ekim 2026 olarak planlanmıştır, desteği 30 Nisan 2028'de sona erecektir.
- Node.js 26: güncel evrededir, 28 Ekim 2026'da LTS evresine geçmesi ve 30 Nisan 2029'a kadar desteklenmesi planlanmaktadır.
Proje, Node.js 27 ile birlikte takvimi değiştirmektedir. Yeni düzende her yıl bir ana sürüm çıkacak, her ana sürüm LTS evresine geçecek ve bir sürümün güncel evreye girişinden kullanım sonuna kadar 36 ay geçecektir. Takvimdeki tarihlerin değişebileceği de proje tarafından not edilmektedir. Kurumlar için önemli olan, kullandıkları sürümün hangi tarihte destek dışına çıkacağını bilmeleri ve yükseltmeyi bu tarihten önce planlamalarıdır.
Güncel olmayan bileşenler neden bir güvenlik riskidir
Web uygulaması güvenlik risklerini sıralayan OWASP Top 10 listesinin güncel sürümü 2025 yılında yayımlanmıştır. Bu sürümde üçüncü sırada yer alan A03:2025 Yazılım Tedarik Zinciri Hataları (Software Supply Chain Failures) kategorisi, ilk kez 2013 listesinde bilinen zafiyet içeren bileşenlerin kullanılması olarak yer alan riskin kapsamının tüm tedarik zinciri hatalarını içerecek şekilde genişlediğini belirtir. Kategori, savunmasız, desteklenmeyen ya da güncel olmayan yazılımları bu riskin parçası olarak sayar ve yama işlemlerinin yavaş bir takvime bağlanmasının kurumları günlerce, hatta aylarca gereksiz yere açıkta bırakabileceğini vurgular.
OWASP'ın önleme önerileri arasında yazılımın tamamı için yazılım malzeme listesinin (Software Bill of Materials, SBOM) merkezi olarak üretilip yönetilmesi, istemci ve sunucu tarafındaki bileşen sürümlerinin sürekli envanterinin tutulması, kullanılmayan bağımlılıkların kaldırılması, CVE gibi kaynakların sürekli izlenmesi ve bir yama yönetimi süreci bulunması yer alır. ABD Siber Güvenlik ve Altyapı Güvenliği Ajansı (CISA), SBOM'u yazılım bileşenlerini oluşturan parçaların iç içe geçmiş bir envanteri olarak tanımlar.
Önceliklendirme için kullanılabilecek bir başka kaynak, CISA'nın Bilinen İstismar Edilmiş Zafiyetler (Known Exploited Vulnerabilities, KEV) kataloğudur. Katalog, gerçek saldırılarda istismar edildiği bilinen zafiyetleri listeler ve CISA, kuruluşların bu kataloğu zafiyet yönetimi önceliklendirmesinde bir girdi olarak kullanmasını önerir. Kullanılan bir bileşende bu katalogda yer alan bir zafiyet bulunması, güncellemenin bekletilmemesi gerektiğine işaret eder.
Türkiye'de kamu kurumları için çerçeve
2019/12 sayılı Bilgi ve İletişim Güvenliği Tedbirleri konulu Cumhurbaşkanlığı Genelgesi doğrultusunda hazırlanan Bilgi ve İletişim Güvenliği Rehberi, bu konuda kamu kurumlarına doğrudan tedbirler öngörür. Rehberin Siber Güvenlik Başkanlığı tarafından yayımlanan Mart 2026 tarihli 1.1 sürümünde ilgili başlıca tedbirler şunlardır:
YÖNTEM NOTU
- 3.1.2.2
- Yazılım envanterinde yazılımların adı, sürümü, yayımcısı, destek alınan tedarikçinin sözleşme bilgileri (bakım süresi, kapsamı vb.) ve lisans bilgileri kayıt altına alınmalı ve izlenebilir olmalıdır.
- 3.1.2.3
- Kurumun onaylı yazılım envanterine yalnızca üreticisi tarafından desteklenen yazılımlar dahil edilmeli; desteği sona erdiği halde kullanılmak zorunda olunan yazılımlar envanterde ayrıca etiketlenmelidir.
- 3.2.5.1
- Uygulama, güvenlik güncellemeleri ve yamaları yapılmış bileşenlerden oluşmalıdır.
- 3.2.6.5
- Üretici tarafından sunulan teknik desteği sona ermiş, güvenlik açığı barındıran veya teknolojisi zaman aşımına uğramış sunucu veya istemci teknolojileri kullanılmamalıdır.
Bu tedbirler, destek süresinin teknik ekibin yanı sıra kurum yönetiminin de takip etmesi gereken bir uyum konusu olduğunu gösterir. Rehberin denetim soruları arasında uygulama bileşenlerinin güncelliğinin belirli aralıklarla kontrol edilip edilmediği ve eski sürüm tespit edildiğinde hangi faaliyetlerin yürütüldüğü de yer almaktadır.
Şartnamede ve bakım sözleşmesinde istenmesi gerekenler
Destek süresi riski, büyük ölçüde sözleşme aşamasında yönetilebilir. Kurumun ihale şartnamesinde ve bakım sözleşmesinde aşağıdaki hususları açıkça düzenlemesi önerilir:
- Uygulamanın teslim anında ve sözleşme süresi boyunca, üreticisi tarafından desteklenen sürümlerdeki çalışma ortamı, çatı ve kütüphanelerle çalışması.
- Kullanılan ana bileşenlerin sürümleri ile destek bitiş tarihlerinin teslim belgelerinde listelenmesi ve bu listenin güncel tutulması.
- Güvenlik güncellemelerinin hangi süre içinde uygulanacağını ve ana sürüm geçişlerinin hangi takvimle yapılacağını gösteren bir güncelleme planı.
- Bağımlılıkların bilinen zafiyetlere karşı düzenli olarak taranması ve bulguların kuruma raporlanması; KEV kataloğunda yer alan zafiyetlere öncelik verilmesi.
- Her teslimle birlikte makine tarafından okunabilir bir yazılım malzeme listesinin (SBOM) kuruma verilmesi.
- Bir bileşenin destek bitiş tarihi yaklaştığında yüklenicinin kurumu önceden bilgilendirmesi ve geçiş çalışmasını sözleşme kapsamında yürütmesi.
Node.js projesi, kullanım sonuna ulaşmış sürümler için ticari destek hizmetleri bulunduğunu belirtmekle birlikte bu yolun geçici bir çözüm olarak görülmesi ve hedefin her zaman desteklenen sürümlere yükseltmek olması gerektiğini vurgular. Kurumlar için de en düşük maliyetli yol, yükseltmeyi destek süresi bitmeden düzenli bakımın bir parçası haline getirmektir.
Kaynaklar
- Node.js Releases (OpenJS Foundation)
- End-Of-Life (EOL) Node.js Releases (OpenJS Foundation)
- Node.js Release Working Group: Release Schedule
- A03:2025 Software Supply Chain Failures (OWASP Top 10:2025)
- Known Exploited Vulnerabilities Catalog (CISA)
- Software Bill of Materials (SBOM) (CISA)
- Bilgi ve İletişim Güvenliği Rehberi, Sürüm 1.1 (Siber Güvenlik Başkanlığı, Mart 2026)
Kurumsal yazılımın temelleri
2 / 3
- 1Kurum verisinde PostgreSQL ve PostGIS: lisans, destek süresi ve sorumluluk6 Ekim 2026
- 2Yazılım bileşenlerinin destek süresi ve uygulamanın ömrüOKUYORSUNUZ
- 3Kamuda veri analizinde Python: tekrarlanabilirlik, denetim ve kişisel veri13 Ekim 2026
Bu yazı genel bilgilendirme amacıyla hazırlanmıştır; hukuki, mali, teknik veya mesleki danışmanlık niteliği taşımaz. Mevzuat ve teknik bilgiler yayın tarihindeki duruma göredir. Yazıdan kaynak gösterilerek ve bağlantı verilerek kısa alıntı yapılabilir; tamamının veya önemli bir bölümünün yayımlanması yazılı izne tabidir. Kullanım koşulları
