390 likes | 620 Views
فایروال در میکروتیک استاد نادری محسن بیاتانی 8412502 دانشگاه قم 1388.3.14. مقدمه:. میکروتیک چیست؟
E N D
فایروال در میکروتیک استاد نادری محسن بیاتانی 8412502 دانشگاه قم 1388.3.14
مقدمه: • میکروتیک چیست؟ • میکروتیک نام یک سیستم عامل است و در واقع رابطی است به کرنل لینوکس که شرکت میکروتیک در آن فقط سرویس های مربوط به شبکه و آنچه که در صفحات بعد، در این سیستم عامل معرفی می شود راه اندازی کرده است. • پس میکروتیک سیستمی است بر پایه کرنل لینوکس که فقط سرویس های شبکه روی آن راه اندازی شده.
معرفی دستگاه میکروتیک: • شرکت میکروتیک محصول خود را در دو قالب ارایه کرده: • Router Board: • در این محصول Hardware و OS هر دو در قالب یک دستگاه تحویل مشتری می شود. • در این حالت با توجه به تعداد اینترفیس و نوع اینترفیس های مورد نیاز مدل دستگاه تغییر می کند. • RouterOS: • در این حالت فقط OS یا همان سیستم عامل از شرکت خریداری می شود و باید بر روی یک PC نصب شود. قابل ذکر است که سیستم مورد نیاز در حد P3 هم کافیست و هارد مورد استفاده حتما باید IDE باشد.
محیط کار میکروتیک: • محیط کار میکروتیک Command Base می باشد.
شرکت میکروتیک برای سهولت کار، نرم افزار ساده ای به نام WinBox طراحی کرده که از طریق ویندوز به سرور میکروتیک کانکت شده و در یک محیط ساده گرافیکی سرویس های میکروتیک را ارایه می کند.
سرویس هایی که در میکروتیک ارایه می شود: • در زیر بعضی از این سرویس ها با عکس نمایش داده شده.
بعضی ازسرویس های مهم میکروتیک: • 1- در قسمت interface با توجه به تصاویر سرویس هایی از قبیل: • vlanning, tunnling, ppp, pppoE, Bridgو ... وجود دارد. • 2-Routed و Routing: • به وسیله این سرویس می توانیم از سرویس های مربوط به route استفاده کنیم. • 3- Firewall • 4- DNS • 5-Proxy server • 6-DHCP • 7- AAA : • AtunticationAutorizationAcounting • این سرویس با نام Hotspot در میکروتیک معرفی شده. • 8- QOS • Quality of service که در گزینه ای به نام Qeueues بیان شده است.
نقاط ضعف و قدرت میکروتیک: • - می توان قدرت میکروتیک را در سرویس QOS آن دانست که به طبع آن Firewall آن هم بسیار قوی می باشد و گزینه های بسیار جالبی دارد. • - Hotspot میکروتیک که ارایه دهنده سرویس AAA می باشد نیز بسیار قوی عمل کرده است. • - سرویس DNS و cash میکروتیک را می توان از نقاط ضعف میکروتیک به شمار آورد.
آنچه در این پروژه مورد بررسی قرار میگیرد: • این پروژه فقط به بررسی بسیاری از گزینه های FireWall می پردازد که در صورت علاقه مند بودن به اطلاع از سایر سرویس های میکروتیک به لینک هایی که در پایان اشاره خواهد شد رجوع فرمایید. درضمن برای سهولت کار در این پروژه، این سرویس با استفاده از WinBox بیان می شود.
مقدمه ای کوچک در رابطه با Firewall: • فایروال چیست؟ • فایروال یک سیستمی است متشکل از حداقل دو اینترفیس مرتبط با شبکه که حداقل دو شبکه یا دو قسمت از شبکه را به یکدیگر متصل می کند و وظیفه اصلی آن چک کردن این ارتباط با توجه به استانداردها و قوانین می باشد. • حالا ما می توانیم یک سری قوانین دیگر با توجه به شرایط شبکه خودمان در قوانین فایروال اضافه کنیم.
فایروال از چه قسمت هایی تشکیل می شود؟ • فایروال از دو قسمت کلی تشکیل می شود: • 1- قسمتی که در آن چک می کند که کدام packet با rule ما match می شود. • 2- قسمتی که در آن عملی که مد نظرمان است روی packet اعمال می شود.(Action)
چند قانون برای نوشتن قوانین در فایروال ها: • برای نوشتن دستورات در فایروال ها یکسری قوانین وجود دارد که به بعضی از آن ها اشاره می شود: • 1- همواره عبور هر بسته ای ممنوع می باشد مگر اینکه خلاف آن در دستورات ذکر شده باشد. • 2- هر دستوری که بالاتر باشد نسبت به دستورات زیرین خود ارجحیت دارد. • 3- اگر یک قانون را بتوان با یک تعداد مساوی از دستورات permit یا denay نوشت آن دستورات را با دستورات permit می نویسیم.
نکته ای درمورد نوشتن دستورات در میکروتیک: • برای پیاده سازی قانون اول در نوشتن دستورات همواره در پایان تمام دستورات یک دستور Denay Any وجود دارد که در خیلی از سیستم ها مانند تجهیزات سیسکو این دستور به طور پیش فرض وجود دارد اما در میکروتیک این دستور وجود ندارد و در پایان دستورات خود admin باید این دستور را وارد کند.
گزینه های موجود در Firewall: 1- Filter Rules 2- NAT 3-Mangle 4- Service Port 5- Connection 6- Address Lists
Mangle: • برای توضیح ابتدا از mangle شروع می کنم تا در قسمت Filter rules درک برخی مسایل آسانتر باشد. • به طور کل در قسمتMangle ما یکسری از packet ها را طبق یکسری خصوصیات علامت گذاری می کنیم. • برای ایجاد یک رول جدید دکمه + را می زنیم.
General • :Chain • هر پکت در روتر سه حالت می تواند داشته باشد: • 1- input: پکت هایی که از یکی از اینترفیس های میکروتیک قصد ورود به سیستم را دارند. • 2- forward: پکت هایی که قصد عبور از سیستم را دارند. • 3- output: پکت هایی که از هر کدام از اینترفیس های سیستم قصد خروج دارند. • دو گزینه دیگر نیز در chain های قسمت mangle به نام های prerouting و postrouting دیده می شود که چون در این قسمت قرار است یکسری از پکت ها بر حسب یک ویژگی خاص برچسب بخورند با این دو گزینه پکتهایی که قصد ورود یا خروج از قسمت روتر میکروتیک را دارند برچسب زده می شوند. که این دو قسمت در سرویس ip routes کاربرد فراوانی دارد.
طبقه بندی ترافیک بر اساس موارد زیر: • Source ip Address: • Destination ip address: • در این قسمت می توانیم با استفاده از subnet که با عدد بعد از / بیان می شود یک دسته از آدرس ها را مشخص کرد.
Protocol: • در این قسمت می توانیم بر اساس یک پورت یا یکسری port number ، پروتکل مورد نظر را انتخاب کنیم. • دقت شود که در اینجا یکسری پروتکلهای کلی نام برده شده که اگر بجز اینها پروتکل دیگری مد نظرتان است باید نوع آن یعنی TCP یا UDP بودن آن را مشخص کرده و سپس با استفاده از دو گزینه پایین بنا بر احتیاج, شماره پورت مورد نظر را در source port یا destination port معین کنیم.
شبکه های P2P: • با این گزینه می توان شبکه های P2P را انتخاب کرد.
In interface : • Out interface: • با این دو گزینه می توانیم بسته هایی که قصد ورود یا خروج از اینترفیس های معین شده را دارند انتخاب کنیم.
Packet mark: • Connection mark: • Routing mark: • در قسمت Action ها بیشتر با این سه گزینه آشنا می شویم. • اما به طور کلی ما می توانیم یک سری پکتها یا ... را مارک کنیم و سپس در این قسمت ها از موارد مارک شده استفاده کنیم. • مثلا در شکل مقابل Admin پکتهای مربوط به هر قسمت از یک شرکت را با نام هر قسمت مارک کرده است.
Connection State: Connection Type: همان طور که در شکل دیده می شود می توان با توجه به وضعیت یک connection یا نوع آن، موضوع مورد نظر را انتخاب کرد.
Advance • توضیح این قسمت را خیلی کلی تر و سریعتر انجام می دهم و سعی می کنم فقط بعضی از موارد مبهم را توضیح دهم. • Source address list & destinatin list در قسمت action توضیح داده می شود که ما می توانیم یکسری address list ها را که قبلا مشخص کرده ایم در اینجا انتخاب کنیم. • در content می توانیم پکتهایی را که درمحتوای آنها کلمه ای که مورد نظرمان است وجود دارد را انتخاب کنیم. • TOS: • (Type Of Service) • در این قسمت می توانیم بر اساس مولفه TOS در هدر لایه 3 پکتهای مورد نظر را انتخاب کنیم.
Action • در این قسمت عملیاتی که قرار است روی بسته هایی که انتخاب کردیم انجام دهیم را مشخص می کنیم. • Accept: • از معنای آن مشخص است که شرایطی که در TAB های قبل مشخص کردیم را تایید می کند.
Mark packet& connection: • یک توضیح کوتاه درباره این دو: • هرگاه یک ارتباط با یک پروتکل مانند صفحات وب یا ftp برقرار می شود یک connection ایجاد می شود. • در میکروتیک و در خیلی از سیستم های دیگر QOS با پکت کار می کند. پس برای اعمال QOS باید پکت های یک connection را مارک کنیم. • مثلا برای اولویت دهی یا عملیاتی بر روی پکت ها باید ابتدا یک connection را انتخاب یا مارک کنیم سپس پکتهای مربوط به آن connection را مارک کنیم. که این دو گزینه برای همین کار آمده است.
Markrouting: • با این گزینه می توانیم بسته هایی که قرار است مسیردهی یا route شوند را مارک کنیم. • ChangeMSS: • برای تغییر MTU می توان از این گزینه استفاده کرد. درضمن قابل ذکر است که مقدار MSS همواره 40 واحد کمتر از MTU است. • ChangeTOS: • (Type Of Service) • TOS را در هدر لایه 3 تغییر می دهد. • ChangeTTL: • میزان TTL را تغییر می دهد. یکی از کاربردهای آن این است که مثلا با تغییر TTL سرور، نوع سیستم عامل سرور را تغییر دهیم. همانطور که می دانید بیشتر نرم افزارهایی که سیستم عامل دستگاههای متصل به شبکه را تشخیص می دهند از روی TTL پاسخگویی آنها این کار را انجام می دهند.
Passthrough: یعنی از این رول عبور کن. Log: از مواردی که انتخاب کرده ایم با مشخصه ای که در LofPerfix می نویسیم log برداری می کند.
Jump: • با این گزینه می توانیم انتخاب خود را به یکی از 5 گزینه ای که در Jupm Target وجود دارد ارجاع دهیم. یکی از موارد استفاده این action برای فرستادن user ها به سمت سرویس hotspot برای احراز هویت می باشد. • Return: • به ابتدای دستور برگردانده می شود.
Add source address & destination • :address to address list • با این گزینه می توانیم یک سری selection های مختلف را که انتخاب کرده ایم، داخل یک address list با نامی که در Address list می دهیم بریزیم و در قسمت Timeoute مدت زمانی را که قرار است در این address list بماند را مشخص می کنیم. • برای مثال یکی از کاربردهای آن در این است که مثلا می خواهیم سیستم هایی که به پورت شماره 23 درخواست می دهند به مدت 5 دقیقه block شوند. با این گزینه اسامی آنها را به مدت 5 دقیقه در یک Address list قرار داده و در یک rule دیگر در filtering این آدرس لیست را block می کنیم.
Filter Rule: • یکی از قابلیت های فایروال ایجاد filtering است. • Filtering یعنی اینکه در مورد عبور بعضی از پکتها تصمیم گیری کنیم. • با زدن دکمه + یک rule جدید ایجاد می کنیم.
موارد موجود در filter rule تا حدود زیادی مشابه موارد ذکر شده در mangle می باشد که در اینجا فقط به تفاوت های آن اشاره خواهد شد. • 1- در صفحه اول در قسمت chain گزینه های preroute و postroute وجود ندارد واین به دلیل این است که این دو گزینه در mangle برای مارک کردن استفاده می شد و در filtering دیگر مارک کردن وجود ندارد و قرار است از مواردیکه در mangle مارک شده اند در اینجا استفاده کنیم. در این صفحه و صفحات بعد، دیگر تفاوتی وجود ندارد مگر در قسمت action.
2- تفاوت هایی که درقسمت action وجود دارد حذف شدن • markconnection & packet & route • و اضافه شدن dropوreject می باشد. • قسمت های حذف شده به این دلیل است که دیگر در filtering قرار نیست مارک کنیم بلکه قرار است از مارک شده ها استفاده کنیم. • Drop: • بسته های انتخاب شده دور ریخته می شوند. • Reject: • همان کار Drop را انجام می دهد با این تفاوت که بعد از دور ریختن بسته، یک پیغام هم به فرستنده درخواست می فرستد. در ضمن متن پیغام فرستاده شده نیز قابل انتخاب است.
سخن پایانی: • سیستم عامل میکروتیک در مواردی که درابتدا ذکر شد بسیار قوی کار کرده و به علاقه مندان و کسانی که دنبال یک Bandwith Control خوب می گردند قسمت Qeueues این سیستم عامل را پیشنهاد می کنم. • اما به عنوان جمله پایانی باید بگویم که در نهایت برای انجام کارهای بزرگ و دقیق تر باید به سراغ لینوکس و سرویس های مربوط به شبکه آن بروید و میکروتیک تنها یک محیط آسان برای استفاده و آشنایی با لینوکس را برای ما فراهم آورده است.
برای آشنایی بیشتر: • برای آشنایی بیشتر با این سیستم عامل و دیگر سرویس های آن می توانید از سایت های www.persianadmins.com و www.mikrotik.com یا گزینه Manual در خود صفحه Winbox پس از برقراری ارتباط با سرور میکروتیک، استفاده کنید.
منابع: • 1- www.mikrotik.com • 2- www.cisco.com • 3- www.persianadmins.com • 4- www.persiannetworks.com
Contact me: • Email: m.bayatani@yahoo.com