Mettere un integer server Linux sotto il controllo di origine (git)

Sto pensando di mettere tutto il mio server linux sotto controllo di versione utilizzando git. La ragione che sta dietro è che questo potrebbe essere il modo più semplice per rilevare modifiche / rootkit. Tutto quello che penso ingenuamente è necessario verificare l'integrità del sistema: montare la partizione linux each settimana utilizzando un sistema di salvataggio, controllare se il repository git è ancora inattivo e quindi emettere uno status git per rilevare eventuali modifiche apportte al sistema .

A parte gli evidenti sprechi nello spazio su disco, ci sono altri effetti collaterali negativi?

È un'idea totalmente folle?

È anche un modo sicuro per controllare contro i rootkit dato che probabilmente dovrei alless escludere / dev e / proc?

5 Solutions collect form web for “Mettere un integer server Linux sotto il controllo di origine (git)”

Questa è una "Bad Idea" ™. Oltre a tutto il resto, il tuo repository functionrà lento come tutto il pazzo, e peggiora come each revisione è tenuta.

Prova la gestione centralizzata, come puppet / cfengine / chef. Ciò manterrà le cose come ci si aspetta, e ripristina i cambiamenti imprevisti.

Combinarlo con qualcosa di simile a iwatch per ricevere messaggi di posta elettronica di modifiche di file non autorizzate.

Combina ulteriormente con i file rpm / deb, se necessario, per estrarre applicazioni personalizzate.

Getta in qualcosa come rkhunter o chkrootkit adesso e poi per calci e dovresti essere bravo ad andare.

Lavoro fatto.

Un'altra alternativa è quella di impostare il tripwire , che è software GPL che consente di eseguire i ragni attraverso tutti i file importnti del tuo sistema e determina quali sono stati modificati in modi che hai definito inaccettabile. Il cambiamento può essere definito semplicemente come mtime, attraverso il numero di inode, fino alla cifra di controllo crittograficamente forte.

Ci vogliono alcune impostazioni e sintonizzazione se non si desidera ricevere molte notizie each notte sui file modificati in /var/run , sulle modifiche dei file client DHCP in /etc e simili, ma se si va a che guai, può davvero essere molto utile.

Il database delle properties; di file viene firmato con una chiave non nota alla macchina, che aiuta a avere fiducia che nessun strumento ha modificato in modo dannoso il database oi binari di tripwire. Per una certezza completa è ansible bruciare una copia degli strumenti e delle basi di dati di tripwire in un supporto di sola lettura, che può essere montato sul server e utilizzato per verificare tutte le modifiche dal momento in cui è stato bruciato il disco, se è necessaria un'analisi completa di forensi.

Se vuoi farlo, è abbastanza importnte get il setup e l'esecuzione del tripwire prima che la macchina venga distribuita in produzione o non si può mai essere completamente sicuro che alcuni utenti malintenzionati non avessero la possibilità di infettare la macchina prima di esso era tripwired.

@Sirex ha già fornito una buona risposta, ma se vuoi fare un passo avanti con la sicurezza, il modo migliore per affrontarla è la prima prevenzione e la rilevazione.

Provare a configurare un sistema con sola lettura montata su filesystem. Crea / tmp un ramf separato montato con noexec, opzione nodev. Perché il sistema funzioni, è necessario che solo / var sia montato lettura-scrittura. Quindi sotto / var un fs con rw, noexec, nodev e rimuovi le autorizzazioni di scrittura in / var / tmp (afaik, raramente è necessario da demoni e che dovrebbe essere configurabile). Utilizzare inoltre una patch di protezione per il tuo kernel per limitare ulteriormente l'accesso alle risorse da parte degli utenti, prova ad esempio a grsec. Utilizza un firewall con le regole più restrittive possibili.

Alcune distribuzioni forniscono un'ampia documentazione sull'erogazione del sistema. Per esempio:

  • Protezione del manuale di Debian
  • Indurimento del Debian Wiki

Non credo che questo sia probabile che funziona, ma come esperimento vorrei vedere cosa succede se lo fai solo con la cartella / etc. Ecco where viene mantenuta la maggior parte delle informazioni di configuration.

Penso che sia una buona idea analizzare le modifiche che uno strumento fa nel tuo sistema:

  1. installare un Linux scoperto in un VM
  2. inizializzare il git radice
  3. installare lo strumento che si desidera analizzare
  4. vedere tutte le modifiche apportte al rullo nel sistema

… Eliminare il VM

Dovresti aggiungere molte cartelle al file .gitignore come proc, ecc.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.