Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Triển khai vùng DMZ để tăng cường bảo vệ cho hệ thống

mạng nội bộ
Giới thiệu

Về mặt địa lý và con người, thì DMZ (Demilitarized Zone – vùng phi quân sự) là một
khu vực mà tại đó sự hiện diện của các lực lượng quân đội (gồm binh lính, vũ khí, đạn
dược…) cũng như các hoạt động quân sự (như do thám, tập trận, đánh nhau…) đều
không được cho phép.

Vì vậy, DMZ được coi như là một vùng ranh giới chia tách hai bên mà là thù địch của
nhau và vùng DMZ thường được tạo nên sau những hiệp ước hòa bình, những thỏa thuận
đình chiến. Trong thế giới thực, dải đất cắt ngang bán đảo Triều Tiên và phân tách bán
đảo này ra thành hai nước là Hàn Quốc và Triều Tiên chính là một ví dụ về DMZ. Còn
trong lịch sử chiến tranh Việt Nam thì sông Bến Hải chia tách hai miền nam Bắc cũng là
một ví dụ khác về DMZ.

Cũng giống như nhiều thuật ngữ tin học khác được vay mượn từ thế giới thực, DMZ cũng
là một thuật ngữ được dùng trong lĩnh vực bảo mật mạng máy tính. Vậy thì ý nghĩa và
mục đích của từ DMZ trong tin học có giống với từ DMZ trong quân sự hay không?

Trước khi đi vào giải thích DMZ là gì cũng như tác dụng của nó thì tôi xin đưa ra một
tình huống như thế này. Hệ thống mạng nội bộ (internal) của một tổ chức thường bao
gồm các server cung cấp các dịch vụ cơ bản như: Directory Service (Active Directory,
OpenLDAP…), DNS, DHCP, File/Print Sharing, Web, Mail, FTP. Trong đó thì các
server Web, Mail, FTP thường phải cung cấp các dịch vụ của chúng cho cả những người
dùng nằm bên trong lẫn bên ngoài mạng nội bộ của tổ chức.

Nếu trường hợp bạn đặt tất cả các server này nằm trong cùng một lớp mạng với các máy
trạm của người dùng trong tổ chức thì sẽ như thế nào nếu hacker từ mạng bên ngoài
(external - ví dụ như Internet) kiểm soát được 'public server' như Web, Mail, FTP? Rất có
thể hacker sẽ dựa vào các server đã bị chiếm đoạt này để đánh vào các server khác (như
DNS, DHCP, Directory Service…) cũng như thâm nhập sâu hơn vào các máy trạm bên
trong. Thế nên ở đây, ta cần có một giải pháp nào đó để hạn chế khả năng mạng internal
bị tổn thương khi các public server trên bị tấn công. Và DMZ là một câu trả lời cho vấn
đề này.

DMZ là một mạng tách biệt với mạng internal vì DMZ sử dụng đường mạng (hoặc có
subnet) khác với mạng internal. Và các server như Web, Mail, FTP, VoIP… là các dịch
vụ tổ chức mong muốn người dùng có thể truy cập và sử dụng thông qua các mạng ngoài
như Internet được đặt trong vùng DMZ. Còn các server phục vụ cho các mục đích nội bộ
như DNS, DHCP, File/Print… vẫn được đặt trong vùng internal.
Giữa DMZ và mạng external ta có thể đặt một firewall để cho phép các kết nối từ
external chỉ đến được DMZ mà thôi. Còn giữa mạng internal và DMZ ta có thể đặt thêm
một firewall khác để kiểm soát các lưu lượng từ DMZ đi vào internal. Như vậy, cũng
giống với vùng DMZ trong quân sự, DMZ ở đây đã tạo ra sự phân tách giữa hai bên đối
nghịch nhau: mạng internal và mạng external. Và có thể nói rằng DMZ đã bổ sung thêm
một lớp bảo vệ cách ly cho mạng internal khi mà hacker từ mạng ngoài chỉ có thể tiếp
cận tới các máy nằm trong DMZ mà thôi.

Nếu bạn nghĩ mạng external như là 'untrusted network' và mạng internal như là 'trusted
network' thì có thể coi DMZ như là mạng nửa tin cậy - nửa không tin cậy (semi-trusted).
Nó không được an toàn như LAN nhưng do nó nằm sau một firewall nên nó an toàn hơn
Internet. Hoặc bạn cũng có thể nghĩ về DMZ như là một 'liaison network' (mạng có quan
hệ bất chính :-p) vì nó có thể liên lạc với cả hai mạng Internet và LAN trong khi nằm
giữa hai mạng này như được thể hiện trong hình trên.

Nhưng không giống như sự yên ả, không có giao tranh mà ta có thể tìm thấy ở vùng
DMZ ngoài đời thực, mạng DMZ ở đây thực sự ẩn chứa rất nhiều rủi ro do các mối đe
dọa từ phía ngoài mang lại. Điển hình như việc hacker có thể sử dụng hình thức tấn công
từ chối dịch vụ (DoS/DDoS) nhắm vào các server trong DMZ để làm gián đoạn hoặc dập
tắt khả năng đáp ứng yêu cầu dịch vụ của các server này cho những người dùng hợp pháp
thông thường. Và cũng không giống như sự vô chủ, trung lập của các vùng DMZ ở đời
thực, khi tạo ra một DMZ cho tổ chức thì thực sự nó là một phần của cả hệ thống mạng
nội bộ mà bạn phải kiểm soát chúng thật tốt.

Kiến trúc xây dựng DMZ

DMZ được tạo nên bởi hai thành phần cơ bản là: các địa chỉ IP và các firewall. Có hai
đặc điểm nhận dạng quan trọng của DMZ mà bạn cần nhớ là:

1. Nó có một network ID khác so với mạng internal.

2. Nó bị phân tách khỏi mạng Internet và cả mạng internal bởi (các) firewall.

Dưới đây tôi sẽ nói rõ hơn về hai đặc điểm này của DMZ

1. Địa chỉ IP dùng trong DMZ

Tùy vào kiến trúc của DMZ và cấu hình trên firewall mà một DMZ có thể sử dụng public
IP hoặc private IP cho các server trong DMZ.

Nếu bạn sử dụng public IP cho DMZ, thường bạn sẽ cần chia mạng con (subnetting) khối
địa chỉ IP mà ISP cấp cho bạn để bạn có được hai network ID tách biệt. Một trong hai
network ID này sẽ được dùng cho external interface (card mạng nối trực tiếp tới ISP) của
firewall và network ID còn lại được dùng cho mạng DMZ. Lưu ý khi chia subnet khối
public IP này, bạn phải cấu hình cho router của bạn để các gói tin từ ngoài Internet đi vào
sẽ tới được DMZ.

Bạn cũng có thể tạo một DMZ có network ID giống với mạng internal nhưng vẫn đảm
bảo có sự cách ly giữa DMZ và mạng internal bằng cách sử dụng VLAN Tagging (IEEE
802.1q). Lúc này các server trong DMZ và các máy trạm trong mạng internal đều được
cắm chung vào một switch (hoặc khác switch nhưng các switch này được nối với nhau)
nhưng được gán vào các VLAN khác nhau.

Còn nếu bạn sử dụng private IP cho DMZ, bạn sẽ cần đến NAT (một số firewall hỗ trợ
sẵn tính năng này) để chuyển các private IP này sang một public IP (mà được gán cho
external interface của firewall nằm giữa Internet và DMZ). Vì một số ứng dụng không
làm việc tốt với NAT (ví dụ, Java RMI) nên bạn cân nhắc việc chọn cấu hình NAT hay
định tuyến giữa Internet và DMZ.

2. Các Firewall

Có nhiều cách khi thiết kế một hệ thống mạng có sử dụng DMZ. Hai mô hình cơ bản và
thường gặp nhất là: single firewall (hay three legged firewall) và dual firewall. Dưới đây
tôi sẽ nói sơ qua về phương thức hoạt động cũng như ưu khuyết điểm của hai mô hình
này.
a) Với single firewall

Bạn sẽ chỉ cần tới một thiết bị có ba NIC (network interface card). Trong đó, một NIC
nối với mạng external, NIC thứ hai nối với mạng DMZ, và NIC còn lại nối với mạng
internal.

Kiến trúc single firewall

Đó là lý do tại sao người ta gọi nó là 'three legged firewall' (mỗi “chân” của firewall
chính là một NIC của nó). Lúc này three legged firewall phải có khả năng kiểm soát toàn
bộ traffic vào/ra giữa ba mạng (internal, external và DMZ) và nó trở thành điểm chịu lỗi
duy nhất (single point of failure) cho toàn hệ thống mạng. Nếu có sự cố xảy ra với three
legged firewall này thì cả DMZ và mạng internal đều không còn được bảo vệ nhưng bù
lại bạn không phải tốn chi phí đầu tư thêm một firwewall nữa như trong mô hình dual
firewall dưới đây.

Khi sử dụng single firewall để tạo DMZ, ta có khái niệm trihomed DMZ. Bạn cũng có
thể tạo ra hai (hoặc nhiều hơn) vùng DMZ tách biệt có các network ID khác nhau bằng
cách cách trang bị thêm số NIC tương ứng cho single firewall.

b) Với dual firewall

Bạn sẽ cần tới hai thiết bị firewall, mỗi firewall có hai NIC và được bố trí như sau:
- Firewall thứ nhất (được gọi là front-end firewall) có một NIC nối với mạng external
(external interface) và NIC còn lại nối với DMZ (internal interface). Front-end firewall
này có nhiệm vụ kiểm soát traffic từ Internet tới DMZ và mạng internal.

- Firewall thứ hai (được gọi là back-end firewall) có một NIC nối với DMZ (external
interface) và NIC còn lại nối với mạng internal (internal interface). Back-end firewall này
có nhiệm vụ kiểm soát traffic từ DMZ và Internet tới mạng internal.

Kiến trúc dual firewall

Rõ ràng, so với single firewall thì giải pháp này tuy tốn kém hơn về chi phí triển khai khi
phải đầu tư tới hai thiết bị firewall tách biệt nhưng về mặt hiệu suất và độ an toàn cho hệ
thống mạng của bạn sẽ được cải thiện. Vậy nên, tùy vào hoàn cảnh của tổ chức và môi
trường của từng hệ thống mạng mà bạn nên xem xét lựa chọn giữa single firewall hay
dual firewall cho thích hợp.

Một số khuyến cáo cho rằng nên chọn hai firewall từ hai nhà cung cấp (vendor) khác
nhau với lời giải thích rằng nếu hacker có thể bẻ gãy firewall đầu tiên thì cũng hắn cũng
khó khăn hơn trong việc phá vỡ firewall thứ hai bởi chúng được tạo nên theo những cách
khác nhau. Còn bạn, bạn nghĩ như thế nào về điều này?

Kết luận

DMZ được coi như là một trong các lá chắn bảo vệ của hệ thống phòng thủ nhiều lớp
(defense in depth) cho mạng nội bộ của tổ chức. Nhưng cũng giống như các lá chắn khác,
nó vẫn có khả năng bị phá hủy và việc giữ gìn sự lành lặn của lá chắn này đòi hỏi bạn cần
cài đặt, cấu hình, giám sát hoạt động đầy đủ và thường xuyên cho các firewall và server
trong DMZ.

Hy vọng qua bài viết này bạn đã có một cái nhìn tổng quan về các khía cạnh của DMZ:
Nó là gì? Nó có tác dụng gì? Đặc điểm của nó? Các hình thái khác nhau của nó?… Còn
việc triển khai DMZ trong từng trường hợp cụ thể với từng sản phẩm firewall cụ thể thì
xin hẹn các bạn ở các bài viết khác.

You might also like