Qualcuno si è connesso a MySQL dall'esterno?

3

Ho un server Ubuntu con un database MySQL a cui si accede solo da localhost.

  1. Esiste un meccanismo predefinito in MySQL (o Ubuntu) che registra i tentativi di connessione, quindi posso verificare se il database è stato (tentato) utilizzato dall'esterno?

  2. In caso contrario, è possibile abilitare un tale meccanismo?

La cosa migliore sarebbe avere un meccanismo di registrazione che registra solo i tentativi remoti, e non l'accesso locale (legittimo) che ci sarebbero milioni, quindi sarebbe facile individuare quelli remoti.

    
posta forthrin 01.08.2016 - 22:56
fonte

2 risposte

2

Per abilitare il registro:

In /etc/my.cnf :

general_log_file = /var/log/mysql/mysql.log general_log = 1

Ci sono botnet che scansionano per le porte 3306, quindi se non avevi una password per l'account di root allora sicuramente sì.

Tale accesso non viene normalmente registrato perché sui server con PHP di solito c'è una nuova connessione per ogni richiesta, quindi registrarlo è un po 'eccessivo.

Assicurati di avere l'impostazione della password di root. Puoi utilizzare MySQL Workbench per ispezionare gli utenti. Verifica se le nuove connessioni sono accettate solo da localhost (ad esempio, gli utenti autorizzati sono solo da localhost - 127.0.0.1 ).

Nella nota a margine, se si utilizza MySQL per lo sviluppo della propria applicazione, potrebbe essere meglio aggiornarlo alla versione più recente. È perché MySQL come parte del sistema operativo è MOLTO vecchio a causa della vecchia compatibilità delle applicazioni. Le versioni più recenti consentono la creazione di diverse classi di app, soprattutto se si tratta di report e documenti. Puoi aggiungere un nuovo repository e fare apt-get update . In Centos7, ad esempio, c'è MariaDB, e nella versione più recente di Fedora c'è la versione 10.1 per impostazione predefinita.

    
risposta data 01.08.2016 - 23:14
fonte
2

Sento che questo è il modo sbagliato per farlo. Anche se sapessi che qualcuno ha violato il sistema, potrebbe essere troppo tardi per evitare danni. Inoltre, se qualcuno è abbastanza esperto, rileverà un sistema Ubuntu non schermato e cercherà di entrare, diciamo, un venerdì sera. Quando arriverà il lunedì mattina, i registri potrebbero non mostrare nulla e il sistema riporterà gli affari come al solito con una faccia seria e un'espressione seria.

Quello che vuoi è che nessuno si colleghi al sistema .

Se non hai bisogno di connessioni da nessun'altra parte ma localhost, non associ nemmeno l'interfaccia . Puoi saltare del tutto il networking TCP e collegarti solo tramite un socket locale (se la memoria serve, c'è un'impostazione in my.cnf - qualcosa come skip-networking o skip-tcp-networking).

Se hai bisogno di per usare le connessioni TCP, usa il firewall per negare qualsiasi connessione in entrata alla porta 3306 / tcp su tutte le interfacce eccetto "lo", localhost.

Questo consumerà quasi risorse e ti garantirà maggiore sicurezza e tranquillità. Ovviamente nulla ti impedisce di fare entrambi - impedire accessi, e accedere a qualsiasi elemento che possa comunque riuscire in qualche modo.

    
risposta data 01.08.2016 - 23:26
fonte

Leggi altre domande sui tag