Eredita server esistente


9

Ho appena ereditato 6 server Web da un precedente server che è stato licenziato, non sono un amministratore di sistema, sono più un DevOps.

Qualcuno potrebbe indicarmi una sorta di lista di controllo standard che si seguirebbe quando si ereditano i server esistenti? Le cose che devo sapere sono:

  1. Quale software è presente sui server
  2. Quali sono le cose standard che dovrei fare per verificare che siano sicure?
  3. cosa si collega a loro e cosa sono collegati anche loro?
  4. Cos'altro dovrei sapere?

Qualsiasi consiglio è il benvenuto, speravo ci fosse un tipo standard di checklist che uno avrebbe seguito come inizio, ma non sono riuscito a trovare nulla.

Tutti i server sono Ubuntu (varie versioni)


3
Non sei un DevOps. DevOps non è un titolo, è una cultura.
gWaldo,

Quale sarebbe un termine migliore da utilizzare per uno "Sviluppatore costretto a fare un lavoro di amministratore di sistema senza l'esperienza di un amministratore di sistema ma una buona comprensione di tutti i concetti coinvolti e abbastanza esperienza pratica per 'cavarsela'"
user3408844

D'accordo con aver letto DevOps su Wikipedia vedo che l'ho usato in modo errato, ma sembra che sia diventato un gergo nella vita quotidiana degli sviluppatori che devono diventare semi-amministratori
user3408844

Il termine per ciò che descrivi è "Sviluppatore" o "Sviluppatore costretto ad assumere alcune funzioni di Sistemi / Operazioni".
gWaldo

Wow! - molta fatica in quello
user3408844

Risposte:


24
  1. Per determinare quale software è stato installato, è possibile rivedere /var/log/dpkg.log Tuttavia, questo potrebbe non essere un record completo. Potrebbero essere presenti file binari e codice compilati manualmente o copiati direttamente nel sistema precompilato. È possibile confrontare un'installazione predefinita della stessa versione e tipo di Ubuntu con i server e cercare quali file sono diversi, ma può essere noioso. Una soluzione file monitor sarebbe l'ideale (tripewire, inotifywatch, ecc) http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html

  2. Devi controllare TUTTO sul server. Ogni account utente in / etc / passwd , ogni account utente dell'applicazione (come utenti in Apache / PHP, account di database, ecc.) Devono essere tenuti in considerazione e dovresti cambiare tutte le password. Dovresti controllare per vedere quali servizi vengono avviati all'avvio, qual è il runlevel predefinito e cosa inizia con esso e con altri runlevel. Vorrei utilizzare uno scanner di vulnerabilità e uno strumento di configurazione di base per controllare lo stato corrente. Il Center for Internet Security offre uno strumento di valutazione della configurazione gratuito, ma potrebbe essere limitato. Hanno strumenti più avanzati per le organizzazioni membri ($). http://benchmarks.cisecurity.org/ OpenVAS è uno scanner FOSS, non diversamente da Nessus, che può avere capacità simili. Ci sono molte, molte altre cose da controllare, ma questa risposta sta già diventando un po 'lunga ... (La revisione del codice per webapp e pagine Web è un buon esempio.)

  3. Puoi vedere lo stato delle porte disponibili per le connessioni ai server con una varietà di flag per netstat . http://www.thegeekstuff.com/2010/03/netstat-command-examples/ Per identificare chi si è connesso al server dovrai ricorrere alle attività più sicure di Internet Security, rivedendo i log di sistema. Le informazioni possono trovarsi in uno dei numerosi registri a seconda delle applicazioni e dei server presenti nel sistema. Potresti anche avere fortuna con i log di rete esterni, se presenti.

  4. Hai un sacco di seguito da fare. Hai indicato che l'amministratore precedente è stato licenziato ; se si sospetta un intento malizioso da parte di quella persona (cioè potrebbero aver lasciato backdoor, trappole esplosive, bombe logiche, ecc.) è quasi certo che sia meglio ricostruire i server da supporti puliti e reimplementare le webapp su di essi. Se questo precedente amministratore aveva pieno accesso e controllo a tali sistemi e non era soggetto a controlli diligenti e overwatch, probabilmente dovresti presumere che ci siano backdoor.

Questo si basa su un presupposto pessimistico sull'amministratore precedente. Sfortunatamente è così che il cookie si sbriciola per la sicurezza della rete operativa. C'è molto di più da considerare, come ho detto ... molto più di quello che può essere trattato qui. Questi punti dovrebbero darti alcune cose per iniziare a fare in modo che tu possa riferire alla direzione che stai facendo progressi; ma ad essere brutalmente onesto, se non sei un professionista della sicurezza e hai motivo di sospettare che questa persona abbia agito con cattiveria, probabilmente sei sopra la testa.

È una risposta impopolare con il management perché richiede molto sforzo (il che significa più $), ma la risposta alla sicurezza generale è in caso di dubbio, cancellare e ricostruire da fonti pulite . Ecco come i sistemi governativi più importanti funzionano con il malware; se viene generato un avviso da AV, il sistema viene separato, cancellato e ricostruito. Spero che tu abbia fatto un backup perché i dati sono ANDATI .

Buona fortuna e spero che sia stato utile e non solo deprimente.


Questa domanda potrebbe anche essere adatta al sito StackExchange www.AskUbuntu.com
0xSheepdog

2
Risposta eccellente.
EEAA

3
La cancellazione e la ricostruzione è probabilmente molto più semplice se si dispone di una buona gestione della configurazione dichiarativa. In caso contrario, probabilmente dovresti considerare di lavorare per raggiungere questo obiettivo.
zigg

2
/var/log/dpkg.logè adatto per rivedere il processo di installazione stesso (e cercare errori), ma per ottenere un elenco di pacchetti installati, l'output di dpkg -lo anche più semplice dpkg --get-selectionssarebbe più facile da digerire.
Dubu,

0

Le pagine man sono tue amiche:

 man <command> 

Dai un'occhiata a questi comandi di uso comune e al loro utilizzo. Trova più aiuto nelle pagine man per ciascuno o in alcuni casi eseguendo

  <command> --help 

Software:

  • dpkg -l (elenca il software installato)
  • ps -ef | more (ottieni un elenco di processi in esecuzione e pausa per la lettura)

Sicurezza:

  • iptables (quali porte sono aperte e sono necessarie)
  • controlla gli aggiornamenti con apt-get (i server sono aggiornati?)
  • cat / etc / passwd (che ha un account sulla scatola)
  • sshd (controlla se sshd è in esecuzione e chi può accedervi)

Connessioni:

  • netstat (quali servizi sono in ascolto e su quali porte)

In bocca al lupo. È difficile ereditare un gruppo di server senza che la persona che li esegue abbia l'opportunità di addestrarti. Se il ragazzo è stato licenziato è ancora più preoccupante perché presumo ci fosse una ragione e se presumo anche che fosse legato al lavoro, potrebbero esserci delle strane configurazioni nel batch.


0
  1. quali applicazioni sono in esecuzione: esegui "ps -ef" o "ps -auxw" per ottenere l'elenco dei processi. estirpare tutto ciò che non è correlato al kernel, cercare cose in esecuzione, fare pagine man su ognuna per capire di cosa si tratta. la maggior parte dei processi in esecuzione può essere tranquillamente ignorata perché non sono applicazioni utente

  2. per sicurezza: esegui un "netstat -pan" per vedere quali porte sono aperte e chiudi quelle che non sono necessarie. In altre parole, le uniche porte che dovrebbero essere aperte sono quelle che corrispondono ai servizi di rete forniti da questi server. Se il server è un web server, ovviamente deve essere in ascolto sulla porta 80/443 / ecc. Ma se il server è in ascolto sulla porta 21 e nessuno lo sta utilizzando, è necessario disattivare il processo che ha quella porta aperta.

  3. per le connessioni, di nuovo "netstat -pan" ti dà la risposta. Ti dice su quali host sono connessi e su quali porte sono connesse.

  4. controlla i log in / var / log per avere un'idea di ciò che il loro sistema sta facendo e per vedere se ci sono errori evidenti o bandiere rosse provenienti da diverse applicazioni.

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.