7.1Một host và nhóm các user
Cụ thể hóa 1 nhóm user được phép sử dụng 1 host.Phương pháp ủy quyền đầu tiên, trong đó bạn chỉ định một nhóm người dùng được phép sử dụng một host nào đó, quan hệ vào các thông tin khác mà bạn đã di chuyển vào thư mục. Nhập máy chủ cho một máy tính (được tạo ra từ / etc / hosts bởi các scripts PADL) có thể được mở rộng để bao gồm một danh sách các DNS cho người dùng (thành viên) được ủy quyền để đăng nhập vào sử dụng pam_ldap
dn: cn=pogo,ou=hosts,dc=plainjoe,dc=org objectClass: ipHost objectClass: device objectClass: extensibleObject ipHostNumber: 192.168.1.75 cn: pogo.plainjoe.org cn: pogo member: uid=gcarter,ou=people,dc=plainjoe,dc=org member: uid=kristi,ou=people,dc=plainjoe,dc=org member: uid=deryck,ou=people,dc=plainjoe,dc=org
Để cấu hình pam_ldap để vinh danh thành viên nhóm này, hai dòng sau đây phải được thêm vào / etc / ldap.conf:
## Define the DN of the entry to contain the groupOfUniqueNames. pam_groupdn cn=pogo,ou=hosts,dc=plainjoe,dc=org
## Define the attribute type that should be used in the attempt to match the user's ## DN.
pam_member_attribute member
7.2 Một user và một nhóm các host
Bạn cũng có thể chỉ định các máy mà bất kỳ người dùng nào được phép truy cập. Để thực hiện cơ chế này, tài khoản cấu trúc đối tượng lớp được liệt kê trong file cosine.schema phải có mặt trong danh sách các lớp đối tượng . Hình 6-6 cho thấy các lớp đối tượng account yêu cầu chỉ có một thuộc tính. Thuộc tính này, uid, đã được yêu cầu của lớp đối tượng posixAccount và do đó đảm bảo có mặt.
có các thuộc tính host được sử dụng pam_ldap. LDIF cho thấy lớp tài khoản đối tượng có thể được sử dụng để kiểm soát truy cập:
dn: uid=gcarter,ou=People,dc=plainjoe,dc=org uid: gcarter
cn: Gerald (Jerry) Carter objectClass: account objectClass: posixAccount objectClass: shadowAccount loginShell: /bin/bash uidNumber: 780 gidNumber: 100 homeDirectory: /home/queso/gcarter userPassword: {crypt}GoYLwzMD6cuZE host: queso.plainjoe.org host: pogo.plainjoe.org host: tumnus.plainjoe.org
Danh sách này cho thấy rằng user gcarter được phép truy cập các máy chủ queso, Pogo, và tumnus. Để kích hoạt chức năng kiểm tra máy chủ của pam_ldap, bạn phải kích hoạt các tham số
pam_check_host_attr trong ldap.conf: ## Enable host attribute lookups. pam_check_host_attr yes
8. Netgroup
Netgroups cho phép các máy và/hoặc user được thu thập cho các công việc như: nhóm các máy với nhau để sử dụng trong các tập tin tcp_wrapper / etc / hosts.allow và / etc / hosts.deny. Trong ví dụ tiếp theo cho giới hạn truy cập thông qua ssh cho các thành viên của netgroup sysadmin:
# /etc/hosts.deny sshd: ALL . . .
# /etc/hosts.allow sshd: @sysadmin
Netgroups có thể được chỉnh với chỉ 1 hosts cá nhân
sysadmin (garion.plainjoe.org,-,-)(silk.plainjoe.org,-,-)
hoặc các netgroup khác:
all_sysadmin sysadmin secure_clients
9. Bảo mật
Bạn đã đặt rất nhiều thông tin nhạy cảm vào thư mục của bạn, mà bây giờ kiểm soát cho dù người dùng có thể đăng nhập vào máy tính trên mạng của bạn. Và bạn chắc chắn có thể đặt nhiều thông tin vào thư mục: số điện thoại, thông tin nguồn nhân lực, vv Một số thông tin này có thể
bạn không biết làm thế nào để ngăn người dùng truy cập thông tin mà họ không nên có quyền truy cập vào. Để có bất kỳ tin tưởng vào một giải pháp, chúng ta phải kiểm tra xem vấn đề bảo mật nhất định được giải quyết bằng các mô-đun PAM và NSS.
Từ quan điểm của quản trị hệ thống, các thông tin quan trọng nhất để bảo vệ liên quan đến tài khoản người dùng và nhóm. Mọi người cần phải quan tâm đến sử dụng một giao thức văn bản rõ ràng, chẳng hạn như FTP, để chuyển / etc / passwd và / etc / shadow từ một máy khác.
Để bảo vệ mật khẩu người dùng, chúng ta phải nhìn vào các mô-đun PAM liên kết với các thư mục. pam_ldap luôn luôn sử dụng một liên kết đơn giản để xác thực người dùng chống lại một máy chủ LDAP. Bạn nên tránh gửi thông tin tài khoản trên mạng trong một hình thức có thể đọc được bởi bất cứ ai xem lưu lượng truy cập.
LDAPv3 cung cấp hai cơ chế có thể được sử dụng để bảo vệ mật khẩu. Một là sử dụng SASL để hỗ trợ các phương pháp xác thực an toàn như Kerberos 5 hoặc DIGEST-MD5. Tuy nhiên, trong khi cơ chế này bảo vệ mật khẩu, nó không nhất thiết phải bảo vệ các thông tin khác hơn là mật khẩu của người dùng. Nó không được hỗ trợ bởi pam_ldap. Các giải pháp thứ hai là để thương lượng một lớp vận chuyển an toàn để bảo vệ các thông tin được sử dụng trong các yêu cầu ràng buộc LDAP cũng như tất cả các thông tin khác được gửi đến và đi từ máy chủ thư mục.
Việc bảo mật phải được thực hiện bởi máy chủ và máy khách. Không có sự khác biệt nếu một bên sẵn sàng để giao tiếp an toàn, nhưng bên còn lại thì không. Cả hai mô-đun pam_ldap và nss_ldap hỗ trợ bằng cách sử dụng lệnh STARTTLS đàm phán việc bảo mật lớp vận chuyển. Ngoài ra, các mô-đun cũng hỗ trợ giao thức LDAPS (tcp/636)