Pattern di sicurezza e autenticazione
Una web app di produzione vale quanto la sua sicurezza. Questo corso tratta i pattern che mantengono sicure le applicazioni Wisej.NET — dalla gestione di sessione e identità ai ruoli, a OAuth e all'irrobustimento da fare prima di andare online. Affronterai l'autenticazione e l'identità di sessione, l'autorizzazione basata su ruoli e claim, l'integrazione di provider OAuth e una checklist pratica di irrobustimento lato server per i rilasci reali. Questo corso è in lavorazione — iscriviti ora per essere avvisato appena sarà disponibile.
Sessioni, ruoli, OAuth e strategie di irrobustimento per app Wisej di produzione.
- Livello: Advanced
- Durata: 6,6 ore
- Moduli: 7
Questo corso non è ancora aperto. Di seguito trovi il programma previsto.
Programma
Modulo 1: Il modello di sicurezza di Wisej.NET
Modulo 1 di Pattern di sicurezza e autenticazione — il percorso sulla sicurezza di Wisej.NET. Leggi la guida della lezione e la guida al lab / esame, guarda la videoguida sulla superficie di attacco di AccessOps, supera la verifica delle conoscenze e completa il lab pratico in AccessOps.
- LetturaGuida della lezione · 14 min
Che cosa il browser può e non può vedere in una UI lato server, il confine di sessione, il modello delle minacce e dove si colloca ciascun controllo di sicurezza. Che cosa significa per uno sviluppatore che mette in sicurezza un'app Wisej.NET di produzione — e come affrontare questo modulo.
- LetturaGuida al lab / esame · 10 min
Che cosa costruirai nel lab pratico, l'approccio suggerito e i deliverable richiesti.
- Lezione videoMappa la superficie di attacco di AccessOps · 14 min
Mappa la superficie di attacco di AccessOps — una videoguida del Modulo 1, costruita passo dopo passo in AccessOps. Parte direttamente qui nel player.
Trascrizione della narrazione
Inizia identificando cosa AccessOps deve proteggere e dove entrano le richieste. Dipendenti, documenti e approvazioni attraversano confini diversi, quindi una schermata di accesso da sola non può definire il modello di sicurezza.
Mantieni i valori sensibili fuori dalle proprietà del controllo anche quando un controllo è nascosto. La logica aziendale lato server rimane sul server, ma lo stato dell'interfaccia può essere trasmesso al browser.
Traccia i confini tra browser, sessione, processo e servizi dati. Un valore protetto all'interno di una sessione può essere esposto quando un campo statico lo condivide tra gli utenti.
Esamina ogni punto di ingresso rispetto alle categorie di minaccia e valuta le conseguenze. La tabella collega un possibile attacco al luogo in cui deve operare un controllo difensivo.
I dipendenti del progetto registrano nei campi effettivamente necessari alla directory. Nascondere una colonna stipendio non ne rimuove il valore trasmesso; i dati salariali protetti necessitano di un recupero controllato.
Tratta la visibilità dei pulsanti solo come presentazione. Il servizio di approvazione deve ottenere il chiamante dalla sessione, verificare l'autorizzazione e registrare il rifiuto indipendentemente da ciò che viene visualizzato sullo schermo.
Ispezionare i dati trasmessi lungo la griglia visibile. I campi relativi allo stipendio extra e alla revisione dimostrano perché uno screenshot rassicurante non può dimostrare che i valori riservati siano rimasti sul server.
Osserva il coordinatore che invoca l'approvazione nonostante il controllo nascosto. La richiesta invariata e il rifiuto registrato mostrano che è il confine del servizio, piuttosto che l'interfaccia, a far rispettare la regola.
Costruisci la shell e documenta risorse, punti di ingresso, minacce e posizionamento dei controlli. Questi risultati spiegano quale confine ciascuna funzionalità di sicurezza successiva intende proteggere.
- LetturaEsercizio di coding con l'IA · 20 min
Costruisci il progetto AccessOps di questo modulo con ChatGPT o Claude partendo da un prompt già pronto che indirizza il modello alla specifica del modulo, poi rivedi, esegui ed estendi quello che ti restituisce.
- VerificaVerifica delle conoscenze — Modulo 1 · 10 min · Soglia di superamento 80%
- Laboratorio praticoLab — Modello delle minacce di AccessOps · 45 min
Obiettivo: Crea la soluzione AccessOps e scrivine il modello delle minacce: disegna i confini di fiducia, elenca gli asset (anagrafiche dei dipendenti, documenti, approvazioni), enumera i punti di ingresso (login, upload, download, endpoint personalizzati, l'assistente IA), valuta ogni minaccia e associa ogni mitigazione al modulo di questo corso che la implementa. Costruisci lo shell con una pagina di login segnaposto. Deliverable: soluzione AccessOps con una pagina di login segnaposto; diagramma dei confini di fiducia; inventario di asset e punti di ingresso; tabella delle minacce con probabilità, impatto e mitigazione; mappa di posizionamento dei controlli di sicurezza.
Modulo 2: Autenticazione e identità di sessione
Modulo 2 di Pattern di sicurezza e autenticazione — il percorso sulla sicurezza di Wisej.NET. Leggi la guida della lezione e la guida al lab / esame, guarda la videoguida su autenticazione e identità di sessione, supera la verifica delle conoscenze e completa il lab pratico in AccessOps.
- LetturaGuida della lezione · 14 min
Flussi di login, gestione delle password, un SessionContext con un'identità verificata, timeout, logout, "ricordami" e session fixation. Che cosa significa per uno sviluppatore che mette in sicurezza un'app Wisej.NET di produzione — e come affrontare questo modulo.
- LetturaGuida al lab / esame · 10 min
Che cosa costruirai nel lab pratico, l'approccio suggerito e i deliverable richiesti.
- Lezione videoCostruisci il login e l'identità di sessione di AccessOps · 14 min
Costruisci il login e l'identità di sessione di AccessOps — una videoguida del Modulo 2, costruita passo dopo passo in AccessOps. Parte direttamente qui nel player.
Trascrizione della narrazione
Stabilisci un'identità di sessione verificata prima di proteggere i record e le approvazioni AccessOps. Ogni successiva decisione sui permessi dipende dalla conoscenza di chi è stato autenticato dal server, piuttosto che dalla fiducia in un valore visualizzato sullo schermo.
Non derivare l'identità da un controllo nascosto, un contrassegno di finestra, una selezione di reparto o un campo condiviso dall'utente corrente. Tali valori sono controllati dal client o hanno una durata errata per l'autenticazione della sessione.
Segui la verifica della password anziché cercare la decrittazione. L'esempio deriva un valore utilizzando il sale memorizzato e il conteggio delle iterazioni, quindi lo confronta senza un'uscita anticipata carattere per carattere.
Sostituisci la sessione anonima dopo la verifica con successo in modo che il suo vecchio identificatore non sopravviva all'accesso. Avvisa prima che l'inattività faccia scadere la sessione autenticata, quindi rilascia lo stato associato.
Confronta il codice di accesso rifiutato con PasswordService.Verify. Il fattore salt e lavoro memorizzato supporta la verifica, mentre un messaggio di errore esterno evita di rivelare quale parte delle credenziali era sbagliata.
Continua a limitare, verificare e controllare lo stesso percorso di accesso. Gli utenti sconosciuti sono ancora soggetti al lavoro di verifica e una singola routine di disconnessione fornisce un modo coerente per terminare lo stato autenticato.
Osserva che i guasti ripetuti producono lo stesso messaggio utente prima del blocco. L'audit distingue i risultati internamente; Anche la tempistica richiede attenzione perché la sola formulazione non può impedire una differenza osservabile.
Seguire l'avviso di inattività fino all'uscita dalla sessione. I documenti e le finestre caricati appartengono a quella durata e il ritorno alla cronologia del browser deve portare all'accesso anziché al rinnovo dell'accesso.
Implementa accesso e disconnessione come cicli di vita completi, inclusi blocco, verifica, controllo e timeout. Crea l'identità della sessione solo dopo la verifica, quindi verifica il comportamento di ogni errore e uscita.
- LetturaEsercizio di coding con l'IA · 20 min
Costruisci il progetto AccessOps di questo modulo con ChatGPT o Claude partendo da un prompt già pronto che indirizza il modello alla specifica del modulo, poi rivedi, esegui ed estendi quello che ti restituisce.
- VerificaVerifica delle conoscenze — Modulo 2 · 10 min · Soglia di superamento 80%
- Laboratorio praticoLab — Login e identità di sessione · 45 min
Obiettivo: Implementa l'autenticazione di AccessOps: una pagina di login con blocco dell'account dopo cinque tentativi falliti, la verifica della password con un hash moderno con salt, un SessionContext creato solo dopo la verifica e memorizzato nella sessione, un timeout di inattività che riporta l'utente al login e ne ripulisce lo stato, un Logout esplicito che chiude la sessione e un record di audit per ogni tentativo di accesso. Deliverable: pagina di login con blocco dell'account e messaggi di errore generici; servizio di hashing e verifica delle password; SessionContext con identità verificata; timeout di inattività e logout esplicito; record di audit dei login.
Modulo 3: Autorizzazione: ruoli, claim e permessi
Modulo 3 di Pattern di sicurezza e autenticazione — il percorso sulla sicurezza di Wisej.NET. Leggi la guida della lezione e la guida al lab / esame, guarda la videoguida sull'autorizzazione a livello di servizio, supera la verifica delle conoscenze e completa il lab pratico in AccessOps.
- LetturaGuida della lezione · 14 min
Verifiche basate su ruoli e su claim, servizi dei permessi, applicazione delle regole in servizi e repository, e adattamento della UI a ciò che l'utente può fare. Che cosa significa per uno sviluppatore che mette in sicurezza un'app Wisej.NET di produzione — e come affrontare questo modulo.
- LetturaGuida al lab / esame · 10 min
Che cosa costruirai nel lab pratico, l'approccio suggerito e i deliverable richiesti.
- Lezione videoApplica i permessi nei servizi e riflettili nella UI · 14 min
Applica i permessi nei servizi e riflettili nella UI — una videoguida del Modulo 3, costruita passo dopo passo in AccessOps. Parte direttamente qui nel player.
Trascrizione della narrazione
Ora separa la conoscenza del chiamante dal consenso dell'azione. Una sessione AccessOps autenticata necessita ancora di una regola che decida se quel dipendente può approvare la particolare richiesta.
Proteggi l'operazione aziendale stessa, compreso l'ambito del dipartimento e del manager. Un controllo limitato a un pulsante può essere aggirato da un altro chiamante, incluso un’elaborazione in background.
Risolvi ruoli e rivendicazioni nelle autorizzazioni di sessione al momento dell'accesso. Mantenere esplicita la regola di precedenza: un rifiuto prevale su una concessione, quindi input contrastanti non ampliano silenziosamente l’accesso.
Posizionare la protezione all'inizio del metodo di approvazione. Pulsanti, attività, processi e richiamate devono tutti superarlo perché l'operazione ha un limite di autorizzazione indipendentemente dal chiamante.
Confronta il codice basato sulla visibilità con le autorizzazioni risolte dal server. Un set di permessi immutabili e il relativo tempo di risoluzione descrivono la decisione del server; il pulsante può riflettere quella decisione ma non può stabilirla.
Dopo aver controllato l'autorizzazione, limita la query alle richieste che questo manager può approvare. L'autorizzazione operativa e l'ambito del record rispondono a domande diverse ed entrambi devono essere applicati prima che i dati vengano restituiti.
Confronta le schermate di Dana e Miriam per vedere le autorizzazioni riflesse nella navigazione e nei comandi. L'opzione di approvazione del manager dipende anche dalla relazione della richiesta con i suoi report.
Chiama direttamente il servizio con un identificatore contraffatto per testare il confine effettivo. Un rifiuto, un record del server e una richiesta non modificata dimostrano la protezione anche quando l'interfaccia viene saltata.
Proteggere le operazioni di approvazione e documenti e definire l'ambito delle query sui dati. Invia un test negativo insieme all'interfaccia adattata per dimostrare che il server rifiuta una richiesta non autorizzata.
- LetturaEsercizio di coding con l'IA · 20 min
Costruisci il progetto AccessOps di questo modulo con ChatGPT o Claude partendo da un prompt già pronto che indirizza il modello alla specifica del modulo, poi rivedi, esegui ed estendi quello che ti restituisce.
- VerificaVerifica delle conoscenze — Modulo 3 · 10 min · Soglia di superamento 80%
- Laboratorio praticoLab — Autorizzazione a livello di servizio · 45 min
Obiettivo: Aggiungi l'autorizzazione ad AccessOps: un PermissionService che al login risolve ruoli e claim in permessi, una guard Authorize richiamata da ogni metodo di DocumentService e ApprovalService, una regola a livello di record per cui i dipendenti vedono solo il proprio reparto e i manager solo i propri collaboratori diretti, una UI che nasconde le azioni di amministrazione e disabilita i pulsanti di approvazione che l'utente non può usare, e un test che dimostra che una richiesta contraffatta da parte di un non-manager viene respinta dal servizio. Deliverable: PermissionService che risolve i permessi nel SessionContext; guard di autorizzazione in ogni metodo di servizio; regole a livello di record per reparto e manager; adattamento della UI in base ai permessi; test negativo con una richiesta contraffatta.
Modulo 4: Integrazione con OAuth e OpenID Connect
Modulo 4 di Pattern di sicurezza e autenticazione — il percorso sulla sicurezza di Wisej.NET. Leggi la guida della lezione e la guida al lab / esame, guarda la videoguida sull'accesso esterno, supera la verifica delle conoscenze e completa il lab pratico in AccessOps.
- LetturaGuida della lezione · 14 min
Delegare il login a un identity provider, l'authorization code flow, la gestione del redirect in un'app Wisej.NET, la validazione dei token e la mappatura dei claim nel SessionContext. Che cosa significa per uno sviluppatore che mette in sicurezza un'app Wisej.NET di produzione — e come affrontare questo modulo.
- LetturaGuida al lab / esame · 10 min
Che cosa costruirai nel lab pratico, l'approccio suggerito e i deliverable richiesti.
- Lezione videoAccedi ad AccessOps con un identity provider esterno · 14 min
Accedi ad AccessOps con un identity provider esterno — una videoguida del Modulo 4, costruita passo dopo passo in AccessOps. Parte direttamente qui nel player.
Trascrizione della narrazione
Sostituisci la verifica della password locale con l'identità del provider aziendale. Il browser esegue il percorso di accesso, ma AccessOps deve convalidare la restituzione prima di creare una sessione attendibile.
La delega centralizza il ciclo di vita dell'account e i criteri di accesso. Introduce inoltre un messaggio di identità in entrata che l'applicazione deve considerare come non attendibile fino al completamento della convalida.
Segui il reindirizzamento, il codice monouso e lo scambio di server separatamente. State, nonce e la sfida della chiave di prova collegano il ritorno al tentativo di accesso che lo ha effettivamente avviato.
Mantieni verificatore, nonce e destinazione sul server dietro un handle di breve durata. La corrispondenza e l'utilizzo di tale record impediscono al browser di definire questo stato di accesso.
La decodifica di un token di identità ne rivela solo il contenuto. Convalidare firma, emittente, destinatario, durata e nonce prima di utilizzare le attestazioni; il contenuto leggibile non costituisce prova di un'identità valida.
Mappa emittente convalidata e soggetta a un dipendente. Gli account appena forniti iniziano senza diritti perché le autorizzazioni dell'applicazione vengono risolte localmente anziché concesse automaticamente con un'identità.
Traccia insieme lo scambio, la convalida, la mappatura e la creazione della sessione. Testare i casi rifiutati con la stessa attenzione del successo, perché accettare un reso non valido è ciò che questo limite deve impedire.
Distinguere le sessioni dell'applicazione e del provider durante la disconnessione. Terminando solo la sessione Wisej.NET è possibile consentire nuovamente l'accesso silenzioso; il flusso di fine sessione del provider gestisce la sua durata separata.
Costruisci il client OpenID Connect con chiave di prova per lo scambio e la convalida del codice. Includi il provisioning, il fallback dell'account di servizio specificato e la disconnessione rivolti a entrambi i proprietari della sessione.
- LetturaEsercizio di coding con l'IA · 20 min
Costruisci il progetto AccessOps di questo modulo con ChatGPT o Claude partendo da un prompt già pronto che indirizza il modello alla specifica del modulo, poi rivedi, esegui ed estendi quello che ti restituisce.
- VerificaVerifica delle conoscenze — Modulo 4 · 10 min · Soglia di superamento 80%
- Laboratorio praticoLab — Accesso esterno con OIDC · 45 min
Obiettivo: Aggiungi l'accesso esterno ad AccessOps: un client OpenID Connect che usa l'authorization code flow con PKCE verso un identity provider di test, un gestore di callback che valida l'ID token e il suo nonce, una mappatura dei claim che popola il SessionContext e crea un record dipendente locale al primo accesso, un login locale di riserva per gli account di servizio, e una disconnessione che chiude sia la sessione locale sia quella del provider. Deliverable: configurazione del client OIDC con PKCE; gestione del callback con validazione di token e nonce; mappatura dei claim e provisioning al primo accesso; login locale di riserva per gli account di servizio; disconnessione che copre entrambe le sessioni.
Modulo 5: Proteggere dati, upload, download e handler
Modulo 5 di Pattern di sicurezza e autenticazione — il percorso sulla sicurezza di Wisej.NET. Leggi la guida della lezione e la guida al lab / esame, guarda la videoguida sui documenti riservati, supera la verifica delle conoscenze e completa il lab pratico in AccessOps.
- LetturaGuida della lezione · 14 min
Autorizzare upload e download di file, handler HTTP personalizzati sicuri, validazione dell'input, codifica dell'output, rischi di injection e cross-site in una UI lato server. Che cosa significa per uno sviluppatore che mette in sicurezza un'app Wisej.NET di produzione — e come affrontare questo modulo.
- LetturaGuida al lab / esame · 10 min
Che cosa costruirai nel lab pratico, l'approccio suggerito e i deliverable richiesti.
- Lezione videoMetti in sicurezza la funzione dei documenti riservati · 14 min
Metti in sicurezza la funzione dei documenti riservati — una videoguida del Modulo 5, costruita passo dopo passo in AccessOps. Parte direttamente qui nel player.
Trascrizione della narrazione
Esaminare i byte effettivi che attraversano i confini AccessOps. Un accesso verificato non protegge automaticamente i caricamenti, i collegamenti generati o i file serviti al di fuori del percorso di autorizzazione dell'applicazione.
Identifica file statici, caricamenti attendibili, gestori indipendenti e testo utente interpretato. Ogni tangenziale attraversa un confine diverso e quindi necessita di un controllo esplicito lì.
Distinguere un indirizzo statico da un'operazione di documento autorizzata. Il recupero protetto deve superare i controlli di identificazione, autorizzazione e controllo nel servizio prima che l'applicazione invii il file.
Controlla le dimensioni del caricamento, l'estensione consentita e la firma del contenuto prima di accettare l'archiviazione. Un nome scelto dal server e una quarantena separano i file in arrivo dai documenti scansionati pronti per il rilascio.
Tratta l'identificatore del documento come una richiesta di autorizzazione, non come un percorso del filesystem. Il servizio deve stabilire l'autorizzazione di lettura prima di aprire i byte, indipendentemente dal valore della griglia.
Autenticare i contenuti e la scadenza del collegamento di condivisione prima di fornire il documento. Allo stesso modo, diffidare dei valori in arrivo nei comandi del database, nelle etichette interpretate e nelle chiamate del browser piuttosto che fare affidamento sulla loro origine.
Seguire l'eseguibile rinominato attraverso la convalida. Un controllo dell'estensione non è sufficiente: la firma lo rifiuta, mentre il documento autentico segue la quarantena e la scansione prima dell'archiviazione.
Prova download contraffatti e collegamenti alterati da un altro dipartimento. Il rifiuto costante dimostra controlli indipendenti su ciascuna richiesta piuttosto che fiducia nei pulsanti nascosti o nella navigazione sullo schermo.
Completa le porte di caricamento, i download autorizzati e i collegamenti firmati in scadenza, quindi verifica la falsificazione. Esamina anche le query e le stringhe visualizzate: i file sono solo un percorso per valori non attendibili.
- LetturaEsercizio di coding con l'IA · 20 min
Costruisci il progetto AccessOps di questo modulo con ChatGPT o Claude partendo da un prompt già pronto che indirizza il modello alla specifica del modulo, poi rivedi, esegui ed estendi quello che ti restituisce.
- VerificaVerifica delle conoscenze — Modulo 5 · 10 min · Soglia di superamento 80%
- Laboratorio praticoLab — Funzione documenti sicura · 45 min
Obiettivo: Metti in sicurezza la funzione documenti di AccessOps: upload limitati per dimensione e tipo con content sniffing, salvati fuori dalla web root con un nome casuale e collegati al reparto proprietario; download che passano dall'autorizzazione di DocumentService e da Application.Download; un handler personalizzato per un link di condivisione firmato che scade dopo un'ora; e una revisione che verifica che ogni query sia parametrizzata e che ogni stringa fornita dall'utente sia codificata prima di essere mostrata. Deliverable: pipeline di upload validata con cartella di quarantena; download autorizzato tramite il servizio; handler per link di condivisione firmati con scadenza; revisione di query parametrizzate e codifica dell'output; test con una richiesta di download contraffatta.
Modulo 6: Audit, segreti e configurazione
Modulo 6 di Pattern di sicurezza e autenticazione — il percorso sulla sicurezza di Wisej.NET. Leggi la guida della lezione e la guida al lab / esame, guarda la videoguida su audit trail e segreti, supera la verifica delle conoscenze e completa il lab pratico in AccessOps.
- LetturaGuida della lezione · 14 min
Audit trail per i comandi sensibili, correlation ID, gestione dei segreti, configurazione d'ambiente, logging senza far trapelare dati. Che cosa significa per uno sviluppatore che mette in sicurezza un'app Wisej.NET di produzione — e come affrontare questo modulo.
- LetturaGuida al lab / esame · 10 min
Che cosa costruirai nel lab pratico, l'approccio suggerito e i deliverable richiesti.
- Lezione videoAggiungi gli audit trail e togli i segreti dal codice · 14 min
Aggiungi gli audit trail e togli i segreti dal codice — una videoguida del Modulo 6, costruita passo dopo passo in AccessOps. Parte direttamente qui nel player.
Trascrizione della narrazione
Rendere le decisioni sulla sicurezza spiegabili dopo l'evento. AccessOps necessita di prove delle azioni consentite e negate, oltre a una gestione dei segreti che non esponga le credenziali tramite l'origine o i log.
Considerare un'indagine dopo la rotazione dei registri operativi. L'attuale stato di approvazione non può spiegare gli attori o i tentativi falliti e la rimozione di un segreto oggi non cancella la cronologia del repository.
Registra insieme attore, azione, obiettivo, ora, fonte, risultato e correlazione. L'accesso di solo inserimento e l'integrità concatenata aiutano a rilevare la cronologia mancante anziché limitarsi a preservare lo stato aziendale finale.
Spostare le credenziali nella configurazione adeguata all'ambiente all'esterno dell'origine. Definisci la rotazione con credenziali valide sovrapposte in modo che la sostituzione diventi una procedura operativa pianificata piuttosto che un'interruzione improvvisata.
Crea una correlazione all'immissione del comando e portala nell'ambito della registrazione. Impegnare l'audit con approvazione in modo che i loro record descrivano la stessa transazione completata.
Carica la configurazione tramite i provider previsti e limita le proprietà registrate. Oscura token, cookie e intestazioni sensibili nella destinazione di registrazione prima che diventino record persistenti.
Controllare l'approvazione riuscita e il download rifiutato in precedenza. L'azione negata può spiegare l'indagine, quindi controllare solo le modifiche riuscite lascerebbe una lacuna critica.
Utilizzare un valore di correlazione per ricostruire l'azione tra i servizi. La sequenza connessa non deve contenere password, token, nomi personali o credenziali di connessione.
Fornire controllo di sola aggiunta, correlazione propagata, segreti esterni e una procedura di rotazione. Rivedere la redazione in modo che le prove raccolte per motivi di sicurezza non diventino un'altra fonte di divulgazione.
- LetturaEsercizio di coding con l'IA · 20 min
Costruisci il progetto AccessOps di questo modulo con ChatGPT o Claude partendo da un prompt già pronto che indirizza il modello alla specifica del modulo, poi rivedi, esegui ed estendi quello che ti restituisce.
- VerificaVerifica delle conoscenze — Modulo 6 · 10 min · Soglia di superamento 80%
- Laboratorio praticoLab — Audit trail e segreti · 45 min
Obiettivo: Aggiungi audit e gestione dei segreti ad AccessOps: un AuditService che registra approvazioni, modifiche ai permessi e download di documenti con utente, orario, indirizzo e correlation ID; una tabella di audit append-only; un correlation ID creato per ogni comando e scritto in ogni riga di log; stringhe di connessione e client secret OIDC spostati nella configurazione d'ambiente con una procedura di rotazione documentata; e una revisione dei log che oscura i campi sensibili. Deliverable: AuditService e tabella di audit append-only; correlation ID in ogni comando e in ogni riga di log; segreti spostati nella configurazione d'ambiente; procedura di rotazione dei segreti; revisione dell'oscuramento nei log.
Modulo 7: Checklist di irrobustimento e capstone
Modulo 7 di Pattern di sicurezza e autenticazione — il percorso sulla sicurezza di Wisej.NET. Leggi la guida della lezione e la guida al lab / esame, guarda la videoguida sulla checklist di irrobustimento, supera la verifica delle conoscenze e completa il lab pratico in AccessOps.
- LetturaGuida della lezione · 14 min
HTTPS e header di sicurezza, flag dei cookie, impostazioni di sessione, aggiornamento delle dipendenze, rate limiting, irrobustimento del deployment e la revisione di sicurezza di AccessOps. Che cosa significa per uno sviluppatore che mette in sicurezza un'app Wisej.NET di produzione — e come affrontare questo modulo.
- LetturaGuida al lab / esame · 10 min
Che cosa costruirai nel lab pratico, l'approccio suggerito e i deliverable richiesti.
- Lezione videoIrrobustisci e rilascia AccessOps · 14 min
Irrobustisci e rilascia AccessOps — una videoguida del Modulo 7, costruita passo dopo passo in AccessOps. Parte direttamente qui nel player.
Trascrizione della narrazione
Estendi la revisione dal codice dell'applicazione al suo host. I controlli e le autorizzazioni delle password non possono compensare il trasporto debole, le impostazioni di sessione o le dipendenze non riviste nella distribuzione.
Esamina trasporto, cookie, framing, accessi ripetuti e avvisi sulle dipendenze. Questi problemi possono esistere con la logica aziendale corretta, quindi la distribuzione richiede una propria revisione della sicurezza.
Applicare le politiche di risposta in modo coerente e valutare la politica sui contenuti prima dell'applicazione. Vincolano il comportamento del browser, inclusi il framing e l'interpretazione del contenuto, nelle risposte dell'applicazione.
Configura le protezioni dei cookie insieme al timeout della sessione, alla dimensione della richiesta e ai limiti di velocità. Questi controlli vincolano diverse risorse ed esposizioni; un'impostazione non può sostituire le altre.
Segui l'ordine del middleware dalle intestazioni inoltrate ai reindirizzamenti e alle policy di protezione. La registrazione di questi prima del gestore dell'applicazione garantisce che le sue risposte passino attraverso le protezioni previste.
Limita i collegamenti di condivisione al limite della richiesta, ma limita l'accesso all'interno del servizio. Un endpoint di evento condiviso non può distinguere la costosa azione di accesso semplicemente dal suo indirizzo.
Esamina le risposte crittografate effettive, gli attributi dei cookie e il gestore separato del collegamento di condivisione. La configurazione da sola non dimostra che ogni risposta porti la protezione richiesta.
Esegui l'elenco di controllo rispetto all'applicazione distribuita ed esamina i risultati delle dipendenze con decisioni esplicite. Risolvere le lacune dimostrate prima dell'approvazione anziché trattare i file di configurazione come prova.
Fornisci politiche di trasporto e risposta, limiti di sessione, controlli mirati delle tariffe e una revisione datata delle dipendenze. La lista di controllo completata dovrebbe riflettere il comportamento osservato in tutti e sette i moduli.
- LetturaEsercizio di coding con l'IA · 20 min
Costruisci il progetto AccessOps di questo modulo con ChatGPT o Claude partendo da un prompt già pronto che indirizza il modello alla specifica del modulo, poi rivedi, esegui ed estendi quello che ti restituisce.
- VerificaVerifica delle conoscenze — Modulo 7 · 10 min · Soglia di superamento 80%
- Laboratorio praticoLab — Revisione di irrobustimento e capstone · 45 min
Obiettivo: Completa il capstone di AccessOps: imponi HTTPS con HSTS e imposta gli header di sicurezza, marca i cookie come Secure e HttpOnly con una policy SameSite restrittiva, imposta il timeout di sessione e i limiti di dimensione delle richieste, aggiungi il rate limiting su login e link di condivisione, esegui un audit delle dipendenze e registrane i risultati, poi applica all'app l'intera checklist di questo corso e correggi ogni problema rilevato. Deliverable: configurazione di HTTPS, HSTS e header di sicurezza; impostazioni di irrobustimento di cookie e sessione; rate limiting su login e link di condivisione; report dell'audit delle dipendenze; checklist della revisione di sicurezza completata, con le correzioni.