مقدمه
DMZ (منطقه غیرنظامی) یک سگمنت شبکه است که بین شبکه داخلی معتمد و اینترنت غیرمعتمد قرار میگیرد. سرویسهایی که باید از اینترنت قابل دسترس باشند (وب سرور، ایمیل، VPN) را در اینجا قرار میدهیم.
چرا DMZ؟
بدون DMZ: اینترنت → فایروال → شبکه داخلی
با DMZ: اینترنت → فایروال → DMZ + فایروال → شبکه داخلی
اگر مهاجم یک وبسرور در DMZ را به خطر بیندازد، هنوز با یک فایروال دیگر برای رسیدن به شبکه داخلی روبرو میشود.
الگوهای طراحی DMZ
دو فایروال (توصیهشده برای تولید)
TEXT
اینترنت
|
[فایروال 1 - Edge]
|
DMZ (192.168.1.0/24)
|
[فایروال 2 - داخلی]
|
شبکه داخلی (10.0.0.0/8)قوانین فایروال برای DMZ
BASH
# اجازه به اینترنت برای دسترسی به DMZ
iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 443 -j ACCEPT
# بلاک کردن DMZ به داخلی
iptables -A FORWARD -i eth1 -o eth2 -j DROP
# اجازه مدیریت از داخلی به DMZ
iptables -A FORWARD -i eth2 -o eth1 -p tcp --dport 22 -j ACCEPT
# پیشفرض: انکار
iptables -P FORWARD DROPReverse Proxy در DMZ
NGINX
server {
listen 443 ssl;
server_name app.company.com;
location / {
# فوروارد به سرور داخلی
proxy_pass http://10.0.1.10:8080;
proxy_set_header X-Real-IP $remote_addr;
}
}خلاصه
- DMZ سرویسهای رو به اینترنت را از شبکه داخلی جدا میکند
- از طراحی دو فایروال برای تولید استفاده کنید
- پیشفرض انکار بین DMZ و داخلی — فقط چیزی که صریحاً نیاز است را اجازه دهید
- از reverse proxy برای جلوگیری از دسترسی مستقیم اینترنت به سرورهای داخلی استفاده کنید
