Làm thế nào rủi ro để chạy một máy chủ gia đình được bảo mật đằng sau SSH?
Khi bạn cần mở một cái gì đó trên mạng gia đình của mình với internet lớn hơn, đường hầm SSH là một cách đủ an toàn để thực hiện điều đó?
Phiên hỏi và trả lời hôm nay đến với chúng tôi nhờ sự hỗ trợ của SuperUser - một phân ngành của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều khiển.
Câu hỏi
Người đọc siêu người dùng Alfred M. muốn biết liệu anh ta 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 đã kích hoạt ssh và khá ngạc nhiên về sự nhanh chóng mà nó phải chịu từ các cuộc tấn công vũ phu và tương tự. Sau đó, tôi đọc được rằng điều này khá phổ biến và đã học về các biện pháp bảo mật cơ bản để tránh các cuộc tấn công này (rất nhiều câu hỏi và trùng lặp trên serverfault đối phó với nó, xem ví dụ như cách này hay cách này).
Nhưng bây giờ tôi tự hỏi nếu tất cả điều này là giá trị nỗ lực. Tôi quyết định thiết lập máy chủ của riêng mình để giải trí: Tôi chỉ có thể dựa vào các giải pháp của bên thứ ba như gitbucket.org, bettercodes.org, v.v. Mặc dù một phần thú vị là tìm hiểu về bảo mật Internet, tôi không đủ thời gian để dành 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 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. Chẳng hạn, 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 ít hơn cả máy tính chạy Windows.
Xác suất tôi gặp rắc rối thực sự là gì nếu tôi tuân theo các nguyên tắc cơ bản như mật khẩu mạnh, quyền truy cập root bị vô hiệu hóa cho ssh, cổng không chuẩn cho ssh và có thể vô hiệu hóa đăng nhập mật khẩu và sử dụng một trong các quy tắc fail2ban, denyhosts 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ợ hay tất cả chủ yếu là về việc xua đuổi những đứa trẻ kịch bản?
Alfred nên bám lấy các giải pháp của bên thứ ba, hay là giải pháp DIY của anh ấy an toàn?
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 điều an toàn nhất để nghe trên internet mở. Nếu bạn thực sự lo lắng, hãy lắng nghe trên một cổng cao cấp không 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à một biện pháp phòng ngừa đối với các dịch vụ khác. Bản thân SSH là khá vững chắc.
tôi có thỉnh thoảng có người truy cập máy chủ SSH tại nhà của tôi (mở cho Time Warner Cable). Không bao giờ có tác động thực sự.
Một người đóng góp khác, Stephane, nhấn mạnh việc bảo mật SSH dễ dàng hơn thế nào:
Thiết lập hệ thống xác thực khóa công khai với SSH thực sự không quan trọng 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 - thì nó sẽ trở nên lộn xộn) rằng việc không sử dụng nó sẽ là một hành vi phạm tội 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 điều hành một máy chủ git cá nhân mở ra thế giới trên SSH và tôi cũng gặp vấn đề tương tự như bạn, vì vậy tôi có thể thông cảm với tình huống 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 IP có thể truy cập công khai, nhưng công cụ tốt nhất IMO để đáp ứng 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 quy tắc tường lửa vào máy địa phương
iptables
bức tường lửa. Bạn có thể định cấu hình cả số lần thử trước lệnh cấm và độ dài của lệnh cấm (mặc định của tôi là 10 ngày).
Có một cái gì đó để thêm vào lời giải thích? Tắt âm thanh trong các ý kiế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 chủ đề thảo luận đầy đủ ở đây.