Quando devo amministrare un server Linux esistente qual è il modo migliore per verificare se è sicuro?


9

Esistono molti tutorial su come configurare un nuovo server sicuro.

E se dovessi amministrare un server che qualcun altro aveva installato qualche tempo fa e non conosco ancora molto sulla sua configurazione?

Esiste uno strumento che controlla automaticamente i "soliti sospetti" o una lista di controllo che posso esaminare per assicurarsi che non esistano evidenti falle nella sicurezza? Esistono servizi Web che controllano in remoto le vulnerabilità?

Risposte:


13

Scarica Nessus ed esegui un controllo di rete su di esso. Ti parlerà delle vulnerabilità sfruttabili da remoto.

Inoltre, installare Ossec ; sebbene non sia il suo scopo principale, troverà alcune configurazioni errate comuni (ad esempio account configurati in modo errato). E la sua funzione principale - il rilevamento delle intrusioni basato sull'host - aiuterà a scoprire se qualcuno sta cercando di sfruttare le vulnerabilità.


5
Nessus non è più open source. Il suo fork open-source si chiama openvas.
Anonimo

1
Lo so. Ma è ancora IIRC free-as-in-beer, e il poster non ha mai detto che voleva solo F / OSS.
niXar,

+1 Nessus è molto buono, lo farei anche io e la scansione Nmap che carica i risultati in Nessus potrebbe aiutarlo a raccogliere alcune più vulnerabilità in alcuni casi.
Mark Davidson,

1
+1 per OSSEC. Ha anche un modulo di controllo rootkit / sistema che puoi eseguire autonomamente: ossec.net/rootcheck
sucuri

5

Vorrei iniziare con le liste di controllo "benchmark" del Center for Internet Security . Si tratta di liste di controllo basate sul consenso compilate da professionisti della sicurezza per una varietà di piattaforme e pacchetti software. Alcuni strumenti menzionati dalle liste di controllo o altrimenti comunemente consigliati che aiuteranno nella tua caccia per problemi di sicurezza:

  • Nessus / OpenVAS (scanner di vulnerabilità)
  • Nmap (port scanner)
  • TCPdump / Wireshark (acquisizione pacchetti libpcap)
  • SNORT (sistema di rilevamento delle intrusioni)

(tcpdump è installato su molti sistemi Linux per impostazione predefinita o può essere facilmente installato da un repository di pacchetti e ha una pagina man completa)

Se questo è per l'azienda per cui lavori, assicurati che l'analisi della sicurezza sia autorizzata dalla direzione e che le scansioni non causino interruzioni o sciocchezze delle applicazioni. Sì, un semplice portcancan può causare problemi: portan le vecchie stampanti HP Laserjet e sputeranno un sacco di carta.


4

Come primo controllo molto rapido:

Correre

netstat -ltnp

come radice. Questo ti mostrerà tutti i servizi in ascolto sulla rete:

Questo potrebbe mostrarti cose che vuoi chiudere immediatamente. Quindi puoi continuare con le soluzioni nelle altre risposte.

Per i servizi che devono essere eseguiti, ma non accessibili dall'esterno (come un server DB locale), prendere in considerazione la modifica della configurazione in modo che sia in ascolto solo su localhost / 127.0.0.1. In questo modo è accessibile solo agli utenti locali.


4

Vorrei dare un'occhiata a Bastille-Linux su http://www.bastille-unix.org/ , è un set di script che puoi eseguire e controllerà le impostazioni di sistema, i permessi dei file, la configurazione dell'utente ecc. L'ho usato una o due volte sulle mie caselle e se rileva problemi nelle installazioni predefinite (principalmente r_x su utils rsh / rsync). Emette come html / java + curses / flat text.


3

Quale distro?

Generale:

  • Rivedere le impostazioni di iptables e / o firewall
  • Esamina le configurazioni SSHD
  • Rivedere tutte le configurazioni di servizio accessibili dall'esterno
  • Assicurarsi che si stia eseguendo il software più recente disponibile
  • Controlla le vulnerabilità del kernel (uname -a e poi google)
  • Rivedere le autorizzazioni utente e le autorizzazioni di gruppo su file modificabili

Nessuna distribuzione speciale / tutte le distribuzioni
Daniel Rikowski l'

Inoltre, potresti voler prendere un elenco di pacchetti installati. Qualcosa come dpkg --get-selections> installed_pkgs.txt per le distribuzioni debian.
David Rickman,

2
Potrebbe anche essere necessario verificare la presenza di file setuid / setgid insoliti, quali account hanno password impostate, qual è la loro shell di accesso, ecc. Per eliminare le facili backdoor.
mas

Grande suggerimento, ho completamente dimenticato quello, che è potenzialmente un enorme buco.
David Rickman,

3

Un altro buon primo controllo è quello di eseguire il nome host nmap da un altro host sulla rete. Questo dà una visione esterna di ciò che Netstat ha mostrato sull'host.


3

Se sei preoccupato, consiglierei di seguire quelle esercitazioni che hai citato e ricostruire il server. Soprattutto se pensi che l'altro amministratore abbia lasciato qualcosa di brutto. Come nuovo amministratore, dovresti sapere comunque come distribuire qualunque servizio venga eseguito di nuovo.

Assicurati di eseguire prima il backup di tutto, puoi immaginare tutte le partizioni per assicurarti di averlo correttamente.

Se il tuo capo non te lo consente, allora tutti gli altri consigli mi suonano bene :-)


+1: se la sua creazione / configurazione non è documentata e hai il tempo, forse cogli l'occasione per ricostruirla. Piuttosto che doverlo fare sotto coercizione in un secondo momento. Quindi puoi essere sicuro che sia sicuro e verrà documentato per riferimento futuro.
Dan Carley,

2

Oltre ad alcune delle ottime risposte qui, dai un'occhiata a http://www.sans.org/ . Hanno degli ottimi documenti se sei disposto a leggere un po 'per capire meglio la "difesa in profondità".

Alcuni dei presupposti fondamentali:

  • mantieni i tuoi server aggiornati
  • eseguire solo quei servizi che devono essere in esecuzione
  • limitare l'accesso degli utenti al server

1
Ricorda di limitare anche l'accesso fisico, non solo dalla rete.
iny

1

Prova anche chkrootkit , è disponibile nel repository standard della maggior parte della distribuzione ed è comunque molto facile da installare. Controllerà il tuo sistema per molte vulnerabilità conosciute, rootkit e worm.


1

Una cosa che puoi fare per avere un'idea del sistema è diff la cartella / etc contro una nuova installazione (con gli stessi aggiornamenti applicati). Questo ti dirà cosa è cambiato in modo da poter concentrare i tuoi problemi di sicurezza lì.


1

Per espandere ciò che ha detto mas, ecco un semplice comando find per elencare tutti i file setuid e setgid sul sistema per la revisione.

find / -type f \( -perm -4000 -o -perm -2000 \) -print

Ovviamente, come altri hanno già detto, tutto questo presuppone che la macchina non abbia già un rootkit ...


1

Chrootkit / rkhunter sono i frutti pendenti lunghi. Se hai installato un rootkit, tutto ciò che viene segnalato sarà compromesso e quindi non sarà di grande aiuto, quindi ti preghiamo di scaricarli da una fonte nota, non utilizzare quelli già presenti sulla confezione. Un altro buon trucco è installare un kernel che sai essere buono (sia dai pacchetti che dal tuo rotolo). Controlla backdoor (lsof -i e 0 uid account non root). Ispezionare le regole del firewall di solito può dirti molto sulle abitudini degli amministratori precedenti. Metti uno stelo / sbuffo su di esso, cerca di individuare qualcosa di insolito. Guarda dove stanno andando i registri. Controlla tutti i file .profile / .bashrc per eventuali comandi insoliti. Cerca in .ssh / known_hosts tutti gli host dannosi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.