Chào các bác, em đang thử thiết lập một
home server sử dụng một chiếc laptop cũ với
Ubuntu Server 22.04 LTS. Các dịch vụ em đã cài đặt bao gồm:
- Pi-hole để chặn quảng cáo trong mạng nội bộ.
- Samba để chia sẻ tệp giữa các máy tính trong gia đình (em có tạo user và mật khẩu riêng).
- Docker, Nginx, Cockpit, MySQL, SQL Server... tất cả đều chạy trên các cổng mặc định như 80, 1433, v.v.
Em đã cấu hình
IP tĩnh cho laptop (192.168.1.150) và thiết lập
DMZ trên router, để khi có kết nối từ bên ngoài, nó sẽ tự động chuyển tiếp về IP của server trong mạng nội bộ. Tuy nhiên, em không mở cổng nào trên router cả (Port Forwarding). Em cũng đã mua tên miền từ
TenTen và sử dụng
Cloudflare DDNS để trỏ tên miền về public IP,cron tự động cập nhật IP thông qua API khi router bị reset.
Mục đích ban đầu là dựng lên để có thể truy cập ssh từ xa thông qua tên miền đã trỏ về IP, trao đổi file từ xa, deploy vài trang web nhỏ lên nginx ( truy cập qua tên miền đã ddns)
Vấn đề là dù em không mở port trực tiếp trên router, nhưng khi kiểm tra, em vẫn có thể SSH vào server (cổng 22) và truy cập các dịch vụ cài đặt qua tên miền DDNS hoặc IP public của mạng nhà em. Ví dụ, dù không mở cổng, nhưng
Docker với
Portainer chạy trên cổng 9000 vẫn có thể truy cập được. Em đã thử kiểm tra trên trang
canyouseeme.org và thấy cổng đó tự mở mà không cần cấu hình thêm. Chỉ khi em dừng container Docker đó, cổng mới bị đóng lại.
Câu hỏi của em là:
- Liệu IP public của em có thể bị hacker quét và truy cập vào các dịch vụ như SSH, Docker, Samba, nếu họ biết được các cổng mặc định không?
- Mặc dù SSH đã được bảo vệ bằng SSH key, nhưng liệu các dịch vụ khác (Docker, Samba) có nguy cơ bị tấn công không, đặc biệt khi chúng đang mở các cổng mặc định mà không có biện pháp bảo mật bổ sung?
- Liệu việc sử dụng DMZ có tiềm ẩn rủi ro bảo mật gì không, và liệu có cần phải tắt chế độ này để tăng cường bảo mật cho các dịch vụ không?
- Làm sao để kiểm soát các cổng mở trên server, và liệu có cách nào để tự động đóng các cổng không sử dụng nữa, nhằm giảm thiểu nguy cơ bị quét từ bên ngoài?
P/S: Em viết xong hồi đọc lại không hiểu gì hết nên nhờ chat gờ pê tê paraphrase lại cho dễ đọc
, mong các bác thông cảm
Update tình trạng hiện tại:
Cảm ơn các bác đã góp ý cho em ạ!
Đầu tiên cái quang trọng nhất là tắt DMZ, tắt UPnP
Tiếp là mở các cổng cần thiết (trừ 80 với 443 ra thì các cổng còn lại em port ra ngoài cổng khác):
View attachment 2817706
Dùng Zoxaro để reverse proxy mấy cái web linh tinh:
View attachment 2817707
Dùng Wire Guard VPN về server:
View attachment 2817708
Nói chung là có vẻ em giải quyết được vấn đề này rồi, một lần nữa xin cảm ơn các bác đã chia sẻ