Tôi muốn có tài khoản root an toàn ngay cả khi người dùng không có quyền của tôi bị xâm phạm.
Trên Ubuntu, bạn chỉ có thể sử dụng sudo vì "lý do bảo mật" theo mặc định. Tuy nhiên tôi không chắc chắn rằng nó an toàn hơn bất kỳ việc sử dụng đăng nhập trên bảng điều khiển chế độ văn bản. Có quá nhiều thứ có thể sai nếu kẻ tấn công có thể chạy mã như người dùng bình thường của tôi. Ví dụ: thêm bí danh, thêm nội dung vào PATH của tôi, đặt các keylogger LD_PRELOAD và X11 chỉ để đề cập đến một vài. Ưu điểm duy nhất tôi có thể thấy là thời gian chờ vì vậy tôi không bao giờ quên đăng xuất.
Tôi có cùng nghi ngờ về su nhưng nó thậm chí không có giới hạn thời gian. Một số hoạt động (đặc biệt là chuyển hướng IO) thuận tiện hơn với su nhưng bảo mật thông minh thì điều này dường như tồi tệ hơn.
Đăng nhập vào bảng điều khiển chế độ văn bản dường như là an toàn nhất. Vì nó được bắt đầu bởi init nếu kẻ tấn công có thể kiểm soát PATH hoặc LD_PRELOAD, anh ta đã root. Các sự kiện nhấn phím không thể bị chặn bởi các chương trình chạy trên X. Tôi không biết liệu các chương trình chạy trên X có thể chặn [ctrl] + [alt] + [f1] (và mở cửa sổ toàn màn hình trông giống như bảng điều khiển) hoặc nó an toàn như [ctrl] + [alt] + [del] trên Windows. Bên cạnh đó, vấn đề duy nhất tôi thấy là thiếu thời gian chờ.
Vì vậy, tôi đang thiếu một cái gì đó? Tại sao các chàng trai Ubuntu quyết định chỉ cho phép sudo? Tôi có thể làm gì để cải thiện tính bảo mật của bất kỳ phương pháp nào?
Còn SSH thì sao? Theo truyền thống, root không thể đăng nhập thông qua SSH. Nhưng sử dụng logic trên đây sẽ không phải là điều an toàn nhất để làm:
- cho phép root thông qua SSH
- chuyển sang chế độ văn bản
- đăng nhập bằng root
- ssh sang máy khác
- đăng nhập bằng root?