Thực hiện trên Linux

Một phần của tài liệu Luận văn tốt nghiệp: Tìm hiểu công cụ web craking và password craking (Trang 28 - 30)

II. PAM và mật khẩu trên Unix

1) Thực hiện trên Linux

Thư viện Cracklib (hoặc libcrack) là một thư viện kiểm tra mật khẩu được phát triển bởi Alec Muffet và là một phần mặc định cài đặt Debian, Mandrake, RedHat và các sản phẩm SuSE phân phối. Nó cho phép quản trị hệ thống để thiết lập các quy tắc thành phần mật khẩu mà mật khẩu của người sử dụng phải đáp ứng trước khi hệ thống chấp nhận một tác vụ thay đổi mật khẩu. Đây là một bước chủ động để ngăn chặn người sử dụng lựa chọn một mật khẩu không an toàn, chứ không phải là tập tin mật khẩu liên tục kiểm toán để xem nếu có ai đó đã sử dụng một mật khẩu yếu. Thực hiện kiểm tra mật khẩu, chúng tôi chỉ cần sửa đổi một tập tin văn bản có chứa các cấu hình PAM.Đây sẽ là một trong hai tập tin có thể:

/etc/pam.conf or

29 Các mục trong tập tin / etc / pam.conf liên quan đến thay đổi mật khẩu tương tự như sau:

passwd password required /lib/security/pam_cracklib.so retry=3 passwd password required /lib/security/pam_unix.so nullok use_authtok

Tập tin này là hợp lý chia thành năm cột. Cột đầu tiên chứa tên các dịch vụ tên của chương trình bị ảnh hưởng bởi các hướng dẫn quy định tại các cột còn lại. Các tập tin / etc / pam.d / passwd chỉ có bốn cột bởi vì tên của nó xác định dịch vụ passwd. Điều này phong cách cấu hình chỉ đơn thuần là tách mỗi tên dịch vụ vào các tập tin, thay vì sử dụng một tập tin nguyên khối cho nhiều dịch vụ. Bất kể phong cách cấu hình nào, một dịch vụ có thể có nhiều entry. Điều này được gọi là xếp chồng các mô-đun cho một dịch vụ.Dưới đây là một ví dụ về / etc / pam.d / passwd với các mô-đun xếp chồng lên nhau:

password required /lib/security/pam_cracklib.so retry=3 password required /lib/security/pam_unix.so nullok use_authtok

Các cột đầu tiên cho thấy các loại mô-đun mà các mục tương ứng. Nó có thể chứa một trong bốn loại (chúng tôi đang quan tâm đến thay đổi kiểu mô-đun điều khiển thay đổi mật khẩu):

 account: Điều khiển hành động dựa trên các thuộc tính của người sử dụng (có nghĩa là, một tài khoản), chẳng hạn như kiểm tra đọc truy cập cho phép người dùng chống lại một tập tin. Ví dụ, bạn có thể sử dụng một mục nhập tài khoản để cho phép truy cập vào một nguồn tài nguyên như một file chia sẻ. Tuy nhiên, không có một mục auth, người sử dụng sẽ không thể đăng nhập vào hệ thống.  auth: Thực hiện một yêu cầu / đáp ứng với người sử dụng, chẳng hạn như yêu cầu

mật khẩu. Điều này được sử dụng bất cứ khi nào hệ thống hoặc nguồn tài nguyên sẽ cho phép người sử dụng để đăng nhập.

 password: Cập nhật thông tin xác thực, chẳng hạn như thay đổi mật khẩu của người dùng. Điều này không được sử dụng để xác nhận một người dùng vào hệ thống. Nó là giấy phép truy cập vào hệ thống an ninh kiểm soát các thông tin của người dùng.

 session: Xử lý các hành động xảy ra trước hoặc sau khi một dịch vụ, chẳng hạn như kiểm tra đăng nhập thất bại. Ví dụ, điều này có thể được sử dụng ngay lập tức hiển thị thời gian trong ngày sau khi người dùng đăng nhập vào hệ thống. Nhập đầu tiên sẽ là một auth để xác nhận mật khẩu của người sử dụng, sau đó vào tiếp theo sẽ là một phiên mà các cuộc gọi một mô-đun PAM để hiển thị thời gian hiện tại. Một sử dụng của phiên họp có thể được để thực hiện một chức năng cụ thể khi người sử dụng đăng nhập của hệ thống, chẳng hạn như việc viết một mục đăng nhập hoặc hết hạn một định danh tạm thời.

Các cột tiếp theo quy định cách quản lý và xử lý cho một dịch vụ. Thực hiện thành công có nghĩa là dịch vụ thực hiện một chức năng, chẳng hạn như thay đổi mật khẩu của người dùng. Không thực hiện nghĩa là dịch vụ đã không nhận được dữ liệu chính xác, chẳng hạn như mật khẩu của người dùng. Sau đây là kiểm soát xử lý:

30  requisite: Nếu dịch vụ không thành công, tất cả các hành động tiếp theo (dịch vụ

xếp chồng lên nhau) tự động hủy bỏ. Điều này có nghĩa là không có gì khác trong ngăn xếp sẽ thành công.

 required: Nếu dịch vụ không thành công, xử lý các hành động tiếp theo, nhưng cuối cùng thất bại. Nếu có những hành động khác trong ngăn xếp, họ có thể thành công nhưng điều đó sẽ không thay đổi kết quả.

 optional: Nếu dịch vụ thành công hay không, xử lý các hành động tiếp theo. Điều này sẽ không có mang về thành công chung của các hành động hoặc bất cứ điều gì trong ngăn xếp của nó.

 sufficient: dịch vụ thành công và không có các bước cần thiết hoặc yêu cầu đã thất bại, ngăn chặn các hành động tiếp diễn và thành công.

Cột kế tiếp có chứa các đường dẫn mô-đun của thư viện xác thực để sử dụng. Các đường dẫn module cần chứa tên đường dẫn đầy đủ thư viện xác thực. Chúng tôi sẽ được sử dụng cracklib, do đó hãy chắc chắn rằng pam_cracklib.so là trong cột này. Cột cuối cùng chứa đối số được thông qua thư viện xác thực. Trở lại với ví dụ đầu tiên của /etc / pam.conf, chúng ta thấy rằng các mô-đun pam_cracklib.so phải thành công với các thử lại = 3 đối số để cho người dùng thay đổi mật khẩu của họ với chương trình passwd:

passwd password required /lib/security/pam_cracklib.so retry=3

Một phần của tài liệu Luận văn tốt nghiệp: Tìm hiểu công cụ web craking và password craking (Trang 28 - 30)

Tải bản đầy đủ (PDF)

(46 trang)