Informazioni su rete e sicurezza per la protezione di un server

3

Sto configurando un server OpenBSD che voglio connettere a Internet (verrà usato per ospitare un sito - quindi, con Apache, SQLite e simili). Voglio che sia il più sicuro possibile. L'ingegneria sociale sarebbe impossibile dato che sono l'unico a sapere del server, quindi mi piacerebbe proteggere il server il più possibile. Per quanto riguarda la sicurezza del sito Web, è una preoccupazione anche se non tanto quanto il server stesso. Il sito sarà estremamente semplice; la pagina principale è protetta da una password, il .htaccess è molto restrittivo e non è indicizzato sui motori di ricerca. Quindi, oltre a sanare l'input dell'utente, non c'è nulla di cui preoccuparsi.

Il fatto è che ho solo una conoscenza di base della rete e della sicurezza (che si tratti di sicurezza del sistema operativo, web / net sec ...). Sto cercando tutorial o libri che sarebbe utile conoscere;

  • l'ambiente Unix (shell, iptables, ecc.),
  • Sicurezza del sistema operativo (niente di troppo centrato sulla programmazione - ho solo basi di C / C ++)
  • Le applicazioni Web e il networking di base, nonché la sicurezza della rete, una volta completate le nozioni di base.

Non so se c'è qualcos'altro che valga la pena cercare per rendere sicuro il mio server. Come ho detto, non sono molto bravo a programmare. È un problema? Dovrei diventare più abile con C e C ++ prima di esaminare il networking e la sicurezza?

    
posta David Moore 20.06.2012 - 14:38
fonte

4 risposte

2

Ti rimando alla risposta a questa domanda e copierà le parti pertinenti di seguito. Ho anche aggiunto una sezione o due alla fine.

Scelta di una passphrase strong

Sì, l'abbiamo sentito tutte le volte e ancora, ma probabilmente non esiste un modo più semplice per migliorare la sicurezza. Se sei un fan delle password, assicurati di scegliere qualcosa che contenga abbastanza entropia per essere ragionevolmente sicuro, pur rimanendo facile da memorizzare. Una serie casuale di lettere e numeri è fantastica, ma probabilmente non sarà possibile memorizzare una stringa molto lunga. Tutto ciò che include le informazioni personali dovrebbe essere evitato. Mescolare il tuo nome con la tua data di nascita non è sicuro, non importa quanto lungo e casuale possa sembrare.

Personalmente, sono un fan delle frasi pass. Scegli alcune parole casuali da un dizionario (scelgo da qualche parte tra 5 e 10 a seconda della quantità richiesta di entropia), e probabilmente hai generato abbastanza entropia da mantenere l'ipotesi di un attaccante per molto più tempo di quanto non sia pratico (vedi XKCD sull'argomento per una risata).

Altre persone preferiscono usare frasi passate. Sebbene possano essere più lunghi della tua passphrase tipica, potrebbero o meno essere più sicuri.

Per ulteriori informazioni su passphrase e passate vedere "Proprietà linguistiche delle passphrase in più parole" di Bonneau e Shutova dell'Università di Cambridge [PDF] , o il loro post sul blog su Light Blue Touch Paper .

Installa aggiornamenti relativi alla sicurezza

In realtà, se stai eseguendo qualcosa assicurati di avere gli ultimi aggiornamenti di sicurezza. Attivare semplicemente l'Aggiornamento automatico in Windows, o assicurarti di eseguire aggiornamenti spesso in Linux, può fare molto per mantenerti al sicuro.

SSH

Se utilizzi SSH per accedere al computer in remoto, assicurati di disattivarlo per l'account di root e utilizza sempre l'autenticazione a chiave pubblica. Altre cose che puoi fare includono disabilitare il protocollo 1, consentendo solo a determinati utenti di accedere da remoto e disabilitare l'inoltro X (a seconda delle tue esigenze). Per maggiori informazioni, vedi questo articolo sul wiki CentOS.

sito web

Se hai configurato un sito Web in cui effettuerai l'accesso (interfaccia di amministrazione in un CMS per esempio), sempre accedi tramite SSL (ad esempio, assicurati che il browser indichi "https: // "). È possibile acquistare un certificato a un prezzo ragionevole (mi piace Rapid SSL ) oppure è possibile generare un certificato autofirmato e usalo.

Ingegneria sociale

Solo per riprendere il mio commento sul post originale, l'ingegneria sociale è sempre possibile. Non dare per scontato che non sarai vulnerabile. È probabile che non cadrai per le cose ovvie (una email dal tuo provider di colo che richiede la password di root alla tua macchina, ecc.), Ma anche qualcosa di banale come dove la tua macchina è ospitata ( forse offri il tuo indirizzo su un modulo per qualcosa di completamente estraneo a un ragazzo che hai incontrato casualmente in un bar) può essere molto utile per un aggressore.

Wi-Fi

Accesso remoto tramite un punto di accesso wireless? Assicurati che stia usando WPA2. Le connessioni WEP e in chiaro sono un no. Se è il tuo punto di accesso (magari anche sulla stessa rete del tuo server, anche se spero di no) assicurati di scegliere una password complessa (vedi sopra).

La sicurezza attraverso l'oscurità non è sicurezza

Come sottolineato da altri, la sicurezza per oscurità dovrebbe mai essere vista come misura di sicurezza. Il secondo dei sei principi di progettazione di Kerckhoff per i codici militari è:

It [the algorithm] must not be required to be secret, and it must be able to fall into the hands of the enemy without inconvenience

Questo è applicabile a molto più degli algoritmi di crittografia, tuttavia, e dovrebbe essere considerato come una regola generale in qualsiasi forma di ingegneria della sicurezza.

Questo principio è anche noto come massima di Shannon dopo che è stato riformulato più semplicemente da Claude Shannon come, "Il nemico conosce il sistema."

    
risposta data 20.06.2012 - 15:38
fonte
0

Si possono applicare gli stessi principi di sicurezza che applichereste quando assicurate un server Linux, quindi controllate qui per cominciare. Potresti anche voler cercare in sicurezza ssh qui .

    
risposta data 20.06.2012 - 14:48
fonte
0

Primo: non conterei sull'oscurità che protegge il tuo server. Finché sarà esposto a Internet, sarà vulnerabile ai tentativi di hacking.

Successivamente, si applicano tutte le regole usuali. Chiusura di tutte le porte non utilizzate, disabilitare tutti i servizi non utilizzati, configurare le regole del firewall appropriate. Mantenere i servizi aggiornati, specialmente con le ultime patch di sicurezza. Non utilizzare l'account di root se non richiesto. Se necessario, accedi al tuo server solo tramite VPN.

Per il sito web, assicurati di proteggerti da SQL injection, XSS e altre tecniche comuni di hacking delle applicazioni web.

Per la sicurezza della rete, trovo che un buon inizio sarebbe il libro di nmap. Lo sto esaminando proprio ora, ed è una lettura molto interessante.

    
risposta data 20.06.2012 - 14:51
fonte
0

OpenBSD è il mio sistema di scelta per le implementazioni di sicurezza di Internet, la cosa buona di OBSD è che è protetto di default. Quando dico che "protetto per impostazione predefinita" non intendo dire che OBSD è irraggiungibile, ma sapendo che i suoi sviluppatori hanno implementato la sicurezza proattiva per molto tempo, siamo certi che il livello di compromissione del sistema è molto inferiore rispetto ad altri sistemi. Forse altri utenti BSD in questa comunità possono attestarlo.

Con obsd puoi avere tranquillità se sei preoccupato per lo sfruttamento remoto. Ovviamente sto parlando di come lo stack di rete è stato progettato in generale e di come è stato confezionato l'intero sistema operativo, non del livello applicativo che può essere oggetto della maggior parte delle tecniche di attacco remoto. Ha una protezione della memoria integrata (W ^ X), lo spazio degli indirizzi non può essere scritto ed eseguibile allo stesso tempo, quindi minimizza o quasi elimina la possibilità di attacchi di buffer overflow.

Dal lato della rete, se vuoi rendere più strong la scatola, puoi controllare l'equivalente IPtables di BSD che è PF, ha la normalizzazione dei pacchetti.

I tutorial più utili disponibili su Internet su come rafforzare la tua scatola BSD sono:

  1. Le FAQ ufficiali di OBSD: link - Riguarda le configurazioni di base per l'avanzamento delle tue esigenze.

  2. link - Ci sono alcune configurazioni speciali che probabilmente vorrai implementare in futuro, Failover w / CARP, IPsec ecc.

  3. link - Configurazioni specifiche di OBSD che potresti voler provare.

  4. link - Il sito di Daniel Hartmeier. Il creatore di PF.

  5. E naturalmente il diario OBSD - link

Potresti anche voler controllare i libri di obsd al link , in precedenza ho le architetture assolute openbsd e secure . Forse il libro di pf non sarebbe in grado di raccomandarlo perché c'erano cambiamenti nella sintassi PF / parametri che iniziano a 5.0

    
risposta data 20.06.2012 - 18:59
fonte

Leggi altre domande sui tag