Database SQL più sicuro [chiuso]

-4

Ho intenzione di eseguire un servizio Tor Hidden su un server Linux. Il mio sito avrà un database SQL. Questo DB contiene login utente e alcuni altri dettagli di base.

Se fa la differenza a seconda del software che uso, rispondi a quanto segue:

1) Quale software di database SQL dovrei usare per la massima sicurezza sul mio sito? IE per prevenire iniezioni SQL e altre vulnerabilità ecc.

2) Il software del database dovrebbe anche garantire la privacy / anonimità del server, quindi nessuna perdita di indirizzi IP ecc ... So che avere un server sicuro può ridurre questo rischio in modo che non possano essere eseguiti attacchi che potrebbero perdere dati importanti . Tuttavia, forse un determinato software di database potrebbe essere migliore in questo? Non sono sicuro.

Solo software libero, preferibilmente open source, più facile da configurare e gestire meglio. Conosco gli input per la sanificazione , l'impostazione corretta e altri fattori si applicano quando si tratta di sicurezza.

Modifica Le persone hanno seriamente frainteso la domanda. Ero solo curioso di sapere se esistesse un software di database che offrisse una sicurezza aggiuntiva nel caso in cui qualche attacco come SQLI avesse in qualche modo superato la sicurezza a livello di applicazione.

NON sto permettendo a nessun utente di comunicare direttamente con il database, ovviamente c'è un'applicazione tra utente e DB. Ancora una volta sono curioso di sapere se qualsiasi software DB sarebbe meglio di altri a proteggere l'anonimato del server, forse con un'opzione che impedisce al server di connettersi a qualsiasi cosa che non sia un host locale, quindi un utente malintenzionato non può collegarlo a un sito che controllano per vedere tutte le connessioni in entrata e registrare i loro IP (l'ho inventato come esempio per superarlo).

    
posta k1308517 25.05.2016 - 13:49
fonte

1 risposta

8

TL; TR: questi non sono problemi del database. Forse stai usando un'architettura sbagliata per il tuo servizio nascosto. E per quanto riguarda le informazioni aggiuntive dopo la modifica della domanda, vedi alla fine di questa risposta.

What SQL database software should I use for the best security on my site? IE to prevent SQL injections and other vulnerabilities etc.

Le iniezioni SQL non sono un problema del database ma dell'applicazione che utilizza un database che inoltra l'input dell'utente filtrato male direttamente al database.

The database software should also ensure the privacy/anonymity of the server, so no IP address leaks etc...

Sembra che tu voglia rendere il database direttamente disponibile all'utente, cioè senza un'applicazione attorno al database. Questa è una pessima idea perché l'utente può fare qualsiasi cosa con il database e non ha nemmeno bisogno di usare le iniezioni SQL.

Se invece si limita correttamente l'accesso al database, ovvero si consente solo l'accesso dall'interno dell'applicazione, quindi l'anonimato non è un problema del database perché non conosce l'indirizzo IP dell'utente. Quindi dipende solo dal tipo di dati che hai inserito nel database, che è un problema della tua applicazione e non del database.

Raccomando di dare un'occhiata più da vicino a architettura multilivello e assicurarti di fornire solo l'accesso pubblico al livello di presentazione (ad esempio il sito Web) ma non consentire mai l'accesso esterno al livello dati (ovvero il database). Questo accesso deve essere eseguito solo dal livello logico e nessun dato utente non filtrato deve mai essere passato al database (ad esempio impedire l'iniezione SQL).

EDIT: People have seriously misunderstood the question. I was just curious if database software existed which had additional security in case any attacks such as SQLI had somehow gotten passed the application level security.

In questo caso la domanda sull'anonimato non ha senso, perché se il database non è esposto direttamente all'utente, può solo conoscere l'indirizzo IP dell'utente se l'applicazione fornisce esplicitamente queste informazioni al database.

Come protezione aggiuntiva SQLi: è previsto che l'attività di un database esegua i comandi che gli vengono inviati. L'attività non è controllare se questi comandi potrebbero essere causati dall'input dell'utente non filtrato. E in questa fase non ci sono ancora abbastanza informazioni su questo perché non si sa cosa sia l'input dell'utente e cosa no. Pertanto è possibile applicare solo euristiche grezze o filtri aggiuntivi che limitano i comandi che possono essere eseguiti. Non sono a conoscenza di alcun database che abbia già integrato tali euristiche, ma esistono firewall e ID delle applicazioni Web che includono tale euristica o anche firewall di database .

    
risposta data 25.05.2016 - 14:07
fonte

Leggi altre domande sui tag