[Linux] Thay đổi thuật toán băm lưu trữ mật khẩu /etc/shadow

Đến với bài viết này mình sẽ hướng dẫn việc thay đổi thuật toán sử dụng cho hoạt động băm (hash) thông tin mật khẩu chứa trong file /etc/shadow.

Thuật toán mặc định được dùng để lưu trữ mật khẩu hash trong file /etc/shadow là MD5. Trong trường hợp, bạn muốn hệ thống sử dụng thuật toán băm khác mạnh hơn như SHA để bảo mật thông tin mật khẩu của bạn thì phải làm thế nào ?

Đầu tiên, bạn có thể kiểm tra thông tin mật khẩu bằng cách xem nội dung file /etc/shadow như sau :

# cat /etc/shadow | grep "root"
root:$1$yYOS3VC4$30Vb56f1ipYbRghK.JqM3/:16606:0:99999:7:::

 
Ở cột thứ 2 sau root: là đại diện cho các thông tin liên quan đến mật khẩu được hash.

Trường 1, cho biết thuật toán sử dụng để băm (trong ví dụ này là $1 , tương ứng thuật toán MD5 ‘MD5 hashing algorithm’)

$1 = MD5 hashing algorithm.
$2 = Blowfish Algorithm is in use.
$2a = eksblowfish Algorithm
$5 = SHA-256 Algorithm
$6 = SHA-512 Algorithm

 
Trường 2, là giá trị Salt được tạo ngẫu nhiên nhằm chống các cuộc tấn công Rainbow Table.
Trường 3, là mật khẩu đã được hash md5 + salt ra.

 
Hướng dẫn thay đổi thuật toán hash mật khẩu

Ta sẽ sử dụng chương trình lệnh “authconfig” để cấu hình hệ thống thay đổi thuật toán băm đối với việc lưu trữ mật khẩu đăng nhập.
Tất nhiên ngoài chương trình “authconfig” còn nhiều tiện ích khác, nhưng ở đây mình sẽ chỉ dùng cho mục tiêu của bài viết là thay đổi thuật toán hash mật khẩu.

Bước 1 :
– Kiểm tra thông tin thuật toán hiện được sử dụng.

# authconfig --test | grep hashing
password hashing algorithm is md5


Bước 2
:
– Ra lệnh cho hệ thống cập nhật thay đổi thuật toán hash mật khẩu.

# authconfig --passalgo=sha512 --update


Bước 3
:
– Các user phải thay đổi lại mật khẩu để có tác dụng với thuật toán hash vừa được cập nhật.

# passwd root
Changing password for user root.
New password: *****
Retype new password: *****
passwd: all authentication tokens updated successfully.


Bước 4
:
– Kiểm tra lại file /etc/shadow

# cat /etc/shadow | grep "root"
root:$6$UaWWalU8$4oXvMCo1DSakwxTvqlL0nal.gkESarUEAdZvQ9QqgeDupQ5cCqUQzhcwUW6oYcGpC6jT8UsBJYI.1J6ZTtv3Y/:16606:0:99999:7:::

 
Chúng ta đã thấy giá trị $1 được thay đổi thành $6 của SHA512. Như vậy chúng ta đã xong công việc.

 
Chúc các bạn thành công.

Previous articleBảo mật GRUB Boot Loader bằng mật khẩu trên Linux
Next article[Linux] Tìm hiểu tính năng của file /etc/nologin trên Linux
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !