thắc mắc Vấn đề bảo mật Home Server

Sao được? Nó có đăng nhập vào router đâu?
Chủ topic đang muốn rào cái server để khỏi bị hack.

Home server newbie mới tập làm mà ko quen rào là bọn hacker nó hack hết cái nhà.
sao ko fen? nó ssh thì tính là đăng nhập rồi còn gì, mấy cái service xài port khác đa phần đều phải thông qua cái trang đăng nhập, có log access nginx bới ra tạo rule chặn theo cái đó luôn
 
Đọc qua thì bác có 2 nhu cầu chính:
  • 1 là truy cập mấy cái ứng dụng nội bộ, chủ yếu để code, để download/upload file.
  • 2 là public mấy cái web qua ddns, domain đã mua.
1 thì nên dùng VPN/ hoặc 1 cái overlay như tailscale/zerotier
2 thì nên dùng reverse proxy, chỉ mở port 80/443. Cái này tiện cái tự get cert ssl cho mình luôn. Lúc này bảo mật chủ yếu là update mấy cái docker image thường xuyên.
 
Topic này nhiều vozer tư vấn có tâm nhỉ.

Hồi trước tôi cũng hỏi 1 cái post tương tự như này, xong có mấy anh vào chốt thẳng là "bảo mật nó phải abc xyz chứ không phải chỉ như thế đâu". Đíu hiểu thượng đẳng cl què gì nữa.
 
Topic này nhiều vozer tư vấn có tâm nhỉ.

Hồi trước tôi cũng hỏi 1 cái post tương tự như này, xong có mấy anh vào chốt thẳng là "bảo mật nó phải abc xyz chứ không phải chỉ như thế đâu". Đíu hiểu thượng đẳng cl què gì nữa.
Chắc fen hỏi khó quá chứ sao :shame:
Ông này mới chơi phơi DMZ ra nhìn cái biết ngay.
 
Chắc fen hỏi khó quá chứ sao :shame:
Ông này mới chơi phơi DMZ ra nhìn cái biết ngay.
Thực ra kiến thức em gà mờ, nhưng cũng đủ để biết là cái gì mì ăn liền, tut và trick ng ta bày ra mà mình cứ làm theo k hiểu gì hết thì có rủi ro. Nên mới lên hỏi.

Câu hỏi của em là 'mở port' với 'không mở port' trên modem nó có khác gì nhau? Port nào cũng như port nào, hay có khác nhau - về mặt cấu tạo vật lý, khả năng sử dụng, cấu hình, blah blah. Mãi mà k có vozer nào trả lời đủ để e hiểu, lại còn chưa kể các vozer thượng đẳng thế nữa.

Nếu bác biết thì chỉ cho e với. E chỉ dám forward port 443 từ modem về router để VPN những lúc ở ngoài thôi, tất cả các thiết bị trong nhà em để đứng sau router hết.
 
Mô hình giống y chang mô hình mình đang dùng cho home server gia đình.
1 con pc router quay pppoe (Mikrotik) và chạy WireGuard
1 con server all in one chạy OpenMediaVault rồi cài Docker lên nó
Các Container là Adguard home, MSSQL server, NextCloud.
Chỉ mở port 80, 443 cho Nextcloud, ngoài ra đều truy cập qua WireGuard hết.
Thấy vẫn ổn định.
 
Thực ra kiến thức em gà mờ, nhưng cũng đủ để biết là cái gì mì ăn liền, tut và trick ng ta bày ra mà mình cứ làm theo k hiểu gì hết thì có rủi ro. Nên mới lên hỏi.

Câu hỏi của em là 'mở port' với 'không mở port' trên modem nó có khác gì nhau? Port nào cũng như port nào, hay có khác nhau - về mặt cấu tạo vật lý, khả năng sử dụng, cấu hình, blah blah. Mãi mà k có vozer nào trả lời đủ để e hiểu, lại còn chưa kể các vozer thượng đẳng thế nữa.

Nếu bác biết thì chỉ cho e với. E chỉ dám forward port 443 từ modem về router để VPN những lúc ở ngoài thôi, tất cả các thiết bị trong nhà em để đứng sau router hết.
Cái này thì phải đọc sách thôi fen, chứ không trong vài dòng được.
Đại khái nếu có service đang listen trên 1 port nào đó fen port forward thì sẽ có nguy cơ bị tấn công, có nhiều port fen bật service lên mà không để ý chẳng hạn.
Theo hiểu biết hạn hẹp của mình là thế :shame:
 
Mô hình giống y chang mô hình mình đang dùng cho home server gia đình.
1 con pc router quay pppoe (Mikrotik) và chạy WireGuard
1 con server all in one chạy OpenMediaVault rồi cài Docker lên nó
Các Container là Adguard home, MSSQL server, NextCloud.
Chỉ mở port 80, 443 cho Nextcloud, ngoài ra đều truy cập qua WireGuard hết.
Thấy vẫn ổn định.
có cách nào bảo mật cho router k phải mikrotik k bác. e đang dùng xdr 3060 có docker trên nas chạy adguard home
 
có cách nào bảo mật cho router k phải mikrotik k bác. e đang dùng xdr 3060 có docker trên nas chạy adguard home
Trên mikrotik mình cũng ko cấu hình gì nhiều. Có thể do cá nhân nên ko ai phá hết. Mình mua tên miền rồi nhờ cloudflare update ip động.
 
Trước mình mở suốt nhưng không thấy ai hỏi thăm, hoặc có hỏi thăm cũng không biết =))
Nếu muốn an toàn thì chủ thớt tắt hết DMZ, nói chung là tắt hết port ở router đi.

Đối với các dịch vụ chạy trên nền web,... thì dùng Cloudflare Tunnel để public ra ngoài (Nhiều khi còn tiện hơn mở port vì cứ cắm điện, cắm mạng là chạy, không cần IP tĩnh hay DDNS)

Đối với các dịch vụ nội bộ như SSH, Remote, .... thì dùng VPN qua Tailscale để truy cập từ ngoài.
 
Thực ra kiến thức em gà mờ, nhưng cũng đủ để biết là cái gì mì ăn liền, tut và trick ng ta bày ra mà mình cứ làm theo k hiểu gì hết thì có rủi ro. Nên mới lên hỏi.

Câu hỏi của em là 'mở port' với 'không mở port' trên modem nó có khác gì nhau? Port nào cũng như port nào, hay có khác nhau - về mặt cấu tạo vật lý, khả năng sử dụng, cấu hình, blah blah. Mãi mà k có vozer nào trả lời đủ để e hiểu, lại còn chưa kể các vozer thượng đẳng thế nữa.

Nếu bác biết thì chỉ cho e với. E chỉ dám forward port 443 từ modem về router để VPN những lúc ở ngoài thôi, tất cả các thiết bị trong nhà em để đứng sau router hết.
DMZ là gì tùy mỗi hãng hoặc model nó định nghĩa và config khác nhau.
Về cơ bản đa số DMZ trên Router có nghĩa là NAT toàn bộ traffic từ 1 IP Public về 1 IP LAN.
Tương ứng với việc "ALL PORT FORWARDING"

Đây là cách người ta public 1 con server ra internet kiểu giống VPS ý.
Lúc đó, thím muốn allow hay deny cái gì thì cơ bản phụ thuộc vào firewall của server.
(cũng có t/h xử lý trên Router).
 
Trên modem chỉ port forward UDP vào port của wireguard.
Trên máy cài wireguard server đặt UFW rule như sau thì có ổn chưa mấy bác?
Nhu cầu chủ yếu ra đường e cần vpn về nhà để tận dụng block ads (AdGuardHome) và truy cập kho phim trên plex media server
Code:
Status: active
     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    192.168.10.0/24     # Allow device from LAN       
[ 2] 53                         ALLOW IN    192.168.10.0/24                       
[ 3] 8083                       ALLOW IN    192.168.10.0/24     # AdGuardHome web interface                 
[ 4] 8083/tcp                   ALLOW IN    Anywhere            # Allow connect to wireguard server from anywhere     
[ 5] Anywhere on eth0           ALLOW FWD   Anywhere on wg0     # Pass traffic from wireguard to primary network interface     
[ 6] 22                         ALLOW IN    10.103.52.0/24      # Allow access SSH when connected to wireguard
 
Trên modem chỉ port forward UDP vào port của wireguard.
Trên máy cài wireguard server đặt UFW rule như sau thì có ổn chưa mấy bác?
Nhu cầu chủ yếu ra đường e cần vpn về nhà để tận dụng block ads (AdGuardHome) và truy cập kho phim trên plex media server
Code:
Status: active
     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    192.168.10.0/24     # Allow device from LAN      
[ 2] 53                         ALLOW IN    192.168.10.0/24                      
[ 3] 8083                       ALLOW IN    192.168.10.0/24     # AdGuardHome web interface                
[ 4] 8083/tcp                   ALLOW IN    Anywhere            # Allow connect to wireguard server from anywhere    
[ 5] Anywhere on eth0           ALLOW FWD   Anywhere on wg0     # Pass traffic from wireguard to primary network interface    
[ 6] 22                         ALLOW IN    10.103.52.0/24      # Allow access SSH when connected to wireguard
Nếu vpn server ko public ra internet (ko tính port WG) thì chả cần bật firewall làm gì. Ko có rule nat trên modem thì traffic cũng đã bị drop hết rồi.
 
Nếu vpn server ko public ra internet (ko tính port WG) thì chả cần bật firewall làm gì. Ko có rule nat trên modem thì traffic cũng đã bị drop hết rồi.
E nghĩ là trường hợp port fwd trên router có sự cố, mình chỉ mở 1 port mà trục trặc sao nó mở hết. Thì có thêm UFW ở client vẫn hơn :too_sad:

Router em chỉ mở port vào wireguard (51582) trên rasberry (192.168.10.5) thôi mà lâu lâu vẫn lọt vào mấy cái như này. Ko biết sai chỗ nào, hay e đọc log sai :beat_brick:
Code:
Dec 19 12:11:52 sp-c1 kernel: [UFW BLOCK] IN=eth0 OUT= MAC=[redacted] SRC=34.96.106.127 DST=192.168.10.5 LEN=125 TOS=0x08 PREC=0x20 TTL=122 ID=2870 PROTO=TCP SPT=443 DPT=48878 WINDOW=1031 RES=0x00 ACK PSH URGP=0
Dec 19 12:11:52 sp-c1 kernel: [UFW BLOCK] IN=eth0 OUT= MAC=[redacted] SRC=34.96.106.127 DST=192.168.10.5 LEN=125 TOS=0x08 PREC=0x20 TTL=122 ID=2871 PROTO=TCP SPT=443 DPT=48878 WINDOW=1031 RES=0x00 ACK PSH URGP=0
 
Last edited:
sao ko chặn hết chỉ cho phép truy cập từ 1 vài ip nhất định thôi.

Hoặc ssh mình hay change port sang port khác + sử dụng public key để login, cắm hơn 1 năm rồi vẫn thấy bình thường.

Còn cty có thằng cu vừa allow ssh bị bọn nó scan + brustforce => server ko dùng mà toàn 100%, lúc sau bảo nó đổi port đi là hết :D

Thường với những service này mình hay dùng ssh tunnel + public key để secure cái kết nối đó. Chạy khá lâu rồi mà trộm vía vẫn ok.
 
Đã có tên miền, đã dùng cloudflare thì chạy luôn tunnel ( miễn phí ) của cloudflare.
Được dùng ké bảo mật 2 lớp, ké được luôn cả cert https không phải tạo.
4 ứng dụng miễn phí như
-ssh nền web ( có thể bật xác thực 2 bước qua email )
-vnc nền web ( có thể bật xác thực 2 bước qua email )
-proxy ngon của cloudflare (không lộ ip, content được load balancing, có report hàng tháng )
-muốn mở 1 dịch vụ gì thì cứ tạo 1 sub domain rồi trỏ về ip local và port cloudflare lo tất phần còn lại.

Muốn tạo 1 dashboard để đỡ phải nhớ hết các thứ đã tạo thì cài portainer + homarr hoặc heimdall đặt pass vào.

Ưu điểm: ké được hầu hết các thứ mà lại không phải setting mở port modem nhà mạng.
Nhược điểm: Có thể sau này sẽ thu phí, hiện tại dùng free thấy quá ưng.
 
Đã có tên miền, đã dùng cloudflare thì chạy luôn tunnel ( miễn phí ) của cloudflare.
Được dùng ké bảo mật 2 lớp, ké được luôn cả cert https không phải tạo.
4 ứng dụng miễn phí như
-ssh nền web ( có thể bật xác thực 2 bước qua email )
-vnc nền web ( có thể bật xác thực 2 bước qua email )
-proxy ngon của cloudflare (không lộ ip, content được load balancing, có report hàng tháng )
-muốn mở 1 dịch vụ gì thì cứ tạo 1 sub domain rồi trỏ về ip local và port cloudflare lo tất phần còn lại.

Muốn tạo 1 dashboard để đỡ phải nhớ hết các thứ đã tạo thì cài portainer + homarr hoặc heimdall đặt pass vào.

Ưu điểm: ké được hầu hết các thứ mà lại không phải setting mở port modem nhà mạng.
Nhược điểm: Có thể sau này sẽ thu phí, hiện tại dùng free thấy quá ưng.
nó k thu phí đâu. có cái nhược điểm là upload bị litmit. và ko stream video đc ( vi phạm chính sách)
& speed lởm. vì phải qua proxy ở tít bên mẽo lận
 
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à:
  1. 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?
  2. 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?
  3. 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?
  4. 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:adore:

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ẻ

Mình trả lời các câu hỏi của bạn như sau
  1. IP public là động hay tĩnh thì đều có thể bị quét và truy cập nếu như họ có đủ khả năng. các cổng mặc định đổi hay không đổi cũng không có ý nghĩa gì. khi họ đã có đủ khả năng.
  2. Kể cả bạn có có bảo mật bằng key hay bằng bất kỳ biện pháp nào cũng đều có thể bị tấn công. Vẫn còn phải xem khả năng của kẻ muốn tấn công và giữ liệu của bạn có giá trị đến đâu.
  3. DMZ hay open port (NAT Port) không có nhiều ý nghĩa khi dịch vụ public.
  4. Đừng mở all DMZ. cần cổng nào thì open port đó thôi:beauty: :beauty:
 
1733420562411.png

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ẻ
Cho mình xin tên của công cụ CLI giống htop mà bạn đang dùng với :v Nhìn ngầu đét.
 

Thread statistics

Created
truongvuha2,
Last reply from
giacatvuhau2,
Replies
42
Views
2,925
Back
Top