Khi bạn cần mở một thứ gì đó trên mạng gia đình của mình với internet lớn hơn, đường hầm SSH có phải là cách đủ an toàn để thực hiện điều đó không?

Phiên Hỏi & Đáp hôm nay đến với chúng tôi với sự hỗ trợ của SuperUser — một phân nhánh của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều hành.

Câu hỏi

Người đọc của SuperUser Alfred M. muốn biết liệu anh ấy có đang đi đúng hướng với bảo mật kết nối hay không:

Gần đây tôi đã thiết lập một máy chủ nhỏ với một máy tính cấp thấp chạy debian với mục đích sử dụng nó như một kho lưu trữ git cá nhân. Tôi đã bật ssh và khá ngạc nhiên về sự nhanh chóng mà nó phải chịu các cuộc tấn công vũ phu và những thứ tương tự. Sau đó, tôi đọc rằng điều này khá phổ biến và đã tìm hiểu về các biện pháp bảo mật cơ bản để ngăn chặn các cuộc tấn công này (rất nhiều câu hỏi và bản sao trên serverfault giải quyết nó, ví dụ như cái này hoặc cái này).

Nhưng bây giờ tôi đang tự hỏi liệu tất cả những điều này có đáng để nỗ lực hay không. Tôi quyết định thiết lập máy chủ của riêng mình chủ yếu là để giải trí: Tôi chỉ có thể dựa vào các giải pháp của bên thứ ba, chẳng hạn như các giải pháp được cung cấp bởi gitbucket.org, bettercodes.org, v.v. Trong khi một phần thú vị là tìm hiểu về bảo mật Internet, tôi đã không đủ thời gian để cống hiến cho nó để trở thành một chuyên gia và gần như chắc chắn rằng tôi đã thực hiện các biện pháp phòng ngừa chính xác.

Để quyết định xem tôi có tiếp tục chơi với dự án đồ chơi này hay không, tôi muốn biết những gì tôi thực sự mạo hiểm khi làm như vậy. Ví dụ, các máy tính khác được kết nối với mạng của tôi cũng bị đe dọa ở mức độ nào? Một số máy tính này được sử dụng bởi những người có kiến ​​thức thậm chí còn kém hơn tôi đang chạy Windows.

Xác suất tôi gặp rắc rối thực sự là bao nhiêu nếu tôi tuân theo các nguyên tắc cơ bản như mật khẩu mạnh, vô hiệu hóa quyền truy cập root cho ssh, cổng không chuẩn cho ssh và có thể tắt đăng nhập bằng mật khẩu và sử dụng một trong các quy tắc fail2ban, allowhosts hoặc iptables?

Nói cách khác, có một số con sói xấu lớn mà tôi nên sợ hãi hay tất cả chủ yếu là để xua đuổi những đứa trẻ viết kịch bản?

Alfred nên sử dụng các giải pháp của bên thứ ba hay giải pháp DIY của anh ấy có an toàn không?

Câu trả lời

Người đóng góp cho SuperUser TheFiddlerWins trấn an Alfred rằng nó khá an toàn:

IMO SSH là một trong những thứ an toàn nhất để nghe trên mạng internet mở. Nếu bạn thực sự lo lắng, hãy nghe nó trên một cổng cao cấp không tiêu chuẩn. Tôi vẫn có tường lửa (cấp thiết bị) giữa hộp của bạn và Internet thực tế và chỉ sử dụng chuyển tiếp cổng cho SSH nhưng đó là biện pháp phòng ngừa đối với các dịch vụ khác. Bản thân SSH khá chắc chắn.

Tôi đã có người thỉnh thoảng truy cập vào máy chủ SSH tại nhà của tôi (mở cho Time Warner Cable). Chưa bao giờ có một tác động thực tế.

Một cộng tác viên khác, Stephane, nhấn mạnh mức độ dễ dàng để bảo mật SSH hơn nữa:

Việc thiết lập hệ thống xác thực khóa công khai với SSH thực sự rất đơn giản và mất khoảng 5 phút để thiết lập.

Nếu bạn buộc tất cả kết nối SSH sử dụng nó, thì nó sẽ làm cho hệ thống của bạn trở nên linh hoạt như bạn có thể hy vọng mà không cần đầu tư RẤT NHIỀU vào cơ sở hạ tầng bảo mật. Thành thật mà nói, nó rất đơn giản và hiệu quả (miễn là bạn không có 200 tài khoản – sau đó nó sẽ lộn xộn) nên việc không sử dụng nó sẽ là một hành vi xúc phạm công khai.

Cuối cùng, Craig Watson đưa ra một mẹo khác để giảm thiểu các nỗ lực xâm nhập:

Tôi cũng chạy một máy chủ git cá nhân mở ra toàn thế giới trên SSH và tôi cũng gặp phải vấn đề vũ phu giống như bạn, vì vậy tôi có thể thông cảm cho hoàn cảnh của bạn.

TheFiddlerWins đã giải quyết các tác động bảo mật chính của việc mở SSH trên một IP có thể truy cập công khai, nhưng công cụ tốt nhất IMO để đối phó với các nỗ lực vũ phu là Fail2Ban – phần mềm giám sát các tệp nhật ký xác thực của bạn, phát hiện các nỗ lực xâm nhập và thêm các quy tắc tường lửa vào máy của cục bộiptables bức tường lửa. Bạn có thể định cấu hình cả số lần thử trước khi có lệnh cấm và cả thời lượng của lệnh cấm (mặc định của tôi là 10 ngày).


Có điều gì đó để thêm vào lời giải thích? Tắt âm thanh trong các bình luận. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange am hiểu công nghệ khác? Kiểm tra toàn bộ chủ đề thảo luận ở đây.

Tham khảo (HowToGeek)