Contesto:
- Piccola impresa, principalmente una software house per applicazioni web ma anche alcuni software desktop.
- Molti collaboratori esterni, quindi una varietà di utenti esterni con accesso ai server.
- Un singolo server fisico, con Linux e Xen come soluzione di virtualizzazione - ogni VM ha usi specifici e accesso controllato. Gli utenti esterni possono accedervi due
- I server (virtuali) offrono una varietà di servizi: stack LAMP, email, DNS, ecc. Questa domanda riguarda i miei dubbi con l'accesso dell'utente locale
- Gli utenti possono utilizzare SSH in due delle VM
Requisiti
- Consente agli utenti di accedere a strumenti di sviluppo comuni, sia per il Web (PHP, Ruby on Rails, ecc.) che per le applicazioni standalone (gcc, g ++, ecc.); questo include non solo compilatori e simili, ma anche editori. Al momento, hanno accesso completo alla shell.
- Gli utenti devono essere in grado di utilizzare il controllo del codice sorgente sul server: svn e git
- Alcuni hanno accesso ai database MySQL
Domanda
Quali misure dovrei prendere per:
- Fornisci agli utenti una shell completa, se possibile, o una soluzione equivalente che soddisfi i requisiti di cui sopra in modo sicuro
- Automatizza il monitoraggio delle attività pericolose ove possibile (come nelle notifiche sudo / su)
- Riduci al minimo gli effetti se un utente mette le mani su un exploit di escalation di privilegi di 0 giorni prima che qualcuno lo patch sul server - è possibile?