Posted on

Retrieve resources in c# Windows Forms .Net Application

Scenario

You have a library (dll) with one or more image and you want to use those image in your application.

Load Resource from application

Consider having a library called : myLibrary.dll with some class inside with Namespace mylibrary.

In your bapplication you can get to the resources by referencing the assembly :

Assembly assem = Assembly.LoadFrom("myLibrary.dll");

You can enumerate the resource files

string[] resNames = assem.GetManifestResourceNames();
if (resNames.Length == 0)
Console.WriteLine(" No resources found.");

foreach (var resName in resNames)
Console.WriteLine(" Resource 1: {0}", resName.Replace(".resources", ""));
foreach (var resName in resNames)
Console.WriteLine(" Resource 2: {0}", resName);

And this will be the output :

Resource 1: myLibrary.Properties.Resources
Resource 2: myLibrary.Properties.Resources.resources

The replace is necessary because the real resource name is the first one (without .resources)

Now, If you have an image called myBitmap.png in your resources, you can load it, using ResourceManager

ResourceManager rm = new ResourceManager("myLibrary.Properties.Resources",
assem);

and finally

Object myres = rm.GetObject(myBitmap);

Load Resource inside Library

To get resource from a class inside your resource library, defined a new class, for example myClass and reference own assembly :

rm = new ResourceManager("myLibrary.Properties.Resources",
typeof(myClass).Assembly);

At this point you can withdraw the resource as seen above.

Posted on

Nakivo request support

The Nakivo backup software license allows you to use Nakivo technicians to resolve any problems. To contact the technicians, in the left menu click on “Help” and then on “Request support”. A new screen will open where you will have to push “Create new bundle”. A new form opens for generating the bundle that will be sent to Nakivo. In the Nakivo software there is the possibility of setting the various tasks or devices to record a verbose log. This may be useful to Nakivo technicians to help you solve your problem.

Job Verbose Log

To enable verbose logging in a job, in the “Options” section you must select “Bottleneck detection”.

Transporter Verbose Log

To enable verbose logging in the transporters (Source and Target) used in a job, select the individual transporter and select “Enable debug logging for this node”.

Posted on

Come deve essere eseguito un backup ?

Non esiste una normativa unica e specifica che stabilisca esattamente come deve essere effettuato un backup, ma ci sono diverse linee guida e regolamenti che richiedono alle aziende e alle organizzazioni di implementare misure adeguate per la protezione e il backup dei dati, specialmente in settori che trattano informazioni sensibili o critiche.

Principali riferimenti normativi e standard per il backup:

1. GDPR (Regolamento Generale sulla Protezione dei Dati – UE 2016/679)

Il GDPR non definisce esattamente come deve essere fatto un backup, ma stabilisce che i dati personali devono essere protetti contro la perdita, la distruzione accidentale e il furto. Le aziende devono quindi adottare misure tecniche e organizzative adeguate per garantire l’integrità e la disponibilità dei dati, e il backup è una di queste misure.

  • Art. 32: Impone alle aziende di garantire la sicurezza dei dati trattati, incluse misure per la disponibilità e l’accesso tempestivo ai dati personali in caso di incidenti fisici o tecnici.
  • Art. 5: Richiede che i dati siano gestiti e conservati in modo tale da garantirne la protezione, inclusa la possibilità di ripristinarli in caso di perdita accidentale.

2. ISO/IEC 27001

La norma ISO/IEC 27001 è uno standard internazionale per la gestione della sicurezza delle informazioni. Essa richiede che le organizzazioni implementino controlli per la protezione dei dati, inclusi piani di backup regolari e testati per garantire che i dati siano recuperabili in caso di perdita.

  • Annex A.12.3: Focalizza sull’integrità dei dati e la loro disponibilità, richiedendo il backup dei dati essenziali, inclusi test regolari sui processi di ripristino.

3. NIST SP 800-34 (National Institute of Standards and Technology)

Questa linea guida del NIST statunitense tratta della “Contingency Planning Guide for Information Technology Systems” e contiene raccomandazioni dettagliate su come eseguire il backup dei dati critici e ripristinarli in caso di disastro. Sebbene non obbligatoria, la guida è ampiamente utilizzata come standard di riferimento.

Processo di backup secondo il NIST:

Valutazione del rischio: Identificare i rischi associati alla perdita di dati, inclusi i disastri naturali, 
errori umani, guasti hardware e attacchi informatici.

Determinazione dei requisiti di backup: Valutare la criticità dei dati e definire obiettivi 
di Recovery Point Objective (RPO) e Recovery Time Objective (RTO), ovvero quanto "indietro" 
si può tollerare di perdere dati (RPO) e quanto velocemente i sistemi devono essere ripristinati (RTO).

Implementazione della strategia di backup: Definire il tipo di backup più adatto 
(completo, incrementale, differenziale), la frequenza, la localizzazione dei 
backup e le tecnologie da utilizzare.

Protezione dei backup: Assicurare che i backup siano adeguatamente protetti 
attraverso la crittografia e limitare gli accessi ai dati di backup.

Test di ripristino regolari: Verificare che i backup possano essere ripristinati 
efficacemente, testando periodicamente il processo di recupero.

 

4. HIPAA (Health Insurance Portability and Accountability Act – USA)

Negli Stati Uniti, la HIPAA richiede alle organizzazioni sanitarie di proteggere i dati sanitari sensibili. Questo include requisiti specifici per il backup e il ripristino dei dati per garantire la continuità operativa e la protezione della privacy in caso di perdita o compromissione dei dati.

  • §164.308(a)(7): Richiede l’implementazione di un piano di backup dei dati e di un piano di ripristino in caso di emergenza per garantire la disponibilità continua delle informazioni elettroniche protette.

5. Regolamenti e norme settoriali

In vari settori, come quello bancario, finanziario e assicurativo, esistono regolamenti specifici che impongono requisiti per il backup dei dati, specialmente per garantire la continuità operativa e la conformità alle normative sulla protezione delle informazioni sensibili.

6. Regole interne e policy aziendali

Oltre ai requisiti normativi, molte aziende creano le proprie policy di backup, basandosi su esigenze interne o raccomandazioni degli standard di sicurezza. Queste policy definiscono tempi, metodi, frequenza e responsabilità riguardo ai backup e al loro ripristino.

Buone pratiche per il backup

Anche se le normative non sempre specificano i dettagli di come eseguire i backup, esistono delle buone pratiche riconosciute:

  • Frequenza: Il backup deve essere eseguito regolarmente, in base alla criticità dei dati. Alcune normative richiedono che i dati sensibili vengano salvati quotidianamente.
  • Sicurezza dei backup: I dati devono essere criptati sia a riposo che durante il trasferimento. Questo è particolarmente importante per proteggere i dati sensibili in conformità con il GDPR e altre normative.
  • Ridondanza: I backup dovrebbero essere conservati in più di un luogo fisico o logico (ad es. cloud e on-premise).
  • Test di ripristino: I processi di backup dovrebbero essere regolarmente testati per garantire che i dati possano essere ripristinati correttamente.
  • Piani di emergenza e continuità: È consigliabile creare un piano di continuità operativa che includa i processi di backup e di ripristino per ridurre al minimo i tempi di inattività in caso di incidenti.

Conclusione

Sebbene non esista una singola legge che indichi come debba essere effettuato un backup, diverse normative, come il GDPR e gli standard ISO/IEC 27001, impongono requisiti che influenzano la strategia di backup di un’organizzazione. Ogni azienda deve sviluppare procedure di backup in linea con la propria industria, con i regolamenti applicabili e con le migliori pratiche internazionali, per proteggere i dati e garantire la continuità operativa.