www.nhipsongcongnghe.net
Bảo mật hệ thống *nix với PAM
1. Đặt vấn đề
Chắc hẳn bạn đã từng tự hỏi tại sao các chương trình ftp, su, login, passwd, sshd, rlogin …
lại có thể hiểu và làm việc với shadow password; hay tại sao các chương trình su, rlogin lại
đòi hòi password; tại sao một số hệ thống chỉ cho một nhóm nào đó có quyền su, hay
sudo, hay hệ thống chỉ cho phép một số người dùng, nhóm người dùng đến từ các host xác
định và các thiết lập giới hạn cho những người dùng đó, …Tất cả đều có thể lý giải với PAM.
Ứng dụng của PAM còn nhiều hơn những gì tôi vừa nêu nhiều, và nó bao gồm các module
để tiện cho người quản trị lựa chọn.
2. Cấu trúc PAM
- Các ứng dụng PAM được thiết lập trong thư mục /etc/pam.d hay trong file /etc/pam.conf
( login, passwd, sshd, vsftp, …)
- Thư viện các module được lưu trong /lib/security ( pam_chroot.so, pam_access.so,
pam_rootok.so, pam_deny.so, … )
- Các file cấu hình được lưu trong /etc/security ( access.conf, chroot.conf, group.conf ,… )
+access.conf – Điều khiển quyền truy cập, được sử dụng cho thư viện pam_access.so.
+group.conf – Điểu khiển nhóm người dùng, sử dụng bởi pam_group.so
+limits.conf – thiết lập các giới hạn tài nguyên hệ thống, được sử dụng bởi pam_limits.so.
+pam_env – Điểu khiển khả năng thay đổi các biến môi trường, sử dụng cho thư viện
pam_env.so .
+time – Thiết lập hạn chế thời gian cho dịch vụ và quyền người dùng, sử dụng cho thư
viện pam_time.so.
3. Cách hoạt động của PAM
Thuật ngữ
- Các chương trình login, pass, su, sudo, … trên được gọi là privilege-granting application (
chương trình trao đặc quyền ).
- PAM-aware application: là chương trình giúp các privile-granting application làm việc với
thư viện PAM.
Các bước hoạt động:
1. Người dùng chạy một ứng dụng để truy cập vào dịch vụ mong muốn, vd login.