Chuyển tiếp tác nhân SSH và sao chép khóa: điều gì thực sự rò rỉ
Đăng nhập bằng khóa công khai gửi một chữ ký, không phải khóa riêng. Chuyển tiếp tác nhân vẫn trao cho một máy chủ khác khả năng ký, và đó là một sự phơi bày riêng.
Hai sự kiện khác nhau được gọi là khóa SSH bị rò rỉ, và chúng đòi hỏi những phản ứng khác nhau. Xác thực bằng khóa công khai gửi một khóa công khai và một chữ ký được tạo bằng khóa riêng, vì vậy khóa riêng không bao giờ là một trường trong yêu cầu. Chuyển tiếp tác nhân phơi bày thứ khác, bởi vì một máy chủ từ xa chạm tới tác nhân được chuyển tiếp của bạn có thể yêu cầu nó ký mà không bao giờ giữ khóa. Coi cả hai là một sự kiện dẫn tới hoặc một lần thay khóa vô nghĩa, hoặc một sự ủy nhiệm vẫn tiếp tục chạy.
Đăng nhập bằng khóa công khai truyền một chữ ký, không phải khóa
Trao đổi xác thực mang khóa công khai của người dùng và một chữ ký trên dữ liệu phiên. Máy chủ kiểm tra chữ ký đó bằng khóa mà nó đã tin tưởng, nhờ vậy nửa riêng tư có thể ở lại máy khách qua một mạng không đáng tin. Một nhà cung cấp VPN quan sát đường hầm vẫn thấy một phiên SSH được mã hóa.
Điều đó mô tả giao thức, không phải độ tin cậy của mọi điểm cuối trên đường đi. Hãy giữ nguyên việc xác minh danh tính máy chủ, vì một máy khách chấp nhận bất kỳ khóa máy chủ nào đã từ bỏ một kiểm soát khác với kiểm soát đang bàn. Một phiên bị chặn và một khóa bị chặn là hai phát hiện riêng biệt, và chỉ một trong hai là mất thông tin đăng nhập. Hãy giữ cả hai trong hai câu riêng của báo cáo.
ssh-keygen -lf ~/.ssh/id_ed25519.pub ssh -o StrictHostKeyChecking=yes [email protected]
Lệnh đầu tiên in dấu vân tay công khai để bạn so sánh với những gì máy chủ liệt kê. Lệnh thứ hai làm rõ việc kiểm tra khóa máy chủ thay vì dựa vào một giá trị mặc định mà không ai đọc. Hãy chạy cả hai trước khi thay đổi bất cứ điều gì về khóa, để đường cơ sở được ghi lại.
Chuyển tiếp một tác nhân ủy nhiệm khả năng ký
Khi bật chuyển tiếp, một socket xuất hiện trên máy chủ từ xa và tác nhân cục bộ trả lời các yêu cầu đến qua đó. Ai có thể dùng socket đó trong phiên đều có thể xác thực là bạn với những máy chủ chấp nhận các danh tính đã nạp. Không khóa riêng nào đi qua mạng để điều đó hoạt động.
Thứ bị phơi bày là khả năng, không phải tệp. Vì vậy chuyển tiếp thuộc về một nhiệm vụ có tên và một máy chủ có tên, chứ không phải mọi kết nối mà máy tính xách tay thực hiện. Một máy chủ nhảy chuyển tiếp kết nối mà không có tác nhân được chuyển tiếp thường loại bỏ hoàn toàn nhu cầu.
ssh-add -l ssh -o ForwardAgent=no [email protected] ssh -J [email protected] [email protected]
Lệnh đầu tiên liệt kê những danh tính mà tác nhân đang giữ, điều đáng biết trước khi trao socket của nó cho máy khác. Lệnh thứ hai kết nối mà không ủy nhiệm. Lệnh thứ ba cho thấy kiểu máy chủ nhảy thường thay thế hoàn toàn việc chuyển tiếp.
Chọn phản ứng dựa trên bằng chứng bạn có
Một danh tính ký được cho là đã phơi bày đòi hỏi quy trình thay thế và thu hồi, và việc gỡ bỏ sự chấp nhận của nó khỏi các dịch vụ từng tin nó. Xóa bản sao trên máy tính xách tay để mọi bản sao khác không bị đụng tới. Hãy bắt đầu từ các dịch vụ, rồi dọn dẹp các máy khách.
Một vấn đề ủy nhiệm tạm thời thì hẹp hơn. Chấm dứt việc chuyển tiếp không cần thiết, và cùng người sở hữu sự cố xem lại những phiên và danh tính mà nó bao phủ. Việc thay khóa có thể theo sau, nhưng bằng chứng quyết định điều đó, không phải nỗi lo.
Không quan sát thấy lần xuất nào chỉ chứng minh rằng cơ chế bạn lo sợ đã không xuất hiện. Nó không nói gì về những gì một máy chủ ở đầu bên kia socket đó còn có thể làm.
Giữ các kiểm soát tách biệt trong báo cáo
Bảo vệ vật liệu riêng tư, giới hạn ai có thể yêu cầu nó ký, giữ danh tính của bên kia được xác minh. Đó là ba kiểm soát củng cố lẫn nhau, và không kiểm soát nào thay thế kiểm soát kia khi bạn giải thích điều gì đã xảy ra.
Một máy tính xách tay bị xâm phạm hoặc một ứng dụng có đặc quyền trên đó là trường hợp thứ ba với phạm vi ảnh hưởng rộng hơn nhiều. Thay đổi tuyến VPN không giải quyết được và không khôi phục niềm tin vào một khóa có thể đã bị đọc từ đĩa.
Ghi lại thành phần nào được tin cậy, việc chuyển tiếp có bật hay không, và điều gì thực sự được quan sát. Chính bản ghi đó khiến quyết định tiếp theo có thể bảo vệ được, thay vì một phỏng đoán về ý nghĩa của rò rỉ.