فایروال چیست؟ سیستمی که بین دو شبکه، مثلاً اینترنت و شبکه داخلی شرکت، می نشیند و هر بسته ای که از آن رد می شود را با فهرستی از قاعده ها مقایسه می کند. هر قاعده می گوید ترافیکی با این مشخصات (آدرس مبدأ، مقصد، پورت، پروتکل) اجازه دارد، باید رد شود یا فقط ثبت شود. بدون فایروال، هر سرویسی که روی یک سرور اجرا می شود از اینترنت قابل دسترس است، چه صاحبش بخواهد چه نخواهد.
انواع فایروال
| نوع | چه چیزی را می بیند | محدودیت |
|---|---|---|
| Packet filter | آدرس مبدأ و مقصد، پورت و پروتکل هر بسته به تنهایی | اتصال را به خاطر نمی سپارد و پاسخ ها را باید جداگانه اجازه داد |
| Stateful | وضعیت اتصال؛ پاسخ ترافیکی که از داخل شروع شده را خودکار اجازه می دهد | محتوای برنامه را نمی فهمد |
| Application یا Proxy | محتوای پروتکل لایه برنامه، مثلاً HTTP یا FTP | کندتر است و برای هر پروتکل پروکسی لازم دارد |
| NGFW | برنامه، کاربر، دسته بندی سایت ها و الگوی حمله (IPS) | لایسنس اشتراکی دارد و به روزرسانی مرتب می خواهد |
| WAF | درخواست های HTTP به یک سایت یا API | فقط از برنامه وب محافظت می کند، نه بقیه شبکه |
بیشتر فایروال هایی که امروز در شرکت ها نصب می شود NGFW است. دستگاه هایی مثل FortiGate و Sophos و نرم افزارهایی مثل pfSense به این دسته می رسند، هر چند هر کدام مجموعه امکانات متفاوتی دارند. خود میکروتیک هم فایروال stateful قدرتمندی دارد ولی NGFW کامل نیست.
فایروال سخت افزاری و نرم افزاری
فایروال سخت افزاری دستگاهی جداست که بین مودم و شبکه داخلی قرار می گیرد و ترافیک کل شبکه از آن می گذرد. فایروال نرم افزاری روی خود کامپیوتر یا سرور اجرا می شود و فقط از همان دستگاه محافظت می کند. مثال آن Windows Defender Firewall روی ویندوز و iptables و nftables روی لینوکس است.
این دو جایگزین هم نیستند. فایروال شبکه از ورود ترافیک ناخواسته به کل شبکه جلوگیری می کند. فایروال هر سرور وقتی کار می کند که مهاجم از یک دستگاه داخل شبکه وارد شده باشد، یا فایروال شبکه به اشتباه تنظیم شده باشد. روی هر سروری که به اینترنت وصل است، فایروال خود سرور هم باید فعال باشد.
قاعده ها چطور کار می کنند
سه نکته درباره فایروال را باید همیشه در ذهن داشت:
- قاعده ها از بالا به پایین بررسی می شوند و بسته با اولین قاعده منطبق، تکلیفش معلوم می شود. قاعده ای که زیر یک قاعده کلی تر باشد هیچ وقت اجرا نمی شود.
- قاعده پیش فرض باید «رد کردن» باشد. فقط چیزی که لازم دارید را اجازه بدهید و بقیه بسته بماند.
- ترافیک ورودی و خروجی جداگانه کنترل می شود. بیشتر شرکت ها فقط ورودی را می بندند، در حالی که بستن بعضی ترافیک های خروجی (مثل ارتباط سرورها با اینترنت) جلوی نشت اطلاعات و ارتباط بدافزار با سرور فرمان را می گیرد.
یک نمونه ساده برای سرور لینوکس با nftables که فقط SSH و وب را از بیرون می پذیرد:
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
ct state established,related accept
iifname "lo" accept
tcp dport { 22, 80, 443 } accept
}
}
خط policy drop همان قاعده پیش فرض رد کردن است. قبل از اعمال این قاعده ها روی سرور راه دور، یک جلسه SSH دیگر باز نگه دارید و دسترسی کنسول داشته باشید. اگر اشتباه کنید، خودتان بیرون می مانید.
چیزهایی که یک NGFW اضافه می کند
- تشخیص برنامه، مثلاً اجازه دادن به Teams ولی بستن ترافیک تورنت، حتی اگر هر دو روی پورت 443 باشند.
- IPS که الگوی حمله های شناخته شده را در ترافیک پیدا و مسدود می کند.
- فیلتر دسته بندی سایت ها و بررسی فایل های دانلودی.
- قاعده بر اساس کاربر و گروه اکتیو دایرکتوری به جای آدرس IP.
- VPN برای کارمندان و شعبه ها روی همان دستگاه.
بررسی ترافیک رمزشده (SSL inspection) هزینه دارد: مصرف پردازنده بالا می رود، سایت های بانکی و برنامه هایی که certificate pinning دارند باید از آن مستثنی شوند، و سیاست روشنی درباره حریم خصوصی کارکنان لازم است. روشن کردنش بدون برنامه، بیشتر مشکل می سازد تا امنیت.
نمونه قاعده ها در فایروال میکروتیک
در میکروتیک، دو زنجیره مهم اند: input برای ترافیکی که به خود روتر می رسد و forward برای ترافیکی که از روتر رد می شود. یک پایه معقول برای روتر دفتر کوچک این است:
/ip firewall filter
add chain=input connection-state=established,related action=accept
add chain=input connection-state=invalid action=drop
add chain=input in-interface-list=LAN action=accept
add chain=input action=drop comment="drop everything else to the router"
add chain=forward connection-state=established,related action=accept
add chain=forward connection-state=invalid action=drop
add chain=forward connection-nat-state=!dstnat in-interface-list=WAN action=drop comment="WAN to LAN only for port forwards"
قاعده آخر بخش forward ترافیک جدیدی را که از اینترنت می آید و Port Forward نیست رد می کند. قبل از اعمال، از طریق Safe Mode وصل شوید تا اگر قطع شدید تغییرات برگردند. قاعده های کامل تر و امن سازی سرویس های مدیریتی روتر در تنظیمات امنیتی میکروتیک آمده است.
NAT فایروال نیست
یکی از رایج ترین سوءتفاهم ها این است که شبکه پشت NAT خودبه خود محافظت شده است. NAT آدرس های داخلی را به یک آدرس عمومی ترجمه می کند و در عمل جلوی اتصال های ورودی ناخواسته را می گیرد، ولی ترافیک خروجی را کنترل نمی کند و به محض اینکه یک Port Forward تعریف کنید، آن پورت برای همه باز است. فقط قاعده فایروال است که تعیین می کند چه کسی به چه چیزی می رسد.
DMZ برای سرورهایی که از اینترنت دیده می شوند
سروری که باید از اینترنت در دسترس باشد (وب سرور، ایمیل) را در شبکه داخلی کنار کامپیوترهای کارمندان نگذارید. اگر مهاجم آن را بگیرد، از همان جا به بقیه شبکه می رسد. معمول این است که این سرورها در یک ناحیه جدا به نام DMZ باشند که فایروال سه قاعده برایش دارد:
- اینترنت فقط به پورت های لازم DMZ برسد (مثلاً 80 و 443).
- DMZ به شبکه داخلی دسترسی نداشته باشد، مگر به یک پورت مشخص (مثلاً دیتابیس روی سرور مشخص).
- شبکه داخلی بتواند برای مدیریت به DMZ برسد.
همین ناحیه بندی را می شود با VLAN پیاده کرد، به شرطی که بین VLAN ها واقعاً قاعده فایروال باشد.
فایروال را از بیرون تست کنید
فقط خواندن قاعده ها کافی نیست، چون بعضی تنظیم ها با هم تداخل می کنند. از یک شبکه بیرونی (مثلاً هات اسپات موبایل) پورت های باز آدرس عمومی خودتان را اسکن کنید، ولی فقط روی شبکه ای که مالکش هستید:
nmap -Pn -p 1-1024,3389,8080,8443 your-public-ip
هر پورتی که باز است و دلیل مشخصی ندارد، باید بسته شود. این اسکن را بعد از هر تغییر بزرگ و دست کم هر چند ماه یک بار تکرار کنید. بررسی امنیتی رایگان سایت و سرور در بررسی امنیت سایت و سرور همین کار را از بیرون انجام می دهد.
اشتباه های رایج در کانفیگ فایروال
- قاعده any به any که برای رفع یک مشکل موقت اضافه شده و هیچ وقت برنداشته می شود.
- باز بودن RDP یا SSH روی اینترنت برای همه آدرس ها. دسترسی مدیریتی را فقط از VPN یا آدرس های مشخص بدهید.
- قاعده ای که هیچ کس نمی داند برای چه نوشته شده. روی هر قاعده توضیح بگذارید.
- لاگ فایروال روی دستگاه می ماند و کسی نگاهش نمی کند. لاگ ها را به یک سرور مرکزی بفرستید و برای رفتارهای عجیب، مثل اسکن پورت یا تلاش های ورود زیاد، هشدار بگذارید.
- سیستم عامل فایروال به روز نمی شود. فایروال خودش مثل هر سرور دیگری آسیب پذیری دارد و دستگاه های لبه شبکه هدف مستقیم مهاجم اند.
- بعد از تغییر قاعده ها نسخه پشتیبان پیکربندی گرفته نمی شود.
فایروال فقط یکی از لایه های محافظت است. حمله فیشینگ که کاربر را فریب می دهد یا رمز لو رفته کارمند را از فایروال رد می کند، چون ترافیکش قانونی به نظر می رسد. تفاوت این لایه ها را در باج افزار چیست و هاردنینگ سرور دیده اید. جدا کردن شبکه ها با VLAN هم فقط وقتی کامل می شود که بین VLAN ها قاعده فایروال نوشته شود.
چه فایروالی انتخاب کنیم
برای انتخاب، اول ببینید چه چیزی را باید محافظت کنید. دفتر کوچک با یک اینترنت و چند VLAN با فایروال میکروتیک به خوبی کار می کند. شرکتی که کارمند دور کار دارد، VPN با کد دومرحله ای می خواهد و به IPS و فیلتر وب نیاز دارد، سراغ NGFW برود. تفاوت میکروتیک با سیسکو را در مقایسه میکروتیک و سیسکو و امن سازی روتر میکروتیک را در تنظیمات امنیتی میکروتیک نوشته ایم.
کنترل وب کاربران (فیلتر سایت و ثبت دسترسی) کار پروکسی است که فایروال همیشه آن را ندارد؛ فرق این دو در پروکسی چیست آمده.
نشانه ها و تدابیر دفاعی در برابر حملات حجمی را در حمله DDoS چیست بخوانید.
منابع و مستندات رسمی
اگر بخواهید فایروال شبکه را انتخاب و تنظیم کنید یا قاعده های فعلی را بازبینی کنید، FortiGate، Sophos و pfSense همه در کانفیگ فایروال و امنیت شبکه پوشش داده می شوند. اگر فایروال انتخابی شما pfSense است، آموزش pfSense را هم ببینید.



