Có thực sự an toàn khi kết nối với máy chủ bằng SSH từ các khách sạn trong một hành trình không?


13

Có thực sự an toàn khi kết nối với máy chủ bằng SSH từ khách sạn trong một hành trình không?

Máy chủ :
- CentOS 7
- Chỉ ủy quyền bằng khóa RSA - xác thực mật khẩu bị từ chối
- Cổng không chuẩn

Máy trạm :
- Ubuntu 14
- mật khẩu người dùng
- mật khẩu để sử dụng khóa RSA (phương pháp tiêu chuẩn)

Có lẽ sẽ là một ý tưởng tốt khi giữ một nửa khóa RSA riêng trên thẻ USB và tự động (theo tập lệnh) thêm nửa này vào ~ / .ssh / private_key trước khi kết nối?

Internet sẽ thông qua WIFI trong khách sạn hoặc cáp trong căn hộ thuê.

CẬP NHẬT
Xin lỗi vì không rõ ràng lúc đầu. Ý tôi là bảo mật ở hai khía cạnh ở đây:

  1. Bảo mật chỉ kết nối SSH thông qua một mạng không tin cậy.
  2. Bảo mật máy tính với khóa cần thiết cho kết nối SSH - nếu bị mất cắp, cách bảo vệ máy chủ ...

Nửa khóa RSA là gì? Phần công khai của khóa máy chủ ssh? Một nửa phần riêng tư của khóa ssh người dùng của bạn?
andol

một nửa khóa RSA riêng của tôi tất nhiên :) và tự động bằng tập lệnh để thêm nửa này vào ~ / .ssh / private_key trước khi kết nối với máy chủ.
Serge Serov

Bạn đã an toàn hơn hầu hết mọi người vì bạn đang chạy Linux. Vì bạn đang chạy các phiên bản gần đây, bạn nên có các phiên bản OpenSSH mới hỗ trợ tiền điện tử mạnh hơn. Sau khi theo dõi tecmint.com/5-best-practices-to-secure-and-protect-ssh-server, bạn có thể chơi với việc giới hạn bản thân với tiền điện tử mạnh hơn như stribika.github.io/2015/01/04/secure-secure- shell.html
gà con

3
@chicks "an toàn hơn hầu hết mọi người vì bạn đang chạy Linux" là một điều ngớ ngẩn để nói. SSH là SSH, bất kể nó đang chạy trên Linux, Unix (Mac) hay Windows. Và chúng ta có thể chỉ ra rất nhiều lỗi bảo mật cực kỳ nghiêm trọng trong Linux trong lịch sử gần đây (Heartbleed, có ai không?). Chỉ cần nói, chúng ta hãy để các cuộc chiến ngọn lửa hệ điều hành ngớ ngẩn bên lề nơi chúng thuộc về vì nó làm sao lãng các câu hỏi và vấn đề thực tế. Cảm ơn! ;-)
Craig

2
@chicks Tôi đoán đó là những gì tôi đang cố gắng truyền đạt. Rất nhiều vấn đề an ninh trong, và Microsoft đã làm cho tất cả các hệ điều hành khổng lồ những bước tiến kể từ khi bắt đầu của họ "đáng tin cậy tính chủ động * cách đây vài năm. Tôi chỉ nghĩ rằng 'bạn an toàn có nhiều vì Linux' điều chuyển hướng cuộc nói chuyện từ vấn đề thực tế trong tầm tay ( trân trọng). ;-)
Craig

Câu trả lời:


25

Vì vậy, liên quan đến việc thực hiện kết nối ssh qua kết nối không đáng tin cậy rõ ràng.

Giả sử bạn đã có một mục ~ / .ssh / know_hosts từ một kết nối trước đó, vâng, bạn sẽ có thể kết nối mà không phải lo lắng về việc mạng có an toàn hay không. Cũng vậy nếu bạn có một số phương tiện khác để xác minh khóa máy chủ ssh.

Nếu bạn chưa bao giờ kết nối với máy chủ trước đây, cũng như không có cách nào khác để xác minh khóa máy chủ ssh, thì bạn có thể muốn cẩn thận hơn về mạng bạn sử dụng để kết nối.


Cảm ơn bạn!! Vì vậy, có an toàn để kết nối với máy chủ bằng SSH ngay cả thông qua bất kỳ wi-fi công cộng nào không?
Serge Serov

7
Trên thực tế, câu trả lời này áp dụng cho mọi tình huống mà bạn muốn ssh đến một máy chủ từ xa và bất kỳ phần nào của đường dẫn không nằm trong sự kiểm soát hoàn toàn của bạn (thực tế là mọi thứ ngoài ssh-ing đến localhost mới được cài đặt hoặc qua cáp liên kết chéo )
Hagen von Eitzen

6
Điều đáng chú ý là nếu máy khách không biết khóa máy chủ, thì một cuộc tấn công MITM đầy đủ sẽ có thể nếu xác thực mật khẩu được sử dụng. Nhưng nếu xác thực dựa trên khóa được sử dụng, kẻ tấn công sẽ chỉ có thể mạo danh máy chủ. Kẻ tấn công sẽ không thể xác thực với máy chủ thực. Kẻ tấn công rất khó có thể cung cấp một mạo danh thuyết phục của máy chủ trong trường hợp đó, vì vậy bạn có thể nhận thấy rằng có gì đó không ổn trước khi quá muộn. Tóm lại: xác thực khóa công khai an toàn hơn nhiều so với xác thực mật khẩu .
kasperd

2
@kasperd: Chà, nếu ứng dụng khách kết nối có bật chuyển tiếp tác nhân, ngay cả xác thực khóa công khai cũng có thể cung cấp trải nghiệm MITM đầy đủ. Nhưng vâng, xác thực khóa công khai chắc chắn là tốt hơn so với mật khẩu thông thường, bất cứ ngày nào.
andol

1
@kasperd: Chà, tôi có thể dễ dàng tưởng tượng ai đó chỉ phát hiện ra tác nhân chuyển tiếp, nhưng không hiểu đầy đủ về nó, đặt một cái gì đó như "Host * \ n \ tForwardAgent yes" trong ~ / .ssh / config của họ. Mọi người làm tất cả những điều điên rồ :-)
andol

11

Trong phần thứ hai của câu hỏi của bạn, bạn dường như lo lắng về việc máy tính xách tay của bạn bị đánh cắp và với nó, khóa riêng của bạn để đăng nhập SSH không cần mật khẩu vào máy chủ của bạn.

Xin lưu ý rằng điều này có thể dễ dàng được giải quyết (vấn đề về khóa riêng) bằng cách lưu trữ khóa riêng được "mã hóa" bằng "cụm mật khẩu": chúng có thể được mã hóa ban đầu, trong khi tạo bằng tiện ích ssh-keygen , bằng cách cung cấp cụm mật khẩu ở cuối quá trình tạo hoặc, nếu bạn đã có chúng chưa được thực hiện, sử dụng tiện ích ssh-keygen với -ptùy chọn. Khi khóa được mã hóa, mỗi lần đăng nhập bạn được yêu cầu nhập cụm mật khẩu liên quan và .... nếu đúng, mọi thứ sẽ diễn ra bình thường.

Ngoài ra, nếu bạn không muốn nhập cụm mật khẩu mỗi khi khởi chạy ứng dụng khách ssh, bạn có thể sử dụng tác nhân ssh : nó có thể theo dõi, trong bộ nhớ, các khóa riêng không được mã hóa. Bạn có thể chỉ cần chạy ssh-add trỏ đến tệp đang giữ khóa được mã hóa và sau khi yêu cầu cụm mật khẩu, khóa được thêm vào tập được quản lý bởi tác nhân ssh. Sau đó, mỗi khi máy khách SSH yêu cầu khóa được bảo vệ bằng cụm mật khẩu, tác nhân ssh sẽ cung cấp khóa riêng không được mã hóa liên quan cho máy khách ssh. Vì vậy, đối với bạn, không cần thiết phải nhập nó một cách tương tác.

Xin lưu ý rằng ssh-agent có thể quản lý nhiều khóa và rõ ràng bạn có thể "điều chỉnh" máy tính xách tay / máy tính để bàn của mình để khởi chạy ssh-addtiện ích (để điền vào bộ khóa ssh-agent) khi đăng nhập / khởi động.

Ngoài ra, nếu ai đó đánh cắp máy tính xách tay của bạn, khóa riêng của bạn có thể không phải là nội dung "nhạy cảm" duy nhất bạn sẽ đưa ra: xin lưu ý rằng với các bản phân phối máy tính để bàn Linux ngày nay, RẤT dễ dàng thiết lập một máy tính xách tay dựa trên "được mã hóa "Hệ thống tập tin ( /homenhư là một khởi đầu, nhưng toàn bộ /nếu cần). Vì vậy, xin vui lòng, xem xét điều này cũng.

Rõ ràng, tất cả những điều trên KHÔNG áp dụng nếu bạn KHÔNG dựa vào sổ ghi chép của riêng bạn .


PS: như đối với khả năng của bạn để lưu trữ hai nửa của khóa bí mật được mã hóa trên các phương tiện khác nhau: Tôi mạnh mẽ khuyên bạn không làm điều này, như việc duy trì hai mảnh của nội dung nhạy cảm ở dạng không mã hóa là nhiều, tồi tệ hơn nhiều, so với việc giữ hai bản sao đầy đủ của toàn bộ nội dung, được mã hóa!


5

Phần đầu tiên của câu hỏi của bạn đã được trả lời bởi câu trả lời trước đó. Theo phần thứ hai của bạn, tôi khuyên bạn nên thêm yếu tố thứ hai vào thông tin đăng nhập ssh của bạn bằng pam_google_authenticator. Nó là khá dễ dàng thiết lập và cấu hình trên bất kỳ distro. Trong trường hợp khóa riêng mà bạn mang theo bị đánh cắp, họ không thể đăng nhập vào máy chủ của bạn với mật khẩu TOTP một lần từ trình xác thực google.

https://www.howtoforge.com/tutorial/secure-ssh-with-google-authenticator-on-centos-7

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.