Làm cách nào để ngăn người dùng mở rộng cửa sổ đăng nhập hợp lệ của họ


14

Đã làm việc với một số quy trình tăng cường bảo mật cho hộp RedHat và tôi muốn biết liệu có thể ngăn người dùng thay đổi mật khẩu của mình không, khi hết hạn.

Đối với một trong những khách hàng của chúng tôi, yêu cầu là họ chỉ phải có quyền truy cập vào máy chủ thông qua các tài khoản tạm thời, nghĩa là một khi thông tin đăng nhập của người dùng được tạo, mật khẩu phải hết hạn trong vòng 4 giờ và khi mật khẩu hết hạn, chỉ có thể root mới có thể thay đổi nó .

Đối với yêu cầu đầu tiên (mật khẩu hết hạn sau 4 giờ), tôi đoán có thể đạt được bằng cách đặt passwordMaxAge = 144000 . Nhưng tôi vẫn không thể tìm ra cách ngăn người dùng thay đổi mật khẩu đã hết hạn mà không tắt hết hạn mật khẩu.

Có ai giúp được không?


4
Có ổn không nếu người dùng giữ các phiên đăng nhập hiện tại mở qua cửa sổ 4 giờ? Hết hạn mật khẩu của người dùng sẽ không loại bỏ họ nếu họ đã đăng nhập. Tôi có thể giữ phiên SSH mở trong nhiều tuần.
Wyzard

Thay vì dựa vào / cronjobs và sửa đổi các nhị phân hệ thống, bạn có thể viết một mô-đun pam đơn giản, hoặc thậm chí có thể có một mô-đun ngoài đó (hoặc bạn có thể rẽ nhánh pam_time để bao gồm nhiều tùy chọn hơn)
PlasmaHH

Câu trả lời:


21

Nói chung, hết hạn mật khẩu được sử dụng để buộc người dùng thay đổi mật khẩu của họ. Những gì có vẻ như bạn muốn làm là khóa tài khoản, điều này ngăn chặn tất cả đăng nhập.

Thay vào đó, những gì tôi khuyên bạn nên làm là, khi bạn tạo tài khoản, cũng sẽ thiết lập một công việc sẽ khóa tài khoản sau bốn giờ.

Ví dụ:

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

( chage -Edự kiến ​​ngày hết hạn sẽ được cung cấp theo ngày, vì vậy chúng tôi xử lý vấn đề này với công việc.)


3
Đó là một giải pháp tốt. +1 từ tôi.
Jenny D

2
Ah, vụ nổ - Tôi thích ý tưởng này cũng ; cũng +1. Bạn thậm chí có thể làm một con atgấu bông userdel, điều này sẽ có lợi thế trong việc thu dọn tất cả các tài khoản tạm thời này để chúng không tồn tại mãi mãi.
MadHatter

2
Tôi nghĩ rằng điều này là tốt hơn so với đề nghị của tôi, thực sự.
Jenny D

Tôi nghĩ passwd -l temp813sẽ đạt được điều tương tự như chage -E 0 temp8143.
Nate Eldredge

5
@NateEldredge Không chính xác. passwd -lChẳng hạn, sẽ không ngăn đăng nhập khóa ssh hoặc đăng nhập vân tay chage -E 0.
Michael Hampton

24

Nếu bạn loại bỏ bit setuid khỏi lệnh passwd, chỉ root mới có thể sử dụng nó. Điều này cũng sẽ vô hiệu hóa người dùng thay đổi mật khẩu trước khi nó hết hạn - điều này có thể là cách để người dùng gia hạn tài khoản thêm bốn giờ nữa.

[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 vẫn có thể thay đổi bất kỳ mật khẩu:

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

5
Thanh lịch, và rất UNIX. +1 từ tôi. @borntohula, đừng quên chấp nhận câu trả lời này bằng cách nhấp vào phác thảo "đánh dấu" nếu bạn hài lòng với nó.
MadHatter

6
Điều này gần như hoạt động. Vấn đề với nó là việc loại bỏ bit setuid của bạn sẽ được hoàn tác nếu passwdđược hệ thống cập nhật.
Michael Hampton

3
@MichaelHampton Đúng. Sửa chữa đó là những gì ví dụ như con rối là cho. Ngoài ra, không phải ai cũng kiểm tra hệ thống của mình để biết các bit setuid / setgid mới sau mỗi lần cập nhật sao?
Jenny D

1
@JennyD - có lẽ họ nên kiểm tra các bit setuid / setgid thay đổi, nhưng rất ít khi thực hiện
warren

2
@warren - có thể có một chút châm biếm trong câu đó. Một dấu vết rất nhỏ. Cỡ nhỏ.
Jenny D
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.