2011-07-05 36 views
7

Tôi nhận ra câu hỏi này là chủ quan.SSH: Khi đăng nhập, mật khẩu có phải là văn bản thuần túy/sniffable không?

Tôi tò mò về tính dễ hiểu của mật khẩu SSH khi tạo đường hầm SSH. Phiên bảo mật có bắt đầu khi mật khẩu đã được xác thực hay mật khẩu được đóng gói trong kết nối an toàn này không?

Sau một cuộc tranh luận thú vị trong văn phòng sáng nay, và ngoài khả năng mật khẩu SSH bị xâm phạm trên máy khách với keylogger, tôi tò mò về khả năng mật khẩu SSH cũng bị tổn hại khi sử dụng gói sniffing các công cụ trên mạng LAN hoặc được cài đặt trên bất kỳ proxy nào giữa Máy khách và Máy chủ. Nó mở ra một cuộc tranh luận rộng hơn về sự khôn ngoan của việc đăng nhập vào các dịch vụ riêng (như NAS nhà, hoặc email) thông qua một đường hầm SSH trong khi đăng nhập vào một khách hàng hoạt động phía sau một/nhiều proxy trung gian. (ví dụ, tại nơi làm việc), đặc biệt là với các tuyên bố rằng các công cụ như Ettercap có khả năng gián điệp vào các gói SSH.

Tôi giả định rằng các cân nhắc tương tự có thể được thực hiện bằng SSL/HTTPS trong đó một trang web không phân tích cú pháp mật khẩu thành mã băm một chiều như MD5?

Sự suy ngẫm của bạn sẽ được đánh giá cao nhất.

Cảm ơn.

+3

Đây không phải là câu hỏi lập trình. – Raoul

+1

Về HTTPS, có các câu hỏi tương tự: http://stackoverflow.com/questions/3911906/encrypting-http-post-data/3923617#3923617 và http://stackoverflow.com/questions/3837989/sending-sensitive-data -as-a-query-string-parameter/3840144 # 3840144. Toàn bộ yêu cầu được gửi qua SSL/TLS (bao gồm đường dẫn yêu cầu, tiêu đề và nội dung). Việc truyền mật khẩu được bảo vệ, ngay cả khi được gửi đi rõ ràng (thông qua biểu mẫu hoặc HTTP cơ bản). – Bruno

+0

Tôi nên làm rõ những gì tôi vừa nói: "Việc truyền mật khẩu được bảo vệ, ngay cả khi được gửi đi rõ ràng", điều này có nghĩa là ngay cả khi mật khẩu không được mã hóa ở lớp ứng dụng (auth HTTP Basic) mã hóa và mật khẩu được nhập vào biểu mẫu được gửi dưới dạng trong dữ liệu biểu mẫu). Nó có hiệu quả không được gửi đi rõ ràng, chính xác bởi vì nó được thực hiện trên SSL/TLS (như thường lệ, nếu các bộ mã hóa thích hợp được sử dụng). – Bruno

Trả lời

15

Trích từ manpage của openssh:

Cuối cùng, nếu phương pháp xác thực khác thất bại, ssh nhắc nhở người dùng cho một từ pass-. Mật khẩu được gửi đến máy chủ từ xa để kiểm tra; tuy nhiên, vì tất cả các thông tin liên lạc đều được mã hóa, người khác không thể xem mật khẩu trên mạng.

5

SSH không được đặt tên là "Shell an toàn" vì không có lý do gì :).

SSH sử dụng mật mã khóa công khai để xác thực, bản thân nó khá an toàn. Nếu chúng ta giả định rằng kẻ tấn công không có các khóa riêng của người dùng và daemon ssh - mật khẩu không thể được giải mã bằng cách chỉ nghe trên mạng.

Giao thức này, giống như hầu hết các giao thức khác không bảo vệ bạn khỏi các cuộc tấn công từ các phía khác. Có một số kết hợp kỹ thuật xã hội và Man trong các cuộc tấn công ở giữa như the SSH version downgrading attackDNS Spoofing attack.

Các vấn đề liên quan