Kullanıcıların geçerli giriş pencerelerini genişletmelerini nasıl önleyebilirim?


14

Bir RedHat kutusu için bazı güvenlik sertleştirme prosedürleri üzerinde çalışıyorum ve bir kullanıcının süresi dolduğunda bir kullanıcının şifresini değiştirmesini önlemek mümkün olup olmadığını bilmek istedim.

Müşterilerimizden biri için gereksinim sunucuya yalnızca geçici hesaplar aracılığıyla erişebilmeleri gerektiğidir, yani kullanıcı kimlik bilgileri oluşturulduktan sonra parolanın süresi 4 saat içinde sona ermeli ve parolanın süresi dolduğunda, yalnızca root değiştirebilir .

İlk gereksinim için (4 saat sonra parolaların geçerlilik süresi doluyor), sanırım passwordMaxAge = 144000 ayarlanarak elde edilebilir . Ancak, kullanıcıların geçerlilik süresi dolmuş şifreleri değiştirmelerini engellemeden, şifre geçerlilik süresi sona ermeden hala bir yol bulamadım.

Biri yardım edebilir mi?


4
Kullanıcının mevcut oturumları 4 saatlik pencereden sonra açık tutması uygun mudur? Kullanıcının şifresinin süresi dolmuşsa, zaten giriş yapmışlarsa bu kodlar kullanılmayacaktır. Bir SSH oturumunu haftalarca açık tutabilirim.
Wyzard

/ Cronjobs'a güvenmek ve sistem ikili dosyalarını değiştirmek yerine, basit bir pam modülü yazabilirsiniz ya da orada bir tane bile olabilir (ya da daha fazla seçenek eklemek için
pam_time'ı çatallayabilirsiniz

Yanıtlar:


21

Genellikle, parola geçerlilik süresi, kullanıcıları şifrelerini değiştirmeye zorlamak için kullanılır . Yapmak istediğiniz şey, tüm girişleri engelleyen hesabı kilitlemektir .

Bunun yerine önereceğiniz şey, hesabı oluşturduğunuzda, hesabı dört saat sonra kilitleyecek bir iş kurmaktır.

Örneğin:

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

( chage -Eson kullanma tarihlerinin gün cinsinden verilmesini bekler, bu yüzden bir işte bununla çalışırız.)


3
Güzel bir çözüm. Benden +1.
Jenny D

2
Ah, patlama - Bu fikri de seviyorum ; ayrıca +1. Sonsuza dek takılmamaları için tüm bu geçici hesapları toplama avantajına sahip olacak bir atted bile yapabilirsiniz userdel.
MadHatter

2
Aslında bu benim önerimden daha iyi.
Jenny D

Bence passwd -l temp813aynı şeyi başaracak chage -E 0 temp8143.
Nate Eldredge

5
@NateEldredge Tam olarak değil. passwd -lörneğin, ssh anahtar girişlerini veya parmak izi girişlerini engellemez chage -E 0.
Michael Hampton

24

Setuid bitini passwd komutundan kaldırırsanız, yalnızca root bunu kullanabilir. Bu aynı zamanda şifreyi değiştirmesini devre dışı bırakır önce aksi kullanıcıların başka dört saat hesabı uzatmak için bir yol olabilir ki - bu sona erer.

[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

Kök hala herhangi bir şifreyi değiştirebilir:

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

5
Zarif ve çok UNIX. Benden +1. @borntohula, ondan memnunsanız "onay" işaretini tıklayarak bu yanıtı kabul etmeyi unutmayın.
MadHatter

6
Bu neredeyse işe yarıyor. Sorun passwd, sistem tarafından güncellendiğinde setuid bitini kaldırmanızın geri alınmasıdır.
Michael Hampton

3
@MichaelHampton True. Örneğin kukla bunun için düzeltme. Ayrıca, herkes her güncellemeden sonra sistemlerini yeni setuid / setgid bitleri için kontrol etmiyor mu?
Jenny D

1
@JennyD - muhtemelen setuid / setgid bitlerini değiştirmeyi kontrol etmeliler , ancak çok az şey yapıyorlar
warren

2
@warren - bu cümlede hafif bir alay izi olabilir. Çok küçük bir iz. Minuscule.
Jenny D
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.