Đăng nhập Root từ xa


8

Tôi biết một trong những điều đầu tiên bạn làm để bảo mật máy chủ là không cho phép đăng nhập root từ xa.

Mật khẩu khá yếu; mọi người nghĩ gì khi chỉ cho phép đăng nhập root thông qua khóa ssh hoặc các phương thức không có mật khẩu khác.

Phương pháp nào là tốt nhất? Có phải tốt hơn là không nên mạo hiểm? Là ssh-ing với một tài khoản phụ và sử dụng su -thực sự thêm bất kỳ bảo mật?

Làm thế nào để mọi người trên serverfault.com truy cập root trên một máy chủ từ xa?

Câu trả lời:


9

Đối với hầu hết các phần có rất ít bằng cách thực sự vô hiệu hóa đăng nhập gốc từ xa. Nó giúp thực thi một chính sách quản trị viên đăng nhập thông qua tài khoản của chính họ và suđể root khi cần thiết (hoặc sudocó thể sử dụng với sudosh... tùy thuộc vào chính sách của bạn).

Tạo mật khẩu gốc cực kỳ dài và cồng kềnh (hiệu quả miễn là bạn vẫn không sử dụng hàm băm muối DES + 12 bit cổ xưa cho mật khẩu của mình) có hiệu quả trong việc thực thi chính sách như vậy.

Một trang web mà tôi quen thuộc có một hệ thống theo đó các mật khẩu duy nhất được tạo ngẫu nhiên cho mỗi máy chủ, được lưu trữ trong cơ sở dữ liệu và được đẩy ra hệ thống. Quản trị viên được yêu cầu sử dụng sshvới tài khoản thông thường của họ và sudocho hầu hết các hoạt động. Tuy nhiên, mật khẩu gốc có thể được truy cập bởi họ thông qua dịch vụ web nội bộ dựa trên SSL (yêu cầu thêm mã thông báo RSA SecurID và PIN của họ). Tìm nạp mật khẩu gốc đòi hỏi phải nhập một biện minh (thường là liên kết đến số vé Biện pháp khắc phục (TM)) và truy cập vào nơi được kiểm tra định kỳ. Một trong số ít lý do có thể chấp nhận để sử dụng mật khẩu gốc trực tiếp là trong những trường hợp hệ thống bị dừng fscktrong quá trình khởi động ... vàsuloginđã yêu cầu một mật khẩu gốc thực sự để tự chạy các quy trình kiểm tra và sửa chữa hệ thống tập tin. . vẫn còn trong sản xuất trong môi trường đó).

Có những trường hợp góc mà mật khẩu gốc là cần thiết --- hoặc ít nhất là sự thay thế tốt nhất hiện có. Giữ nó có sẵn trong khi làm cho nó đủ mạnh mẽ chống lại các loại mối đe dọa mà bạn có thể dự đoán nói chung là chiến lược tốt nhất của bạn.

Một trang web khác mà tôi biết có một cách tiếp cận khá thanh lịch để quản lý tài khoản phi tập trung. Họ có các gói user- * và sudo- * (nghĩ là RPM) được cài đặt vào hệ thống bằng cách sử dụng các quy trình quản lý gói thông thường và cơ sở hạ tầng tự động hóa. Trong trường hợp của họ, gói sudo- * có sự phụ thuộc vào gói user- * tương ứng. Điều này thật tuyệt vì nó cho phép bạn có các cụm máy có tài khoản được bản địa hóa (tất cả tài khoản là quản trị viên, nhà phát triển, nhân viên hỗ trợ hoặc tài khoản "không đầu") và loại bỏ sự phụ thuộc vào LDAP / NIS hoặc các dịch vụ xác thực và nhận dạng được nối mạng khác. (Điều này làm giảm sự ghép nối giữa các hệ thống làm cho chúng mạnh mẽ hơn đáng kể).

Một suy nghĩ tôi thích về cách tiếp cận đó là nó mang lại sự linh hoạt. Bất cứ ai có sudoquyền truy cập đều có thể ra lệnh thêm người dùng bình thường hoặc sudotài khoản người dùng khác . Vì vậy, nếu tôi đang làm việc trên một vé, bất kỳ ai trong số những người đã truy cập vào hệ thống đều có thể dễ dàng cấp cho tôi quyền truy cập. Không có sự chậm trễ nào trong khi một vé để thêm tôi vào danh sách kiểm soát truy cập trong một số cơ sở dữ liệu trung tâm thông qua một số quy trình phê duyệt tập trung và cuối cùng tuyên truyền một sự thay đổi trở lại hệ thống. Bất kỳ người được ủy quyền sudonào trên hệ thống đều có thể cấp cho tôi quyền truy cập và sau đó xóa tôi. (Có nếu tôi xấu xa và họ chơi tôisudoTôi có thể sửa đổi một cách độc hại mọi thứ để giữ quyền truy cập ... thực tế có một số điều tôi có thể làm giống như một người dùng bình thường để giữ quyền truy cập trong quá trình xóa như vậy. Tuy nhiên, đó không phải là mối đe dọa mà họ lo lắng. Nhìn chung, quyền truy cập của tôi vẫn bị giới hạn ở một số lượng tương đối nhỏ hơn các hệ thống; do đó, tác động của tài khoản bị xâm nhập vẫn còn hạn chế hơn hầu hết các chương trình tương tự tôi từng thấy.


2

Nếu bạn vô hiệu hóa quyền truy cập root từ xa, bạn sẽ ngăn kẻ tấn công từ xa trực tiếp root - họ phải phá tài khoản khác, truy cập vào máy, sau đó thử và lấy quyền truy cập vào root. Đó là một bước thêm.

Nói chung root bị vô hiệu hóa để truy cập từ xa. SU hoạt động tốt. Nếu một cái gì đó thực sự bị hỏng, luôn có quyền truy cập trực tiếp vào hộp để sửa nó.

Nếu bạn muốn nghiêm ngặt hơn - chỉ cần vô hiệu hóa root hoàn toàn, đó là những gì sudo đang có. Một lần nữa, với cách tiếp cận đó, bạn vẫn có thể có quyền truy cập root bằng cách chuyển sang chế độ một người dùng - một Ubuntu. Mặc dù, tôi tin rằng họ đã sử dụng một bản vá lỗi cho điều đó, theo tài liệu của họ.

Ngoài ra, bạn có thể thiết lập không hoạt động để khởi động người dùng nhàn rỗi trong trường hợp thiết bị đầu cuối của họ bị mở và PC cũng mở. Bạn có thể buộc tất cả người dùng sử dụng khóa, nhưng việc quản lý khóa có thể khó khăn.

Một máy chủ ghi nhật ký thông qua duy nhất như một hệ thống loại kính chắn sóng cũng buộc phải có thêm một lớp bảo vệ và đường kiểm toán.


2

Tôi khuyên bạn nên thiết lập hệ thống để cho phép truy cập root CHỈ tại bàn điều khiển.

Mặt khác, sử dụng sudo với tùy chọn mật khẩu, cho phép người dùng được chọn truy cập vào các lệnh của tư nhân. BTW, nhận ra rằng sudo có thể được thiết kế để giới hạn tài khoản người dùng theo một số lệnh nhất định nếu bạn muốn. Sudo, để lại một "dấu" trong nhật ký hệ thống mà nó đã được sử dụng. sudo tốt hơn su vì mật khẩu root không được tiết lộ. Do đó, bạn có thể thay đổi mật khẩu root và người dùng sử dụng sudo sẽ không khôn ngoan hơn.

Việc sử dụng sudo được phép để nhận các lệnh riêng sẽ được kèm theo các thay đổi mật khẩu định kỳ bắt buộc với tần suất tùy thuộc vào môi trường.


1
Tôi cảm thấy như vấn đề với sudo là nó sử dụng mật khẩu bình thường của người dùng. Bởi vì điều này, nếu tài khoản bị xâm phạm, thì quyền truy cập root chỉ là một 'sudo -s'. Sử dụng 'su' yêu cầu kẻ tấn công phá hai mật khẩu.
Kousha

Ngoài ra, tôi sẽ cần một số loại quyền truy cập root từ xa vì đó là máy chủ được lưu trữ và tôi không có quyền truy cập vào bảng điều khiển vật lý.
Kousha

Nếu tôi nhớ lại, bạn có thể định cấu hình sudo để sử dụng mật khẩu của tài khoản khác ngoài tài khoản của người dùng.
mdpc

1

không bao giờ cho phép root

thiết lập hệ thống để cho phép truy cập thông qua các khóa không có mật khẩu

sau đó thiết lập sudo cho người dùng được phép thay đổi thông qua tài khoản root


Mặc dù tôi đồng ý với hầu hết các tình huống, có một số thời điểm tôi cảm thấy ổn khi cho phép truy cập root từ xa (đặc biệt là sử dụng khóa)
Matt Simmons

Tôi thà dành thêm thời gian để sudo in để làm gì đó hơn là có quyền truy cập root vào máy, thậm chí phím wa chỉ trong nháy mắt với bất kỳ nhật ký xác thực máy chủ trực tiếp nào người ta thường thấy đăng nhập gốc được sử dụng để cố gắng truy cập vào hộp , với khoảng 90% của tất cả các lần thử đăng nhập! nếu bạn có bất kỳ thông tin nào trên một hộp, bạn không muốn bất kỳ ai có quyền truy cập vào hộp chỉ ở dạng xấu để mở hộp để root
drfrog

Trên máy tính để bàn, vâng. Nhưng trên một máy chủ được quản trị bởi một người dùng, việc sử dụng sudo hơi giống như chơi "simon nói". IMO chỉ khi bạn có nhiều quản trị viên và bạn muốn / cần hành động của họ được ghi lại, thì việc sử dụng người dùng sudo là hợp pháp. Ngay cả khi đó, tôi không tin rằng việc vô hiệu hóa root là bắt buộc (mặc dù việc giới hạn đăng nhập root từ xa chỉ là khóa).
Jeremy Davis
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.