Quali informazioni non devono mai apparire nei log? [chiuso]

11

Sto per scrivere le linee guida aziendali su cosa non deve mai apparire nei log (traccia di un'applicazione). In effetti, alcuni sviluppatori cercano di includere quante più informazioni possibile nella traccia, rendendo rischioso archiviare tali log ed estremamente pericoloso inviarli , soprattutto quando il cliente non sa che queste informazioni sono memorizzate , perché non le importa mai e non legge mai la documentazione e / oi messaggi di avvertimento.

Ad esempio, quando si ha a che fare con i file, alcuni sviluppatori sono tentati di rintracciare i nomi dei file . Ad esempio, prima di aggiungere il nome del file a una directory, se tracciamo tutto in caso di errore, sarà facile notare ad esempio che il nome aggiunto è troppo lungo e che il bug nel codice è stato da dimenticare per verificare la lunghezza della stringa concatenata. È utile, ma si tratta di dati sensibili che non devono mai apparire nei log .

Allo stesso modo:

  • Password ,
  • Indirizzi IP e informazioni sulla rete (indirizzo MAC, nome host, ecc.) ¹,
  • Accesso al database,
  • Immissione diretta da utente e dati memorizzati

non deve mai apparire nella traccia.

Quindi quali altri tipi di informazioni devono essere banditi dai log? Ci sono delle linee guida già scritte che posso usare?

¹ Ovviamente, non sto parlando di cose come i registri IIS o Apache. Quello di cui sto parlando è il tipo di informazione che viene raccolta con l'unico intento di eseguire il debug dell'applicazione stessa, per non tracciare l'attività delle entità non attendibili.

Modifica: grazie per le tue risposte e i tuoi commenti. Poiché la mia domanda non è precisa, cercherò di rispondere alle domande poste nei commenti:

  • Che cosa sto facendo con i log?

I registri dell'applicazione possono essere archiviati in memoria, il che significa sia in chiaro su disco rigido su localhost, in un database, di nuovo in plain, o in eventi di Windows. In ogni caso, la preoccupazione è che quelle fonti potrebbero non essere abbastanza sicure. Ad esempio, quando un cliente esegue un'applicazione e questa applicazione memorizza i registri in un file di testo normale nella directory temp, chiunque abbia un accesso fisico al PC può leggere quei registri.

I log dell'applicazione possono anche essere inviati tramite internet. Ad esempio, se un cliente ha un problema con un'applicazione, possiamo chiederle di eseguire questa applicazione in modalità traccia completa e di inviarci il file di registro. Inoltre, alcune applicazioni potrebbero inviarci automaticamente il rapporto sugli arresti anomali (e anche se ci sono avvertimenti sui dati sensibili, nella maggior parte dei casi i clienti non li leggono).

  • Sto parlando di campi specifici?

No. Sto lavorando solo su applicazioni aziendali generali, quindi i soli dati sensibili sono dati aziendali. Non c'è nulla relativo alla salute o ad altri campi coperti da regolamenti specifici. Ma grazie per parlarne, probabilmente dovrei dare un'occhiata a quei campi per alcuni indizi su cosa posso includere nelle linee guida.

  • Non è più semplice crittografare i dati?

No. Renderebbe ogni applicazione molto più difficile, specialmente se vogliamo usare la diagnostica C # e TraceSource . Richiederebbe anche di gestire le autorizzazioni, il che non è il modo più semplice di pensare. Infine, se stiamo parlando dei log inviati da un cliente, dobbiamo essere in grado di leggere i registri, ma senza avere accesso ai dati sensibili. Quindi, tecnicamente, è più semplice non includere mai informazioni sensibili nei log e non preoccuparsi mai di come e dove sono memorizzati tali registri.

    
posta Arseni Mourzenko 02.03.2011 - 21:25
fonte

7 risposte

3

Credo che il modo migliore per gestirlo sia trattare i file di log come solo un'altra interfaccia utente per l'applicazione. Il fatto che le informazioni siano memorizzate in file di testo non rende il contenuto diverso dalle informazioni visualizzate nelle normali schermate nell'interfaccia utente.

Pensa a come proteggere le stesse informazioni se dovesse essere visualizzato in una normale interfaccia utente. Dovresti identificare chi era l'utente e quindi esporre solo le informazioni che questo utente aveva il diritto di vedere.

Le informazioni nei file di registro devono essere trattate allo stesso modo. Devi prima rispondere esattamente a chi deve essere inserito per visualizzare il file di registro e quali informazioni dovrebbero essere autorizzate a vedere.

Il passaggio di file di registro mal progettati è un enorme rischio per la sicurezza. Non credo che riuscirai a trovare una buona soluzione inserendo nella lista nera dei dati. Una strategia migliore è quella di inserire in whitelist ciò che potrebbe essere contenuto in ciascun file di registro e progettare i file di registro in basso da quello.

    
risposta data 02.03.2011 - 22:39
fonte
8

Le informazioni sulla carta di credito non dovrebbero mai essere registrate.

Numeri ID (come SSN negli Stati Uniti o Teudat Zehut # in Israele).

Nomi di computer di rete, percorsi di condivisione di rete.

    
risposta data 02.03.2011 - 21:29
fonte
7

Informazioni sulla salute identificabili personalmente coperte dalla Legge sulla Portabilità e Responsabilità delle Assicurazioni Sanitarie del 1996 (HIPAA). Questo articolo elenca i seguenti esempi:

  • Le richieste di assistenza sanitaria o di assistenza sanitaria incontrano informazioni come documentazione delle visite mediche e note fatte da medici e altri personale del fornitore;
  • Consulenza per il pagamento e la rimessa delle cure sanitarie;
  • Coordinamento delle prestazioni sanitarie;
  • Stato reclamo assistenza sanitaria;
  • Iscrizione e disen traggio in un piano sanitario;
  • Idoneità per un piano sanitario;
  • Pagamenti premium del piano sanitario;
  • Certificazioni e autorizzazione per i referral;
  • Primo rapporto sull'infortunio;
  • Allegati attestati sulla salute.
risposta data 02.03.2011 - 22:28
fonte
5

se la sicurezza è un problema, crittografare il file di registro

    
risposta data 02.03.2011 - 22:00
fonte
2

Fuori dalla mia testa ....

Le informazioni della carta di credito non dovrebbero essere nei registri. I dati SSN (o SIN) non dovrebbero essere nei registri.

... ovviamente ci sono delle eccezioni, se dovessi lavorare per qualche archivio dati centrale per una società di carte di credito o un'agenzia governativa che gestisce i dati SIN, allora potresti avere per registrare perché è la carne principale di ciò che stai elaborando / gestendo.

    
risposta data 02.03.2011 - 21:29
fonte
1

Sì ma.

Per eseguire il debug di alcuni problemi hai bisogno di dati reali.

Quindi devi giocare un gioco di equilibrio: devi infatti discutere e concordare con i tuoi clienti principali quali considerano dati riservati o sensibili e quali no. Se diversi clienti non sono d'accordo, prendi lo scenario peggiore per ogni aspetto di esso, a meno che tu non possa giustificarlo con quei clienti che potrebbero esagerare nell'etichettare tutto ciò che è sensibile.

Ho lavorato nel controllo del traffico aereo, finanziario e bancario. In ogni situazione ci sono dati sensibili. Ci sono compiti per i quali è inevitabile gestire i dati sensibili, in quei casi è necessario assicurarsi che si lavori con persone fidate. Questo rischio può essere in qualche modo mitigato da clausole legali da concordare prima di accedere a tali dati (accordi di non divulgazione, uso dei dati solo per validi motivi commerciali, accesso limitato ai dati, sanzioni penali per mancato rispetto o applicazione degli accordi ...) - e processi rilevanti che consentono di tracciare quelle cose.

Se i dati sono fondamentali, devi pagare il prezzo nella configurazione di sistemi che proteggono l'integrità, la coerenza e la sicurezza di questi dati.

Detto questo, hai ragione a porre la domanda "quali dati". Davvero rispondi tu stesso: la maggior parte è legata al business. Quindi chiedi ai tuoi clienti se non riesci a rispondere a te stesso, tenendo presente quanto sopra e mantenendo un modo per identificare e risolvere i problemi che potrebbero emergere.

    
risposta data 03.03.2011 - 04:53
fonte
0

Direi, registra i messaggi che sembrano divertenti mentre stai codificando. Non li troverai divertenti su tutta la linea e saranno lì per sempre - proprio come quel post di blog / facebook / twiter sconsiderato!

Mantieni i messaggi di log noiosi:)

    
risposta data 02.03.2011 - 22:41
fonte

Leggi altre domande sui tag