Làm cách nào để tắt đăng nhập root trong Ubuntu?


27

Cách đây một thời gian tôi đã cho mật khẩu root để tôi có thể đăng nhập bằng root và hoàn thành một số thứ. Bây giờ tôi muốn vô hiệu hóa đăng nhập root để thắt chặt bảo mật, vì tôi sẽ tiết lộ dịch vụ của mình lên internet. Tôi đã thấy một số cách để làm điều này ( sudo passwd -l root, đấu tranh /etc/shadow, v.v.), nhưng không nơi nào nói cách tốt nhất / hợp lý nhất để làm điều đó là gì. Tôi đã thực hiện sudo passwd -l rootnhưng tôi đã thấy lời khuyên nói rằng điều này có thể ảnh hưởng đến các tập lệnh init và nó không an toàn như vẻ ngoài vì nó vẫn yêu cầu mật khẩu nếu bạn cố gắng đăng nhập, thay vì từ chối truy cập. Vậy đâu là cách để đạt được điều đó?

EDIT: để làm rõ, đây là để đăng nhập cục bộ như root; Tôi đã vô hiệu hóa đăng nhập từ xa thông qua SSH. Mặc dù cố gắng đăng nhập bằng root qua SSH nhưng vẫn nhắc mật khẩu của root (luôn bị lỗi). Nó có tệ không?


1
Vô hiệu hóa quyền truy cập cục bộ cho root có lợi ích bảo mật gần như bằng không. Một người dùng có quyền truy cập vật lý có thể pwn hộp của bạn theo vô số cách.
jscott

Điểm lấy. Không cần phải đăng nhập với quyền root nếu bạn chỉ cần lấy ổ cứng ra. Tôi vẫn muốn biết làm thế nào để trả lại tài khoản root về trạng thái trước khi tôi thay đổi nó, nếu bây giờ chỉ vì tò mò.
Ben Hymers

xem bản cập nhật cho câu trả lời của tôi dưới đây. Tôi nghĩ bây giờ tôi hiểu những gì bạn đang hỏi.
jscott

@jscott trong khi vô hiệu hóa root có thể không cung cấp lợi ích bảo mật chống lại sự xâm nhập, nhưng không đăng nhập với quyền root cung cấp một công tắc an toàn chống lại việc phá hủy các hệ thống với rmlệnh bị đặt sai chỗ hoặc như vậy. Một cái gì đó tôi đã học một cách khó khăn. Có, một cách đơn giản là KHÔNG thể đăng nhập với quyền root, nhưng vô hiệu hóa nó có ý nghĩa theo quan điểm của quản trị viên hệ thống.
codechimp

Có vẻ tuyệt vời cho VPS hoặc lưu trữ, thực sự không có trí tuệ.
jjxtra

Câu trả lời:


33

Đối với tôi, điều gây tranh cãi là việc vô hiệu hóa root rất đáng giá cho các vấn đề tiềm ẩn. Tôi chưa bao giờ kiểm tra một máy chủ được cấu hình theo cách như vậy. Sở thích của tôi là chỉ cho phép truy cập root cục bộ. Nếu kẻ tấn công có quyền truy cập vật lý vào máy chủ của bạn, bạn có thể quên mọi thứ bạn đã thực hiện để "bảo mật" cài đặt của mình.

Vô hiệu hóa sshquyền truy cập root bằng cách chỉnh sửa /etc/ssh/sshd_configđể chứa:

PermitRootLogin no

Giải quyết vấn đề /etc/shadow, chsh -s /bin/false roottất cả đều có thể được hoàn tác với một đĩa CD / ngón tay cái có thể khởi động đơn giản.

Cập nhật mỗi bình luận của bạn:

Từ help.ubfox.com : "Theo mặc định, mật khẩu tài khoản root bị khóa trong Ubuntu ". Vui lòng xem phần "Vô hiệu hóa lại tài khoản root của bạn" một cách cụ thể. Để đặt lại trạng thái của tài khoản root, để cài đặt mặc định, hãy sử dụng lệnh sau:

sudo usermod -p '!' root

Không có hệ thống nào an toàn khi kẻ tấn công có quyền truy cập vật lý vào hệ thống đó. Khi bạn có thể chỉnh sửa / etc / bóng, điều gì ngăn bạn chỉnh sửa / etc / ssh / sshd_config?
Sven

@SvenW: Chính xác. Đó là lý do tại sao tôi tranh luận về tính hữu dụng, bảo mật, thậm chí còn bận tâm đến việc "vô hiệu hóa" root. Hạn chế quyền truy cập của root, vâng. Vô hiệu hóa tài khoản, không.
jscott

4
sudo dịch vụ ssh khởi động lại ....... sau khi làm điều này.
Naweed Chougle

Tệp trợ giúp được tham chiếu hiện cung cấp lệnh sau: sudo passwd -dl root
MrG

21

Tôi giả sử bạn tham khảo đăng nhập từ xa thông qua ssh. Thêm dòng sau vào /etc/ssh/sshd_config:

PermitRootLogin no

và khởi động lại dịch vụ ssh

sudo service ssh restart

Điều đó sẽ thực hiện công việc và bạn có thể giữ tài khoản root của mình như vậy (hoặc cố gắng vô hiệu hóa nó nếu bạn cảm thấy cần thiết).


Xin lỗi, tôi nên nói, đây là cho đăng nhập cục bộ. Tôi đã cập nhật câu hỏi.
Ben Hymers

4

Câu hỏi chính đã được trả lời nhiều lần, nhưng câu hỏi phụ thì không. SSH nhắc nhập mật khẩu sau khi nhập root sau khi nó bị vô hiệu hóa như một tính năng bảo mật. Nó cũng sẽ kích hoạt nếu bạn cố gắng đăng nhập như lkjfiejlksji.

Điều này là để ngăn người khác kiểm tra một đống tên người dùng, để thử và tìm ra cái nào hợp lệ trên hệ thống của bạn. Tuy nhiên, từ quan điểm bảo mật, nếu bạn đã tắt root qua SSH, tôi cũng sẽ thiết lập chương trình phát hiện bruteforce (như fail2ban) và đặt nó để nếu ai đó thậm chí cố gắng đăng nhập bằng root, nó sẽ chặn họ khỏi thử bất kỳ cuộc tấn công bổ sung.


Câu trả lời tốt, cảm ơn! Tôi đã cài đặt fail2ban rồi, tôi sẽ cấu hình nó để chặn lần thử đầu tiên khi đăng nhập bằng root, lời khuyên tốt.
Ben Hymers

2

Thay thế mật khẩu được mã hóa bằng dấu * trong / etc / bóng (trường thứ hai, sau dấu ':') đầu tiên là cách tốt nhất, IMHO. Ngoài ra, hủy kích hoạt đăng nhập root cho ssh (theo cách này đơn giản là không thể đăng nhập qua ssh với quyền root) và có thể hạn chế ssh đối với thông tin đăng nhập chứng chỉ, an toàn hơn nhiều so với đăng nhập dựa trên mật khẩu.

Trong hầu hết các trường hợp, SSH phải là dịch vụ duy nhất có thể truy cập từ bên ngoài có khả năng cho phép đăng nhập root, vì vậy cửa này sẽ bị khóa.

Để hạn chế hơn nữa, bạn có thể cài đặt một cái gì đó như fail2ban, vốn cấm địa chỉ IP trong một khoảng thời gian nhất định sau một số lần thử đăng nhập không thành công.


Tôi có cảm giác '*' giống như '!', Theo câu trả lời được chấp nhận, vì vậy tôi cũng sẽ bỏ phiếu cho câu trả lời này.
Ben Hymers

1

JR et al,

Người cho phép của bạn đã dẫn tôi đến https://help.ubfox.com/community/SSH/OpenSSH/Configuring này

sudo vi / etc / ssh / sshd_config

PermitRootLogin có (đổi thành không)

(thêm dòng ở cuối tệp) DenyUsers user1 user2

lưu và thoát và sau đó

sudo dịch vụ ssh khởi động lại

Giải quyết vấn đề của tôi. Cảm ơn tất cả.


0

Nếu bạn muốn tắt đăng nhập root cục bộ, bạn có thể thử sửa đổi / etc / passwd và thay thế / bin / bash by / bin / false. TUY NHIÊN, vì tôi chưa kiểm tra nó, tôi sẽ nói hãy để một phiên root mở ở bên cạnh, kiểm tra nó và nếu có bất kỳ tác dụng phụ kỳ lạ nào, hãy thay đổi lại.


0

Re: Bảo mật.

IMHO chỉ có rất nhiều việc bạn có thể làm, bảo mật khôn ngoan, rút ​​ngắn hộp, ngắt kết nối mạng và hàn nó bên trong hộp thép cacbua chống đạn dày 3 ".

Hãy nghĩ về nó theo cách này - nếu mọi người có thể hack Bộ Quốc phòng, CIA, FBI và Citibank - phần còn lại của chúng ta chỉ là những người phàm trần không thể làm tốt hơn nhiều.

Re: Bảo mật SSH.

Tôi không chỉ cấm quyền truy cập root thông qua ssh, tôi cũng đặt tham số "Cho phép người dùng" thành tên người dùng và chỉ tên người dùng của tôi. Bằng cách này, không ai ngoài người dùng của tôi có thể đăng nhập thông qua ssh. Điều này có thể là dư thừa như trong trường hợp của riêng tôi, tôi chỉ tạo MỘT người dùng không phải root.

Thật không may, như những người khác đã nói nhiều lần trước đây, ngay khi ai đó có quyền truy cập vật lý vào hộp, tất cả các cược đều TẮT!

Trao đổi chứng chỉ để đăng nhập ssh? Hừm. . . . nghe có vẻ tốt Bạn làm nó như thế nào?

Jim (JR)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.