Keretrendszer-frissítések

Befejeződött

Sok fejlesztő úgy véli, hogy a szoftverfejlesztéshez használt keretrendszereket és kódtárakat elsősorban a funkciók vagy a személyes beállítások határozzák meg. A választott keretrendszer azonban fontos döntés, nemcsak a tervezés és a funkcionalitás szempontjából, hanem biztonsági szempontból is. Alkalmazásai védelmére egy modern biztonsági funkciókkal rendelkező keretrendszer választása és folyamatos frissítése a legjobb módszer.

A keretrendszert körültekintően válassza meg

Egy keretrendszer kiválasztásakor a leglényegesebb biztonsági tényező a támogatottság. A legjobb keretrendszerek bevált biztonsági elemekkel rendelkeznek, és a keretrendszer fejlesztését és tesztelését végző, nagy közösségek támogatják őket. Nincs 100%-osan hibamentes szoftver, de jó, ha egy biztonsági rés felfedezése után számíthat rá, hogy gyorsan bezárják vagy áthidaló megoldást találnak rá.

A „jól támogatott” gyakran ugyanazt jelenti, mint a „modern”. A régebbi keretrendszereket általában leváltják, vagy végül csökken a népszerűségük. Még akkor is érdemes az Ön által igényelt funkciókkal rendelkező, modern kódtárat választani, ha nagy tapasztalattal bír, vagy sok alkalmazást írt már egy régebbi keretrendszerrel. A modern keretrendszerek általában a korábbi iterációk tanulságaira építenek, így az új alkalmazásokhoz való kiválasztása a veszélyforrások felületének csökkentésének egyik formája. Még egy alkalmazással kell foglalkoznia, hogy felfedez-e biztonsági rést a régebbi keretrendszerben, amelyben az örökölt alkalmazások meg vannak írva.

A biztonságos tervezésről és a veszélyforrások csökkentéséről további információt a Microsoft Azure Well-Architected Framework – Security című témakörben talál.

Frissítse folyamatosan keretrendszerét

A szoftverfejlesztési keretrendszerek (például a Java Spring és a .NET Core) rendszeresen bocsátanak ki frissítéseket és új verziókat. Ezek a frissítések új funkciókat, régi funkciók eltávolítását, és gyakran biztonsági hibajavításokat és fejlesztéseket is tartalmaznak. Amikor lehetővé tesszük, hogy a keretrendszerek elavulttá váljanak, az "technikai adósságot" okoz. Minél újabb elavultak vagyunk, annál nehezebb és kockázatosabb lesz, ha a kódot a legújabb verzióra tesszük fel. A régi verzióknál maradva ezen felül az eredeti keretrendszer-választáshoz hasonlóan, több olyan biztonsági kockázatnak teszi ki magát, amelyek az újabb keretrendszerekben már javítva lettek.

2016 és 2017 között például több mint 30 biztonsági rést találtak az Apache Struts-keretrendszerben. A fejlesztői csapat gyorsan megoldotta ezeket a biztonsági réseket, de egyes vállalatok nem alkalmazták a javításokat, és adatsértés formájában fizették ki az árat. Gondoskodjon keretrendszerei és kódtárai naprakészségéről.

Hogyan frissíthetem a keretrendszeremet?

Bizonyos keretrendszerek, amilyen a Java vagy a .NET, telepítést igényelnek, és általában ismert ütemben vannak kibocsátva. Érdemes figyelni az új kiadásokat, és a kód egy részét tervezetten az új kiadások kipróbálására felhasználni. A .NET Core például egy kiadási jegyzetoldalt tart fenn, amelyet ellenőrizheti, hogy megtalálja-e a legújabb elérhető verziókat.

A csomagkezelőn keresztül speciálisabb kódtárakat, például JavaScript-keretrendszereket vagy .NET-összetevőket is frissíthet. Az NPM és a Webpack népszerű, a legtöbb IDE és fordítóeszköz által is támogatott választás webes projektekhez. A .NET-ben a NuGet használatával kezelhetők az összetevők függőségei. Az alapvető keretrendszer frissítéséhez, a kód elágaztatásához, az összetevők frissítéséhez és a teszteléshez hasonlóan jó módszer a függőségek új verziójának ellenőrzésére.

Megjegyzés:

A dotnet parancssori eszköz rendelkezik nuGet-csomagok add package hozzáadására vagy remove package eltávolítására szolgáló lehetőséggel, de nem rendelkezik megfelelő update package paranccsal. Projektjében mégis futtathatja a dotnet add package <package-name> parancsot, és az automatikusan a legújabb verzióra frissíti a csomagot. A függőségek így egyszerűen, az IDE megnyitása nélkül frissíthetők.

Használja ki a beépített védelmet

Mindig tekintse át a keretrendszerei által nyújtott biztonsági funkciókat. Soha ne alkalmazzon saját biztonsági eszközt, ha rendelkezésre áll szabványos technika vagy képesség. Ezen kívül szorítkozzon a bevált algoritmusokra és munkafolyamatokra, ezeket ugyanis többnyire számos szakértő vizsgálta meg tüzetesen, bírálták és megerősítették őket, így számíthat rá, hogy megbízhatók és biztonságosak.

A .NET Core-keretrendszer számtalan biztonsági funkcióval rendelkezik. Íme néhány alapvető kiindulási hely a dokumentációban:

Ezeket a funkciókat a szakterületük szakértői írták, majd tesztekkel próbálták biztosítani, hogy a kívánt módon és csak a kívánt módon működjenek. Más keretrendszerek hasonló funkciókat kínálnak; kérdezze meg a gyártót, amely biztosítja a keretrendszert, hogy megtudja, mi van az egyes kategóriákban.

Figyelmeztetés

A saját biztonsági vezérlők írása a keretrendszer által biztosítottak helyett nem csak időpazarlás, hanem kevésbé biztonságos is.

Microsoft Defender for Cloud

Amikor az Azure-t használja a webalkalmazások üzemeltetésére, Felhőhöz készült Defender figyelmezteti, ha a keretrendszerek elavultak a javaslatok lap részeként. Ne felejtsen el időről időre megnézni, hogy vannak-e az alkalmazásokkal kapcsolatos figyelmeztetések.

Screenshot of Microsoft Defender for Cloud recommending a framework upgrade.

Összesítés

Ha csak mód van rá, válasszon modern keretrendszert alkalmazásai elkészítéséhez, mindig használja a beépített biztonsági funkciókat, és gondoskodjon a frissítésekről. Ezek az egyszerű szabályok segítenek biztosítani, hogy alkalmazása szilárd alapokról induljon.