Tìm hiểu về cơ chế sác thực PAM trên Linux

27 519 15
Tìm hiểu về cơ chế sác thực PAM trên Linux

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Linux là một máy chủ, có thể cung cấp một số dịch vụ khác nhau (ví dụ: web, ftp với các khu vực bị hạn chế bởi kiểm soát mật khẩu). Thông qua việc sử dụng các module, PAM có thể cho phép một chương trình tìm kiếm thông qua một số cơ sở dữ liệu mật khẩu khác nhau, ngay cả khi chương trình đó không được mã hóa rõ ràng cho cơ sở dữ liệu cụ thể đó

HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TỒN THƠNG TIN Đề tài : TÌM HIỂU CÁC CHẾ XÁC THỰC TRÊN HỆ ĐIỀU HÀNH LINUX Giáo viên hướng dẫn: Nguyễn Thị Hồng Hà Danh sách thành viên nhóm: Phạm Văn Đạt Nguyễn Anh Huy Nguyễn Thị Mai Huyên Trần Tấn Lực MỤC LỤC CHƯƠNG 1: HỆ ĐIỀU HÀNH LINUX 1.1 Khái niệm Linux Linux tên gọi hệ điều hành máy tính tên hạt nhân hệ điều hành Nó lẽ ví dụ tiếng phần mềm tự việc phát triển mã nguồn mở Một cách xác, thuật ngữ "Linux" sử dụng để Nhân Linux (Linux kernel) hạt nhân Linux, lập trình ngôn ngữ C Linus Torvalds phát triển, mô lại hạt nhân Unix Linux ví dụ điển hình phần mềm mở miễn phí tên sử dụng cách rộng rãi để miêu tả tổng thể hệ điều hành tương tự Unix (còn biết đến tên GNU/Linux) tạo việc đóng gói nhân Linux với thư viện công cụ GNU, phân phối Linux Thực tế tập hợp số lượng lớn phần mềm máy chủ web, ngơn ngữ lập trình, hệ quản trị sở liệu, môi trường desktop GNOME KDE, ứng dụng thích hợp cho cơng việc văn phòng OpenOffice, LibreOffice 1.2 Lịch sử đời Vào năm 1991 học University of Helsinki, Torvalds bắt đầu ý tưởng hệ điều hành, ông nhận thấy hạn chế giấy phép MINIX Nó cho phép việc sử dụng MINIX giáo dục mà thơi Ơng bắt đầu viết nên hệ điều hành riêng Torvalds phát triển Linux kernel mơi trường MINIX, ứng dụng viết cho MINIX sử dụng Linux Sau Linux "trưởng thành" việc phát triển Linux diễn hệ thống Linux Các ứng dụng GNU thay thành phần MINIX, lợi ích sử dụng mã nguồn sẵn cách tự từ dự án GNU với hệ điều hành "non nớt" Phiên Linux Linus Torvalds viết vào năm 1991, lúc ơng sinh viên Đại học Helsinki Phần Lan Ông làm việc cách hăng say vòng năm liên tục cho đời phiên Linux 1.0 vào năm 1994 Bộ phận chủ yếu phát triển tung thị trường quyền GNU General Public License Do mà tải xem mã nguồn Linux Khởi đầu, Linux phát triển cho dòng vi xử lý 386, hệ điều hành hỗ trợ số lượng lớn kiến trúc vi xử lý, sử dụng nhiều ứng dụng khác từ máy tính cá nhân siêu máy tính thiết bị nhúng ví dụ máy điện thoại di động Ban đầu, Linux phát triển sử dụng người say mê Tuy nhiên, Linux hỗ trợ công ty lớn IBM Hewlett-Packard, đồng thời bắt kịp phiên Unix độc quyền chí thách thức thống trị Microsoft Windows số lĩnh vực Sở dĩ Linux đạt thành công cách nhanh chóng nhờ vào đặc tính bật so với hệ thống khác: chi phí phần cứng thấp, tốc độ cao (khi so sánh với phiên Unix độc quyền) khả bảo mật tốt, độ tin cậy cao (khi so sánh với Windows) đặc điểm giá thành rẻ, không bị phụ thuộc vào nhà cung cấp Một đặc tính trội phát triển mơ hình phát triển phần mềm nguồn mở hiệu Tuy nhiên, số lượng phần cứng hỗ trợ Linux khiêm tốn so với Windows trình điều khiển thiết bị tương thích với Windows nhiều Linux Nhưng tương lai số lượng phần cứng hỗ trợ cho Linux tăng lên 1.3 Ưu nhược điểm Linux 1.3.1 Ưu điểm • Bản quyền chi phí Linux phát triển "free" cho người sử dụng dựa tảng mã nguồn mở - open source Windows quyền Office quyền phải khoảng vài triệu để sở hữu Vì lý mà tỷ lệ dùng lậu Windows Việt Nam mức cao Và đương nhiên việc dùng lậu kèm bất tiện chưa kể vấn đề nguyên tắc làm việc Sử dụng Linux bạn sử dụng miễn phí tất tính kèm ứng dụng văn phòng miễn phí mà khơng phải lo lắng vấn đề quyền • Bảo mật Như nói trên, viếc phát tán virus qua Windows tránh khỏi lây lan nhanh dùng Linux bạn việc nhấn xóa lần thấy virus xuất xong • Linh hoạt Đối với Linux, bạn hiểu biết nhiều chút tự thực tùy chỉnh theo ý Tuy nhiên, điều không xảy với Windows, bạn cần phải Windows thơng qua lần muốn chỉnh sửa Ngồi ra, tảng tương thích với nhiều mơi trường khác nhau, đó, lý tưởng cho lập trình viên developer • Chạy ổn định máy tính cấu hình yếu Một phiền toái mà hẳn người dùng Windows thấy quen thuộc Windows mắt nâng cấp người dùng phải nâng cấp cấu hình theo máy khơng đáp ứng phiên Và khơng nâng cấp mãi dùng phiên cũ mà nhanh bị Windows cho vào quên lãng Việc chạy mượt mà, độ ổn định cao máy cấu hình thấp nâng cấp, hỗ trợ thường xuyên từ nhà phát hành lẽ ưu điểm người ưa chuộng Linux đánh giá cao Windows Tuy nhiên, Linux tránh khỏi tồn nhược điểm khiến cho Windows tiếp tục mở rộng thống trị 1.3.2 Nhược điểm • Số lượng ứng dụng hỗ trợ hạn chế • Một số nhà sản xuất không phát triển driver hỗ trợ tảng Linux • Mất thời gian để làm quen, đặc biệt chuyển từ Windows sang sử dụng Linux cần thời giàn để thích nghi từ đầu • Nếu bạn cần lý cụ thể thuyết phục để định việc sử dụng hệ điều hành Linux hay khơng, hay nên chuyển từ Windows sang Linux khơng phân tích chi tiết để giúp bạn hiểu vấn đề bạn băn khoăn Còn lại định bạn tùy thuộc vào mục tiêu sử dụng bạn 2.1 CHƯƠNG 2: TỔNG QUAN VỀ XÁC THỰC Các khái niệm ý nghĩa xác thực Xác thực (tiếng Anh: Authentication - xuất phát từ Authentic nghĩa “thật”, “thực”,“đích thực” “chính cống”) hành động nhằm xác lập chứng thực người (hay đó) đáng tin cậy, nghĩa lời khai báo người đưa thật Xác thực đối tượng nghĩa công nhận nguồn gốc đối tượng, khi, xác thực người thường bao gồm việc thẩm tra nhận dạng họ Trong an tồn thơng tin máy tính xác thực quy trình nhằm xác minh nhận dạng số (digital identity) bên gửi thông tin (sender) liên lạc trao đổi xử lý thông tin chẳng hạn yêu cầu đăng nhập Bên gửi cần phải xác thực người sử dụng máy tính, thân máy tính phần mềm Việc xác thực thường phụ thuộc vào nhiều yếu tố xác thực (authentication factor) để minh chứng cụ thể Xác thực khâu đặc biệt quan trọng để bảo đảm an toàn cho hoạt động hệ thống thông tin dạng hệ thống ngân hàng điện tử Hệ thống luôn trước tiên xác thực thực thể cố thử thiết lập liên lạc Khi nét nhận dạng thực thể dùng để xác định truy nhập đặc quyền để đạt sẵn sàng phục vụ 2.2 Các yếu tố xác thực Những yếu tố xác thực dành cho người (người sử dụng) nói chung phân loại sau: - Những mà người sử dụng sở hữu bẩm sinh, chẳng hạn dấu vân tay mẫu dạng võng mạc mắt, chuỗi ADN, mẫu dạng giọng nói, chữ ký, tín hiệu sinh điện đặc thù thể sống tạo ra, - định danh sinh trắc học (biometric identifier) Những người sử dụng có, chẳng hạn chứng minh thư, chứng an ninh (security token), chứng phần mềm (software token) điện thoại di động - Những người sử dụng biết, chẳng hạn mật (password), mật ngữ (pass phrase) mã số định danh cá nhân (personal 2.3 identification number - PIN)… Các phương pháp xác thực 2.3.1 Dựa định danh mật Xác thực dựa User Name (định danh người sử dụng) Password (mật khẩu): Sự kết hợp cặp username password nói cách xác thực (và phổ biến nhất) Với phương thức xác thực này, thông tin cặp username password nhập vào đối chiếu với liệu lưu trữ hệ thống, trùng khớp username password, người sử dụng (User) xác thực khơng người sử dụng bị từ chối cấm truy cập Nói chung phương thức xác thực tính bảo mật khơng cao lý thường thơng tin cặp username password nhập vào gửi xác thực tình trạng plain text (ký tự văn thuần), tức khơng mã hóa bị chặn bắt đường truyền, chí trình nhập vào; lộ password đặt đơn giản (dạng ‘123456’, ‘abc123’ v.v.) dễ đoán (tên / ngày sinh người thân ) 2.3.2 Dựa giao thức thách thức, đáp ứng Giao thức xác thực bắt tay thử thách - Challenge Handshake Authentication Protocol (CHAP): Challenge Handshake Authentication Protocol (CHAP) mơ hình xác thực dựa username/password Khi User cố gắng đăng nhập (log on), máy chủ (server) đảm nhiệm vai trò xác thực gửi thông điệp thử thách (challenge message) trở lại máy tính User Lúc máy tính User phản hồi lại username password mã hóa Server xác thực so sánh phiên xác thực User lưu giữ với phiên mã hóa vừa nhận, trùng khớp User xác thực Bản thân password không gửi qua mạng Phương thức CHAP thường sử dụng User đăng nhập vào máy chủ xa (remote server) hệ thống, chẳng hạn RAS server Dữ liệu chứa password mã hóa đơi gọi hash password (mật băm) theo tên phương pháp mã hoá dùng hàm băm 2.3.3 Dựa giao thức xác thực Kerberos Xác thực Kerberos: Kerberos tảng xác thực nhiều hệ điều hành UNIX, Windows Xác thực Kerberos dùng server trung tâm để kiểm tra việc xác thực user cấp phát thẻ thơng hành (service ticket) để User truy cập vào tài nguyên hệ thống Xác thực Kerberos phương thức tính an tồn cao nhờ việc dùng cấp độ mã hóa mạnh Kerberos dựa độ xác thời gian xác thực Server Client, cần phải đảm bảo kết nối đồng thời gian thành phần hệ thống 2.3.4 Dựa nhận dạng nhân trắc học Xác thực áp dụng phương pháp nhận dạng sinh trắc học (Biometrics): Đây mơ hình xác thực tính bảo mật cao dựa đặc điểm sinh học cá nhân sử dụng thủ tục quét dấu vân tay (fingerprint scanner), quét võng mạc mắt (retinal scanner), nhận dạng giọng nói (voice recognition), nhận dạng khn mặt (face recognition) Nhờ tiến vượt bậc công nghệ sinh học phương thức xác thực dựa nhận dạng sinh trắc học ngày trở nên phổ biến chấp nhận rộng rãi Ví dụ xác thực quét dấu vân tay phổ biến máy tính xách tay, chí điện thoại di động Dựa token Xác thực sử dụng token (biểu trưng kỹ thuật số): Token phương tiện vật lý 2.3.5 thẻ thông minh (smart card), thẻ đeo nhân viên (ID badge) chứa thông tin xác thực tạo OTP (One Time Password - mật dùng lần) Tokens lưu trữ mã số nhận dạng cá nhân (PIN), thông tin user, lưu giữ tạo password Các thông tin token đọc / xử lý thiết bị / hệ thống đặc dụng Chẳng hạn thẻ thông minh đọc đầu đọc thẻ smart card chuyên dụng, OTP xử lý hệ thống xác thực sử dụng yếu tố xác thực thứ hai mật dùng lần 2.4 Một số phương thức xác thực LDAP: LDAP chữ viết tắt Lightweight Directory Access Protocol LDAP phát triển dựa chuẩn X500 Đây chuẩn cho dịch vụ thư mục (Directory Service DS) chạy tảng OSI LDAP coi lightweight LDAP sử dụng gói tin overhead thấp, xác định xác lớp TCP danh sách giao thức TCP/IP (các dịch vụ hướng kết nối) X500 heavyweight lớp giao thức ứng dụng, chứa nhiều header (các header layer tầng thấp hơn) Hình tương quan mơ hình x.500 (mơ hình OSI) với mơ hình LDAP (mơ hình TCP/IP) LDAP giao thức, không hỗ trợ xử lý sở liệu Mà cần nơi lưu trữ backend xử lý liệu Vì mà LDAP client kết nối tới LDAP server theo mơ hình sau 10 tạo nhằm thay cho trình Telnet vốn khơng mã hóa sử dụng kỹ thuật cryptographic để đảm bảo tất giao tiếp gửi tới gửi từ server từ xa diễn tình trạng mã hóa Nó cung cấp thuật tốn để chứng thực người dùng từ xa, chuyển input từ client tới host, relay kết trả tới khách hàng Để hiểu SSH trước tiên bạn cần phải biết hoạt động Nếu bạn sử dụng Linux Mac, sử dụng SSH đơn giản Nếu bạn sử dụng Windows, bạn cần sử dụng SSH client để mở kết nối SSH Những trình SSH client phổ biến Putty 13 CHƯƠNG 3: XÁC THỰC PAM TRÊN LINUX 3.1 Khái niệm PAM PAM (Pluggable Authentication Modules) thư viện chia sẻ cho phép người quản trị hệ thống cục chọn cách ứng dụng xác thực người dùng Chức (các) tệp cấu hình cung cấp ánh xạ từ tên dịch vụ ứng dụng tới tập hợp module cung cấp dịch vụ xác thực cho ứng dụng thô Khi ứng dụng nhận biết pam với tập tin /etc/pam.d bắt đầu, thư viện PAM nạp cấu hình cho dịch vụ định xây dựng bốn chuỗi module (một cho sở.) Nếu cấu hình khơng định module cho nhiều sở hơn, cấu hình cho dịch vụ khác sử dụng thay cho sở Linux máy chủ, cung cấp số dịch vụ khác (ví dụ: web, ftp với khu vực bị hạn chế kiểm sốt mật khẩu) Thơng qua việc sử dụng module, PAM cho phép chương trình tìm kiếm thơng qua số sở liệu mật khác nhau, chương trình khơng mã hóa rõ ràng cho sở liệu cụ thể 3.2 Cấu trúc PAM Các ứng dụng PAM thiết lập thư mục /etc/pam.d hay file /etc/pam.conf ( login, passwd, sshd, vsftp, …) Thư viện module lưu /lib/security ( pam_chroot.so, pam_access.so, pam_rootok.so, pam_deny.so, … ) Các file cấu hình lưu /etc/security ( access.conf, chroot.conf, group.conf ,… ) • access.conf : Điều khiển quyền truy cập, 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 pam_group.so 14 • limits.conf : Thiết lập giới hạn tài nguyên hệ thống, sử • dụng pam_limits.so pam_env : Điểu khiển khả thay đổi 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ụ quyền người dùng, sử dụng cho thư viện pam_time.so 3.3 Phương thức hoạt động hoạt động PAM Thuật ngữ Các chương trình login, pass, su, sudo, … gọi privilege-granting application ( chương trình trao đặc quyền ) PAM-aware application: chương trình giúp privile-granting application làm việc với thư viện PAM Các bước hoạt động: • Bước 1:Người dùng chạy ứng dụng để truy cập vào dịch vụ mong • muốn, vd login Bước 2: PAM-aware application gọi thư viện PAM để thực nhiệm vụ • xác thực Bước 3: PAM library dựa vào file cấu hình chương trình /etc/pam.d ( vd login -> file cấu hình /etc/pam.d/login ) xác định loại xác thực yêu cầu cho chương trình Trong trường hợp • • khơng file cấu hình, file /etc/pam.d/other sử dụng Bước 4:PAM library load module yêu cầu cho xác thực Bước 5: Các modules tạo liên kết tới hàm chuyển đổi • ( conversation functions ) chương trình Bước 6: Các hàm dựa vào modules mà đưa yêu cầu với người • • dùng, vd chúng yêu cầu người dùng nhập password Bước 7: Người dùng nhập thông tin vào theo yêu cầu Bước 8: Sau trình xác thực kết thúc, chương trình dựa vào kết mà đáp ứng yêu cầu người dùng ( vd cho phép login vào hệ thống ) hay thông báo thất bại với người dùng 15 3.4 Nghiên cứu file config Listing 10-1: The /etc/pam.d/rlogin file #%PAM-1.0 auth required /lib/security/pam_securetty.so auth sufficient /lib/security/pam_rhosts_auth.so auth required /lib/security/pam_stack.so service=system-auth auth required /lib/security/pam_nologin.so account required /lib/security/pam_stack.so service=system-auth password required /lib/security/pam_stack.so service=system-auth session required /lib/security/pam_stack.so service=system-auth Các dòng file config dạng sau: module-type control-flag module-path module-args 3.4.1 MODULE TYPE • auth: thực xác thực Thông thường, auth module yêu cầu password để kiểm tra, hay thiết lập định danh nhóm người • dùng, hay thẻ kerberos Account điều khiển kiểm tra “bề mặt” với yêu cầu xác thực Ví dụ, kiểm tra người dùng truy cập dịch vụ từ host • thời gian cho phép hay khơng Password: thiết lập password Thơng thường, ln tương • ứng module auth module password Session: điều khiển nhiệm vụ quản lý session Được sử dụng để đảm bảo người dùng sử dụng tài khoản họ xác thực 3.4.2 PAM MODULE CONTROL FLAGS • Require: cờ điều khiển nói với PAM library yêu cầu thành công modules tương ứng, vd “auth required /lib/security/pam_securetty.so” module pam_securetty.so phải thành cơng Nếu module khơng thực thành cơng q trình 16 xác thực thất bại Nhưng lúc đó, PAM tiếp tục với module khác, nhiên tác dụng nhằm tránh khỏi việc người dùng • đốn q trình bị thất bại giai đoạn Sufficient: cờ khác với cờ chỗ, module thực thành cơng thơng báo hồn thành q trình xác thực, mà • • khơng duyệt module khác Requisite: cờ ý nói PAM library loại bỏ q trình xác thực gặp thông báo thất bại module Optional: cờ sử dụng, ý nghĩa module thực thành công hay thất bại không quan trọng, không ảnh hưởng trình xác thực 3.4.3 MODULE-PATH Module-path cho PAM biết module sử dụng (tùy chọn) đâu để tìm Hầu hết cấu hình chứa tên module Kể từ Linux-PAM-0.56 phát hành hỗ trợ cho thư mục module xác thực mặc định, đường dẫn đầy đủ khơng cần thiết, tên module PAM tìm kiếm module thư mục module PAM mặc định, thông thường / usr / lib / security Tuy nhiên, phân phối Linux bạn tuân theo tiêu chuẩn Hệ thống tập tin Linux, module PAM tìm thấy / lib / security Ví dụ như: pam_access.so, pam_chroot.so, pam_deny.so, pam_limits.so, pam_listfile.so… 3.4.4 ARGUMENTS Bất kỳ trường khác chứa đối số cho module Mỗi module đối số riêng Ví dụ: cấu hình đăng nhập chúng tôi, "nulok" ("null ok", đối số chuyển tới module pam_unix.so , cho biết mật trống ("null") chấp nhận ("ok") 17 Sau danh sách tùy chọn module khả nhận dạng tất module: • debug Sử dụng lệnh syslog để ghi thông tin gỡ lỗi vào tệp nhật ký hệ thống • no_warn Hướng dẫn module để không đưa thông báo cảnh báo cho ứng dụng • use_first_pass Module không nên nhắc người dùng nhập mật Thay vào đó, lấy mật nhập trước (từ module auth trước đó) sử dụng Nếu điều khơng hiệu người dùng không xác thực (Tùy chọn dành cho module xác thực mật khẩu) • try_first_pass Module thử xác thực mật nhập trước (từ module auth trước đó) Nếu điều khơng tác dụng người dùng nhắc nhập mật (Tùy chọn dành cho module auth) • use_mapped_pass Đối số khơng hỗ trợ module phân phối Linux-PAM hậu liên quan đến hạn chế xuất mã hóa Hoa Kỳ Trong nước Mỹ, nhà phát triển module, tất nhiên, miễn phí để thực (như nhà phát triển nước khác) Vì lý tương thích, chúng tơi mơ tả cách sử dụng đề xuất DCE-RFC 86.0, xem phần thư mục cho trỏ đến tài liệu Đối số use_mapped_pass thị module để lấy mã xác thực văn rõ ràng module trước nhập vào (u cầu mã thơng báo đó) sử dụng để tạo khóa mã hóa / giải mã để lưu trữ / truy xuất mã xác thực yêu cầu cho module cách an toàn Bằng cách này, người dùng nhập mã thơng báo xác thực xác thực cách lặng lẽ 18 số module xếp chồng Rõ ràng tính thuận tiện thiết đòi hỏi số mã hóa mạnh mẽ đáng tin cậy để bảo mật Đối số dành cho loại module xác thực mật • expose_account Nói chung, rò rỉ số thơng tin tài khoản người dùng sách an tồn cho module để áp dụng Đôi khi, thông tin tên người dùng thư mục trình bao thích hợp, sử dụng để công tài khoản người dùng Tuy nhiên, số trường hợp, loại thông tin không coi mối đe dọa: hiển thị tên đầy đủ người dùng yêu cầu mật mơi trường bảo mật gọi thân thiện Đối số expose_account đối số module chuẩn để khuyến khích module bị rời rạc thông tin tài khoản coi thích hợp quản trị viên cục 3.5 Giới thiệu chức số module 3.5.1 pam_unix.so Module cung cấp xác thực Unix truyền thống, quản lý mật thiết lập tài khoản người dùng Nó sử dụng gọi hệ thống tiêu chuẩn để lấy thiết lập mật thông tin tài khoản, dựa vào / etc / shadow / etc / passwd • Account Thiết lập tính hợp lệ tài khoản mật người dùng đưa lời khuyên việc thay đổi mật người dùng bắt buộc thay đổi mật Các hành động mà module thực điều khiển tập tin / etc / passwd / etc / shadow Đối số: audit, debug • Auth 19 Thành phần module kiểm tra mật người dùng dựa vào sở liệu mật Cấu hình cho thành phần thực /etc/nsswitch.conf Một nhị phân bổ sung, unix_chkpwd , sử dụng phép thành phần đọc sở liệu bảo vệ mà không yêu cầu tồn mơ đun phải thiết lập root Đối số: audit, debug, nodelay, nullok, try_first_pass, use_first_pass • mật Thành phần thay đổi mật người dùng Các pam_cracklib.so module xếp chồng lên với thành phần để kiểm tra bảo mật mật Đối số: audit, bigcrypt, debug, md5, nis, not_set_pass, nullok, remember, try_first_pass, use_authtok use_first_pass • session Thành phần ghi lại tên người dùng loại phiên vào syslog, đầu cuối phiên người dùng Khơng đối số cho thành phần • Argument o Audit - Một hình thức gỡ rối rộng o Bigcrypt - Sử dụng phần mở rộng "C2" DEC tới crypt () o debug - Đăng nhập thông tin syslog o md5 - Sử dụng mã hóa md5 thay crypt () o nis - Sử dụng mật NIS (Dịch vụ Thông tin Mạng) o nodelay - Theo mặc định, module yêu cầu chậm trễ-trên-thất bại giây Đối số ghi đè mặc định o not_set_pass - Không sử dụng mật từ module xếp chồng khác Không cung cấp mật cho module xếp chồng khác o nullok - Theo mặc định, mật thức trống, xác thực khơng thành công Đối số ghi đè mặc định 20 o Remember - (remember = n) - Lưu mật gần để ngăn người dùng thay đổi mật o try_first_pass - Sử dụng mật từ module auth xếp chồng trước nhắc nhập mật mật truy xuất bị trống không xác o use_authtok - Đặt mật cho mật cung cấp module trước o use_first_pass - Sử dụng kết từ mô đun auth xếp chồng lên trước đó, khơng nhắc người dùng nhập mật khẩu, thất bại kết thất bại 3.5.2 pam_access.so Module chặn tên mật người dùng Nếu tên ftp ẩn danh , mật người dùng chia nhỏ dấu phân tách @ thành PAM_RUSER phần PAM_RHOST ; pam-mặt hàng thiết lập cho phù hợp Tên người dùng đặt thành ftp Trong trường hợp module thành cơng Ngồi ra, module đặt mục PAM_AUTHTOK mật nhập khơng thành cơng Hành vi module sửa đổi với cờ sau: • debug - đăng nhập nhiều thơng tin với syslog • users = XXX, YYY, - thay ftp anonymous , cung cấp thông tin đăng nhập ẩn danh vào danh sách người dùng phân tách dấu phẩy; XXX, YYY, Nếu người đăng ký nhập tên người dùng này, tên người dùng trả lại đặt thành người danh sách; `` XXX '' • ignore - khơng ý đến địa email người dùng (nếu cung cấp) 21 3.5.3 pam_chroot.so Module thiết kế để cung cấp trình bao bọc suốt xung quanh người dùng trung bình, trình bao bọc chúng hệ thống tệp giả Hữu ích bạn nhiều lớp người dùng hoang tưởng bảo mật thể sử dụng để giới hạn người dùng khác thấy hệ thống giới hạn việc chọn chương trình mà họ chạy 3.5.4 pam_console.so Module triển khai sơ đồ cấp quyền điều khiển tương tự logindevperms Solaris Cho phép cho phép số thiết bị tệp định đăng nhập đăng xuất 3.5.5 pam_cracklib.so Module cắm vào ngăn xếp mật ứng dụng cụ thể để cung cấp số kiểm tra sức mạnh trình cắm thêm cho mật Module hoạt động theo cách sau: Đầu tiên gọi thường trình Cracklib để kiểm tra độ mạnh mật khẩu; crack thích mật khẩu, module thực thêm kiểm tra độ mạnh Các kiểm tra là: • Palindrome - phải mật palindrome cũ khơng? • Case change only - Mật phải mật cũ thay đổi trường hợp khơng? • Similar - Mật giống mật cũ khơng? Điều chủ yếu kiểm sốt đối số, difok số ký tự khác cũ đủ để chấp nhận mật mới, điều mặc định 10 1/2 kích thước mật nhỏ Để tránh bị khóa liên quan đến việc cố gắng thay đổi mật dài phức tạp, bạn sử dụng 22 difignore Đối số sử dụng để xác định độ dài tối thiểu mà mật cần phải trước giá trị difok bị bỏ qua Giá trị mặc định cho difignore 23 • Simple - Mật q nhỏ khơng? Điều kiểm sốt đối số minlen, dcredit, ucredit, lcredit, ocredit Xem phần đối số để biết chi tiết cách tác phẩm mặc định • Rotated - Mật phải phiên quay mật cũ khơng? • Already used - Mật sử dụng q khứ khơng? Các mật sử dụng trước tìm thấy / etc / security / opasswd Module khơng đối số hoạt động tốt cho mã hóa mật unix chuẩn Với mã hóa md5, mật dài ký tự cài đặt mặc định cho module khiến người dùng khó chọn mật thỏa đáng Đáng ý, yêu cầu mật chứa không 1/2 ký tự mật cũ trở thành ràng buộc khơng tầm thường Ví dụ, mật cũ hình thức cáo màu nâu nhanh chóng nhảy qua chó lười biếng khó thay đổi Ngoài ra, hành động mặc định cho phép mật kích thước tối thiểu ký tự Đối với hệ thống md5, bạn tăng kích thước tối thiểu yêu cầu mật Sau đó, người ta cho phép nhiều tín dụng cho loại ký tự khác chấp nhận mật chia sẻ hầu hết ký tự với mật cũ 3.5.6 pam_deny.so Module sử dụng để từ chối truy cập Nó ln ln cho thấy thất bại ứng dụng thông qua khung công tác PAM Như nhận xét phần tổng quan trên, module phù hợp để sử dụng cho mục nhập mặc định (OTHER) 23 3.5.7 pam_env.so Module cho phép bạn (un) đặt biến môi trường tùy ý cách sử dụng chuỗi cố định, giá trị biến môi trường đặt trước / PAM_ITEM Tất điều khiển thơng qua tập tin cấu hình (theo mặc định, /etc/security/pam_env.conf overriden với đối số conffile) Mỗi dòng bắt đầu với tên biến, sau hai tùy chọn cho biến DEFAULT OVERRIDE DEFAULT cho phép quản trị viên đặt giá trị biến thành số giá trị mặc định, khơng giá trị cung cấp chuỗi rỗng giả định Các override tùy chọn bảo pam_env.so nên nhập vào giá trị (trọng giá trị mặc định) để sử dụng OVERRIDE khơng sử dụng, "" giả định không ghi đè thực VARIABLE [DEFAULT = [value]] [OVERRIDE = [value]] (Có thể khơng tồn tại) biến mơi trường sử dụng giá trị cách sử dụng cú pháp $ {string} (có thể khơng tồn tại) PAM_ITEMs sử dụng giá trị sử dụng cú pháp & commat; {string} Cả $ & commat; Các dấu ngoặc kép sử dụng giá trị (nhưng tên biến môi trường) không gian trắng cần thiết, giá trị đầy đủ phải phân tách dấu ngoặc kép nhúng báo giá khơng hỗ trợ Module phân tích tệp cặp KEY = VAL đơn giản dòng riêng biệt ( / etc / environment theo mặc định) Bạn thay đổi tệp mặc định thành phân tích cú pháp, với cờ envfile bật tắt cách đặt cờ readenv thành tương ứng Hành vi module sửa đổi với cờ sau: 24 • debug viết thêm thơng tin vào syslog • Conffile = filename theo mặc định, tập tin /etc/security/pam_env.conf dùng làm tập tin cấu hình Tùy chọn ghi đè mặc định Bạn phải cung cấp tên tệp + đường dẫn hồn chỉnh • envfile = filename theo mặc định, tập tin / etc / environment sử dụng để nạp cặp KEY = VAL trực tiếp vào env Tùy chọn ghi đè mặc định Bạn phải cung cấp tên tệp + đường dẫn hồn chỉnh • readenv = | bật tắt đọc tập tin định envfile (0 tắt, bật) Theo mặc định, tùy chọn bật 3.5.8 pam_filter.so Mỗi thành phần module khả gọi lọc mong muốn Bộ lọc execv (2) d với đặc quyền ứng dụng gọi điện khơng phải người dùng Vì lý này, người dùng bị người dùng giết mà khơng phải đóng phiên họ Hành vi module thay đổi đáng kể đối số truyền cho tệp cấu hình Linux-PAM: • debug - tùy chọn làm tăng lượng thông tin đăng nhập vào syslog (3) module thực • new_term - hành động mặc định lọc đặt mục PAM_TTY biết thiết bị đầu cuối mà người dùng sử dụng để kết nối với ứng dụng Đối số cho biết lọc nên đặt PAM_TTY thành thiết bị đầu cuối giả lọc • non_term - khơng cố gắng đặt mục PAM_TTY • runX - để module gọi lọc cần biết cần gọi Đối số cần thiết để nói cho lọc làm điều Các đối số theo sau 25 tương ứng với tên đường dẫn đầy đủ lọc chạy đối số dòng lệnh mà lọc mong đợi Giá trị phép cho X Các giá trị cho biết thời gian xác mà lọc chạy Để hiểu khái niệm này, hữu ích đọc hướng dẫn nhà phát triển module Linux-PAM Về bản, nhóm quản lý tối đa hai cách gọi chức module Trong trường hợp thành phần xác thực phiên thực hai hàm riêng biệt Đối với trường hợp xác thực, hàm _authenticate _setcred run1 nghĩa chạy lọc từ hàm _authenticate run2 nghĩa chạy lọc từ _setcred Trong trường hợp module phiên, run1 ngụ ý lọc gọi giai đoạn _open_session run2 cho _close_session Đối với trường hợp thành phần tài khoản thể sử dụng run1 run2 Đối với trường hợp thành phần mật khẩu, run1 sử dụng để lọc chạy vào dịp _chauthtok chạy (pha PAM_PRELIM_CHECK) run2 sử dụng biết lọc chạy vào dịp thứ hai (pha PAM_UPDATE_AUTHTOK) 3.5.9 pam_ftp.so Module chặn tên mật người dùng Nếu tên ftp ẩn danh , mật người dùng chia nhỏ dấu phân tách @ thành PAM_RUSER phần PAM_RHOST ; pam-mặt hàng thiết lập cho phù hợp Tên người dùng ( PAM_USER ) đặt thành ftp Trong trường hợp module thành cơng Ngồi ra, đặt mục PAM_AUTHTOK mật nhập không thành công Hành vi module sửa đổi với cờ sau: • debug - đăng nhập nhiều thơng tin với syslog (3) 26 module • Users = XXX, YYY, - thay ftp ẩn danh , cung cấp thông tin đăng nhập ẩn danh vào danh sách người dùng phân tách dấu phẩy; XXX, YYY, Nếu người đăng ký nhập tên người dùng này, tên người dùng trả lại đặt thành người danh sách; XXX • Ignore - khơng ý đến địa email người dùng (nếu cung cấp) 3.5.10 Một số module khác pam_group.so, pam_issue.so, pam_krb5.so, pam_lastlog.so, pam_ldap.so, pam_limits.so, pam_listfile, pam_mail.so, pam_mkhomedir.so, pam_motd.so, pam_nologin.so, pam_rootok.so, pam_permit.so, pam_pwdb.so, pam_securetty.so, pam_rhosts_auth.so, pam_shells.so, pam_stack.so, pam_stress.so, pam_tally.so, pam_time.so, pam_unix.so, pam_userdb.so, pam_warn.so, pam_wheel.so, pam_warn.so, pam_xauth.so 27

Ngày đăng: 28/02/2019, 23:38

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1: HỆ ĐIỀU HÀNH LINUX

    • 1.1. Khái niệm về Linux

    • 1.2. Lịch sử ra đời

    • 1.3. Ưu nhược điểm của Linux.

      • 1.3.1 Ưu điểm.

      • 1.3.2. Nhược điểm

      • CHƯƠNG 2: TỔNG QUAN VỀ XÁC THỰC

        • 2.1. Các khái niệm và ý nghĩa của xác thực.

        • 2.2. Các yếu tố xác thực.

        • 2.3. Các phương pháp xác thực

          • 2.3.1. Dựa trên định danh và mật khẩu.

          • 2.3.2. Dựa trên giao thức thách thức, đáp ứng.

          • 2.3.3. Dựa trên giao thức xác thực Kerberos

          • 2.3.4. Dựa trên nhận dạng nhân trắc học.

          • 2.3.5. Dựa trên token.

          • 2.4. Một số phương thức xác thực

          • CHƯƠNG 3: XÁC THỰC PAM TRÊN LINUX

            • 3.1. Khái niệm về PAM

            • 3.2. Cấu trúc PAM

            • 3.3. Phương thức hoạt động hoạt động của PAM

            • 3.4. Nghiên cứu file config

              • 3.4.1. MODULE TYPE

              • 3.4.2. PAM MODULE CONTROL FLAGS

              • 3.4.3. MODULE-PATH 

              • 3.4.4. ARGUMENTS 

              • 3.5. Giới thiệu chức năng của một số module

                • 3.5.1. pam_unix.so

Tài liệu cùng người dùng

Tài liệu liên quan