ساخت Address Lists دلخواه
ما قرار است که در این قسمت در رابطه با Address Lists در میکروتیک صحبت کنیم و این موضوع، موضوع بسیار مهمی است؛ مخصوصاً در بخش فایروال که باید بتوانیم لیست دلخواهی را بر اساس پارامترهایی که مد نظرمان هستند، بسازیم.
آنچه در این مقاله می خوانید:
توضیحات اولیه
حال به سراغ میکروتیک برویم. موضوع Address List به فایروال مربوط است؛ البته ما Address Listهای دیگری هم داریم که در بخش های دیگری مورد استفاده قرار می گیرند؛ مثلاً در ساخت لیستی از اینترفیس ها که باز هم می توان از آن در فایروال نیز استفاده کرد.
الان ما در این بخش، می خواهیم لیست ساده ای را برای شما بسازیم. تعدادی IP داخل آن وجود دارد. چه موقعی کاربرد دارد؟ ما در بخش های قبلی، مثال های مختلفی را با icmp برایتان زدیم. برای مثال گفتیم که اگر بخواهیم یک کلاینت را محدود کنیم، می توانیم در قسمت src.Address، آدرس خاصی را انتخاب کرده و یا رنجی را در نظر بگیریم.
حال اگر ۴ کلاینت مد نظرمان باشد؛ برای مثال آی پی های ۱۹۲.۱۶۸.۱۰.۵، ۱۰.۱۰، ۱۰.۲۰، ۱۰.۳۰. شما در این حالت یا باید برای هر کدام ۱ رول یعنی در مجموع ۴ رول در فیلتر رول بنویسید که این راهکار، مناسب نیست و بهتر است که لیستی را بسازید و این ۴ مورد را داخل آن قرار دهید و در این قسمت، لیست را انتخاب کنید.
پس ابتدا باید لیست را بسازید و بعد در رولی که در حال ایجاد کردن آن هستید، بگویید که اگر آی پی هایی که در آن لیست بودند، این Actionها روی آن ها ایجاد شوند (هر اکشنی که باشد برای مثال Accept، drop یا هر مورد دیگری). پس این همان کاربرد Address Lists است؛ یعنی در واقع نوشتن رول ها را برایمان آسان تر می سازند و ما می توانیم لیستی از آی پی ها داشته باشیم.
حال این موضوع هم برای src.Address صدق می کند و هم برای Dst.Address؛ یعنی شما می توانید لیستی را بسازید و هم از آن در src.Address ها استفاده کنید و هم در Dst.Address ها؛ ولی نکته ای که مهم است، این است که شما فقط می توانید در قسمتی که src.Address و Dst.Address نوشته شده اند، یک آی پی یا یک رنج را قرار دهید و نمی توانید در این قسمت، لیستی را انتخاب کنید.
برای گذاشتن لیست، باید به سربرگ Advanced بروید که قسمت هایی به نام src.Address List و Dst.Address List وجود دارند و شما می توانید در این قسمت ها، لیست را انتخاب کنید که الان ما هیچ لیستی را نداریم و زمانی که لیستی بسازیم در این قسمت به ما نشان داده خواهد شد.
فقط در ورژن های جدید میکروتیک یعنی آن میکروتیک هایی که آپدیت شده اند آن هم نه روی هر روتری؛ بلکه روی برخی روترهایی که ورژن جدید برایشان در دسترس بود، این لیست ها از سربرگ Advanced به سربرگ General انتقال یافته اند؛ اما در این روتر ما که احتمالاً آخرین نسخه ی آن است و ما آن را به روز کرده ایم، فعلاً چنین چیزی نیست.
حال نکته ی دیگری به شما بگوییم و بعد به سراغ ساختن لیست برویم. نکته این است که این لیست ها را هم می توان به صورت دستی ساخت؛ یعنی ما لیستی را بسازیم، نامی را برای آن انتخاب کنیم و تعدادی member نیز برای آن انتخاب کنیم که این member یا اعضای ما، می توانند یک سری IP باشند؛ اما این لیست به صورت اتومات هم قابل ساختن است؛ یعنی ما می توانیم با رول هایی که می نویسیم، لیستی را بسازیم.
ما در مورد این موضوع در قسمت های دیگر و بخش بعدی، برایتان صحبت خواهیم کرد. پس ما می خواهیم در این بخش به صورت دستی یا manual، لیستی از آی پی ها را بسازیم و از آن ها استفاده کنیم. سناریویی که وجود دارد چیست؟ ما می خواهیم با سیستم خودمان، نتوانیم پینگ میکروتیک را داشته باشیم.
ساخت Address Lists
ابتدا رول های قبلی را کنار گذاشته و رول جدیدی را ایجاد می کنیم. Chain را در حالت input و پروتکل را روی حالت icmp قرار می دهیم و src.Address نیز، IP سیستممان است که IP سیستممان، ۱۰.۸۰ بود.
این که اینترفیس را نیز تعیین کنیم یا خیر، بستگی به سناریوی ما دارد. می توانیم اینترفیسی را انتخاب کرده و یا نکنیم. Action آن را نیز روی حالت drop قرار می دهیم. می توانیم In Interface را روی حالت LAN نیز بگذاریم که سناریوی ما، بهتر و دقیق تر باشد. سپس Apply و بعد Ok را می زنیم. فعلاً هیچ کانتری را نداریم و کانتر ما صفر است و به محض گرفتن پینگ به ما کانتر می دهد.
این موضوعی بود که ما در جلسه ی قبلی در مورد آن صحبت کردیم. پینگ –t192.168.10.1 را می گیریم. مشاهده می کنیم که کانتر را انداخت و در حال مچ شدن با رولی که نوشتیم است و اکشن drop در حال اجرا شدن روی آن است.
اگر ما اینترفیس آن را تغییر دهیم و برای مثال روی اینترنت (ppp-out2) قرار دهیم، فعال شده و دیگر با رولی که نوشتیم، تطبیق پیدا نمی کند.
حال ما می خواهیم بگوییم که اگر دو کلاینت وجود داشت؛ برای مثال اگر ۱۰.۸۰ و ۱۰.۸۱ بودند، آن ها را drop کن. ابتدا In Interface را روی حالت LAN قرار می دهیم که drop شود. حال برای قرار دادن دو آی پی، بهتر است لیستی را بسازیم.
ساخت لیست به قسمت Address Lists مربوط است. خیلی ساده مثبت (+) را می زنیم و نامی را برای آن انتخاب می کنیم؛ برای مثال limited-lan-clients. یک IP نیز به آن می دهیم: ۱۹۲.۱۶۸.۱۰.۸۰. سپس Apply می کنیم.
می توانیم برای IP بعدی، مجددأ مثبت (+) را بزنیم و یا Copy را بزنیم و تنها در قسمت Address، آی پی را تغییر دهیم و بنویسیم: ۱۹۲.۱۶۸.۱۰.۸۱. نام لیست چه باشد؟ همان نامی که قبلاً برای لیست انتخاب کرده بودیم.
اگر نام دیگری انتخاب کنیم، دیگر به همان لیست اول ما انتقال نیافته و اگر نام دیگری را انتخاب کنیم، لیست دیگری برایمان می سازد.سپس در نهایت Ok را می زنیم.
حال به ما نشان می دهد و می گوید که شما لیستی به نام limited-lan-clients ساختید که دو آدرس داخل آن وجود دارد؛ یکی ۸۰ و دیگری ۸۱. تایم یا زمانی که ایجاد شده اند و Timeout را نیز به ما نشان می دهد (ما بعداً در مورد Timeout، صحبت خواهیم کرد).
پس اکنون ما یک لیست ساختیم. حال در بالا و سمت راست صفحه گزینه ای تحت عنوان all وجود دارد که اگر آن را انتخاب کنیم، کل Address Listها را به ما نشان داده و بعد Address Listها را تک به تک نیز به ما نشان می دهد. چون ما یک Address List داریم، بنابراین چه all را بزنیم و چه خود Address list را انتخاب کنیم، هیچ فرقی نمی کند و در هر صورت هر دو را به ما نشان می دهد.
اما اگر Address List دیگری بسازیم، برای مثال limited-lan-server (یعنی سروری داریم که می خواهیم این مورد را محدود کنیم) و در قسمت Address نیز، آی پی ۱۹۲.۱۶۸.۱۰.۱۰۰ را وارد کنیم،
شاهد لیست دیگری خواهیم بود که داخل آن، تنها یک IP وجود دارد که شما می توانید به صورت نامحدود به آن IP بدهید.
حال در قسمتی که گفته بودیم، اگر client را بزنیم، تنها client و اگر server را بزنیم، تنها server را به ما نشان خواهد داد (مطابق تصویر زیر).
حال نحوه ی استفاده کردن از آن به چه شکلی است؟ ما می توانیم در قسمت Filter Rules، لیستمان را انتخاب کنیم. ابتدا ما Chain را روی حالت input قرار داده و پروتکل icmp را انتخاب کردیم و همچنین اینترفیسی که از LAN وارد شده باشد را drop می کند. حالا ما آی پی خودمان را از قسمت src.Addreess پاک می کنیم و مشاهده می کنیم که الان نیز در هر صورت، این اتفاق می افتد. حال به قسمت Advanced می رویم و لیست خودمان را انتخاب می کنیم.
ملاحظه می کنید که می توانید هم برای src و هم برای dst لیستی را انتخاب کنید. لیست ها در این دو بخش به شما نمایش داده می شوند و انتخاب هر کدام از لیست ها، بستگی به کاری دارد که شما قصد دارید آن را انجام دهید. حال ما فعلاً به Dst کاری نداریم و می خواهیم بگوییم که اگر src ما لیست های داخل client بودند، این موارد را drop کن؛ همان طور که در تصویر زیر مشاهده می کنید در حال drop کردن است.
اگر بگوییم که اگر src ما لیست های داخل کلاینت نبودند و not کنیم(!)، مشاهده می کنیم که پینگمان می آید. not شدن به چه معنا است؟ یعنی کلاینت هایی که ۸۰ و ۸۱ نیستند، drop شوند. not به معنای برعکس کردن است.
پس ما به همین راحتی، لیستی را به صورت دستی ساخته و تعدادی آی پی داخل آن قرار دادیم و در هر جایی که مد نظرمان باشد، می توانیم از آن استفاده کنیم؛ هر جایی به معنای کمبو باکس هایی است که به دو لیست ما مربوط باشند یا برای مثال در NAT هم می توانیم از این دو لیست استفاده کنیم. برای این کار باید به Advanced برویم؛ اما اکنون این سناریویی که در حال نوشتن آن هستیم، اصلاً به NAT مرتبط نیست و در رابطه با رول ها و قوانینی است که به فایروال مربوط است.
پس این پروسه ی ساخت یک لیست ساده و دستی بود. فقط موضوعی که وجود دارد، این است که ما مثال های ساده ای را برای شما می زنیم و در حال استفاده کردن از icmp برای تمام موارد هستیم؛ برای این که برای مثال بتوانیم کاربرد Address List را به شما بگوییم که به چه شکلی است و عملاً این سناریو، امنیتی را برای ما تأمین نمی کند که ما بخواهیم به این شکل، پیاده سازی کنیم.
هدف ما از ساخت این لیست، این است که بعداً تنها به آی پی های داخل کشور دسترسی بدهیم و خارج کشور را ببندیم. برای مثال یکی از کاربردهایش این مورد است یا برای NAT نیز می توانیم همین کار را انجام دهیم. پس این که مثال های ساده می زنیم به این دلیل است که چون شروع کارتان است، شما بتوانید بهتر متوجه کاربرد و مفاهیم شوید و هدف ما این است که بعدأ بتوانید، مثال های کاربردی مربوط به مبحث امنیت را به کمک آن ها پیاده سازی کنید.
ما در بخش های بعدی، دقیقاً از مطالبی که در این قسمت و قسمت قبلی مطرح کردیم به صورت خیلی اصولی و حرفه ای، رول هایی را ایجاد خواهیم کرد.
دیدگاه شما درباره این مقاله چیست ؟