Ho appena acquistato un nuovo server CentOS, che ospiterà un'applicazione Ruby on rails, è pubblica. Cosa devo fare per proteggere questo server?
Il modo più semplice è di indurire utilizzando gli standard di conformità DISA / STIG (Security Technical Implementation Guides) pubblicati dal dipartimento della difesa.
Sono abbastanza completi ed esaustivi quando si tratta di server hardening. Puoi trovarli qui: link .
A parte il rafforzamento del server, devi anche assicurarti che la tua app sia scritta in conformità con le best practice dell'applicazione Web OWASP.
Oltre a un normale firewall, dovresti anche distribuire un Web Application Firewall (WAF) come mod_security e un sistema di rilevamento delle intrusioni basato su host (OSSEC).
Preferibilmente non si espongono interfacce di gestione come SSH sull'IP pubblico e tutta la registrazione dovrebbe essere effettuata verso un server di log separato (ovviamente se l'infrastruttura del server copre solo questo singolo server che potrebbe non essere un problema).
La risposta: dipende .
Mentre devi assolutamente familiarizzare con gli elementi della risposta di @LucasKauffman, devi anche capire che l'implementazione delle migliori pratiche richiederà del tempo. E significa anche mantenerli in futuro.
Non installo l'ultima versione di & il più grande sistema di allarme sulla mia 95 toyota corolla. Quindi tutto si riduce all'identificazione dei rischi e dei costi per non attenuarli.
Che cosa ospiterà il tuo server? Continuerai a tenere i numeri delle carte di credito (che spero di no!)? Sei più a rischio per gli scanner di server casuali o per un hacker dedicato a rompere la tua webapp? Tutto questo dovrebbe far parte della tua analisi dei rischi.
Ci sono certamente delle linee di base che puoi ottenere che sono di buon senso (e non costano molto):
Questo non è di gran lunga un elenco esaustivo. Ma questo è un punto di partenza.
Leggi altre domande sui tag linux webserver web-application