ثبت سفارش آنلاین به‌زودی فعال می‌شود. تا آن موقع برای سفارش با ما تماس بگیرید.Online ordering is coming soon. Until then, please contact us to order.تماس با ماContact us
JolfaCLOUD

مرکز آموزش / شبکه و میکروتیک

فایروال میکروتیک به زبان ساده، به‌همراه یک فایروال پایهٔ آماده

chainهای input، forward و output، connection state، چرا ترتیب ruleها مهم است، address-list، FastTrack، و یک فایروال پایهٔ کامل برای روتر دفتر که می‌شود کپی کرد؛ همراه با روش اعمال بدون قفل شدن.

۱۲ دقیقه مطالعه · به‌روزرسانی آبان ۱۴۰۵

This guide is available in Persian for now. Switch to FA to read it.

فایروال میکروتیک در نگاه اول ترسناک است: صدها گزینه و چند جدول. ولی منطقش ساده است و با فهمیدن سه مفهوم، می‌توانید هر فایروالی را بخوانید: chain، connection state و ترتیب ruleها.

سه chain اصلی

chainچه بسته‌ایمثال
inputبسته‌هایی که مقصدشان خود روتر استWinBox، SSH، DNS روتر، ping به روتر
forwardبسته‌هایی که از روتر عبور می‌کنندکامپیوتر داخلی که سایتی را باز می‌کند
outputبسته‌هایی که خود روتر می‌فرستدآپدیت، NTP، ایمیل بکاپ

input از روتر محافظت می‌کند و forward از شبکهٔ پشت روتر. بیشتر روترهای هک‌شده‌ای که دیده‌ایم، chain input شان خالی بوده است.

connection state

فایروال میکروتیک هر اتصال را دنبال می‌کند و به هر بسته یکی از این برچسب‌ها را می‌زند:

  • new: اولین بستهٔ یک اتصال تازه.
  • established: بسته‌ای از اتصالی که قبلاً اجازه گرفته.
  • related: اتصالی که به یک اتصال مجاز ربط دارد (مثل پاسخ خطای ICMP).
  • invalid: بسته‌ای که به هیچ اتصال شناخته‌شده‌ای نمی‌خورد؛ باید دور ریخته شود.

ترفند اصلی: اول بسته‌های established و related را قبول کنید (بیشتر ترافیک همین است و سریع رد می‌شود)، و فقط برای new تصمیم بگیرید.

ترتیب ruleها

ruleها از بالا به پایین خوانده می‌شوند و اولین ruleی که با بسته جور شود، تصمیم را می‌گیرد. یعنی یک drop کلی بالای یک accept، آن accept را بی‌اثر می‌کند. به همین دلیل همیشه این الگو را رعایت کنید: اول accept های مشخص، آخر یک drop برای همهٔ بقیه.

فایروال پایهٔ آماده

این فایروال برای روتری است که مثل مقالهٔ قبل کانفیگ شده (لیست‌های WAN و LAN). مدیریت روتر فقط از شبکهٔ داخلی و VPN ممکن است:

RouterOS
/ip/firewall/address-list/add list=mgmt address=192.168.10.0/24 comment="LAN"

/ip/firewall/filter
add chain=input action=accept connection-state=established,related,untracked comment="input: established"
add chain=input action=drop connection-state=invalid comment="input: invalid"
add chain=input action=accept protocol=icmp comment="input: ping"
add chain=input action=accept src-address-list=mgmt in-interface-list=LAN comment="input: LAN management"
add chain=input action=drop in-interface-list=!LAN comment="input: drop all not from LAN"

add chain=forward action=fasttrack-connection connection-state=established,related hw-offload=yes comment="forward: fasttrack"
add chain=forward action=accept connection-state=established,related,untracked comment="forward: established"
add chain=forward action=drop connection-state=invalid comment="forward: invalid"
add chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface-list=WAN comment="forward: drop new from WAN not port-forwarded"

آخرین rule یعنی «هیچ اتصال تازه‌ای از اینترنت به شبکهٔ داخلی نیاید، مگر پورت‌هایی که خودتان forward کرده‌اید». این همان رفتاری است که از هر روتر انتظار دارید.

اعمال فایروال بدون قفل شدن

کابوس همه: یک rule اشتباه و دسترسی به روتر از راه دور قطع می‌شود. میکروتیک برای این Safe Mode دارد. در ترمینال Ctrl+X بزنید (در WinBox دکمهٔ Safe Mode بالای صفحه). اگر در Safe Mode ارتباط قطع شود، روتر همهٔ تغییرات را خودش برمی‌گرداند. بعد از اطمینان، دوباره Ctrl+X تا تغییرات ثبت شوند.

باز کردن پورت (port forward)

مثلاً دوربین مداربسته روی 192.168.10.20 پورت ۸۰۸۰:

RouterOS
/ip/firewall/nat/add chain=dstnat in-interface-list=WAN protocol=tcp dst-port=8080 \
    action=dst-nat to-addresses=192.168.10.20 to-ports=8080 comment="camera"

address-list: بلاک کردن مهاجم‌ها

address-list یک لیست IP است که ruleها می‌توانند به آن ارجاع بدهند. یک کاربرد رایج: هر IPی که پورت‌های معروف را اسکن کند، یک روز بلاک شود:

RouterOS
/ip/firewall/raw/add chain=prerouting in-interface-list=WAN src-address-list=blocked action=drop
/ip/firewall/filter/add chain=input in-interface-list=WAN protocol=tcp dst-port=22,23,3389,8291 \
    action=add-src-to-address-list address-list=blocked address-list-timeout=1d \
    place-before=0 comment="trap scanners"

rule در جدول raw قبل از connection tracking اجرا می‌شود و برای drop کردن حجم زیاد سبک‌تر است.

چک کردن

  • /ip/firewall/filter/print stats: کنار هر rule تعداد بسته‌هایی که به آن خورده. ruleی که همیشه صفر است یا اشتباه است یا لازم نیست.
  • برای عیب‌یابی موقتاً log=yes log-prefix="DROP" را به rule آخر اضافه کنید و /log/print را ببینید.
  • از بیرون شبکه (مثلاً اینترنت موبایل) با یک پورت‌اسکنر IP عمومی روتر را چک کنید؛ نباید هیچ پورتی جز پورت‌هایی که عمداً باز کرده‌اید جواب بدهد.
برای سرویس‌هایتان هاست پایدار لازم دارید؟دیدن پلن‌های هاست

منابع

  1. MikroTik Manual — Building your first firewall help.mikrotik.com/docs/display/ROS/Building+Your+First+Firewall
  2. MikroTik Manual — Securing your router manual.mikrotik.com/docs/getting-started/securing-your-router