Cách bắt người dùng đổi mật khẩu trên linux

Mật khẩu là nền tảng của bảo mật tài khoản. Chúng tôi sẽ chỉ cho bạn cách đặt lại mật khẩu, đặt ngày hết hạn của mật khẩu và buộc thay đổi mật khẩu trên mạng Linux.

Mật khẩu đã tồn tại gần 60 năm

Chúng tôi đã chứng minh với máy tính rằng chúng tôi là chính mình kể từ giữa những năm 1960 khi mật khẩu lần đầu tiên được giới thiệu. Sự cần thiết phải là mẹ của phát minh Hệ thống chia sẻ thời gian tương thích được phát triển tại Viện Công nghệ Massachusetts cần một cách để xác định những người khác nhau trong hệ thống. Anh cũng phải ngăn mọi người xem hồ sơ của người khác.

Fernando J. Corbató đã đề xuất một kế hoạch chỉ định một tên người dùng duy nhất cho mỗi người. Để chứng minh rằng ai đó đúng như họ nói, họ phải sử dụng mật khẩu cá nhân, riêng tư để truy cập vào tài khoản của mình.

Vấn đề với mật khẩu là chúng hoạt động như một chiếc chìa khóa. Bất cứ ai có chìa khóa đều có thể sử dụng nó. Nếu ai đó tìm thấy, đoán hoặc đoán ra mật khẩu của bạn, họ có thể truy cập vào tài khoản của bạn. Cho đến khi xác thực đa yếu tố được phổ biến rộng rãi, mật khẩu là thứ duy nhất ngăn chặn những người không được phép (tác nhân đe dọa, theo cách nói về an ninh mạng) khỏi hệ thống của bạn.

Các kết nối từ xa được thực hiện qua Secure Shell (SSH) có thể được định cấu hình để sử dụng khóa SSH thay vì mật khẩu và điều đó thật tuyệt. Tuy nhiên, đây chỉ là một phương thức kết nối và không liên quan đến việc đăng nhập cục bộ.

Tất nhiên, quản lý mật khẩu của bạn là rất quan trọng, cũng như quản lý những người sử dụng các mật khẩu đó.

giải phẫu mật khẩu

Điều gì thực sự làm cho một mật khẩu tốt? Chà, một mật khẩu tốt nên có tất cả các thuộc tính sau:

Không thể đoán hoặc tìm ra.
Đã không sử dụng nó ở bất cứ nơi nào khác.
Anh ta không liên quan đến vi phạm dữ liệu.

Tệp Tôi đã bị lừa (HIBP) chứa hơn 10 tỷ bộ thông tin đăng nhập bị xâm phạm. Với số lượng cao như vậy, có lẽ ai đó đã sử dụng cùng một mật khẩu với bạn. Điều này có nghĩa là mật khẩu của bạn có thể nằm trong cơ sở dữ liệu mặc dù tài khoản của bạn không bị xâm phạm.

Nếu mật khẩu của bạn nằm trên trang HIBP, điều đó có nghĩa là mật khẩu đó nằm trong danh sách mật khẩu của các công cụ tấn công từ điển và vũ phu được sử dụng khi chúng cố gắng bẻ khóa tài khoản.

Một mật khẩu thực sự ngẫu nhiên (chẳng hạn như [email protected]%*[email protected]#b~aP) hầu như không thể chạm tới, nhưng tất nhiên bạn sẽ không bao giờ nhớ nó. Chúng tôi thực sự khuyên bạn nên sử dụng trình quản lý mật khẩu tài khoản trực tuyến. Chúng tạo các mật khẩu ngẫu nhiên, phức tạp cho tất cả các tài khoản trực tuyến của bạn và bạn không cần phải nhớ chúng – trình quản lý mật khẩu cung cấp cho bạn mật khẩu chính xác.

Đối với tài khoản cục bộ, mỗi người phải tạo mật khẩu của riêng mình. Họ cũng sẽ cần biết mật khẩu nào được chấp nhận và mật khẩu nào không. Bạn sẽ cần yêu cầu họ không sử dụng lại mật khẩu trên các tài khoản khác, v.v.

Thông tin này thường được tìm thấy trong chính sách mật khẩu của tổ chức bạn. Nó hướng dẫn mọi người sử dụng số lượng ký tự tối thiểu, trộn lẫn chữ hoa và chữ thường, bao gồm các ký hiệu và dấu chấm câu, v.v.

Tuy nhiên, theo một bài báo hoàn toàn mới từ nhóm Đại học Carnegie Mellon, tất cả các thủ thuật này bổ sung rất ít hoặc không có gì vào độ tin cậy của mật khẩu. Các nhà nghiên cứu phát hiện ra rằng hai yếu tố chính trong độ tin cậy của mật khẩu là chúng dài ít nhất 12 ký tự và đủ mạnh. Họ đã đo độ mạnh của mật khẩu bằng cách sử dụng nhiều công cụ bẻ khóa, kỹ thuật thống kê và mạng lưới thần kinh.

Lúc đầu, tối thiểu 12 ký tự có vẻ khó khăn. Tuy nhiên, đừng nghĩ về mật khẩu, mà là mật khẩu bao gồm ba hoặc bốn từ không liên quan được phân tách bằng dấu chấm câu.

Ví dụ: Trình kiểm tra mật khẩu Experte cho biết sẽ mất 42 phút để bẻ khóa “chicago99” nhưng 400 tỷ năm để bẻ khóa “ống khói.purple.bag”. Nó cũng dễ nhớ và dễ gõ và chỉ chứa 18 ký tự.

Tổng quan về cài đặt hiện tại

Trước khi bạn thay đổi bất kỳ điều gì về mật khẩu của một người, bạn nên xem qua cài đặt hiện tại của họ. Với lệnh passwd, bạn có thể xem cài đặt hiện tại của chúng bằng tùy chọn -S (trạng thái). Lưu ý rằng bạn cũng sẽ cần sử dụng sudo với passwd nếu bạn đang làm việc với cài đặt mật khẩu của người khác.

Chúng tôi nhập:

sudo passwd -S mary

Một dòng thông tin được in trong cửa sổ đầu cuối như hình bên dưới.

Thoát sudo passwd -S mary trong cửa sổ đầu cuối.

Trong câu trả lời ngắn này, bạn thấy như sau (từ trái sang phải):

Tên đăng nhập của người đó.
Đây là lúc một trong ba chỉ báo có thể xuất hiện:
Q: Cho biết rằng tài khoản có mật khẩu hợp lệ, đang hoạt động.
L: Có nghĩa là tài khoản đã bị khóa bởi chủ tài khoản root.
Ví dụ: Mật khẩu chưa được đặt.

Ngày thay đổi mật khẩu cuối cùng.
Tuổi mật khẩu tối thiểu: Khoảng thời gian tối thiểu (tính bằng ngày) phải trôi qua giữa các lần đặt lại mật khẩu của chủ sở hữu tài khoản. Tuy nhiên, chủ sở hữu tài khoản root luôn có thể thay đổi mật khẩu của người khác. Nếu giá trị này là 0 (không), không có giới hạn về tần suất thay đổi mật khẩu.
Tuổi mật khẩu tối đa: Chủ sở hữu tài khoản được nhắc thay đổi mật khẩu khi họ đến tuổi này. Giá trị này tính bằng ngày, vì vậy giá trị 99.999 có nghĩa là mật khẩu không bao giờ hết hạn.
Thời gian cảnh báo thay đổi mật khẩu: Nếu có thời hạn mật khẩu tối đa, chủ sở hữu tài khoản sẽ được nhắc thay đổi mật khẩu của họ. Cái đầu tiên sẽ được gửi vào số ngày trước ngày đặt lại được liệt kê ở đây.
Thời gian mật khẩu không hoạt động: Nếu không truy cập vào hệ thống trong khoảng thời gian trùng với ngày đặt lại mật khẩu thì mật khẩu của người đó sẽ không bị thay đổi. Giá trị này cho biết thời gian gia hạn là bao nhiêu ngày sau ngày hết hạn của mật khẩu. Nếu tài khoản vẫn không hoạt động trong số ngày này sau khi mật khẩu hết hạn, nó sẽ bị khóa. Giá trị -1 tắt thời gian ân hạn.

Đặt tuổi mật khẩu tối đa

Để đặt khoảng thời gian đặt lại mật khẩu, bạn có thể sử dụng tùy chọn -x (ngày tối đa) với số ngày. Bạn không để khoảng cách giữa -x và các chữ số, vì vậy hãy nhập nó như thế này:

sudo passwd -x45 mary

Sudo passwd -x45 mary trong cửa sổ đầu cuối.

Chúng tôi được thông báo rằng giá trị hết hạn đã được thay đổi như hình bên dưới.

Thông báo thay đổi mật khẩu hết hạn trong cửa sổ đầu cuối.

Sử dụng tùy chọn -S (trạng thái) để kiểm tra xem giá trị hiện tại có phải là 45 không:

sudo passwd -S mary

Sudo passwd -S mary trong cửa sổ đầu cuối.

Bây giờ sau 45 ngày, bạn cần đặt mật khẩu mới cho tài khoản này. Lời nhắc sẽ bắt đầu sớm hơn bảy ngày. Nếu không đặt mật khẩu mới kịp thời, tài khoản sẽ bị khóa ngay lập tức.

Buộc thay đổi mật khẩu ngay lập tức

Bạn cũng có thể sử dụng lệnh để những người khác trong mạng của bạn phải thay đổi mật khẩu của họ vào lần đăng nhập tiếp theo. Để thực hiện việc này, hãy sử dụng tùy chọn -e (hết hạn) như sau:

sudo passwd -e mary

Sudo passwd -e mary trong cửa sổ đầu cuối.

Sau đó, chúng tôi nhận được thông tin về việc thay đổi thông tin hết hạn mật khẩu.

Thoát sudo passwd -e mary trong cửa sổ đầu cuối.

Hãy kiểm tra với tùy chọn -S và xem điều gì đã xảy ra:

sudo passwd -S mary

Sudo passwd -S mary trong cửa sổ đầu cuối.

Ngày thay đổi mật khẩu cuối cùng được đặt thành ngày đầu tiên của năm 1970. Lần đăng nhập tiếp theo, người đó sẽ phải thay đổi mật khẩu của họ. Họ cũng phải nhập mật khẩu hiện tại trước khi có thể nhập mật khẩu mới.

Màn hình đặt lại mật khẩu.

Tôi có nên buộc thay đổi mật khẩu?

Buộc mọi người thường xuyên thay đổi mật khẩu của họ đã từng là lẽ thường tình. Đây là một trong những bước bảo mật thông thường trong hầu hết các cài đặt và được coi là thông lệ kinh doanh tốt.

Suy nghĩ bây giờ là ngược lại. Tại Vương quốc Anh, Trung tâm An ninh mạng Quốc gia khuyên không nên ép buộc gia hạn mật khẩu thường xuyên.Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ cũng đồng ý. Cả hai tổ chức đều khuyên bạn chỉ nên buộc thay đổi mật khẩu nếu bạn biết hoặc nghi ngờ rằng mật khẩu đã tồn tại mà những người khác đã biết.

Buộc mọi người thay đổi mật khẩu trở nên đơn điệu và khuyến khích mật khẩu yếu. Mọi người có xu hướng bắt đầu sử dụng lại mật khẩu chính của họ với một ngày hoặc một số số khác. Hoặc họ sẽ viết chúng ra vì họ phải thay đổi chúng thường xuyên đến nỗi họ không nhớ chúng.

Hai tổ chức chúng tôi đã đề cập ở trên đề xuất các nguyên tắc bảo mật mật khẩu sau:

Sử dụng trình quản lý mật khẩu: cho tài khoản trực tuyến và cục bộ.
Bật xác thực hai yếu tố: Nếu đó là một tùy chọn, hãy sử dụng nó.
Sử dụng mật khẩu mạnh: Một giải pháp thay thế tuyệt vời cho những tài khoản không hoạt động với trình quản lý mật khẩu. Ba hoặc nhiều từ được phân tách bằng dấu chấm câu hoặc ký hiệu là một mẫu tốt để làm theo.
Không bao giờ sử dụng lại mật khẩu của bạn: Tránh sử dụng cùng một mật khẩu bạn sử dụng cho tài khoản khác và chắc chắn không sử dụng mật khẩu được liệt kê trên Tôi có bị lừa đảo không.

Các nguyên tắc trên sẽ giúp bạn xác định một cách an toàn để truy cập tài khoản của mình. Một khi bạn có những hướng dẫn này, hãy tuân theo chúng. Tại sao phải thay đổi mật khẩu nếu nó mạnh và an toàn? Nếu nó rơi vào tay kẻ xấu – hoặc bạn nghi ngờ nó sẽ rơi – bạn có thể thay đổi nó.

Tuy nhiên, đôi khi quyết định đó nằm ngoài tầm tay của bạn. Nếu quyền buộc bạn phải thay đổi mật khẩu, bạn không có nhiều sự lựa chọn. Bạn có thể nộp đơn kiện và nêu rõ vị trí của mình, nhưng nếu bạn không phải là ông chủ, bạn sẽ phải tuân theo chính sách của công ty.

Thay đổi lệnh

Bạn có thể sử dụng lệnh chage để thay đổi cài đặt hết hạn của mật khẩu. Tên của lệnh này xuất phát từ “thay đổi lão hóa”. Nó giống như lệnh passwd với các thành phần tạo mật khẩu đã bị loại bỏ.

Tùy chọn -l (danh sách) hiển thị thông tin giống như lệnh passwd -S, nhưng theo cách thân thiện hơn.

Chúng tôi nhập:

sudo chage -l eric

Sudo chage -l eric trong cửa sổ đầu cuối.

Một điểm thú vị khác là bạn có thể đặt ngày hết hạn cho tài khoản của mình bằng tùy chọn -E (hết hạn). Chúng tôi sẽ cung cấp một ngày (ở định dạng năm-tháng-ngày) để đặt ngày hết hạn là ngày 30 tháng 11 năm 2020. Vào ngày này, tài khoản của bạn sẽ bị khóa.

Chúng tôi nhập:

sudo chage eric -E 2020-11-30

Sudo chage eric -E 2020-11-30 trong cửa sổ đầu cuối.

Sau đó, chúng tôi nhập thông tin sau để đảm bảo rằng thay đổi đã có hiệu lực:

sudo chage -l eric

thay đổi sudo -l eric trong cửa sổ đầu cuối.

Chúng tôi thấy rằng ngày hết hạn của tài khoản đã thay đổi từ “không bao giờ” thành ngày 30 tháng 11 năm 2020.

Để đặt thời hạn hết hạn của mật khẩu, bạn có thể sử dụng tùy chọn -M (tối đa ngày) cùng với số ngày tối đa mà mật khẩu có thể được sử dụng trước khi cần thay đổi.

Chúng tôi nhập:

sudo chage -M 45 mary

thay đổi sudo -M 45 mary trong cửa sổ đầu cuối.

Chúng tôi nhập nội dung sau bằng tùy chọn -l (danh sách) để xem tác dụng của lệnh của chúng tôi:

sudo chage -l mary

thay đổi sudo -l mary trong cửa sổ đầu cuối.

Ngày hết hạn mật khẩu hiện được đặt thành 45 ngày kể từ ngày chúng tôi đặt, như được hiển thị trong 8 tháng 12 năm 2020

Thực hiện thay đổi mật khẩu cho mọi người trên mạng

Khi tạo tài khoản, một bộ giá trị mặc định được sử dụng cho mật khẩu. Bạn có thể xác định các giá trị mặc định cho ngày tối thiểu, tối đa và cảnh báo. Sau đó, chúng được lưu trữ trong một tệp có tên “/etc/login.defs”.

Để mở tệp này trong gedit, bạn có thể nhập:

sudo gedit /etc/login.defs

 trong cửa sổ terminal trong cửa sổ terminal

Cuộn đến các điều khiển hết hạn mật khẩu.

Kiểm tra hết hạn mật khẩu trong gedit.

Bạn có thể chỉnh sửa chúng theo yêu cầu của mình, lưu các thay đổi và sau đó đóng trình chỉnh sửa. Lần tới khi bạn tạo tài khoản người dùng, các giá trị mặc định này sẽ được áp dụng.

Nếu bạn muốn thay đổi tất cả ngày hết hạn của mật khẩu cho các tài khoản người dùng hiện có, bạn có thể dễ dàng thực hiện điều đó bằng một tập lệnh. Chỉ cần gõ lệnh sau để mở gedit và tạo một tệp có tên “password-date.sh”:

sudo gedit password-date.sh

Sudo gedit password-date.sh trong cửa sổ đầu cuối.

Sau đó sao chép văn bản sau vào trình chỉnh sửa của bạn, lưu tệp, sau đó đóng gedit:

#!/bin/bash

reset_days=28

for username in $(ls /home)
do
  sudo chage $username -M $reset_days
  echo $username password expiry changed to $reset_days
done

Điều này sẽ thay đổi số ngày tối đa cho mỗi tài khoản người dùng thành 28 và do đó sẽ thay đổi tần suất đặt lại mật khẩu. Bạn có thể điều chỉnh giá trị của biến reset_days.

Đầu tiên, chúng tôi nhập thông tin sau để làm cho tập lệnh của chúng tôi có thể thực thi được:

chmod +x password-date.sh

chmod + x password-date.sh trong cửa sổ đầu cuối.

Bây giờ chúng ta có thể gõ lệnh sau để chạy tập lệnh của mình:

sudo ./password-date.sh

Sudo ./password-date.sh trong cửa sổ đầu cuối.

Mỗi tài khoản sau đó được xử lý như hình dưới đây.

Bốn tài khoản người dùng có giá trị hết hạn mật khẩu đã thay đổi thành 28 trong cửa sổ đầu cuối.

Chúng ta nhập lệnh sau để kiểm tra tài khoản cho “mary”:

sudo change -l mary

Sudo chage -l mary trong cửa sổ đầu cuối.

Giá trị tối đa của ngày được đặt thành 28 và chúng tôi được thông báo rằng đó sẽ là ngày 21 tháng 11 năm 2020. Bạn cũng có thể dễ dàng sửa đổi tập lệnh và thêm các lệnh chage hoặc passwd khác.

Quản lý mật khẩu là điều cần được thực hiện nghiêm túc. Bây giờ bạn có các công cụ cần thiết để kiểm soát.

Những bài viết liên quan

Back to top button