Làm thế nào (và tại sao) để vô hiệu hóa đăng nhập gốc

Sửa máy tính tại nhà TPHCM

fatmawati achmad zaenuri / Shutterstock.com

Đăng nhập với tư cách người dùng gốc Linux là một phương pháp không tốt. Đăng nhập với quyền root qua kết nối SSH thậm chí còn tệ hơn. Chúng tôi cho bạn biết lý do tại sao và chỉ cho bạn cách phòng tránh.

Bạn Đang Xem: Làm thế nào (và tại sao) để vô hiệu hóa đăng nhập gốc

Thanh kiếm hai cạnh

Bạn cần ai đó có quyền sở hữu và quản lý những phần quá quan trọng hoặc quá nhạy cảm của hệ điều hành đối với người dùng thông thường. Đó là nơi mà root xuất hiện. Root là siêu người dùng toàn năng của hệ điều hành Unix và Linux.

Tài khoản người dùng gốc, giống như tất cả các tài khoản, được bảo vệ bằng mật khẩu. Nếu không có mật khẩu của người dùng root, không ai khác có thể truy cập vào tài khoản đó. Điều đó có nghĩa là các đặc quyền và quyền hạn của root không thể được sử dụng bởi bất kỳ ai khác. Mặt trái của nó là cách bảo vệ duy nhất giữa người dùng độc hại và quyền hạn của root là mật khẩu đó. Mật khẩu, tất nhiên, có thể được đoán, suy luận, phát hiện được viết ra ở đâu đó, hoặc thô bạo.

Nếu kẻ tấn công độc hại phát hiện ra mật khẩu của root, chúng có thể đăng nhập và làm bất cứ điều gì chúng muốn đối với toàn bộ hệ thống. Với các đặc quyền nâng cao của root, không có giới hạn nào về những gì họ có thể làm. Nó sẽ giống như thể người dùng root đã rời khỏi một thiết bị đầu cuối mà không đăng xuất, cho phép truy cập cơ hội vào tài khoản của họ.

Vì những rủi ro này, nhiều bản phân phối Linux hiện đại không cho phép root đăng nhập vào máy tính cục bộ, đừng bận tâm đến SSH. Người dùng root tồn tại, nhưng họ không đặt mật khẩu cho họ. Chưa hết, phải có người có khả năng quản trị hệ thống. Giải pháp cho câu hỏi hóc búa đó là sudo yêu cầu.

sudo cho phép người dùng được chỉ định sử dụng tạm thời các đặc quyền cấp gốc từ trong tài khoản người dùng của chính họ. Bạn cần xác thực để sử dụng sudo, bạn thực hiện bằng cách nhập mật khẩu của riêng mình. Điều này cho phép bạn truy cập tạm thời vào các khả năng của root.

Quyền hạn gốc của bạn sẽ chết khi bạn đóng cửa sổ đầu cuối mà chúng đã được sử dụng. Nếu bạn để cửa sổ đầu cuối mở, chúng sẽ hết thời gian chờ, tự động đưa bạn trở lại trạng thái người dùng bình thường. Điều này cung cấp một loại bảo vệ khác. Nó bảo vệ bạn khỏi chính bạn.

Nếu bạn thường xuyên đăng nhập bằng tài khoản root thay vì tài khoản thông thường, bất kỳ lỗi nào bạn mắc phải trên dòng lệnh đều có thể rất nghiêm trọng. Phải sử dụng sudo để thực hiện quản trị có nghĩa là bạn có nhiều khả năng tập trung và cẩn thận hơn với những gì bạn nhập.

Cho phép đăng nhập root qua SSH làm tăng rủi ro vì những kẻ tấn công không nhất thiết phải là người cục bộ; họ có thể cố gắng cưỡng bức hệ thống của bạn từ xa.

CÓ LIÊN QUAN: Cách xem lại cách sử dụng lệnh sudo trên Linux

Người dùng gốc và Quyền truy cập SSH

Bạn có nhiều khả năng gặp phải vấn đề này khi quản lý hệ thống cho người khác. Ai đó có thể đã quyết định đặt mật khẩu gốc để họ có thể đăng nhập. Cần thay đổi các cài đặt khác để cho phép người chủ đăng nhập qua SSH.

Công cụ này sẽ không xảy ra một cách tình cờ. Nhưng nó có thể được thực hiện bởi những người không hiểu những rủi ro liên quan. Nếu bạn tiếp quản việc quản lý một máy tính ở trạng thái đó, bạn sẽ cần phải thông báo cho chủ sở hữu lý do tại sao đó là một ý tưởng tồi và sau đó hoàn nguyên hệ thống về trạng thái hoạt động an toàn. Nếu đó là thứ do quản trị viên hệ thống trước đó định cấu hình, chủ sở hữu có thể không biết về nó.

Đây là người dùng trên máy tính chạy Fedora, đang thực hiện kết nối SSH với máy tính Ubuntu với tư cách là người dùng gốc của máy tính Ubuntu.

ssh root@ubuntu-22-04.local

Xem Thêm : Thành công trên Twitch No Longer Comes on

Người dùng root kết nối với máy tính từ xa bằng SSH

Máy tính Ubuntu cho phép người dùng root đăng nhập qua SSH. Trên máy tính Ubuntu, chúng ta có thể thấy rằng một kết nối trực tiếp đang được tiến hành từ người dùng root.

who

Sử dụng lệnh who để liệt kê những người dùng đã đăng nhập

Những gì chúng ta không thể thấy là ai đang sử dụng phiên đó. Chúng tôi không biết liệu người ở đầu kia của kết nối SSH là người dùng root hay ai đó đã quản lý để lấy được mật khẩu của root.

Tắt quyền truy cập SSH cho người chủ

Để vô hiệu hóa quyền truy cập SSH cho người dùng root, chúng tôi cần thực hiện các thay đổi đối với tệp cấu hình SSH. Điều này được đặt tại “/ etc / ssh / sshd_config.” Chúng tôi sẽ cần sử dụng sudo để viết các thay đổi đối với nó.

sudo gedit /etc/ssh/sshd_config

Chỉnh sửa tệp sshd-config

Cuộn qua tệp hoặc tìm kiếm chuỗi “PermitRootLogin.”

Đặt giá trị này thành “không” hoặc nhận xét dòng bằng cách đặt một hàm băm “#”Là ký tự đầu tiên trên dòng. Lưu các thay đổi của bạn.

Chúng ta cần khởi động lại daemon SSH để các thay đổi của chúng ta có hiệu lực.

sudo systemctl restart ssh

Khởi động lại trình nền sshd

Nếu bạn cũng muốn ngăn đăng nhập cục bộ, hãy tắt mật khẩu của root. Chúng tôi đang áp dụng phương pháp tiếp cận đai và niềng răng và sử dụng cả hai -l (khóa) và -d (xóa mật khẩu) tùy chọn.

sudo passwd root -ld

Khóa tài khoản gốc và xóa mật khẩu gốc

Thao tác này sẽ khóa tài khoản và xóa mật khẩu tài khoản thành món hời. Ngay cả khi người dùng root thực sự đang ngồi trên máy tính của bạn, họ sẽ không thể đăng nhập.

Một cách an toàn hơn để cho phép quyền truy cập SSH gốc

Xem Thêm : Clearview đã đánh cắp khuôn mặt của tôi và EU

Đôi khi bạn sẽ gặp phải sự phản kháng của người quản lý đối với việc xóa quyền truy cập root qua SSH. Nếu họ thực sự không lắng nghe, bạn có thể thấy mình ở một vị trí mà bạn phải khôi phục nó. Nếu đúng như vậy, bạn phải có khả năng thỏa hiệp theo cách giảm thiểu rủi ro và vẫn cho phép đăng nhập từ xa từ người dùng root.

Sử dụng khóa SSH để tạo kết nối qua SSH an toàn hơn nhiều so với sử dụng mật khẩu. Bởi vì không có mật khẩu nào có liên quan, chúng không thể bị ép buộc, đoán hoặc bị phát hiện theo cách khác.

Trước khi bạn khóa tài khoản gốc cục bộ, hãy thiết lập khóa SSH trên máy tính từ xa để người dùng root có thể kết nối với máy tính cục bộ của bạn. Sau đó, hãy tiếp tục và xóa mật khẩu của họ và khóa tài khoản cục bộ của họ.

Chúng tôi cũng sẽ cần chỉnh sửa tệp “sshd_config” một lần nữa.

sudo gedit /etc/ssh/sshd_config

Chỉnh sửa tệp sshd-config

Thay đổi dòng “PermitRootLogin” để dòng sử dụng tùy chọn “cấm mật khẩu”.

Lưu các thay đổi của bạn và khởi động lại daemon SSH.

sudo systemctl restart ssh

Khởi động lại trình nền sshd

Bây giờ, ngay cả khi ai đó khôi phục mật khẩu của người dùng root, họ sẽ không thể đăng nhập qua SSH bằng mật khẩu.

Khi người dùng root từ xa thực hiện kết nối SSH với máy tính cục bộ của bạn, các khóa sẽ được trao đổi và kiểm tra. Nếu họ vượt qua xác thực, người dùng root được kết nối với máy tính cục bộ của bạn mà không cần mật khẩu.

ssh root@ubuntu-22-04.local

Người dùng root kết nối với máy tính từ xa bằng SSH mà không cần mật khẩu

Cấm vào

Từ chối kết nối từ xa từ người dùng root là lựa chọn tốt nhất. Cho phép root kết nối bằng khóa SSH là tốt thứ hai, nhưng vẫn tốt hơn nhiều so với sử dụng mật khẩu.

CÓ LIÊN QUAN: Cách kiểm soát quyền truy cập sudo trên Linux

dịch vụ cài win online từ xa

Nguồn: https://trungtamsuamaytinh.com
Danh mục: TIN HỌC

Vui lòng đánh giá về dịch vụ tại nhà