Çerçeve Güncelleştirmeleri

Tamamlandı

Birçok geliştirici, yazılımlarını oluşturmak için kullandıkları çerçeveleri ve kitaplıkları öncelikle özelliklere veya kişisel tercihlere göre karar vermek üzere değerlendirir. Ancak, seçtiğiniz çerçeve, yalnızca tasarım ve işlevsellik açısından değil, aynı zamanda güvenlik açısından da önemli bir karardır. Modern güvenlik özelliklerine sahip bir çerçeve seçmek ve güncel tutmak, uygulamalarınızın güvenli olmasını sağlamanın en iyi yöntemlerinden biridir.

Çerçevenizi dikkatlice seçin

Çerçeve seçimi sırasında dikkat edilmesi gereken en önemli güvenlik etmeni, çerçeve için sunulan destektir. En iyi çerçeveler açık güvenlik düzenlemelerine sahiptir ve çerçeveyi geliştirip test eden geniş kullanıcı toplulukları tarafından desteklenir. %100 hatasız veya tamamen güvenli bir yazılım yoktur ancak bir güvenlik açığı tespit edildiğinde kısa sürede kapatılacağından veya geçici çözüm sağlanacağından emin olmak isteriz.

"İyi desteklenen" ile "modern" genellikle eşanlamlı olarak kullanılır. Popülerliğini kaybeden eski çerçevelerin yenileriyle değiştirilmesi gerekir. Eski çerçevede deneyim sahibi olsanız (veya o çerçeveyle yazılmış olan birçok uygulama mevcut olsa) da ihtiyacınız özelliklere sahip olan modern bir kitaplığı seçmeniz sizin açınızdan daha iyi olacaktır. Modern çerçeveler, önceki yinelemeler tarafından öğrenilen derslerin üzerine kurulur ve bu da bunları yeni uygulamalar için seçmeyi bir tehdit yüzeyi azaltma biçimi haline getirir. Eski uygulamalarınızın yazıldığı eski çerçevede bir güvenlik açığı bulunarak bulunmadığı konusunda endişelenmeniz gereken bir uygulamanız daha olacaktır.

Güvenli tasarım ve tehdit yüzeyini azaltma hakkında daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve - Güvenlik.

Çerçevenizi güncel tutun

Yazılım geliştirme çerçeveleri (Java Spring ve .NET Core gibi) güncelleştirmeleri ve yeni sürümleri düzenli olarak yayınlar. Bu güncelleştirmelerle yeni özellikler eklenir, eski özellikler kaldırılır ve genellikle güvenlik düzeltmeleri veya geliştirmeleri uygulanır. Çerçevelerimizin güncel olmasına izin vermemiz "teknik borç" oluşturur. Ne kadar eski olursa kodumuzu en son sürüme getirmek o kadar zor ve riskli olur. Ayrıca ilk çerçeve seçiminde olduğu gibi çerçevenin eski sürümlerinde kalmanız, çerçevenin yeni sürümlerinde düzeltilmiş olan güvenlik tehditleriyle karşı karşıya kalmanıza neden olur.

Örneğin, 2016-2017 arası apache Struts çerçevesinde 30'dan fazla güvenlik açığı bulundu. Geliştirme ekibi bu güvenlik açıklarını hızla gidermiştir, ancak bazı şirketler düzeltme eklerini uygulamamış ve bunun bedelini veri ihlali şeklinde ödemiştir. Çerçevelerinizin ve kitaplıklarınızın güncel olduğundan emin olun.

Çerçevemi nasıl güncelleştirebilirim?

Java veya .NET gibi bazı çerçeveler için yükleme yapılması gerekir ve güncelleştirmeler genellikle belirli aralıklarla yayımlanır. Yeni sürümleri takip etmek ve yayımlandığında kodunuzun bir dalını oluşturmayı planlamak iyi bir fikirdir. Örneğin. .NET Core, kullanılabilir en son sürümleri bulmak için denetleyebileceğiniz bir sürüm notları sayfası tutar.

JavaScript çerçeveleri veya .NET bileşenleri gibi daha özel kitaplıkları bir paket yöneticisi aracılığıyla güncelleştirebilirsiniz. NPM ve Webpack, web projeleri açısından popüler seçeneklerdir ve çoğu IDE veya derleme aracı tarafından desteklenir. .NET ile bileşen bağımlılıklarını kullanmak için NuGet kullanıyoruz. Çekirdek çerçeveyi güncelleştirmeye, kodunuzu dallanmaya, bileşenleri güncelleştirmeye ve test etmeye çok benzer bir yöntem, bağımlılığın yeni sürümünü doğrulamak için iyi bir tekniktir.

Dekont

Komut satırı aracının dotnet NuGet paketlerini ekleme veya kaldırma seçeneği vardır add packageremove package , ancak buna karşılık gelen update package bir komutu yoktur. Ancak projenizde dotnet add package <package-name> çalıştırarak paketi en son sürüme otomatik olarak yükseltebilirsiniz. Bu işlem, IDE açmadan bağımlılıkları güncelleştirme yolu sunar.

Yerleşik güvenlik özelliklerinden faydalanma

Çerçevelerinizin sunduğu güvenlik özelliklerini her zaman kontrol edin. Standart bir teknik veya yerleşik bir özellik varsa asla kendi güvenlik özelliklerinizi kullanmayın. Ayrıca çok sayıda uzman tarafından ayrıntılı bir şekilde incelendiğinden, eleştirildiğinden ve güçlendirildiğinden hem güvenli hem de güvenilir olduğu kanıtlanmış algoritmalara ve iş akışlarına güvenin.

.NET Core çerçevesi sayısız güvenlik özelliğine sahiptir. Belgelerde birkaç temel başlangıç noktası aşağıdadır:

Bu özelliklerin her biri kendi alanlarında uzmanlar tarafından yazıldı, daha sonra amaçlandığı gibi ve yalnızca amaçlandığı gibi çalıştığından emin olmak için testlerle dövüldü. Diğer çerçeveler benzer özellikler sunar; her kategoride neleri olduğunu öğrenmek için çerçeveyi sağlayan satıcıya başvurun.

Uyarı

Çerçeveniz tarafından sağlananları kullanmak yerine kendi güvenlik denetimlerinizi yazmak yalnızca zaman kaybı değil, aynı zamanda daha az güvenlidir.

Microsoft Defender for Cloud

Web uygulamalarınızı barındırmak için Azure kullanırken, Bulut için Defender öneriler sekmesinin bir parçası olarak çerçeveleriniz güncel değilse sizi uyarır. Uygulamalarınızla ilgili herhangi bir uyarı olup olmadığını görmek için zaman zaman oraya bakmayı unutmayın.

Screenshot of Microsoft Defender for Cloud recommending a framework upgrade.

Özet

Mümkün olduğunda uygulamalarınızı derlemek için modern bir çerçeve seçin, her zaman yerleşik güvenlik özelliklerini kullanın ve güncelleştirmeyi unutmayın. Bu basit kurallar uygulamanızın sağlam bir temel üzerine kurulu olduğundan emin olmanızı sağlar.