Code-implementaties
De geautomatiseerde build- en release-pijplijnen moeten een workload naadloos bijwerken naar een nieuwe versie zonder afhankelijkheden te verbreken. Breid de automatisering uit met processen waarmee oplossingen met hoge prioriteit snel kunnen worden geïmplementeerd.
Organisaties moeten gebruikmaken van bestaande richtlijnen en automatisering bij het beveiligen van toepassingen in de cloud, in plaats van vanaf nul te beginnen. Het gebruik van resources en lessen die zijn geleerd door externe organisaties die vroege gebruikers van deze modellen zijn, kunnen de verbetering van de beveiligingsstatus van organisaties versnellen met minder inspanning en resources.
Belangrijkste punten
- Betrek het beveiligingsteam bij de planning en het ontwerp van het DevOps-proces om preventieve en detectiecontroles voor beveiligingsrisico's te integreren.
- Ontwerp geautomatiseerde implementatiepijplijnen waarmee implementaties snel kunnen worden doorgestuurd en terugdraaien om kritieke fouten en code-updates buiten de normale implementatielevenscyclus op te lossen.
- Hulpprogramma's voor het scannen van code integreren in CI/CD-pijplijn.
Terugdraaien en doorsturen
Als er iets misgaat, moet de pijplijn terugdraaien naar een eerdere werkende versie. N-1 en N+1 verwijzen naar terugdraaien en doordraaien. Met geautomatiseerde implementatiepijplijnen kunnen implementaties snel worden doorgestuurd en terugdraaien om kritieke fouten en code-updates buiten de normale implementatielevenscyclus op te lossen.
Kunnen N-1- of N+1-versies worden geïmplementeerd via geautomatiseerde pijplijnen waarbij N de huidige implementatieversie in productie is?
Omdat beveiligingsupdates een hoge prioriteit hebben, ontwerpt u een pijplijn die ondersteuning biedt voor regelmatige updates en essentiële beveiligingsfixes.
Een release is doorgaans gekoppeld aan goedkeuringsprocessen met meerdere aanmeldingen, kwaliteitspoorten, en meer. Als de workloadimplementatie klein is met minimale goedkeuringen, kunt u meestal hetzelfde proces en dezelfde pijplijn gebruiken om een beveiligingsfix uit te brengen.
Een goedkeuringsproces dat complex is en veel tijd in neemt, kan een oplossing vertragen. Overweeg het bouwen van een noodproces om oplossingen met hoge prioriteit te versnellen. Het proces kan bedrijfs- en communicatieproces tussen teams zijn. Een andere manier is om een pijplijn te bouwen die mogelijk niet alle gated goedkeuringen bevat, maar de oplossing snel moet kunnen pushen. De pijplijn moet het mogelijk maken om implementaties snel door te sturen en terug te draaien die zich buiten de normale implementatiecyclus richten op beveiligingsfixes, kritieke fouten en code-updates.
Belangrijk
Het implementeren van een beveiligingsfix is een prioriteit, maar dit mag niet ten koste gaan van de introductie van een regressie of bug. Bij het ontwerpen van een noodpijplijn moet u zorgvuldig overwegen welke geautomatiseerde tests kunnen worden overgeslagen. Evalueer de waarde van elke test op de uitvoeringstijd. Eenheidstests worden bijvoorbeeld meestal snel uitgevoerd. Integratie- of end-to-endtests kunnen lange tijd worden uitgevoerd.
Betrek het beveiligingsteam bij de planning en het ontwerp van het DevOps-proces. Uw geautomatiseerde pijplijnontwerp moet de flexibiliteit hebben om zowel reguliere implementaties als noodimplementaties te ondersteunen. Dit is belangrijk ter ondersteuning van de snelle en verantwoorde toepassing van zowel beveiligingsfixes als andere urgente, belangrijke oplossingen.
Voorgestelde actie
Implementeert een geautomatiseerd implementatieproces met ondersteuning voor terugdraaiende scenario's via Azure-app Services-implementatiesleuven.
Meer informatie
Faseringsomgevingen in Azure App Service instellen
Scannen van referenties
Referenties, sleutels en certificaten verlenen toegang tot de gegevens of service die door de workload worden gebruikt. Het opslaan van referenties in code vormt een aanzienlijk beveiligingsrisico. Zorg ervoor dat de hulpprogramma's voor het scannen van statische code een geïntegreerd onderdeel zijn van het CI-proces (Continue integratie).
Zijn hulpprogramma's voor het scannen van code een geïntegreerd onderdeel van het CI-proces (continue integratie) voor deze workload?
Als u wilt voorkomen dat referenties worden opgeslagen in de broncode of configuratiebestanden, integreert u hulpprogramma's voor het scannen van code in de CI/CD-pijplijn:
- Gebruik tijdens de ontwerptijd codeanalyse om te voorkomen dat referenties naar de opslagplaats voor de broncode worden pushen. Analyse van .NET Compiler Platform (Roslyn) inspecteert bijvoorbeeld uw C# of Visual Basic code.
- Gebruik pijplijn-invoegtoepassingen tijdens het bouwproces om referenties in de broncode te ondervangen. Enkele opties zijn GitHub advanced security en hulpprogramma's voor het analyseren van OWASP-broncode.
- Scan alle afhankelijkheden, zoals bibliotheken van derden en frameworkonderdelen, als onderdeel van het CI-proces. Onderzoek kwetsbare onderdelen die door het hulpprogramma worden gemarkeerd. Combineer deze taak met andere codescantaken die codeverloop, testresultaten en dekking inspecteren.
- Gebruik een combinatie van DAST (Dynamic Application Security Testing) en Static Application Security Testing (SAST). DAST test de toepassing terwijl deze wordt gebruikt. SAST scant de broncode en detecteert beveiligingsproblemen op basis van het ontwerp of de implementatie. Sommige technologieopties worden geleverd door OWASP. Zie SAST Tools and Vulnerability Scanning Tools voor meer informatie.
- Gebruik scanhulpprogramma's die zijn gespecialiseerd in technologieën die worden gebruikt door de workload. Als de workload bijvoorbeeld in een container is geplaatst, kunt u containerbewuste scanprogramma's uitvoeren om risico's in het containerregister, vóór gebruik en tijdens gebruik te detecteren.
Voorgestelde acties
Neem Secure DevOps op Azure Toolkit op en de richtlijnen die zijn gepubliceerd door de Organisatie voor Web App Security Project (OWASP) of een gelijkwaardige leidende organisatie.
Lees meer
Communitykoppelingen
- Hulpprogramma's voor OWASP-broncodeanalyse
- GitHub Geavanceerde beveiliging
- Hulpprogramma's voor het scannen op beveiligingsleed
Terug het hoofdartikel: Veilige implementatie en testen in Azure