Name Resolution trong Linux
Trong mọi hệ thống Linux, việc phân giải tên miền (Name Resolution) là một thành phần then chốt. Nếu DNS bị cấu hình sai hoặc bị lợi dụng, hậu quả có thể là mất khả năng truy cập dịch vụ, thậm chí dẫn tới lừa đảo và đánh cắp thông tin nhạy cảm. Bài viết này giúp anh em network engineer & security engineer hiểu rõ cách Linux xử lý Name Resolution và những điểm cần lưu ý về bảo mật.
1. DNS trong Linux: Cơ chế phân giải tên
Linux dựa vào DNS (Domain Name System) để ánh xạ giữa hostname và địa chỉ IP. Ví dụ: khi bạn gõ vnpro.vn, hệ thống sẽ phải hỏi DNS server để tìm ra địa chỉ IP thực sự. Nếu DNS không hoạt động đúng, mọi dịch vụ phụ thuộc vào nó (web, email, VPN…) đều bị gián đoạn.
2. Các file cấu hình quan trọng trong Name Resolution
a. /etc/resolv.conf
Đây là file cấu hình chính cho DNS trong Linux. Nó chỉ ra danh sách DNS server và search domain.
Ví dụ:
search example.com local.lan nameserver 172.16.1.254 nameserver 172.16.2.254
⚠️ Lưu ý bảo mật: Nếu trong file này xuất hiện public DNS (8.8.8.8, 8.8.4.4, 1.1.1.1, 4.2.2.1…) mà không được phép, có thể là do user cố tình bypass DNS doanh nghiệp hoặc do malware thay đổi cấu hình.
b. /etc/hosts
Đây là cơ chế phân giải tên cổ điển, ánh xạ IP ↔ hostname theo cách thủ công.
Ví dụ mặc định:
127.0.0.1 localhost ::1 localhost
Ngày nay DNS đã thay thế gần như hoàn toàn, nhưng file này vẫn tồn tại và có thể bị lợi dụng trong tấn công.
c. /etc/nsswitch.conf
File này quy định thứ tự hệ thống sẽ tra cứu name resolution.
Ví dụ:
hosts: files dns
Có nghĩa là hệ thống sẽ:
⚠️ Đây là một điểm rủi ro bảo mật: Nếu malware chèn entry giả mạo trong /etc/hosts và cấu hình nsswitch.conf để ưu tiên files trước dns, người dùng sẽ bị redirect tới máy chủ độc hại.
3. Tấn công giả mạo thông qua Name Resolution
Một kịch bản điển hình:
Nếu DNS được hỏi trực tiếp, sẽ trả về IP thật của ngân hàng, và cuộc tấn công sẽ thất bại.
4. Thực hành tốt nhất cho Name Resolution an toàn
Kết luận
Hiểu cơ chế Name Resolution không chỉ giúp anh em troubleshoot nhanh hơn mà còn là một lớp phòng thủ quan trọng trong bảo mật hệ thống Linux. Những file tưởng chừng đơn giản như resolv.conf, hosts hay nsswitch.conf hoàn toàn có thể trở thành “điểm yếu chết người” nếu bị khai thác.
Trong mọi hệ thống Linux, việc phân giải tên miền (Name Resolution) là một thành phần then chốt. Nếu DNS bị cấu hình sai hoặc bị lợi dụng, hậu quả có thể là mất khả năng truy cập dịch vụ, thậm chí dẫn tới lừa đảo và đánh cắp thông tin nhạy cảm. Bài viết này giúp anh em network engineer & security engineer hiểu rõ cách Linux xử lý Name Resolution và những điểm cần lưu ý về bảo mật.
1. DNS trong Linux: Cơ chế phân giải tên
Linux dựa vào DNS (Domain Name System) để ánh xạ giữa hostname và địa chỉ IP. Ví dụ: khi bạn gõ vnpro.vn, hệ thống sẽ phải hỏi DNS server để tìm ra địa chỉ IP thực sự. Nếu DNS không hoạt động đúng, mọi dịch vụ phụ thuộc vào nó (web, email, VPN…) đều bị gián đoạn.
2. Các file cấu hình quan trọng trong Name Resolution
a. /etc/resolv.conf
Đây là file cấu hình chính cho DNS trong Linux. Nó chỉ ra danh sách DNS server và search domain.
Ví dụ:
search example.com local.lan nameserver 172.16.1.254 nameserver 172.16.2.254
- search → thêm domain khi hostname không có phần đuôi.
- nameserver → chỉ định DNS server theo IP. Có thể khai báo nhiều server để fallback.
⚠️ Lưu ý bảo mật: Nếu trong file này xuất hiện public DNS (8.8.8.8, 8.8.4.4, 1.1.1.1, 4.2.2.1…) mà không được phép, có thể là do user cố tình bypass DNS doanh nghiệp hoặc do malware thay đổi cấu hình.
b. /etc/hosts
Đây là cơ chế phân giải tên cổ điển, ánh xạ IP ↔ hostname theo cách thủ công.
Ví dụ mặc định:
127.0.0.1 localhost ::1 localhost
Ngày nay DNS đã thay thế gần như hoàn toàn, nhưng file này vẫn tồn tại và có thể bị lợi dụng trong tấn công.
c. /etc/nsswitch.conf
File này quy định thứ tự hệ thống sẽ tra cứu name resolution.
Ví dụ:
hosts: files dns
Có nghĩa là hệ thống sẽ:
- Tra cứu hostname trong /etc/hosts.
- Nếu không thấy → mới hỏi DNS server từ resolv.conf.
⚠️ Đây là một điểm rủi ro bảo mật: Nếu malware chèn entry giả mạo trong /etc/hosts và cấu hình nsswitch.conf để ưu tiên files trước dns, người dùng sẽ bị redirect tới máy chủ độc hại.
3. Tấn công giả mạo thông qua Name Resolution
Một kịch bản điển hình:
- Malware thêm dòng trong /etc/hosts:
203.0.113.66 www.mybank.com - Máy chủ 203.0.113.66 là website giả mạo ngân hàng, giao diện giống hệt.
- Khi user truy cập www.mybank.com, hệ thống ưu tiên file hosts → trỏ về site giả.
- Người dùng nhập username/password → kẻ tấn công thu thập thông tin.
Nếu DNS được hỏi trực tiếp, sẽ trả về IP thật của ngân hàng, và cuộc tấn công sẽ thất bại.
4. Thực hành tốt nhất cho Name Resolution an toàn
- Kiểm tra và giám sát định kỳ các file:
- /etc/resolv.conf → tránh DNS lạ.
- /etc/hosts → đảm bảo không có entry giả mạo.
- /etc/nsswitch.conf → cân nhắc cho dns ưu tiên trước files trong môi trường nhạy cảm.
- Sử dụng DNSSEC để chống giả mạo DNS.
- Triển khai DNS sinkhole / nội bộ trong doanh nghiệp để kiểm soát truy vấn ra ngoài.
- Bảo vệ máy trạm và server bằng endpoint security, ngăn malware chỉnh sửa file hệ thống.
Kết luận
Hiểu cơ chế Name Resolution không chỉ giúp anh em troubleshoot nhanh hơn mà còn là một lớp phòng thủ quan trọng trong bảo mật hệ thống Linux. Những file tưởng chừng đơn giản như resolv.conf, hosts hay nsswitch.conf hoàn toàn có thể trở thành “điểm yếu chết người” nếu bị khai thác.