Pratica migliore per consentire SOLO l'accesso di MySQL a un server?

Ecco il caso d'uso:

Ho un sistema SaaS costruito (ambiente di dev) in una singola casella. Ho spostato tutto in un ambiente cloud che esegue Ubuntu 10.10. Un server esegue l'applicazione, l'altra gestisce il database. L'idea di base è che il server che gestisce il database deve essere accessibile solo dall'applicazione e dalla macchina dell'amministratore, entrambi dotati di chiavi RSA corrette.

La mia domanda:

Sarebbe meglio pratica utilizzare un firewall per bloccare l'accesso a tutte le porte tranne MySQL, o saltare firewall / iptables e distriggersre completamente tutti gli altri servizi / porte? Inoltre, dovrei eseguire MySQL su una port non standard? Questo database terrà informazioni piuttosto sensibili e voglio assicurarmi di fare tutto il ansible per proteggerlo correttamente.

Grazie in anticipo. Ho letto qui per un po ', ma questa è la prima domanda che ho chiesto. Cercherò di rispondere anche a qualcuno)

  • Attacco server, come risolvere il problema
  • Configurazione più semplice del server FTP con utenti virtuali su Linux
  • Come configurare Apache in Ubuntu?
  • allarmi di tensione sensori lm, sicuro da ignorare?
  • Compilare un singolo module del kernel (Debian / Ubuntu)
  • Quali sono i rischi per la sicurezza dell'uso di pfsense in un ambiente virtualizzato?
  • .pgpass con postgreSQL non funzionante
  • 12.04LTS - imansible aprire una connessione con l'agente di authentication
  • 4 Solutions collect form web for “Pratica migliore per consentire SOLO l'accesso di MySQL a un server?”

    Idealmente, per la massima sicurezza, si desidera più livelli.

    Ciò include cose come un firewall per bloccare tutti gli accessi alle porte in networking (il shorewall è abbastanza facile da impostare), nonché utilizzando tcpwrappers (hosts.allow / hosts.deny) per limitare l'accesso a vari demoni.

    Se il server di database riceve solo connessioni da un determinato server (con un IP statico), questo IP potrebbe essere utilizzato anche in combinazione con i methods di authentication standard di configs, tcwrapper e mysql di firewall per limitare ulteriormente l'accesso a un solo server.

    Una sorta di tunnel sicuro tra i server sarebbe ideale, bloccando altrimenti l'accesso al server DB.

    A differenza di ciò, penso che sia un'ottima idea usare il firewall per filtrare tutto ciò che è indesiderato e indesiderato, anche se sembra ridondante (ad esempio se c'è un demone attualmente in ascolto sulla port X o less). Una cosa 'bella' di filtrare tutto (tramite DROP in netfilter) è che non faccia una semplice scansione TCP porte veloce e facile.

    Non penso anche che sia una brutta idea cambiare la port predefinita per il DB, se deve essere aperta a Internet. Non devi mai essere sotto qualche illusione in proposito, solo, come una "misura di sicurezza".

    Come pratica migliore, è necessario disabilitare i servizi che non vengono utilizzati e il firewall delle caselle. Quando lo fai, applici in profondità il principio della difesa. È ansible modificare la port predefinita per mysql, in quanto ciò può aiutare a ridurre il rumore nei tuoi registri, ma questo non dovrebbe essere l'unica cosa che fai.

    Se il database sta per contenere informazioni sensibili, si consiglia di utilizzare la crittografia per questi dati anche se non sono abbastanza familiare con MySql per sapere che cosa support.

    Dovresti anche verificare la domanda " MySql Server Hardening " su security.se .

    Hey, provalo con /etc/hosts.allowed e /etc/hosts.deny

    Aggiungi TUTTO: tutti gli host negano ma il tuo IP e mysqld a hosts.allowed. Per saperne di più:

    http://linux.about.com/od/commands/l/blcmdl5_hostsal.htm

    Questo è il modo più semplice.

    La tua configuration apparirà come:

    /etc/hosts.allow TUTTI: (Your-Connecting-IP) e /etc/hosts.deny TUTTI: TUTTI

    aggiungendo localhost a consentito potrebbe essere una buona idea tho.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.