Checklist di sicurezza per l'hosting di un sito Web su server dedicato - Linux [chiuso]

1

Ho cercato per un po 'ora. Ma non riesco a trovare una checklist di start-up e di ricerca avanzata per comprendere le cose più importanti da tenere in considerazione mentre si cerca un server di hosting dedicato per un sito Web / un'applicazione.

Sto lavorando con un college e lì abbiamo installato un server IBM.

  1. SO: CentOS 6.4
  2. Tipo di applicazione: PHP / MYSQL
  3. Software di accesso al terminale: PuTTY con SSH (Ho anche creato token pubblici | Private

Altri software che ho installato sono:

  1. Virtualmin (mi ha aiutato a installare lo stack LAMP)
  2. Memcached

Fondamentalmente ho seguito tutti i passaggi che ho trovato in questo tutorial su youtube. L'ho trovato decente da capire in quanto mi ha dato un inizio: link

Ma questo non era fondamentale per la sicurezza.

Voglio solo sapere, come tutti gli altri neofiti, quale potrebbe essere la migliore lista di controllo che posso passare e imparare per assicurare che le cose siano sicure su aspetti più ampi.

Sarebbe di grande aiuto per tutti quelli che vogliono iniziare.

    
posta Django Anonymous 08.08.2013 - 14:47
fonte

3 risposte

1

Red Hat fornisce una guida di sicurezza per RHEL 6, che è applicabile anche a CentOS. Questo è disponibile qui . CIS fornisce anche una lista di controllo piuttosto decente che si trova qui .

Tuttavia, se questo server è per qualcosa di remotamente importante, ti consiglio vivamente di assumere un esperto per eseguire un controllo approfondito del sistema per te.

    
risposta data 08.08.2013 - 14:53
fonte
1

Tieni aggiornato il software, in particolare software che accetta input da fonti non attendibili (ad esempio utenti, Internet, chiunque non sia tu).

Consenti solo ciò che è necessario. Esempio: non consentire SSH in entrata globale, consentire solo le connessioni dall'intervallo IP degli uffici.

Evita le configurazioni in cui gli utenti possono esporsi al rischio. Esempio: richiede chiavi SSH e non consente password. È facile per un utente scegliere una password errata, è molto più difficile per loro scegliere una chiave privata sbagliata.

Verifica che le query del database siano resistenti all'iniezione SQL

Assicurati che la root dei tuoi documenti sia ben definita e che non stiate servendo più file di quanto non intendiate.

Riduci al minimo i privilegi che i tuoi account di database hanno (probabilmente non hanno bisogno di drop della tabella e creano, per esempio)

Evita luoghi nel codice in cui stai prendendo l'input dell'utente e eseguilo o valutandolo

Identifica i tuoi punti deboli e installa le attenuazioni protettive. Esempio: memcached non ha grandi funzionalità di controllo degli accessi, quindi collegalo a localhost o blocca connessioni in entrata indesiderate con IPTables.

Elimina i dati appartenenti ai tuoi utenti che non hanno più valore per te. Non puoi perdere ciò che non hai.

In un ambiente di hosting, comprendi che il tuo host ha accesso e controllo anche su quell'ambiente, quindi ci saranno alcuni rischi che non puoi evitare. Se si comportano male o fanno errori, i dati e i sistemi saranno a rischio. Probabilmente non va bene per i segreti di stato, forse un livello accettabile di rischio per il tuo sito. Questa è una sentenza che dovrai fare da sola.

    
risposta data 08.08.2013 - 18:54
fonte
1

@ Il consiglio di Terry è abbastanza solido. Lascia che ti offra una visione più concettuale.

Il tuo server sarà sicuro se tutto ciò che viene eseguito viene tenuto in considerazione e mantenuto in modo appropriato. Anche se sembra una tautologia (lo è), punta su alcuni principi generali:

  • Applica sempre gli aggiornamenti di sicurezza dal fornitore del software. Le distribuzioni Linux hanno strumenti per questo; lasciali correre.
  • Se possibile, non installare software che non proviene dal distributore di distribuzione Linux, perché un software extra significa lavoro aggiuntivo per applicare le patch di sicurezza.
  • Non eseguire nulla di cui non hai bisogno. Una nuova installazione del sistema operativo vuota tende a generare un certo numero di servizi che non sono strettamente necessari per le vostre operazioni. In particolare, usa netstat -a per vedere quali servizi remoti raggiungibili sono sul tuo computer e lsof per trovare il processo corrispondente.
  • Assicurati che, in qualsiasi momento, ci sia una catena di responsabilità propriamente definita. Se succede qualcosa di brutto, le persone dovrebbero sapere chi contattare e come. Un server senza un sysadmin chiaramente definito è un server che presto farà parte di una botnet o lo è già. Assicurati che quando vai in vacanza, ci sia qualcun altro a disposizione per le attività di amministrazione del sistema.
  • Crea backup. Conserva diversi backup successivi anziché mantenere solo l'ultimo. Questo aiuta molto per il recupero dopo un attacco, se non altro per l'analisi post mortem. Ricorda che il tuo server è pensato per eseguire un servizio : disponibilità è un obiettivo primario. Backup frequenti e completi possono aiutarti a velocizzare il servizio online.
risposta data 08.08.2013 - 19:15
fonte

Leggi altre domande sui tag