Come impedire agli utenti di estendere la propria finestra di accesso valido


14

Ho lavorato su alcune procedure di rafforzamento della sicurezza per una scatola RedHat e volevo sapere se sarebbe possibile impedire a un utente di modificare la sua password, una volta scaduta.

Per uno dei nostri clienti il ​​requisito è che devono avere accesso al server solo tramite account temporanei, il che significa che una volta create le credenziali dell'utente, la password deve scadere entro 4 ore e una volta scaduta la password, solo root dovrebbe essere in grado di cambiarla .

Per il primo requisito (le password scadono dopo 4 ore), suppongo che potrebbe essere ottenuto impostando passwordMaxAge = 144000 . Ma non riuscivo ancora a trovare un modo per impedire agli utenti di modificare le password scadute, senza disattivare la scadenza delle password.

Qualcuno può aiutare?


4
Va bene se l'utente mantiene aperte le sessioni di accesso esistenti oltre la finestra di 4 ore? La scadenza della password dell'utente non li cancellerà se sono già connessi. Potrei tenere aperta una sessione SSH per settimane.
Wyzard,

Invece di fare affidamento su / cronjobs e la modifica dei file binari di sistema potresti essere in grado di scrivere un semplice modulo pam, o forse ce n'è anche uno là fuori (o puoi forse fork pam_time per includere più opzioni)
PlasmaHH

Risposte:


21

In genere, la scadenza della password viene utilizzata per forzare gli utenti a modificare le proprie password. Quello che sembra che tu voglia fare è bloccare l'account, il che impedisce tutti gli accessi.

Quello che ti suggerirei di fare invece è, quando crei l'account, impostare anche un lavoro che bloccherà l'account dopo quattro ore.

Per esempio:

useradd temp8143
echo chage -E 0 temp8143 | at now + 4 hours

(si chage -Easpetta che le date di scadenza siano indicate in giorni, quindi ci aggiriamo con un lavoro).


3
Questa è una bella soluzione. +1 da me.
Jenny D,

2
Ah, blast - mi piace questa idea pure ; anche +1. Si potrebbe anche fare un atted userdel, che avrebbe il vantaggio di mettere in ordine tutti questi conti temporanei in modo da non rimanere in giro per sempre.
MadHatter,

2
Penso che questo sia meglio del mio suggerimento, in realtà.
Jenny D,

Penso passwd -l temp813che raggiungerà la stessa cosa di chage -E 0 temp8143.
Nate Eldredge,

5
@NateEldredge Non esattamente. passwd -lnon impedisce accessi a chiavi ssh o accessi per impronte digitali, ad esempio, mentre lo chage -E 0farà.
Michael Hampton

24

Se rimuovi il bit setuid dal comando passwd, solo root potrà usarlo. Ciò impedirà inoltre agli utenti di modificare la password prima che scada, il che potrebbe essere un modo per gli utenti di estendere l'account per altre quattro ore.

[jenny@finch ~] sudo chmod -s /usr/bin/passwd
[jenny@finch ~]$ passwd
Changing password for user jenny.
Changing password for jenny.
(current) UNIX password: 
New password: 
Retype new password: 
passwd: Authentication token manipulation error

Root è ancora in grado di cambiare qualsiasi password:

[jenny@finch ~]$ sudo passwd jenny
Changing password for user jenny.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

5
Elegante e molto UNIX. +1 da me. @borntohula, non dimenticare di accettare questa risposta facendo clic sul contorno "spunta" se sei soddisfatto.
MadHatter,

6
Questo funziona quasi . Il problema è che la rimozione del bit setuid verrà annullata se passwdmai aggiornata dal sistema.
Michael Hampton

3
@MichaelHampton True. Risolvere il problema è ad es. Inoltre, non tutti controllano i loro sistemi per nuovi bit setuid / setgid dopo ogni aggiornamento?
Jenny D,

1
@JennyD - probabilmente dovrebbero verificare la modifica dei bit setuid / setgid, ma pochi lo fanno mai
warren

2
@warren - potrebbe esserci stata una leggera traccia di sarcasmo in quella frase. Una traccia molto piccola. Minuscolo.
Jenny D,
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.