Hướng Dẫn Cấu Hình DNS Server Trên Firewall Fortigate - Mục đích và trường hợp sử dụng
Trong bài viết này, chúng ta sẽ cùng tìm hiểu về một tính năng tuy nhỏ nhưng cực kỳ hữu ích trên firewall Fortigate – đó chính là DNS Server!
Vậy DNS Server trên Fortigate dùng để làm gì? Dùng khi nào? Phù hợp với mô hình nào? Và quan trọng nhất: Cấu hình ra sao để người dùng trong mạng LAN có thể truy cập vào các dịch vụ nội bộ trong mạng LAN thông qua tên miền.
Tất cả sẽ có trong bài viết này – bắt đầu thôi!
Tổng quan về DNS Server trên Fortigate
Trong hạ tầng mạng, DNS (Domain Name System) là một thành phần không thể thiếu – đóng vai trò phân giải tên miền thành địa chỉ IP để thiết bị có thể định tuyến và giao tiếp được với các máy chủ khác trên Internet hoặc mạng nội bộ. Nói cách khác, DNS giúp con người làm việc với những cái tên dễ nhớ, thay vì phải thuộc lòng một dãy số IP.
Thông thường, chúng ta sẽ sử dụng DNS của nhà cung cấp dịch vụ Internet (ISP), ví dụ như DNS 8.8.8.8 của Google, hoặc triển khai một DNS server riêng biệt trong mạng nội bộ như Windows Server hoặc BIND. Tuy nhiên, trong một số mô hình mạng – đặc biệt là doanh nghiệp nhỏ đến trung bình – việc thiết lập một DNS server riêng có thể gây tốn kém chi phí, công sức vận hành và bảo trì.
Đây là lúc Fortigate phát huy lợi thế của mình. Ngoài vai trò chính là tường lửa và thiết bị bảo mật mạng, Fortigate còn tích hợp tính năng DNS Server, cho phép các bạn cấu hình Firewall Fortigate như 1 DNS Server để hỗ trợ phân giải tên miền.
Khi nào nên dùng DNS Server trên Fortigate? – Lợi ích và mô hình phù hợp
DNS Server trên Fortigate không phải là tính năng “trang trí”, mà thực sự hữu ích trong nhiều tình huống thực tế, đặc biệt với các doanh nghiệp vừa và nhỏ hoặc các chi nhánh (branch office) cần đơn giản hóa hệ thống mạng. Dưới đây là những trường hợp điển hình nên xem xét sử dụng DNS Server tích hợp trên Fortigate:
Phân giải tên miền cho người dùng trong mạng LAN
Trong các môi trường không triển khai hạ tầng DNS riêng (ví dụ như Windows Server với vai trò DNS), Fortigate có thể đảm nhiệm vai trò phân giải tên miền cho toàn bộ mạng LAN. Điều này giúp tiết kiệm chi phí đầu tư thiết bị, đồng thời giảm thiểu công việc quản trị, bảo trì.
Tăng cường bảo mật với DNS Filtering
Fortigate tích hợp tính năng DNS Filtering, cho phép chặn truy cập tới các tên miền chứa mã độc, lừa đảo, botnet hoặc các trang web không phù hợp. Đây là một lớp bảo vệ quan trọng ở tầng DNS, giúp ngăn chặn truy cập nguy hiểm từ sớm, ngay cả trước khi người dùng tải về nội dung độc hại. Ví dụ, khi người dùng click và 1 đường link chứa mã độc của Hacker, thì Fortigate sẽ chặn ngay, không cho người dùng truy cập vào link này. Tuy nhiên thì nó cũng phụ thuộc vào database của Fortiguard và cấu hình DNS Filtering của các bạn.
Tối ưu hóa lưu lượng mạng
Fortigate hỗ trợ DNS cache, giúp lưu lại kết quả truy vấn DNS và trả lời nhanh hơn khi có các yêu cầu trùng lặp. Điều này góp phần giảm độ trễ truy cập website, tiết kiệm băng thông và tăng trải nghiệm người dùng, nhất là trong các mô hình có nhiều người dùng truy cập Internet thường xuyên.
Ví dụ, người dùng 1 truy cập vào dantri.com.vn lần đầu tiên thì Fortigate sẽ gửi chuyển tiếp yêu cầu này đến DNS bên ngoài để phân giải. Sau khi nhận được kết quả thì Fortigate sẽ gửi thông tin phân giải DNS cho người dùng và lưu lại trong cache. Với người dùng 2 truy cập vào dantri.com.vn, thì Fortigate sẽ kiểm tra thông tin DNS lưu trong cache để trả về cho client 2, mà không cần phải gửi ra bên ngoài. Phản hồi này là nội bộ trong mạng LAN của các bạn nên sẽ tiết kiệm được băng thông WAN, và cũng nhanh hơn nhiều so với việc các bạn phải gửi tận server DNS Google để phân giải.
Hỗ trợ phân giải tên miền nội bộ
Trong các doanh nghiệp có một số dịch vụ nội bộ như website, file server, máy in, camera, v.v., việc phân giải tên miền thay vì dùng IP tĩnh giúp dễ nhớ và dễ quản lý hơn. Các bạn có thể tạo 1 tên miền nội bộ là file.local và cấu hình trên Fortigate. Khi đó các bạn chỉ cần truy cập vào tên miền này là được mà không cần phải sử dụng địa chỉ IP.
Fortigate cho phép tạo DNS Database nội bộ và khai báo các bản ghi A, PTR để phân giải nhanh chóng, không cần thêm máy chủ trung gian. Trong trường hợp các bạn có website đặt tại Server nội bộ, để người dùng có thể truy cập được bằng tên miền public, thì các bạn cần cấu hình Hairpin NAT. Khi sử dụng DNS Server trên Fortigate thì các bạn có thể truy cập được mà không cần Hairpin NAT.
Ghi log và kiểm soát lưu lượng DNS
Toàn bộ truy vấn DNS qua Fortigate đều có thể được ghi nhận, giám sát và phân tích thông qua FortiView hoặc xuất log ra hệ thống SIEM tập trung. Điều này giúp quản trị viên phát hiện hành vi bất thường, các truy cập lạ, hoặc theo dõi lưu lượng DNS theo thời gian thực.
Mặc dù có nhiều lợi ích, tuy nhiên các bạn đều biết, việc nhét tất cả các tính năng vào cho 1 thiết bị là không khả thi, vì phần cứng có hạn. Nên chúng ta chỉ nên sử dụng DNS Server trên Fortigate trong các mô hình vừa và nhỏ, giúp tiết kiệm chi phí đầu tư DNS riêng, cần tinh gọn thiết bị dạng all-in-one, mà vẫn đáp ứng được việc bảo mật, chặn lọc nội dung, và kiểm soát theo dõi việc sử dụng mạng của người dùng.
Còn với các mô hình lớn thì các bạn nên đầu tư các hệ thống DNS Server riêng.
Hướng dẫn cấu hình DNS Server trên Fortigate
Mô hình lab
Mình sẽ sử dụng 1 mô hình đơn giản gồm 1 mạng LAN bên dưới 192.168.10.0/24. Mình sẽ cấu hình cho firewall Fortigate làm DNS Server cho mạng LAN này để phân giải truy vấn DNS, và cấu hình 1 số bản ghi cho tên miền nội bộ, với thông tin:
- Web server: cấu hình tên miền nội bộ cnttshop.vn trỏ tới IP 192.168.10.10.
- Máy in: cấu hình tên miền nội bộ printer1.cnttshop.vn trỏ tới IP 192.168.10.11.
- Với các domain không được cấu hình thì Fortigate sẽ forward tới DNS của FortiGuard để phân giải.
Cấu hình DNS Server trên giao diện web
Tính năng DNS Server mặc định bị disable trên Firewall, do vậy các bạn sẽ cần bật lên trước. Các bạn vào menu System > Feature Visibility. Tích Enable DNS Database lên để sử dụng tính năng DNS Server. Nhấn Apply.
Sau khi enable DNS Database thì chúng ta sẽ có thêm menu DNS Servers trong menu Network.
Trước tiên các bạn vào menu DNS. Chúng ta sẽ cấu hình DNS cho firewall. DNS này được sử dụng cho các tính năng mà gói tin bắt đầu từ Firewall, ví dụ như dịch vụ FortiGuard. Khi sử dụng firewall như 1 DNS Server, thì với những domain chưa được phân giải thì Fortigate cũng sẽ sử dụng các DNS Server này để truy vấn.
Các bạn có thể sử dụng FortiGuard DNS hoặc sử dụng DNS của các nhà cung cấp dịch vụ khác bằng tùy chọn Specify và nhâp thông tin DNS Server.
Khi sử dụng DNS của FortiGuard thì chúng ta sẽ có thêm khả năng chặn các domain độc hại mà Fortiguard đã lọc ra, giúp phân loại và chặn các web xấu 1 cách chính xác nhất, ví dụ như khi sử dụng các tính năng DNS Filtering hay web filtering chẳng hạn.
Tuy nhiên các bạn cũng cần phải cân nhắc về độ trễ và hiệu suất. Khi các bạn cấu hình DNS thì bên cạnh sẽ có thông tin về độ trễ tính bằng mili giây. Các bạn có thể cấu hình cả 2 rồi theo dõi xem độ trễ của các Server trong trường hợp cần độ trễ thấp. Mình sẽ sử dụng FortiGuard DNS. Mình đang dùng máy ảo nên độ trễ hiển thị không chính xác. Các bạn kiểm tra thực tế trên Firewall của mình nhé.
Tiếp theo, để clients sử dụng Firewall Fortigate làm DNS Server thì các bạn sẽ cần phải cấu hình DNS trong DHCP. Các bạn vào menu Interfaces, chọn Edit các cổng LAN. Trong phần DNS Server các bạn sẽ chọn là Specify hoặc Same as Interface IP:
- Nếu các bạn chọn Same as System DNS thì client sẽ nhận được DNS giống với thông tin các bạn cấu hình trong menu DNS vừa rồi, trường hợp này thì client sẽ không sử dụng Firewall để truy vấn DNS.
- Same as Interface IP thì client sẽ nhận được DNS là IP của cổng LAN này, trong mô hình của mình là IP 192.168.10.1. Trường hợp này thì client sẽ sử dụng Firewall làm DNS Server.
- Specify thì các bạn sẽ cấu hình thủ công. Các bạn chọn các IP LAN bất kỳ có trên firewall để cấu hình. Nếu chọn Specify thì các bạn có thể cấu hình toàn bộ client thuộc nhiều VLAN có chung 1 DNS Server, còn Same as Interface IP thì mỗi VLAN sẽ nhận 1 DNS khác nhau.
Các bạn sẽ cần cấu hình toàn bộ các cổng LAN có sử dụng DHCP Server mà chúng ta sẽ sử dụng firewall làm DNS Server.
Tiếp theo các bạn vào menu Network > DNS Servers. Trong phần DNS Database, chọn Create New để tạo mới.
Nhập các thông tin cho DNS Zone:
- Type: chọn Primary để Fortigate quản lý toàn bộ bản ghi DNS. Còn Secondary thì Fortigate sẽ đồng bộ bản ghi từ 1 DNS Server khác, trường hợp bài lab này thì chúng ta sẽ không dùng.
- View: chúng ta sẽ có 2 tùy chọn là Shadow và Public. Public nghĩa là ai cũng có thể sử dụng DNS Server mà các bạn đang cấu hình, tương tự như DNS công cộng, chỉ cần họ có thể truy cập được đến IP mà bạn đã cấu hình trên firewall, còn Shadow thì chỉ các thiết bị nội bộ mới sử dụng được. Các bạn nên chọn Shadow để tránh trường hợp firewall phải xử lý DNS từ nơi khác.
- Bên dưới các bạn nhập DNS zone, domain name, hostname và email. Trong hệ thống bé chỉ dùng Fortigate làm Server thì các bạn không cần quan tâm các thông số này. Chỉ riêng mục Domain Name nếu các bạn có website nội bộ đã NAT ra internet thì các bạn sẽ nhập domain này vào. Ví dụ trong mô hình của mình có 1 website nội bộ là cnttshop.vn thì mình sẽ nhập domain name là website này luôn.
- TTL là time to live, thời gian cache của bản ghi DNS, mặc định sẽ là 1 ngày, sau 1 ngày thì cache này sẽ hết hiệu lực. Nếu website hay dịch vụ của các bạn thay đổi liên tục thì các bạn cần giảm giá trị này xuống. Khi cache hết hiệu lực thì Firewall sẽ forward DNS request ra DNS Server bên ngoài để truy vấn lại. Nếu dịch vụ ít thay đổi thì các bạn có thể tăng lên để giảm tải cho Firewall.
- Mục Authoritative các bạn Disable đi. Nếu các bạn bật tùy chọn này lên thì nghĩa là toàn bộ các truy vấn đều do Fortigate trả lời mà không forward ra ngoài. Nghĩa là nếu các truy vấn mà chưa được khai báo thì Fortigate sẽ không phân giải được. Còn khi tắt đi thì với những DNS chưa biết thì Fortigate sẽ forward ra ngoài để hỏi. Trong trường hợp này chúng ta chỉ cần phân giải 1 số tên miền nội bộ như web nội bộ, máy in, file server… thôi nên các bạn sẽ cần tắt đi nếu không sẽ gặp lỗi với những website chưa được khai báo.
Trong bảng DNS Entries, các bạn chọn Create New.
Chúng ta sẽ khai báo các bản ghi cho dịch vụ nội bộ. Bản ghi A dùng để gán tên miền cho 1 IP, và bản ghi PTR ngược lại, dùng để gán IP sang tên miền. Ngoài ra nếu dùng email nội bộ thì các bạn sẽ cần bản ghi CNAME và MX. Các bạn có thể tìm hiểu thêm về các loại bản ghi DNS này. Trong bài lab thì mình chỉ cần tạo bản ghi A để phân giải tên miền sang IP.
Đầu tiên thì mình sẽ cần tạo DNS cho website CNTTShop.vn trước:
- Type: chọn Address (A).
- Hostname: nhập ký tự @ thì bên dưới các bạn sẽ nhận được domain name là cnttshop.vn, do phần domain name ở bước trước chúng ta đã cấu hình là cnttshop.vn.
- IP Address: là IP nội bộ của Web Server, trong mô hình của mình là 192.168.10.10.
- TTL thì các bạn có thể cấu hình riêng hoặc sử dụng luôn TTL bên ngoài. Nếu có nhiều loại tên miền, 1 loại thông tin ít thay đổi thì các bạn có thể để TTL lâu hơn, còn với tên miền thay đổi liên tục thì các bạn có thể cấu hình ngắn hơn.
- Status chọn Enable và nhấn OK.
Với bản ghi này thì khi người dùng gửi truy vấn phân giải tên miền cnttshop.vn lên Firewall thì firewall sẽ trả về IP 192.168.10.10, khi đó các bạn sẽ không cần sử dụng Hairpin NAT nữa. Người dùng bên ngoài thì vẫn trả về IP WAN mà các bạn đã NAT.
Tương tự các bạn sẽ tạo đầy đủ các bản ghi DNS cho các dịch vụ local của mình. Ví dụ mình sẽ tạo thêm 1 DNS Entry cho máy in:
- Type: chọn Address (A).
- Hostname: mình sẽ nhập là printer1.
- IP Address nhập IP máy in theo sơ đồ là 192.168.10.11.
Lúc đó thì máy in của mình sẽ có tên miền đầy đủ là printer1.cnttshop.vn. Các bạn có thể tạo nhiều Zone hoặc nhiều Entries khác nhau, tùy thuộc vào dịch vụ của mình.
Tiếp theo trong bảng DNS Service on Interface, các bạn chọn Create New.
- Interface: chọn các cổng LAN mà các bạn đã sử dụng làm IP DNS Server cho client.
- Mode: chọn Recursive.
- DNS Filter: thì các bạn có thể bật lên và chọn Profile mặc định hoặc tạo thêm. Fortigate đã phân loại các tên miền và nhóm thành các category.
Tương tự nếu có nhiều cổng LAN thì các bạn sẽ cần tạo đầy đủ nhé.
Như vậy là chúng ta đã cấu hình xong DNS Server trên Fortigate.
Về phần DNS Filter default mà các bạn vừa thêm vào DNS Servers thì các bạn vào menu Security Profiles > DNS Filter, chọn Edit DNS Profile Default.
Ở đây đã có nhiều Category mà FortiGuard phân loại. Các domain độc hại mặc định đã bị block nên khi sử dụng thì các bạn có thể giảm thiểu rủi ro hệ thống mạng bị virut khi người dùng click vào các link này.
Các bạn cũng có thể add thêm các domain muốn block vào phần Static domain filter.
Các bạn chỉ cần nhập domain muốn chặn phân giải và chọn active là redirect to block portal là xong.
Kiểm tra
OK bây giờ mình sẽ test thử các domain và mình vừa add vào.
Máy tính của mình đang nhận IP động, DNS Server đang là 192.168.10.1 do mình đã cấu hình DNS trong DHCP Server là Same as Interface IP.
Web và máy in mình chưa dựng lên, do vậy mình sẽ sử dụng nslookup để test.
Tên miền CNTTShop.vn đã được phân giải sang IP 192.168.10.10
Tương tự với máy in
Máy in cũng được phân giải sang IP 192.168.10.11 theo đúng thông tin mình đã cấu hình.
Mình sẽ thử với tên miền bên ngoài Internet, ví dụ dantri.com.vn
Tên miền này cũng được phân giải đúng IP WAN.
Như vậy là chúng ta đã cấu hình DNS Server thành công. Các bạn có thể tạo thêm các bản ghi nội bộ cho máy in, camera, file server…
Kết luận
Tính năng DNS Server trên Fortigate mang lại sự chủ động trong việc phân giải tên miền nội bộ, giúp hệ thống hoạt động nhanh chóng và ổn định hơn. Với khả năng tích hợp sẵn, dễ cấu hình và quản lý, nó đặc biệt phù hợp cho các doanh nghiệp không có hạ tầng DNS riêng. Khi kết hợp với DNS Filter, Fortigate còn giúp kiểm soát truy cập và nâng cao mức độ an toàn mạng. Đây là một giải pháp linh hoạt và tiết kiệm cho nhiều mô hình triển khai thực tế.
Nếu các bạn có thắc mắc hay góp ý nào, hãy để lại bình luận để mọi người cùng trao đổi nhé.
Chúc các bạn thành công!
Bình luận bài viết!