Costruire un server sicuro con CentOs [duplicato]

1

Recentemente ho iniziato a gestire il mio server con un server basato su cloud. Recentemente sono stato hackerato in qualche modo e il server è stato utilizzato per phising. Sul server sono stati installati CentOs, cPanel / WHM e CSF con impostazioni di sicurezza medie.

Dopo essere stato compromesso mi rendo conto della necessità di maggiore sicurezza. Come posso creare un server sicuro con CentOS?

    
posta Anders 10.08.2012 - 15:42
fonte

3 risposte

4

Per la massima sicurezza, digita questo comando.

# sudo ifdown eth0

Ma per davvero. La risposta in questo thread è quasi esattamente ciò che stai cercando. Come si esegue un controllo di sicurezza su il mio server WordPress?

modifica: Oh ho capito che sei stato tu a porre quella domanda ...

  1. Regole del firewall usando iptables. Lascia aperte solo le porte di cui hai bisogno. Blocca tutto, ad esempio porta 80.
  2. Modifica le password predefinite. Se vuoi sapere come molte persone vengono violate ... le password predefinite sono la ragione principale. Cambialo sul tuo server mysql, i tuoi account utente, qualunque cosa.
  3. Disattiva i servizi che non ti servono. Diavolo, disinstallali.
  4. Esegui software aggiornato. La ragione per cui wordpress si aggiornerà a volte è perché una vecchia versione potrebbe avere una vulnerabilità. Assicurati che i tuoi servizi siano tutti aggiornati.

Se fai bene queste cose .... dovresti essere abbastanza sicuro.

    
risposta data 10.08.2012 - 15:53
fonte
2

Questa è una domanda estremamente ampia e, come forse già notato, potremmo elencare centinaia di impostazioni, modifiche e modifiche che "aiuteranno a rendere [un] server più sicuro" fino a quando le mucche non torneranno a casa.

Oltre al generale "chiudi / chiudi tutto ciò che non usi" e le meravigliose raccomandazioni fatte qui, se è la prima volta che gestisci un server, non è una cattiva idea iniziare a lavorare attraverso la comprensione del core principi di sicurezza.

CentOS è speculare su RedHat, che è più frequentemente utilizzato in un'impostazione Enterprise. In quanto tale, c'è molto materiale buono là fuori per iniziare. Prova a dare un'occhiata alle guide della NSA per rendere sicuro Linux:

link

Capire come e perché le persone si intromettono nei server, e in genere i loro vettori di attacco sono anch'essi un'area di comprensione inestimabile (che cambia sempre)

link

Il passaggio finale oltre a garantire che il tuo server sia sicuro, è garantire che anche il software e l'applicazione web che stai ospitando siano sicuri. Se stai andando a fare il web hosting, ottenere una gestione dei tipi di vulnerabilità che rappresentano e che cosa significa per come le persone possono entrare nel tuo server è la chiave (suggerimento: SELinux, mentre un dolore, è tuo amico qui). SQL Injection, Cross-Site Scripting, ecc. - imparali e impara come eseguire le valutazioni delle applicazioni web. OWASP è un ottimo punto di partenza per questo

link

    
risposta data 10.08.2012 - 17:42
fonte
2
  • CloudLinux offre la protezione dai CPanel con la virtualizzazione del file system.
  • SELinux - abilita i booleani per le cartelle utente e suexec e tutto il necessario, oltre a formare nuove regole attraverso la modalità di allenamento - per cartelle tmp scrivibili dall'utente ecc., questo è complesso poiché funziona a livello di sistema, ma è anche per questo che va bene.
  • Aggiorna CPANEL stesso con l'ultimo PHP 5.3 e le app
  • Aggiorna MySQL a 5.5 pacchetti
  • ModSecurity con regole di base impedisce più exploit
  • PHP Suhosin, hardening come disabilitare fopen () con URL
  • Rendere il codice sorgente PHP di sola lettura, ad es. solo le cartelle specifiche potrebbero essere modificabili, con nomi specifici che utilizzano la pagina di amministrazione del sito Web.
  • Abilitare il firewall IPTABLES con limiti e anti-scan, abilitare il tracciamento della connessione e nessuna delle connessioni che può gestire (hash tables e bucket per iptables in / proc), negare anche l'accesso ssh etc da ogni server.
  • Esecuzione di Snort ID con rilevamento scansione
  • Esecuzione di scansioni con Nessus e Web Scanner
  • Assicurati che il backup sia fatto su una posizione diversa e recuperabile / non cancellabile
  • Disattiva i servizi non necessari (riduce anche la RAM)
  • Abilita SuEXEC, FastCGI, che ogni account viene eseguito solo nella sua cartella principale e non può scrivere / leggere file temporanei da altri.
  • Esegui l'anti-virus per posta e web
  • Esegui apache e php-cgi multi-thread (lavoratore) e applica mod_qos a questo.

Inoltre puoi rafforzare anche le tue applicazioni PHP.

Semplicemente ciò di cui hai bisogno si chiama "ingabbiamento". SELinux, AppArmor, Cloud Linux fa tutto questo, e quindi puoi indurire PHP creando ini per ogni utente, ma se il sito è vulnerabile ad es. codice di iniezione, quindi non puoi aiutare molto con questo tranne per il mod_security.

Anche se questo rallenta troppo, puoi aggiungere la cache del proxy di Varnish e rendere l'applicazione anche incassare / compilare il codice, ci sono molti livelli di cache:

  • Varnish Cache
  • Application Cache (ad esempio ricorda oggetti generati, scritti in OO PHP)
  • Static Cache (file statici generati, che possono essere pubblicati con timestamp in Application Cache, che è servito a Varnish, anche OO PHP, in caso di CPanel).
  • Cache PHP - xcache, APC ecc.
  • Memcached - cache degli oggetti per PHP

Di fronte a tutto questo puoi mettere HAProxy che aiuta le richieste di routing tra Varnish e Apache.

Con questo si dovrebbe andare bene con mod_security e il resto delle protezioni, se si ha un'applicazione seria che esegue CPanel.

Assicurati inoltre di non utilizzare l'account root su MySQL.

Non è così male che devi solo regolare la registrazione in modo che le statistiche funzionino correttamente.

    
risposta data 10.08.2012 - 16:31
fonte

Leggi altre domande sui tag