SSH: Bạn có sử dụng một cặp khóa riêng / chung cho mỗi máy từ xa không? Hoặc một cặp duy nhất cho tất cả?


23

Khi bạn muốn có thông tin đăng nhập ssh dựa trên khóa chung cho nhiều máy, bạn có sử dụng một khóa riêng và đặt cùng một khóa chung trên tất cả các máy không? Hoặc bạn có một cặp khóa riêng / chung cho mỗi kết nối không?


@Jim Zajkowski: Tôi không chắc làm thế nào để trả lời bình luận của bạn nhưng điều này là dành cho bạn. Hộp nhảy cho phép truy cập có kiểm soát vào các máy chủ phải đối mặt với internet nằm trong DMZ (đằng sau tường lửa). Giả sử bạn có "server_a" và "server_b". A nằm trong mạng và B nằm ngoài mạng. Khách hàng bên ngoài kết nối với B. Lưu lượng đi từ A đến B cần được kiểm soát và ngược lại. Vì vậy, bạn thêm một hộp nhảy có hai card mạng. Một kết nối nó với mạng bên trong (A) và một kết nối nó với mạng bên ngoài (B). Vì vậy, từ A bạn đi đến hộp nhảy và sau đó đến B. Một trong những lợi ích của

@IMTheNachoMan - Tôi đã chuyển đổi câu trả lời của bạn thành một bình luận, mặc dù vị trí tốt nhất cho nó sẽ là một bình luận trực tiếp trong câu trả lời giữ bình luận mà bạn đang trả lời (điều đó làm tôi hơi chóng mặt). Nếu bạn có bất kỳ câu hỏi nào, hãy ghé qua meta và hỏi đi. Cảm ơn đã làm rõ bất kể.
Kara Marfia

Câu trả lời:


27

Tôi sử dụng một khóa cho mỗi bộ hệ thống có chung ranh giới quản trị. Điều này giới hạn số lượng máy bị bật nếu khóa bị xâm phạm, trong khi không hoàn toàn áp đảo khả năng lưu trữ và quản lý vài nghìn khóa của tôi. Các cụm mật khẩu khác nhau trên mỗi khóa có nghĩa là ngay cả khi tất cả các khóa riêng của bạn bị đánh cắp và một khóa bị xâm phạm, phần còn lại không đi xuống nhà vệ sinh với nó. Ngoài ra, nếu bạn làm điều gì đó ngu ngốc (như sao chép khóa riêng vào máy không tin cậy), một lần nữa bạn không phải gõ lại mọi thứ, chỉ là các máy được liên kết với khóa đó.


4

Khóa công khai không quan trọng lắm, vì theo định nghĩa, nó có thể được công khai. Vì vậy, vấn đề duy nhất là sự riêng tư của các khóa riêng tư của bạn. Họ đang ở trên máy của riêng bạn và tất cả cùng nhau, vì vậy nếu một người bị xâm phạm, có khả năng tất cả họ sẽ bị xâm phạm. Do đó, nhiều bàn phím chỉ là công việc nhiều hơn cho cùng một hiệu ứng.

Lần duy nhất tôi sẽ sử dụng các khóa khác nhau là cho các tài khoản khác nhau hoặc các vai trò khác nhau, theo định nghĩa, không nên có sự trùng lặp hoàn toàn về quyền truy cập.


2

Nếu tôi hiểu đúng, mỗi máy chủ sẽ có khóa công khai riêng.

Đối với một người dùng nhất định , bạn có thể tạo một khóa và sử dụng nó ở mọi nơi, miễn là khóa riêng được sao chép qua tất cả các máy chủ khởi tạo. (Điều này sẽ tự động xảy ra thông qua các thư mục nhà được gắn trên mạng và hệ thống xác thực dựa trên thư mục như OpenLDAP vì người dùng sẽ luôn "giống nhau" bất kể máy trạm họ đăng nhập từ đâu.)

Bên ngoài hệ thống người dùng dựa trên thư mục, tôi nghĩ rằng đó là một ý tưởng tồi để sử dụng cùng một khóa ở mọi nơi - bạn kết thúc với việc giảm bảo mật hệ thống, vì bất kỳ ai có thể nhận được khóa từ bất kỳ máy trạm nào đều có thể xác thực như người dùng đó đến máy chủ từ xa.

Một cách khác, được mô tả bởi một số tập đoàn lớn (và tôi chắc chắn cũng là những tập đoàn nhỏ) là không bao giờ cho phép "người dùng" sử dụng các khóa được chia sẻ trước mà thay vào đó phải đăng nhập vào hộp "nhảy" hoặc "hub" , suđến người dùng kết nối thích hợp và sau đó SSH từ đó đến các máy chủ họ cần quản lý.

Ngoài ra, nếu bạn sử dụng hệ thống quản lý như nền tảng Tự động hóa máy chủ của HP, thì việc quản trị từ xa các máy chủ được quản lý sẽ trở thành một quy trình đơn giản hơn.


1
Mọi người nên giữ khóa của họ được mã hóa. Bạn có thể giải thích các lợi ích bảo mật của "hộp nhảy" không vì tôi không thấy nó.
Jim Zajkowski

như được thực hiện tại một số ngân hàng mà tôi đã tiếp xúc và ở những nơi khác, ý tưởng đằng sau một "hộp nhảy" là bạn không thể truy cập các máy chủ trong DMZ hoặc mạng con, v.v. với người dùng "bình thường" của bạn. Bạn kết nối với hộp nhảy, sau đó ở dạng đã ghi, gửi cho người dùng quản lý để kết nối với mạng khác.
warren

2
Lợi ích bảo mật == 0, nói cách khác.
womble

@womble - có lẽ đó là chính xác. Nhưng đó là điều mà rất nhiều công ty hoang tưởng làm. Vì suphiên được ghi lại, tuy nhiên, nó có thể nghe được.
warren

1
Tại sao chỉ có suphiên có thể nghe được mà không phải phiên khác?
João Portela

1

Như những người khác đã nói, mặc dù ý tưởng về nhiều cặp khóa có vẻ an toàn hơn, nhưng nếu có cơ hội chúng sẽ được sử dụng theo cách mà tất cả chúng ở cùng một nơi thì nó chỉ rắc rối hơn và không an toàn hơn. Nhiều cụm mật khẩu sẽ làm cho nó an toàn hơn nhưng cũng rất đau đầu khi cố gắng nhớ cụm mật khẩu nào đi với khóa nào và khóa nào đi với máy chủ nào.

Câu trả lời hợp lý nhất với tôi sẽ là câu trả lời được đề nghị làm CHỈ nếu nó liên quan đến các vai trò quản trị riêng biệt mà không có nhiều sự chồng chéo. Như vậy, đó có thể là những người khác nhau xử lý các vai trò khác nhau, hoặc trên các máy trạm khác nhau hoặc bất cứ điều gì. Trong trường hợp đó, bạn có nhiều điều độc đáo hơn để giải quyết cho từng vai trò khác nhau, vì vậy điều đó hợp lý hơn.


0

Để dễ dàng quản lý nhiều máy chủ có khả năng SSH, bạn có thể muốn kiểm tra cssh . Bạn có thể kết hợp cssh với các khóa SSH mật khẩu để tăng cường đáng kể khả năng quản lý nhiều máy chủ cùng một lúc.


2
Làm thế nào để bạn quản lý để có được "lỗi điên" trong một vòng lặp vinh quang?
womble

Một cái gì đó về điều đó dường như rất nguy hiểm-- Nếu bạn mắc lỗi, bạn sẽ làm hỏng tất cả các máy chủ của mình cùng một lúc thay vì chỉ một!
Nick

@Nick - đúng, nhưng đó luôn là trường hợp khi tôi phụ trách hộp =) @womble - hả? bạn đề cập đến "con bọ điên" nào?
Greeblednort

1
Trên đầu trang dự án mà bạn đã liên kết đến: "LƯU Ý: Tôi sẽ sớm quay lại dự án này để tôi có thể khắc phục các lỗi điên rồ trong đó." Thực tế là thông báo vẫn còn đó hai năm sau đó không làm tăng thêm niềm tin của tôi vào nó nữa.
womble
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.