Come configurare smartphone e PC. Portale informativo
  • casa
  • TV (Smart TV)
  • Proteggi il tuo database Access con una password. Sicurezza in un ambiente multiutente

Proteggi il tuo database Access con una password. Sicurezza in un ambiente multiutente

Per "protezione del database" intendiamo un modo per prevenire accesso non autorizzato alle informazioni memorizzate nelle tabelle. Protezione codice sorgente moduli e moduli non vengono considerati.

La rilevanza di questo argomento è estremamente alta. Questo può essere giudicato dal primo posto nella classifica (18mila visite) dell'articolo scritto da Yuri Sherman. Mi sono persino imbattuto in un libro di 500 pagine interamente dedicato a Protezione dell'accesso: Garry Robinson "Protezione e sicurezza dei database Microsoft Access nel mondo reale".

Metodi standard di protezione

Protezione tramite password del database

Questo metodo di protezione consente di impostare una password per aprire il database per tutti gli utenti. Per crearlo è necessario aprire il file del database in modalità “esclusiva” e selezionare la voce di menu Strumenti/Protezione/Imposta password database. Per lavorare con un database di questo tipo in MS Access, dovrai inserire una password. Ecco un esempio di come lavorare con un file di database utilizzando DAO o ADO.

TestDAO secondario pubblico()
Dim mWS come DAO.Workspace
Dim mDB come DAO.Database
Imposta mWS = DBEngine.Workspaces(0)

("C:\a97.mdb", Vero, Vero, ";pwd=123")
Fine sott

Sottotitolo pubblico TestADO()

CnDB.Open "Provider=Microsoft.Jet.OLEDB.4.0" & _
";Origine dati=C:\a97.mdb" & _
";Jet OLEDB:Password database=123"
Fine sott

Questo non è il massimo modo affidabile protezione della banca dati. Ci sono un numero sufficiente di gratuiti e utenze a pagamento, visualizzando la password. Sono disponibili codici sorgente VB inclusi che consentono di leggere tale password. Altrimenti, non è poi così male. Un giorno mi sono imbattuto in una modifica originale di questo metodo di protezione, di cui parleremo di seguito.

Protezione tramite password dell'utente

Questo metodo ti consente di entrare livello aggiuntivo restrizioni associate al funzionamento del database di Access. Basato sulla creazione di un file di gruppo di lavoro, che definisce i nomi utente, le loro password e i diritti per lavorare con vari oggetti di database.

Sequenza di azioni per creare un file protetto:

  • Crea un nuovo file dei gruppi di lavoro.
    Per fare ciò, in Access 97-2000 viene avviato il programma WRKGADM.EXE e in Access 2003 è necessario selezionare la voce di menu "Strumenti / Sicurezza / Amministratore gruppi di lavoro". Nell'amministratore, fare clic sul pulsante "Crea", specificare il nome, l'organizzazione e il codice del gruppo. Specificare il nome e la posizione file creato. Per esempio:
    Nome: nome_prova
    Organizzazione: ~
    Codice gruppo di lavoro: riga 20 caratteri.
    File del gruppo di lavoro: C:\test\gr.mdw
  • Creazione di un collegamento per avviare MS Access utilizzando il file mdw creato. Il collegamento deve contenere la riga: [percorso MSACCESS.EXE] /WrkGrp [percorso del file mdw]. Ad esempio: "C:\Programmi\MSOffice2003\OFFICE11\MSACCESS.EXE" /WrkGrp C:\test\gr.mdw
  • Dopo aver avviato Access utilizzando questo collegamento, è necessario aprire la voce di menu "Strumenti / Sicurezza / Utenti e gruppi". Nella finestra di dialogo che si apre, devi creare un nuovo utente e aggiungerlo al gruppo "Amministratori". Ad esempio, "test_User" è stato creato con il codice "987654321"
  • Ora devi aprire Access come utente creato. Per fare ciò, è necessario aggiungere la riga: /user [nome utente] al collegamento creato. Ad esempio: "C:\Programmi\MSOffice2003\OFFICE11\MSACCESS.EXE" /WrkGrp C:\test\gr.mdw /User test_User
  • Avvia Access utilizzando questo collegamento. Ora all'utente creato deve essere assegnata una password. Questa operazione viene eseguita nella stessa finestra di dialogo Utenti e gruppi. Supponiamo che all'utente "test_User" venga assegnata la password "test_Password". Successivamente, è necessario creare un nuovo database. In questo caso, il proprietario di questo database, così come di tutti gli oggetti creati o importati (tabelle, query, ecc.) sarà l'utente il cui nome è stato specificato nel collegamento.
  • Dopo aver creato il database, è consigliabile rimuovere “Admin” dal gruppo “Admins” e togliere i diritti sugli oggetti del database e aprire il database dal gruppo “Users”.
  • Aggiungi il nome del database protetto al collegamento. Ad esempio: "C:\Programmi\MSOffice2003\OFFICE11\MSACCESS.EXE" C:\test\db2k_test.mdb /WrkGrp C:\test\gr.mdw /User test_User /pwd test_Password

Ecco un esempio di apertura di un database protetto a livello utente utilizzando DAO o ADO

TestDAO secondario pubblico()
Dim mWS come DAO.Workspace
Dim mDB come DAO.Database
DBEngine.SystemDB = "C:\test\gr.mdw"
Imposta mWS = DBEngine.CreateWorkspace_
("", "test_Utente", "test_Password", dbUseJet)
Imposta mDB = mWS.OpenDatabase_
("C:\test\a97.mdb", Vero)
Fine sott

Sottotitolo pubblico TestADO()
Dim CnDB come nuovo ADODB.Connection
CnDB.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Origine dati=C:\test\a97.mdb;" & _
"Jet OLEDB:database di sistema=C:\test\gr.mdw;" & _
"ID utente=utente_prova;" & _
"Password=prova_Password;"
Fine sott

Rimozione di tale protezione.
Creare un nuovo database. Nel collegamento, scrivi il percorso di questo database, il file MDW del database protetto, il nome e la password del proprietario. Apri un nuovo database utilizzando questa scorciatoia. Importa le tabelle da quella protetta e quindi modifica il database proprietario per tutti gli oggetti in Admin. Per scoprire il nome e la password del proprietario del database, è possibile utilizzare programmi specializzati descritto nella panoramica delle password di accesso. Se il file dei gruppi di lavoro risulta mancante, è possibile ripristinarlo. Per fare ciò, dovrai scoprire i nomi e gli identificatori dei proprietari degli oggetti del database. Queste informazioni sono contenute in un file di database e possono essere recuperate utilizzando programmi come AOPR. Utilizzando questi dati viene creato nuovo file. (sequenza descritta sopra)

Non è affatto necessario utilizzare programmi che consentano di determinare il database o la password dell'utente. Spesso ai programmatori non interessa affatto nascondere la password nel testo del programma. Dopo aver avviato un programma che funziona con un database protetto, è necessario aprirlo editor esadecimale WinHex memoria virtuale questa applicazione. Dopo la ricerca Stringhe Unicode"ID utente="; "Password="; "Database Password=" o "pwd=" possono trovare il nome utente, la password e la password del database.


Puoi ignorare completamente la presenza della protezione. Per fare ciò, è necessario utilizzare AccessRecovery, che crea un nuovo file senza protezione e vi trasferisce tabelle, query, moduli, macro, report e codice del modulo.

Metodi di protezione non standard

Modifica dell'estensione del file

Un modo abbastanza semplice per ingannare è modificare l'estensione del file del database. Vedendo un'estensione sconosciuta, non tutti cercheranno di scoprire la natura di questo file. Inoltre, diventa possibile associare questa estensione al tuo programma, in modo che quando clicchi su un file, venga avviata la tua applicazione e non Access. Si consiglia di aprire un file di questo tipo con accesso esclusivo, poiché in questo caso il file ldb non verrà creato.

Protezione utilizzando una password del database contenente caratteri non stampabili

Innanzitutto, questo metodo ha lo scopo di impedire che le password vengano determinate utilizzando programmi speciali. Una base con tale protezione ha rovinato bene il mio disturbo. Ora rovinerò l'umore dei suoi autori raccontando questa difesa. Il metodo si basa sul fatto che la password del database Formato di accesso 2000 e 2002-2003 - stringa di testo nel formato Unicode. Allo stesso tempo, non ci sono restrizioni sul suo contenuto. Il modo standard per impostare e utilizzare una password del database prevede l'immissione dalla tastiera in una finestra di dialogo. Se la stringa della password contiene caratteri non stampabili, questi non verranno visualizzati correttamente dal programma di apertura della password del database. Questa password invece non può essere inserita nella finestra di dialogo quando si apre il database in MS Access.
Ma non mi sono dimenticato nemmeno di Access 97. Il fatto è che le specifiche del database e DAO 3.60 aiutano a indicarlo numero massimo Ci sono 14 caratteri in una password, ma in realtà possono essercene 20. Allo stesso tempo, Access 97 stesso non consente l'immissione di righe di password con più di 14 caratteri. Anche la specifica di Access 2003 dice 14 caratteri, ma il programma consente di inserirli tutti e 20. È anche possibile utilizzare caratteri non stampabili, che porta in uno stato di torpore la maggior parte dei programmi per crackare le password.

Per impostare tale password, sarà necessario utilizzare un programma che utilizzi il metodo CompactDatabase delle librerie ADOX o DAO.

Hacking sulla sicurezza.

  • Innanzitutto, puoi utilizzare AccessRecovery.
  • In secondo luogo, puoi provare a determinare la password del database utilizzando programmi speciali. La panoramica delle password di accesso fornisce tabella pivot secondo le loro capacità.
  • In terzo luogo, puoi scoprire la password analizzando il codice del programma nel debugger. Qualunque sia la password, viene comunque passata come stringa di testo nel metodo di apertura del database. Se hai una certa esperienza, questo non è molto compito difficile. Quando ho riscontrato per la prima volta tale protezione, sono riuscito a trovare la password utilizzando il debugger OllyDbg, trovando il luogo in cui è stato creato ADODB.Connection
  • Puoi scoprire o modificare la password del database senza ricorrere a programmi speciali. In Access 97 la password si ottiene eseguendo XOR la ​​password con una sequenza di 20 byte. I valori di questi byte possono essere ottenuti da qualsiasi non protetto da password file mdb. A partire da Access 2k, a causa dell'utilizzo di Unicode, vengono allocati 40 byte per memorizzare 20 caratteri di password. Durante la crittografia viene utilizzata anche l'addizione XOR, ma per ottenere una sequenza di byte corrispondente a una password vuota è necessario creare un file con la data del database in esame. I byte risultanti possono essere immessi nel file in esame e la password può essere reimpostata, oppure possono essere aggiunti a byte simili nel file in esame e si può ottenere il valore della password.

Questo lavoro non discute le possibili manipolazioni con i file del gruppo di lavoro. Sicuramente ci sono modi per proteggere le password memorizzate al loro interno da programmi troppo ficcanaso, ma tutto ciò diventa privo di significato quando si utilizza AccessRecovery, che non si accorge affatto della protezione.

Protezione dalla modifica dei file

Il metodo di protezione si basa sulla modifica dei primi byte del file. Pertanto, prima di aprire il database, viene scritto nel suo file titolo corretto, memorizzato nel programma, e dopo averlo chiuso restituisce quello sbagliato. Quando provi ad aprire un file di database utilizzando MS Access, viene visualizzato un messaggio di errore. Non è una cattiva idea combinare questo metodo con la modifica dell’estensione del file. Ad esempio, puoi prendere l'intestazione di un file dbf e scriverla all'inizio del file mdb. Successivamente, modifica l'estensione del file in dbf e goditi il ​​risultato. Il database ora può essere aperto in Excel, Access o in un altro programma che ne consenta la lettura file dbf. Ecco un esempio di tale conversione:

"modifica dell'intestazione del file del database
"Es: Chiama BaseProtect("C:\01.mdb", True)

Public Sub BaseProtect(sPath come stringa, bLock come booleano)
Dim iFn come numero intero
iFn = FileLibero()
Apri sPath per l'accesso binario Scrivi come #iFn
Inserisci #iFn, 5, CStr(IIf(bLock, _
"ProtectDataBase", "Standard Jet DB"))
Chiudi #iFn
Fine sott

Il metodo non è sufficientemente efficace, poiché il programma che lavora con il database può essere interrotto artificialmente e sul disco rimarrà un database non protetto. Pertanto, dovrebbe essere utilizzato solo in combinazione con altri metodi.

Protezione modificando la versione del database

Questo metodo è ulteriori sviluppi idee per modificare l'intestazione del file per contrastare i programmi che leggono le password. Il metodo si basa sul fatto che per lavorare con i database Access 97 e 2k, i programmi utilizzano algoritmi diversi leggendo la password e allo stesso tempo cercando di determinare autonomamente la versione del file mdb.

Per determinare la versione si può utilizzare una sequenza di 40 byte, partendo da 122 dall'inizio del file. Se inseriamo questa sequenza da Access 2k nel database di Access 97, otterremo un risultato interessante. MS Access, ADO e DAO funzionano bene con questo file e la maggior parte dei programmi per crackare le password cade in questo trucco. Un risultato simile può essere ottenuto trapiantando una sequenza di byte da Access 97 ad Access 2k

Accedi all'intestazione del file 2k
Il frammento della password del database è evidenziato in verde.
blu - frammento caratteristico della versione del database
Scostamento 0 1 2 3 4 5 6 7 8 9 A B C D E F

00000000 00 01 00 00 53 74 61 6E 64 61 72 64 20 4A 65 74
00000010 20 44 42 00 01 00 00 00 B5 6E 03 62 60 09 C2 55
00000020 E9 A9 67 72 40 3F 00 9C 7E 9F 90 FF 85 9A 31 C5
00000030 79 BA ED 30 BC DF CC 9D 63 D9 E4 C3 9F 46 FB 8A
00000040 BC 4E 9B 6D EC 37 40 D2 9C FA DB C8 28 E6 0E 20
00000050 8A 60 49 02 7B 36 E8 E4 DF B1 6A 62 13 43 D2 39
00000060 B1 33 29 F7 79 5B 8F 23 7C 2A 4F E9 7C 99 08 1F
00000070 98 FD DC 75 0C FF D8 FD 82 66 5F 95 F8 D0 89 24
00000080 85 67 C6 1F 27 44 D2 EE CF 65 ED FF 07 C7 46 A1
00000090 78 16 0C ED E9 2D 62 D4 54 06 00 00 34 2E 30 00

Protezione tramite chiave elettronica

Questa è un'altra conferma metodi standard protezione, anche da produttori di terze parti vulnerabile. Questo è circa Chiavi HASP. Utilizzando l'utilità HASP Envelope, è possibile crittografare un file (in in questo caso DB) e consentirne l'accesso solo da un'applicazione protetta. Viene utilizzato un meccanismo di crittografia "trasparente". Con l'inizio sistema operativo viene avviato un determinato processo che monitora tutti gli accessi al file di database protetto. Se questa richiesta viene da applicazione regolare, ad esempio da MS Access: il file viene letto e viene visualizzato un messaggio relativo al "formato del database non riconoscibile". Ma se l'applicazione specificata durante la crittografia funziona con il file, i dati vengono trasferiti ad esso in forma decrittografata. Di conseguenza, il programma stesso non sospetta la presenza di protezione. Sì, la difficoltà di hackerare un database di questo tipo aumenta in modo significativo. Ma devi ricordare che la domanda deve essere allegata chiave elettronica, prezzo N c.u. e che la velocità di accesso ai dati diminuisce di due o tre volte.

Hacking sulla sicurezza.

Sono stati individuati due modi per ottenere l'ordine completo del database.

  • Innanzitutto, il codice del programma si è rivelato vulnerabile. L'accesso al database è stato effettuato tramite query. Fin dall'inizio, nel debugger è stata trovata una richiesta che veniva richiamata in risposta alla pressione di un pulsante nel programma. Successivamente, questa richiesta è stata sostituita dal testo di una richiesta per creare una tabella in un altro database. Dopo aver fatto clic sul pulsante, la query selezionava i dati della tabella dal database protetto e li salvava in un altro file.
  • In secondo luogo, è stato scritto un programma che, utilizzando un hook, ha inserito il proprio codice nello spazio degli indirizzi di un processo protetto da HASP e ha semplicemente copiato il file del database per suo conto.

Crittografia dei valori della tabella

Questo metodo non è male. In ogni caso c’è una concreta speranza di salvare qualcosa. Tuttavia, ci sono una serie di limitazioni. Prima di visualizzare i dati, è necessario decodificarli. Non è possibile cercare parte di una stringa in un campo crittografato. L'algoritmo di crittografia e la chiave sono contenuti nel programma, il che significa che esiste una potenziale vulnerabilità. In questo caso, l'affidabilità dipende dalla resistenza all'hacking del programma che lavora con il database. Puoi unire l'utile al dilettevole: non crittografare, ma comprimere il contenuto dei campi memo. Gestire l'algoritmo di compressione nel codice del programma è un compito noioso.

Conclusione

Prima di sollevare la questione su come proteggere il database, vale la pena pensare alla sua necessità. Non fare affidamento su metodi standard, ma questo non è un motivo per rifiutare utilizzando Accesso. Uno specialista può hackerare qualsiasi cosa, ma tu puoi renderlo non così facile.

L'articolo seguente descrive la crittografia trasparente del database Accedi ai dati, che presenta una serie di vantaggi rispetto ai metodi esistenti.

La password dell'account utente è definita per impedire all'utente di connettersi con l'account di un altro utente. Accesso MS predefinito assegna a un account utente Ammin e tutti i nuovi account utente creati in gruppo di lavoro, password vuote.

Attenzione! Se la password viene persa o dimenticata sarà impossibile recuperarla. Pertanto, è necessario conservarlo in un luogo sicuro. Per ottenere l'accesso al database, un utente che ha perso la password deve contattare amministratore(al membro del gruppo Amministratori il gruppo di lavoro in cui sono stati creati l'account e la password) in modo da poter rimuovere la password.

Per Crea una password l'utente ha bisogno di:

1. Avvia MS Access utilizzando il gruppo di lavoro in cui è archiviato l'account utente e accedi utilizzando l'account per il quale devi creare o modificare la password.

2. Aprire il database.

3. In una scheda di un gruppo Amministratore seleziona una squadra

4. Nella scheda cambiare la password lasciare il campo password attuale vuoto, se l'account non disponeva in precedenza di una password. Altrimenti inserisci nel campo password attuale vecchia password.

5. Entra nuova password in campo nuova password.

6. Reinserire nuova password in campo Conferma e premere il pulsante OK(Fig. 11.18).

Rimozione della password di un account utente

Per eseguire questa procedura, è necessario accedere al database utilizzando un account membro del gruppo Amministratori.

1. Avvia MS Access utilizzando file del gruppo di lavoro, che memorizza l'account utente.

2. Aprire il database.

3. Nella scheda Utilizzo dei database della barra multifunzione nel gruppo Amministratore seleziona una squadra Utenti e autorizzazioni - Utenti e gruppi….

4. Nella scheda Utenti immettere il nome dell'account utente nel campo Nome.

5. Premere il pulsante Rimuovi la password(Fig. 11.19).

6. Ripetere i passaggi 4 e 5 per rimuovere altre password, quindi premere il pulsante OK.



Autorizzazioni di accesso

Autorizzazioni- un insieme di attributi che determinano i diritti dell'utente sui dati o sugli oggetti nel database.

Ci sono due tipi permessi di accesso:

1. Esplicito - se sono assegnati direttamente all'account utente. Queste autorizzazioni non influiscono sulle autorizzazioni degli altri utenti.

2. Implicito - Autorizzazioni di accesso assegnate all'account di gruppo. Un utente incluso in tale gruppo riceve tutte le autorizzazioni concesse al gruppo. La rimozione di un utente da questo gruppo rimuove tutte le autorizzazioni assegnate a quel gruppo.

Quando un utente tenta di eseguire qualsiasi operazione su un oggetto di database protetto, le sue autorizzazioni correnti sono determinate da una combinazione di autorizzazioni di accesso esplicite e implicite. A livello di utente agire sempre restrizioni minime dell'imposto permessi espliciti per l'utente e per tutti i gruppi a cui appartiene questo utente. Pertanto, il modo più semplice per gestire un gruppo di lavoro è creare nuovi gruppi e definire le autorizzazioni di accesso per tali gruppi anziché per i singoli utenti. È quindi possibile modificare le autorizzazioni per i singoli utenti aggiungendo utenti ai gruppi o rimuovendoli dai gruppi. Inoltre, se è necessario concedere nuove autorizzazioni, queste vengono concesse a tutti i membri del gruppo contemporaneamente in un'unica operazione.

Modificare le autorizzazioni di altri utenti su singoli oggetti di database i seguenti utenti possono:

· membri del gruppo Amministratori, definito in file del gruppo di lavoro, che è stato utilizzato per creare un database specifico;

· proprietario oggetto;

· Qualunque utente, che ha ricevuto per questo oggetto autorizzazioni di amministratore.

In alcuni casi, gli utenti che non dispongono dell'autorizzazione per eseguire un'azione hanno la possibilità di assegnarla a se stessi. Questa situazione si verifica per un utente che è membro di un gruppo Amministratori O proprietario oggetto.

L'utente che ha creato la tabella, la query, il modulo, il report o la macro è proprietario questo oggetto. Inoltre, un gruppo di utenti che può modificare le autorizzazioni nel database può anche modificare il proprietario degli oggetti o ricreare tali oggetti, il che è modo alternativo cambiare il proprietario degli oggetti. Per creare nuovamente un oggetto è sufficiente importare o esportare questo oggetto in un altro database o fare una copia dell'oggetto. Questa tecnica è il modo più semplice per modificare il proprietario degli oggetti, incluso l'intero database.

Avere amministratori e proprietari è essenziale perché vengono concessi permessi che non possono essere tolti.

1. Amministratori(membri del gruppo Amministratori) possono sempre ottenere tutte le autorizzazioni sugli oggetti creati nel gruppo di lavoro.

2. Conti che sono proprietari tabelle, query, moduli, report o macro possono sempre ottenere autorizzazioni complete per accedere a questi oggetti.

3. Un account che lo è proprietario DB, puoi sempre aprire il DB.

Perché il Conti utente Ammin sono esattamente gli stessi per tutte le istanze di MS Access, il primo passo nell'organizzazione di un sistema di sicurezza è definire gli account amministratore E proprietario(o un singolo account che sia sia un account amministratore che proprietario). Successivamente, dovresti eliminare l'account utente Ammin dal gruppo Amministratori. Se ciò non viene fatto, qualsiasi Utente Microsoft Access potrà connettersi al gruppo di lavoro utilizzando l'account Ammin e prendi tutte le autorizzazioni accesso a tabelle, query, moduli, report e macro del gruppo di lavoro.

Al gruppo Amministratori consentito aggiungere numero arbitrario conti, però proprietario della banca dati Può esserci un solo account: quello attivo durante la creazione del database o quello attivo durante il trasferimento dei diritti di proprietà creando un nuovo database e importandovi tutti gli oggetti dal database originale. Tuttavia, gli account di gruppo possono essere proprietari di tabelle, query, moduli, report e macro di database.

Per accedere a MS Access è possibile utilizzare solo gli account utente; Non è possibile accedere utilizzando un account di gruppo.

Gli account creati per gli utenti del database devono essere salvati nel file del gruppo di lavoro a cui si uniranno gli utenti per lavorare con il database. Se per creare il database viene utilizzato un file del gruppo di lavoro diverso, è necessario modificarlo prima di creare gli account.

Devi creare password univoche per i tuoi account amministratore E utenti. Un utente che si connette con un account amministratore avrà sempre autorizzazioni complete per tutte le tabelle, query, moduli, report e macro creati nel gruppo di lavoro. Un utente che si connette utilizzando l'account proprietario sarà sempre in grado di ottenere tutte le autorizzazioni per accedere agli oggetti di proprietà di quel proprietario.

Dopo aver creato gli account utente e di gruppo, è possibile visualizzare e stampare le relative strutture. MS Access stampa un rapporto sugli account del gruppo di lavoro, mostrando i gruppi a cui appartiene ciascun utente e tutti gli utenti di ciascun gruppo.

Archivio della banca dati Dati Microsoft Accedi, come gli altri Documenti d'ufficio, può essere protetto utilizzando una password per aprire. Copia il file BDTur_firm.mdb con cui abbiamo lavorato nel primo capitolo, chiamalo "BD_withPassword.mdb". Per impostare una password dovremo aprire il database nella cosiddetta modalità esclusiva per utente singolo. Il fatto è che la possibilità di impostare una password quando più utenti lavorano contemporaneamente 1 Microsoft Accesso all'ufficio 2003 supporta lavoro simultaneo 255 utenti. causerebbe errori, quindi MS Access non lo fornisce. Lanciamo il programma, nel menu principale andiamo su “File\Apri”, andiamo nella directory desiderata, selezioniamo il file, dall'elenco a tendina dei valori del pulsante “Apri” selezioniamo “Esclusivo” (Fig. 3.6):

Viene visualizzata la finestra del database. Nel menu principale, andare su "Strumenti\Protezione\Imposta password database", nella finestra "Imposta password database", inserire la password "12345" e confermarla (Fig. 3.7).


Riso. 3.7.

Ora, ogni volta che apri questo file su qualsiasi computer, dovrai inserire la password specificata (Fig. 3.8).


Riso. 3.8.

Per cambiare la password dovremo cancellare quella esistente e poi impostarne una nuova. Aprire nuovamente il database in modalità esclusiva, nel menu principale andare su "Strumenti\Protezione\Rimuovi password database". Nella finestra che appare, inserisci la password attuale; dopo aver cliccato sul pulsante "OK", verrà cancellata. Per inserire un nuovo valore, vai nuovamente alla voce di menu "Imposta password database", questa volta ne inseriremo di più password complessa"q1w2e3r4t5y6u7i8o9p0".

Proteggere un file con una password è un metodo estremamente inaffidabile e non può essere utilizzato applicazioni reali. La password è memorizzata in forma aperta ed è molto facile da aprire. Su Internet sono disponibili molte utility progettate a questo scopo, ad esempio Access Recupero della password Genio (http://www.lenosoft.com). Dopo aver avviato questo programma, seleziona il file MS Access per il quale devi selezionare una password e la password verrà immediatamente visualizzata nella finestra principale (Fig. 3.9).


Riso. 3.9.

Successivamente, dovremo inserire nuovamente la password: per non perdere tempo, impostarne nuovamente il valore su "12345". Iniziamo ora a connetterci al file di database dalle applicazioni. Naturalmente, ora dubiterai se utilizzare l'impostazione di una password come misura di sicurezza, ma in ogni caso dobbiamo imparare come connetterci anche a un database così “inaffidabile”. Crea un nuovo progetto Windows e chiamalo "VisualBD_withPassword". Dalla finestra Casella degli strumenti, trascina il controllo DataGrid sul modulo e imposta la sua proprietà Dock su "Riempi". Vai alla scheda Dati e fai doppio clic sull'oggetto OleDbDataAdapter. Nella procedura guidata che appare, configura la connessione al file BD_withPassword.mdb. Ora nella finestra "Proprietà connessione dati", durante il controllo della connessione, appare un messaggio di errore (Fig. 3.10):


Riso. 3.10.

In base al testo dell'errore, viene naturale il desiderio di deselezionare la casella "Password vuota" e inserire "12345" nel campo della password. Ma questa volta c'è un errore 2 Assicurati inoltre che il file del database non sia aperto nel file Programma Microsoft Accesso.(Fig. 3.11):


Riso. 3.11.

Il fatto è che l'interfaccia della scheda "Connessione" è progettata per l'inserimento dei parametri dell'account per la protezione a livello di utente. Lo vedremo dopo. Anche in questo caso seleziona la casella di controllo "Svuota password" e vai alla scheda "Tutti". Fare doppio clic sulla proprietà Jet OLEDB:Database Password (o, dopo averla selezionata, fare clic sul pulsante “Cambia valore”), nella finestra “Cambia valore proprietà” che appare, inserire la password “12345” (Fig. 3.12) .


Riso. 3.12.

Andiamo alla scheda "Connessione": finalmente siamo riusciti ad accedere al database (Fig. 3.13).


Riso. 3.13.

Fare clic sul pulsante "OK" per chiudere la finestra "Proprietà collegamento dati". prossimi passi Nella "Configurazione guidata adattatore dati" configuriamo l'estrazione di tutti i record dalla tabella "Turisti". IN ultimo passo procedura guidata - includendo la password nella stringa di connessione - selezionare il pulsante "Includi password"; studieremo la stringa generata dalla procedura guidata (Fig. 3.14):


Riso. 3.14.

Nel pannello dei componenti del modulo, seleziona l'oggetto DataAdapter, vai alla sua finestra Proprietà e fai clic sul collegamento Genera set di dati. Lasciamo il nome predefinito dell'oggetto DataSet. Nel progettista del modulo, compiliamo l'oggetto DataSet e definiamo anche l'origine dati per l'elemento DataGrid:

public Form1() (InizializzaComponent(); oleDbDataAdapter1.Fill(dataSet11); dataGrid1.DataSource = dataSet11.Tables.DefaultView; )

Qui indichiamo l'indice ( uguale a zero) l'unica tabella situata nell'oggetto DataSet.

Lanciamo l'applicazione. Il modulo visualizza i dati dal database (

La protezione parziale del database viene fornita aggiungendo una password, che limita chi può aprire il database. accesso Microsoft memorizza la password del database in formato non crittografato. Se ciò compromette la sicurezza di un database protetto da password, la password non deve essere utilizzata. È invece necessario definire la sicurezza a livello di utente.

    Chiudere il database. Se il database è aperto a accesso pubblico online, assicurati che tutti gli altri utenti lo abbiano chiuso.

    Fare copia di backup database e conservarlo in un luogo sicuro.

    Sul menu File selezionare squadra Aprire.

    Fare clic sulla freccia a destra del campo Cartella, seleziona l'unità e la cartella in cui si trova il file del database di Microsoft Access e fai clic sull'icona del file.

    Fare clic sulla freccia a destra del pulsante Aprire, seleziona un'opzione Monopolio e aprire il database.

    Sul menu Servizio selezionare squadra Protezione e sottocomando Imposta la password del database.

    Inserisci la tua password nel campo Parola d'ordine.

    Conferma e quindi fare clic sul pulsante OK.

La password è ora impostata. La prossima volta che apri il database, verrà visualizzata una finestra di dialogo che ti chiederà di inserire una password.

Appunti

    Se viene collegata una tabella in un database protetto da password, quando viene stabilito il collegamento, la password viene archiviata (posizionata in un buffer temporaneo) nel database a cui è collegata la tabella. Ciò consentirà a chiunque di vedere i tuoi dati.

Impostazione di una password in un progetto di Microsoft Access (.Adp)

Creare un file di progetto di Microsoft Access (.adp).

    Chiudere il file di progetto di Microsoft Access. Quando si lavora in multiutente ambiente, assicurati che il file di progetto venga chiuso da tutti gli altri utenti.

    Seleziona dal menu Servizio squadra Utilità e poi il comando Crea il file ADE.

    Nella finestra di dialogo Database da salvare come ADE seleziona il file di progetto che desideri salvare come file .ade e clicca sul pulsante Crea ADE.

    Nella finestra di dialogo Salvataggio del file ADE con il nome Fornire un nome, un'unità e una cartella per il progetto Microsoft Access.

A differenza di un database di Microsoft Access In un progetto non è possibile proteggere moduli, report o macro utilizzando la sicurezza a livello di utente e non è possibile impostare una password per un file di progetto di Microsoft Access (.adp). Per proteggere gli oggetti del modulo o del report, è possibile nascondere gli oggetti nella finestra del database o configurare le opzioni di avvio. Per proteggere l'accesso ai layout di moduli e report in un progetto di Microsoft Access, è possibile impostare le opzioni di avvio o salvare il progetto di Microsoft Access come file .ade. Per proteggere l'accesso alle macro in un file di progetto, utilizzare le opzioni di avvio. La pagina di accesso ai dati può essere protetta utilizzando gli strumenti di protezione di file e cartelle del sistema operativo. Per proteggere il programma Visual Basic Per le applicazioni, è possibile convertire il file di progetto in un file .ade o impostare una password.

Modificare la password in un progetto Microsoft Access (.Adp)

Se il progetto MicrosoftAccess(.adp) è connesso al database MicrosoftSQL Server 6.5 (o successivo) protetto da server SQL, la password di accesso potrà essere modificata direttamente in Microsoft Access.

    Apri il file di progetto di Microsoft Access o passa alla finestra del database per aprire il progetto.

    Sul menu Servizio selezionare squadra Protezione e poi il comando Imposta una password di accesso.

    Inserisci la tua password attuale nel campo password attuale.

    Inserisci la tua password nel campo nuova password.

    Per confermare la password, inseriscila nuovamente nel campo Conferma e quindi fare clic sul pulsante OK.

Adesso la password è stata cambiata e Microsoft Access ripristina la connessione .adp con la nuova password. Alla successiva apertura del progetto si aprirà una finestra di dialogo nella quale è necessario inserire una password.

Per impedire l'uso non autorizzato del tuo database Access, puoi crittografarlo con una password. Successivamente, puoi decrittografare il database ed eliminare la password solo inserendola. Questo articolo descrive come crittografare un database con una password, nonché decrittografarlo e rimuoverne la password.

In più versioni precedenti Access può creare account utente e password utilizzando la funzione di sicurezza a livello di utente denominato. Questa sezione illustra la sicurezza a livello utente, che non è supportata quando si utilizza il formato ACCDB.

Non è possibile utilizzare un database crittografato per il quale viene persa la password. Se la password è sconosciuta, non può essere eliminata.

In questo articolo

Revisione

Utilizzando uno strumento di crittografia, puoi impedire la lettura del database con altri mezzi e proteggerlo con una password. In questo caso, è necessario ricordare le seguenti regole.

    Nuova caratteristica la crittografia si applica solo ai database in formato ACCDB.

    Questo strumento utilizza un algoritmo di crittografia più potente di versione precedente Accesso.

    Quando si crittografano database creati in versioni precedenti di Access (file con estensione mdb) o si applicano password, vengono utilizzate le funzioni corrispondenti di Access 2003.

Crittografia di un database con una password

In questo argomento viene descritto come creare una password e applicarla a un database desktop di Access.

Crittografia del database

Crittografia di un database partizionato

Per crittografare un database partizionato, questa procedura deve essere eseguita sia sul front-end che sul back-end. Durante la crittografia base server dati, cambiano le connessioni con le sue tabelle.

Apertura e decrittografia del database

Promemoria. Assicurati di ricordare la tua password. Password dimenticata impossibile ripristinare.

I migliori articoli sull'argomento