Consigli per la modifica della shell predefinita per gli account di servizio

14

Sembra che la maggior parte dei sistemi Linux utilizzi /sbin/nologin o /bin/false come shell predefinita per gli account di servizio. Molte guide di hardening, come i benchmark CIS, raccomandano di cambiare la shell predefinita per questi account in /dev/null . Mentre molte raccomandazioni hanno un'assemblea annessa, questa è una che non ho mai visto giustificata. Quali sono le preoccupazioni che stanno guidando questi consigli e quali minacce sta tentando di mitigare?

    
posta Scott Pack 27.07.2011 - 15:03
fonte

4 risposte

14

L'unica vera ragione tecnica di cui sono a conoscenza è la possibilità di sostituzione di file maligni. Prendi in considerazione un utente malintenzionato che trova un modo per scrivere su file arbitrari. Se riescono a sovrascrivere / sbin / nologin o / bin / false con una copia di / bin / bash, allora possono concepibilmente trovare un modo per accedere come utente di un servizio e continuare ad elevare i loro privilegi da lì.

Tuttavia, / dev / null non può essere banalmente sostituito in questo modo, per vari motivi:

  • È un dispositivo, non un file piatto
  • Qualsiasi cosa scritta su di essa scompare, quindi una semplice sovrascrittura non funzionerà
  • Se qualcuno lo sostituisce con / bin / bash, potrebbe a sua volta essere sovrascritto da uno dei molti programmi che usano / dev / null come un sink di bit, svincolando l'attacker
  • Se qualcuno lo sostituisse, potrebbe rompere alcune funzionalità del sistema in un modo che avviserà gli amministratori che qualcosa è sbagliato, molto più che sostituire 'nologin' o anche 'false'.

C'è anche una ragione non tecnica, che è che molti amministratori sono legati dalla tradizione e / o dalle abitudini che hanno imparato molto tempo fa e / dev / null era una volta una scelta più comune per questo uso (sono carina certo / sbin / nologin non esisteva 20 anni fa). Fai di quello che vuoi.

    
risposta data 27.07.2011 - 15:38
fonte
4

Non sono un guru di Linux, ma se lo paragono ai consigli per gli account di servizio su Windows, penso che sia paragonabile alla rimozione di tutti i privilegi, inclusa la possibilità di accesso interattivo.
Probabilmente si tratta solo di minimizzare la superficie di attacco / il minimo privilegio ...:

If you don't need it, shut it off.

    
risposta data 27.07.2011 - 23:01
fonte
4

Ottima domanda! Per quanto ne so, non vi è alcuna giustificazione per questo consiglio. Per quanto ne so, è un cattivo consiglio; /bin/false o /sbin/nologin va bene. (Se mi sono perso qualcosa, non vedo l'ora di scoprire cosa ho trascurato.)

    
risposta data 03.08.2011 - 09:12
fonte
3

L'utilizzo di / dev / null non comporterà alcun registro di controllo della sicurezza di un tentativo di accesso non autorizzato alla shell interattiva.

    
risposta data 06.06.2013 - 19:15
fonte

Leggi altre domande sui tag