Bảo mật và Nâng cao: Khóa cửa, thả chó và những chiêu trò thú vị
Thú thật đi, cảm giác thấy cái ổ khóa SSL màu xanh ở bài trước nó "phê" đúng không? Nhưng SSL chỉ giúp mã hóa dữ liệu đường truyền, chứ không ngăn được người lạ truy cập vào web của bạn.
Sẽ thật thảm họa nếu ai đó đoán được tên miền admin.nhacuaban.com và mò vào xóa sạch database. Đừng lo, NPM có sẵn đồ chơi để chặn đứng việc này.
1. Access Lists: Chỉ người nhà mới được vào
Access List (Danh sách truy cập) là tính năng mình dùng nhiều nhất. Nó cho phép bạn quy định: "Chỉ những IP này mới được vào, còn lại chặn hết!"
Khi nào nên dùng?
Cho các dịch vụ nội bộ nhạy cảm như: Portainer, Home Assistant, và đặc biệt là trang Admin của chính Nginx Proxy Manager (port 81).
Cách thiết lập
- Vào tab Access Lists trên thanh menu chính.
- Bấm Add Access List.
- Đặt tên (VD:
Home OnlyhoặcAdmin PC). - Trong tab Access:
- Dòng
allow: Điền IP của bạn (Ví dụ IP máy tính ở nhà, hoặc IP VPN nếu bạn dùng WireGuard/Tailscale). - Dòng cuối cùng: Chọn
denychoany.
- Dòng
- Bấm Save.
Áp dụng
Giờ quay lại mục Proxy Hosts, chọn sửa một host bất kỳ (ví dụ trang Admin). Tại tab Details, tìm dòng Access List và chọn cái list Home Only bạn vừa tạo. Lưu lại.
Giờ thì thử dùng 4G điện thoại truy cập xem? 403 Forbidden. An toàn tuyệt đối! 🛡️
2. Basic Auth: Lớp mật khẩu thứ hai
Bạn có bao giờ vào mấy trang web mà trình duyệt hiện cái popup nhỏ xíu bắt nhập User/Pass trước khi tải trang không? Đó chính là Basic Authentication.
Nó cực kỳ hữu ích cho các web app sơ sài không có tính năng đăng nhập (như mấy cái trang monitor đơn giản).
Cách làm
Vẫn trong menu Access Lists lúc nãy:
- Mở cái list bạn vừa tạo (hoặc tạo mới).
- Chuyển sang tab Authorization.
- Điền Username và Password bạn muốn.
- Bấm Save.
Khi áp dụng Access List này cho một website, bất kỳ ai muốn vào đều phải qua "cửa ải" này trước. Hacker có dò ra tên miền cũng chịu chết nếu không có pass này.
Mẹo nhỏ: Bạn có thể kết hợp cả hai: Vừa chặn IP, vừa bắt nhập Pass. Cẩn thận tắc tắc vô áy náy nha! 😂
3. Custom Locations: Dành cho dân chơi hệ "Hardcore"
Đôi khi bạn sẽ cài những ứng dụng "khó ở" yêu cầu phải cấu hình Nginx đặc biệt mới chạy được (Ví dụ: Nextcloud đôi khi cần chỉnh header .well-known).
Thay vì ssh vào sửa file config thủ công (rồi bị NPM ghi đè mất), bạn hãy dùng tab Advanced trong lúc sửa Proxy Host.
Tại đây có ô Custom Nginx Configuration. Bạn có thể paste các đoạn code Nginx thuần vào đây.
Ví dụ, để chặn không cho Google Index trang web riêng tư của bạn, hãy paste đoạn này vào:
add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";NPM sẽ tự động chèn nó vào đúng chỗ trong file config. Quá tiện!
4. Lời kết cho cả Series
Vậy là chúng ta đã cùng nhau đi hết 4 phần của series "Làm chủ Nginx Proxy Manager".
Từ việc hoang mang trước màn hình đen của Nginx, giờ đây bạn đã có trong tay một hệ thống:
✅ Cài đặt nhanh gọn bằng Docker.
✅ Giao diện quản lý trực quan.
✅ SSL tự động gia hạn (quên đi nỗi lo hết hạn chứng chỉ).
✅ Bảo mật nhiều lớp với Access List.
Homelab là một hành trình "vọc vạch" không hồi kết. Nginx Proxy Manager chỉ là bước khởi đầu để bạn tự tin triển khai hàng tá dịch vụ hay ho khác (Media server, Cloud lưu trữ, Smart Home...).
Cảm ơn bạn đã theo dõi series này! Nếu thấy hay, đừng quên chia sẻ cho hội bạn thân cùng "nghiện" nhé.
👇 Bạn muốn mình viết về chủ đề gì tiếp theo? Pi-hole chặn quảng cáo? Hay dựng Cloud riêng với Nextcloud? Comment đặt hàng bên dưới nhé!
Happy Self-hosting! 🚀
Discussion