Tiềm năng tấn công phiên SSH và thực tiễn tốt nhất về SSH


14

Tôi đang hoảng loạn một chút vào lúc này. Tôi đang SSH vào một máy chủ từ xa mà tôi đã ủy quyền gần đây. Tôi đang làm điều này như root. Tôi đã cài đặt fail2ban và có một số lượng lớn IP bị cấm trong nhật ký.

Lần cuối cùng tôi đăng nhập tôi nhận thấy thiết bị đầu cuối của mình thực sự bị lag sau đó kết nối internet của tôi bị hỏng. Khi tôi mua lại sau khoảng 5 phút, tôi đã đăng nhập lại vào máy chủ và thực hiện một 'người' và nhận ra có hai người dùng root đã đăng nhập. Tôi đã nghĩ rằng nếu kết nối của tôi chấm dứt quá trình từ phiên trước sẽ xảy ra dừng trên máy chủ?

Kết nối kết thúc bằng 'Viết thất bại: Đường ống bị hỏng' khi lần đầu tiên tôi bị ngắt kết nối. Tôi đã giết phiên bash với root khác. Tôi không biết nhiều về bảo mật ssh tuy nhiên các phiên có thể bị tấn công? Có cách nào để kiểm tra điều này? Tôi cần tiếp tục đăng nhập qua ssh Tôi nên thực hiện các biện pháp phòng ngừa nào? Nếu tôi bằng cách nào đó thông qua một proxy để đến máy chủ của tôi (như một người đàn ông trong cuộc tấn công giữa) thì họ có thể chiếm quyền điều khiển phiên ssh của tôi không?

Câu trả lời:


40

Các thông tin đăng nhập gốc có thể được treo lủng lẳng phiên shell đã từng là bạn. Máy chủ của bạn cũng có thể nhận được dDOS'd với tất cả các thông tin đăng nhập đã thử.

Khóa SSH. Không cho phép đăng nhập root và những yêu cầu đang cố gắng ép buộc máy này sẽ thất bại ngay lập tức (chiếm ít tài nguyên hơn). Đăng nhập như một người dùng bình thường và nâng cao quyền thông qua sudo, một thực tế bạn nên thực hiện bằng mọi cách. Đồng thời hạn chế đăng nhập SSH vào danh sách IP khách hàng để các máy không hợp lệ thậm chí không thể cố gắng đăng nhập.

Sử dụng khóa SSH thay vì mật khẩu để đăng nhập người dùng. Chúng dễ xử lý hơn và có thể được bảo vệ bằng mật khẩu trong trường hợp bạn vô tình đưa khóa riêng ra sai địa điểm (cho bạn thời gian để thay thế chúng và vô hiệu hóa mật khẩu cũ). Như @EEAA đã đề cập trong các bình luận, bạn cũng phải vô hiệu hóa xác thực dựa trên mật khẩu nếu bạn muốn hạn chế khách hàng chỉ sử dụng khóa thay vì cả mật khẩu và khóa.

Nếu các nhóm mongol tiếp tục đập vào tường thành của bạn, có thể di chuyển SSH sang một cổng cao khác (dưới 1024, như @AustinBurke đã chỉ ra - để sử dụng một cổng đặc quyền) thay vì 22. Điều này sẽ làm giảm lưu lượng trên cổng đó nếu điều này là một vấn đề đối với bạn (và hầu hết các bot không phải là rất duyên dáng, vì vậy chúng sẽ chỉ cố gắng vào ngày 22). Sẽ không ngăn mọi thứ thử cổng 22 hoặc thậm chí quét máy của bạn để xem cổng nào đang nghe trên SSH và trong hầu hết các trường hợp là một sự bất tiện không cần thiết. Nhưng nó có thể giúp.

Những người khác có thể có thể cung cấp nhiều mẹo hơn, nhưng đây là những biện pháp bảo mật khá chung cho máy chủ SSH đối mặt công khai.


22
Sử dụng khóa là không đủ. Người ta phải vô hiệu hóa xác thực mật khẩu là tốt.
EEAA

4
@marcelm Có phải " số lượng lớn IP bị cấm trong nhật ký " không gợi ý rằng điều này có thể xảy ra không?
TripeHound

4
@tripehound Không, không. Nó không nói gì về tài nguyên tương đối tiêu thụ.
marcelm

3
Đó một gợi ý cho hiệu ứng đó mặc dù, @marcelm.
Cuộc đua nhẹ nhàng với Monica

4
Trong khi điều đó là khả thi trong vũ trụ này, ssh khá an toàn. Tất nhiên bạn có thể lấy lưu lượng truy cập đó trong chuyến bay và lưu trữ nó ở trạng thái được mã hóa, nhưng trao đổi khóa DiffieTHER Hellman được sử dụng để thiết lập kênh được mã hóa. Việc bẻ khóa này thậm chí không thể xảy ra nếu bạn có cả khóa ssh riêng và chung được sử dụng để xác thực, vì khóa luồng không bao giờ được liên lạc trong phiên. Vào thời điểm ai đó đã bẻ khóa luồng đó, tất cả chúng ta sẽ chết.
đệm
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.