Có rủi ro bảo mật nào khi tiết lộ tệp SSH know_hosts của bạn không?


32

Tôi đang phát biểu tại một hội nghị vào tuần tới về một số công cụ phần mềm tôi đã tạo. Máy tính xách tay của tôi sẽ được hiển thị trên màn hình máy chiếu trong bài thuyết trình này. Bài thuyết trình sẽ được quay video và đăng trên youtube. Nếu, vì một số lý do, tôi có dịp mở và chỉnh sửa ~/.ssh/known_hoststệp của mình trong bản trình bày này, tôi có nên ngắt kết nối máy chiếu trong khi thực hiện không? Có bất kỳ rủi ro bảo mật nào khi tiết lộ tệp know_hosts của tôi không?


7
Tại sao không chỉ đơn giản là thay thế thực tế của bạn known_hostsbằng một giả trong khi trình bày?
Sven

1
... hoặc nếu bạn không kiểm tra dấu vân tay của máy chủ ở vị trí đầu tiên, hãy sử dụng một cái gì đó như ssh -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no user@hostbỏ qua câu hỏi về dấu vân tay và tránh kiểm tra đối với các know_host hiện có.
Lekensteyn

@ Đã xử lý tệp know_hosts không phải là một phần của bản trình bày, chỉ là phần mềm tôi đang trình diễn thỉnh thoảng yêu cầu tôi chỉnh sửa tệp know_host của mình. Khán giả không cần phải thấy điều này (vì vậy tôi sẽ sử dụng chỉnh sửa mù như một số người bình luận ở đây đã đề xuất) nhưng chỉnh sửa tệp tin_hosts giả chỉ đơn giản là không hoàn thành mục tiêu của tôi.
Matt Korostoff

Câu trả lời:


43

Tệp know_hosts chứa các khóa công khai đáng tin cậy cho các máy chủ bạn đã kết nối trước đây. Các khóa công khai này có thể được lấy chỉ bằng cách cố gắng kết nối với các máy chủ này. Vì vậy, nó không có rủi ro bảo mật mỗi se.

Nhưng: Nó chứa một lịch sử của các máy chủ mà bạn kết nối. Thông tin có thể được sử dụng bởi một kẻ tấn công tiềm năng để cơ sở hạ tầng tổ chức dấu chân chẳng hạn. Ngoài ra, nó thông báo cho những kẻ tấn công tiềm năng rằng bạn có thể có quyền truy cập vào một số máy chủ nhất định và việc đánh cắp máy tính xách tay của bạn cũng sẽ cho phép họ truy cập.

Chỉnh sửa: Để tránh hiển thị tệp know_hosts của bạn, tôi khuyên bạn nên sử dụng ssh-keygentiện ích này. ssh-keygen -R ssh1.example.orgví dụ: loại bỏ các khóa đáng tin cậy cho ssh1.example.orgtừ know_hosts của bạn.


15

Không có gì đặc biệt nguy hiểm về điều này. Tuy nhiên, bạn có thể không muốn tiết lộ thông tin nhận dạng này. Đôi khi sự tồn tại của vật chủ cho thấy những đường tấn công tốt cho những kẻ có khuynh hướng. Bạn có thể sử dụng HashKnownHostshoặc bạn có thể chỉnh sửa tệp mà không cần nhìn vào tệp.


Chỉnh sửa mù:
sed -i 25d .ssh/known_hostssẽ xóa dòng 25 mà không đưa bất kỳ nội dung nào lên màn hình.

HashKnownhosts
Chỉ ra rằng ssh (1) nên băm tên và địa chỉ máy chủ lưu trữ khi chúng được thêm vào ~ / .ssh / unknown_hosts. Các tên băm này có thể được sử dụng bình thường bởi ssh (1) và sshd (8), nhưng chúng không tiết lộ thông tin nhận dạng nếu nội dung của tệp được tiết lộ. Mặc định là không có. Lưu ý rằng tên và địa chỉ hiện có trong các tệp máy chủ đã biết sẽ không được chuyển đổi tự động, nhưng có thể được băm thủ công bằng cách sử dụng ssh-keygen (1).


4
Thay vì tự tính toán số dòng và xóa nó bằng sed, bạn cũng có thể sử dụng ssh-keygen -R example.com.
Lekensteyn

4
Bạn cũng có thể sử dụng ssh-keygen -H -f ~/.ssh/known_hostsđể băm tất cả tên / địa chỉ trong tệp.
Barmar
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.