OpenBSD login.conf

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 32 - 34)

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

3)OpenBSD login.conf

OpenBSD bao gồm các thuật toán được sử dụng để tương thích với các hệ thống Unix. Quản trị hệ thống có sự lựa chọn của DES, mã hóa MD5, và Blowfish. Chúng tôi đã đề cập rằng một trong những lợi ích của mã hóa MD5 là khả năng sử dụng mật khẩu có độ dài tùy ý. Blowfish, được phát triển bởi Bruce Schneier và các đồng nghiệp, cũng chấp nhận mật khẩu có độ dài tùy ý. Nó cũng tự hào có lợi thế là tương đối chậm.Điều này có vẻ không hợp lý, nhưng chúng tôi sẽ giải thích lý do tại sao trong phần "John the Ripper".

Cách thức

OpenBSD không sử dụng một kiến trúc PAM, nhưng nó vẫn duy trì quản lý mật khẩu chặt chẽ. Tập tin / etc / login.conf có chỉ thị cho các thuật toán mã hóa và điều khiển mà người sử dụng trên hệ thống phải tuân theo. Các mục trong file login.conf có hướng dẫn thêm về yêu cầu người sử dụng hơn so với các chính sách mật khẩu chỉ. Các tùy chọn giải thích ở đây nên được nối thêm vào tùy chọn hiện có. Giá trị đầu tiên của mỗi mục tương ứng với một loại của lớp đăng nhập quy định cho người dùng. Nó có một mục đặc biệt của "mặc định" cho người dùng mà không có một lớp học.

Để xác định lớp đăng nhập của một người sử dụng, hoặc chỉ định một lớp của người sử dụng, mở các tập tin / etc / master.passwd với tiện ích vipw. Lớp đăng nhập là lĩnh vực thứ năm trong mục nhập mật khẩu của người dùng. Dưới đây là một ví dụ, hiển thị các lớp đăng nhập dưới dạng in đậm:

root:$2a$06$T22wQ2dH...:0:0:daemon:0:0:Fede:/root:/bin/csh bisk:$2a$06$T22wQ2dH...:0:0:staff:0:0::/home/bisk:/bin/csh

Mục một phần trong các tập tin login.conf có thể chứa những điều sau đây (ký tự \ đại diện cho một sự tiếp nối dòng trong mã này):

default:\ :path=/usr/bin:\ :umask=027:\ :localcipher=blowfish,6 staff:\ :path=/usr/sbin:\ :umask=077:\ :localcipher=blowfish,8 daemon:\ :path=/usr/sbin:\ :umask=077:\ :localcipher=blowfish,8

33 Chúng lệnh cho hệ thống sử dụng thuật toán Blowfish dành cho mỗi người sử

dụng. Các “,6” “, 8” cho biết số lượng vòng thuật toán đi qua. Điều này làm chậm các thuật toán bởi vì nó phải mất thời gian nhiều hơn để mã hóa mật khẩu. Nếu mật khẩu mất nhiều thời gian hơn để mã hóa, sau đó nó cũng sẽ mất thêm thời gian để brute force. Ví dụ, nó sẽ mất nhiều thời gian hơn để duyệt xong một từ điển 100.000 từ nếu bạn sử dụng 32 vòng (localcipher = blowfish, 32) của thuật toán như trái ngược với sáu vòng.

Các mục quan trọng nhất của tập tin login.conf là mặc định, vì nó áp dụng cho tất cả người dùng, và daemon, bởi vì nó áp dụng cho người dùng root.

Mỗi mục có thể có nhiều lựa chọn:

localcipher=algorithm Default = old. Điều này định nghĩa các thuật toán mã

hóa để sử dụng. Các lựa chọn tốt nhất là md5 và blowfish, N trong đó N là số vòng sử dụng (N <32). Giá trị "cũ" đại diện cho DES và nên tránh bởi vì mật khẩu có thể không được dài hơn tám ký tự, và bánh quy giòn mật khẩu hiện tại làm việc rất hiệu quả so với thuật toán này.

ypcipher=algorithm Same values as localcipher. Điều này được sử dụng để

tương thích với hệ thống thông tin mạng (NIS) đăng nhập phân phối.

minpasswordlen=N Default = 6.. Chiều dài mật khẩu tối thiểu chấp nhận được.

passwordcheck=program Chỉ định một chương trình kiểm tra mật khẩu bên

ngoài.Điều này nên được sử dụng cẩn thận bởi vì các chương trình bên ngoài có thể là trojan, lỗi, hoặc lỗi tràn bộ đệm.

passwordtries=N Default = 3. Số lần nhắc nhở người dùng một mật khẩu mới

nếu mật khẩu trước đó không đáp ứng các tiêu chuẩn của OpenBSD. Một người sử dụng vẫn có thể bỏ qua các tiêu chuẩn, trừ khi giá trị này được thiết lập là 0. Một tập tin login.conf cập nhật sẽ chứa những điều sau đây (lớp ftpaccess là mục đích yếu cho ví dụ này):

default:\ :path=/usr/bin:\ :umask=027:\ :localcipher=blowfish,8:\ :minpasswordlen=8:\ :passwordretries=0 ftpaccess:\ :path=/ftp/bin:\ :umask=777:\ :localcipher=old:\ :minpasswordlen=6:\ :passwordretries=3 staff:\ :path=/usr/sbin:\ :umask=077:\

34 :localcipher=blowfish,12:\ :minpasswordlen=8:\ :passwordretries=0 daemon:\ :path=/usr/sbin:\ :umask=077:\ :localcipher=blowfish,31

Chính sách theo quy định của tập tin này đòi hỏi các thuật toán Blowfish cho tất cả người sử dụng, ngoại trừ những người trong lớp ftpaccess .Chính sách mật khẩu cho lớp ftpaccess đại diện cho các yêu cầu của hệ thống old-school Unix như ghi nhận của các tài liệu tham khảo "old." Các mật khẩu cho người sử dụng trong các lớp nhân viên, một lớp học thường gắn liền với quyền hành chính, được mã hóa với 12

vòng.Các mật khẩu chủ, theo mặc định là thành viên của daemon, phải được mã hóa với số lượng tối đa của vòng Blowfish. Mặc dù Blowfish và thuật toán MD5 hỗ trợ một chiều dài mật khẩu tùy ý, OpenBSD hiện đang giới hạn 128 ký tự. Đó là đủ cho một bài thơ ngắn!

Lưu ý : Một trong những nơi tốt nhất để tìm kiếm mật khẩu là trong các tập tin histories cho các hệ thống shell của người sử dụng. Hãy nhìn vào history và các tập tin bash_history cho các lệnh lạ. Đôi khi một quản trị viên sẽ vô tình gõ mật khẩu trên dòng lệnh. Điều này thường xảy ra khi các quản trị viên đăng nhập vào một hệ thống từ xa hoặc sử dụng lệnh su và mistypes lệnh hoặc dự đoán mật khẩu nhắc nhở. Chúng tôi một lần tìm thấy một người sử dụng gốc của mật khẩu 13 ký tự theo cách này !

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 32 - 34)