Perché ospitare le librerie di terze parti invece di affidarsi a CDN, Nuget, GitHub?

2

Sono alle prese con alcune linee guida per la sicurezza aziendale che richiedono che le librerie di terze parti siano ospitate internamente. La preoccupazione immediata è che il nostro server di build si connetta a GitHub per la risoluzione del pacchetto, ma stiamo colpendo NuGet da anni e stiamo inseguendo beati gli host CDN per le nostre app di produzione in-flight.

Quale sicurezza fornisce il self-hosting se già mi fido dell'autore e dell'ampli del pacchetto? contenuto?

    
posta ajamrozek 21.12.2017 - 06:22
fonte

2 risposte

3

What security does self-hosting provide if I already trust the package author & contents?

Includere il contenuto di un sistema di terze parti al di fuori del tuo controllo non significa solo che devi aver fiducia negli autori del contenuto per non volere aggiungere contenuti malevoli ma devi anche aver fiducia in loro per mantenere i loro sistemi disponibili e sicuri. In altre parole: il contenuto di un host di terze parti rende vulnerabili gli attacchi DOS a questi host (ad esempio la disponibilità di danni) e anche il compromesso del sistema di terze parti che può influire sulla tua sicurezza.

    
risposta data 21.12.2017 - 06:51
fonte
1

I pacchetti self-hosting invece di sfruttare NuGet o un CDN (per esempio, per le librerie js) in teoria fornirebbero alcuni vantaggi:

  • Idealmente, hai il pieno controllo del repository in modo tale che tu sappia esattamente la fonte dei file, la posizione di sicurezza del repository e possa garantire che i pacchetti non siano stati modificati illecitamente tramite compromissione di tale terza parte - mentre li stai prendendo felicemente come dipendenza dal tuo progetto. Controllate anche tutti gli accessi amministrativi e i diritti di pubblicazione per gli individui controllati.
    (Detto questo, NuGet ha riconosciuto la necessità per i clienti di garantire maggiore fiducia nell'autenticità di un pacchetto, e ha un post sul blog che delinea i dettagli dei loro piani in questo post del blog: link )

  • Esattamente i team di ingegneri possono essenzialmente "autorizzare" e limitare i pacchetti consentiti che puoi assumere come dipendenza dal tuo progetto, dopo che sono stati controllati con successo attraverso un certo rigore e un processo di sicurezza. Ad esempio, posso limitare le versioni di un determinato pacchetto a quelle che hanno risolto una vulnerabilità pubblica nota. Inoltre, la whitelisting di pacchetti ben noti è più probabile che impedisca l'errore di battitura nella configurazione delle dipendenze dall'aprirmi fino a estrarre un pacchetto con contenuti dannosi, come descritto dai recenti problemi di "typosquatting": link

risposta data 21.12.2017 - 20:11
fonte

Leggi altre domande sui tag