در این پست با یکی از حملات لایه دوم ، تحت عنوان MAC Address Spoofing یا جعل MAC Address آشنا شده و روش مقابله با آن را یاد خواهیم گرفت. در این حمله مهاجم با تغییر MAC آدرس خود سعی می کند عملیات مورد نظرش را انجام دهد.به طور مثال به عکس زیر توجه کنید:
همانطور که در تصویر می بینید سوئیچ براساس جدول MAC خود می داند که از طریق پورت 1 خود به سرور متصل است. در این زمان مهاجم ، MAC آدرس خود را برابر سرور موجود در شبکه قرار می دهد و به سمت سوئیچ ترافیک ارسال می کند. سوئیچ با دریافت این ترافیک و بررسی MAC آدرس مبدا بسته ، فکر می کند که پورت متصل به سرور تغییر کرده در نتیجه جدول MAC خود را تغییر می دهد و از این پس ترافیکی که مقصد آن سرور است را روی پورت 2 ارسال می کند و این ترافیک تحویل مهاجم می شود و به این صورت مهاجم به اطلاعات ارسالی دیگر سیستم ها دسترسی پیدا می کند.جهت جلوگیری از این حمله می توانیم از Port Security استفاده کنیم.شما میتوانید برای مطالعه ویادگیری بیشتربه دوره ی آموزش نسوش و آموزش هک مراجعه کنید .
فایروال (Firewall) یک سیستم امنیتی است که برای محافظت از شبکه و سیستمها در برابر حملات سایبری، کنترل ترافیک ورودی و خروجی و جلوگیری از دسترسیهای غیرمجاز استفاده میشود. انواع فایروال شامل فایروال سختافزاری (مانند Cisco ASA و Palo Alto) و فایروال نرمافزاری (مانند Windows Firewall و iptables در لینوکس) است. در آموزش فایروال، روشهای Stateful Inspection، Packet Filtering و Proxy Firewall برای بررسی و کنترل بستههای داده بررسی میشود. از مزایای فایروال میتوان به افزایش امنیت و مدیریت ترافیک اشاره کرد، اما معایب آن شامل ایجاد تأخیر در ارتباطات و نیاز به تنظیمات دقیق است. فایروالها در شبکههای سازمانی و شخصی برای محافظت در برابر تهدیدات امنیتی نقش حیاتی دارند.
فایروال (Firewall) چیست و به زبان ساده چگونه کار می کند؟ چرا به آن دیواره آتش می گویند؟ فایروال چگونه کار می کند و چند نوع دارد؟ اگر بخواهیم به زبان ساده صحبت کنیم باید بگوییم بعد از سویچ در انواع تجهیزات شبکه ، واژه فایروال را می توانیم یکی از پرکاربردترین واژه ها در حوزه کامپیوتر و شبکه معرفی کنیم. خیلی اوقات از اینور و آنور این جملات آشنا را می شنویم که فایروالت رو عوض کن ، برای شبکه فایروال بگیر ، توی فایروال فلان رول رو اضافه کنید ، فایروالتون رو خاموش کنید و ... امروز در این مقاله می خواهیم به ساده ترین شکل ممکن و البته با بیان تجربیات خودم در مورد فایروال و سیر تا پیاز این نرم افزار یا سخت افزار با هم صحبت کنیم. با ما تا انتهای مقاله باشید.
فایروال که به انگلیسی از ترکیب دو کلمه Fire به معنی آتش و Wall به معنی دیوار تشکیل شده است ، به زبان فارسی به عنوان دیواره آتش ترجمه شده است. با توجه به اینکه ماهیت دیواره آتش جلوگیری از تهدیدات و به نوعی پاکسازی ترافیک شبکه است ، می توان چنین تفسیر کرد که این نامگذاری با توجه به ماهیت پاکسازی و ضدعفونی کننده آتش در تاریخ ، برگرفته ای از همین مفهوم باشد
به زبان ساده تر آتش پاکسازی می کند و ضدعفونی می کند و دیواره آتش در شبکه هم ترافیک آلوده و خطرناک را پاکسازی می کند. بد نیست بدانید که آتش نماد پاکی در ایران باستان هم بوده است. در ادامه این مقاله ما فرض را بر این می گذاریم که شما تعریف شبکه چیست را به خوبی می دانید و با مفاهیم شبکه آشنایی دارید.
در ابتدا چیزی به نام فایروال در انواع شبکه های کامپیوتری وجود نداشت. بعد از به وجود آمدن روترها یا مسیریاب های شبکه ، این نیاز احساس شد که بایستی بتوانیم ترافیک را در برخی شرایط محدود کنیم. در این شرایط چیزی به نام Access Rule یا ACL در روترها معرفی شدند که پایه و اساس خیلی از فایروال های امروزی هستند.
به زبان ساده تر آتش پاکسازی می کند و ضدعفونی می کند و دیواره آتش در شبکه هم ترافیک آلوده و خطرناک را پاکسازی می کند. بد نیست بدانید که آتش نماد پاکی در ایران باستان هم بوده است. در ادامه این مقاله ما فرض را بر این می گذاریم که شما تعریف شبکه چیست را به خوبی می دانید و با مفاهیم شبکه آشنایی دارید.
در ابتدا چیزی به نام فایروال در انواع شبکه های کامپیوتری وجود نداشت. بعد از به وجود آمدن روترها یا مسیریاب های شبکه ، این نیاز احساس شد که بایستی بتوانیم ترافیک را در برخی شرایط محدود کنیم. در این شرایط چیزی به نام Access Rule یا ACL در روترها معرفی شدند که پایه و اساس خیلی از فایروال های امروزی هستند.
Access Rule ها تعریف می کردند که چه آدرسهایی از کجا به کجا بتوانند بروند و یا نروند. مکانیزم کاری فایروال های اولیه هم بر همین اساس بود و فیلترینگی که بر روی ترافیک ها انجام می شد با عنوان فیلترینگ بسته یا Packet Filtering می توانست مسیر بسته های اطلاعاتی شبکه را تعیین کند.
اولین نسل از فایروال های شبکه در اواخر دهه 1980 میلادی به دنیا معرفی شدند. با توسعه و پیشرفته تکنولوژی های فایروال نسل های مختلفی از فایروال به دنیا معرفی شدند که در ادامه نسل های فایروال ها را با هم مرور می کنیم :
این نسل از فایروال ها به عنوان Generation 1 Virus هم شناخته می شوند. فایروال هایی که قبل از نسل یک فایروال ها کار می کردند صرفا بصورت فیلترینگ بسته های اطلاعاتی یا Packet Filtering کار می کردند.
Access Rule ها تعریف می کردند که چه آدرسهایی از کجا به کجا بتوانند بروند و یا نروند. مکانیزم کاری فایروال های اولیه هم بر همین اساس بود و فیلترینگی که بر روی ترافیک ها انجام می شد با عنوان فیلترینگ بسته یا Packet Filtering می توانست مسیر بسته های اطلاعاتی شبکه را تعیین کند.
اولین نسل از فایروال های شبکه در اواخر دهه 1980 میلادی به دنیا معرفی شدند. با توسعه و پیشرفته تکنولوژی های فایروال نسل های مختلفی از فایروال به دنیا معرفی شدند که در ادامه نسل های فایروال ها را با هم مرور می کنیم :
این نسل از فایروال ها به عنوان Generation 1 Virus هم شناخته می شوند. فایروال هایی که قبل از نسل یک فایروال ها کار می کردند صرفا بصورت فیلترینگ بسته های اطلاعاتی یا Packet Filtering کار می کردند.
این اولین نسلی از فایروال ها بود که جلوی ورود و خروج انواع بدافزار هایی مثل ویروس های کامپیوتری و تهدیدات بدافزاری را نیز می گرفت. این نوع فایروال ها انقلابی در صنعت امنیت سایبری ایجاد کردند و اولین نسل فایروال ها در اواخر دهه 1980 به بازار ارائه شدند.
این نسل از فایروال ها به عنوان Generation 2 Networks هم شناخته می شوند. این نوع فایروال ها در اواسط دهه 1990 معرفی شدند و با گسترش ارتباطات و اینترنت و به تبع آن گسترش حملات تحت شبکه و حملات اینترنتی به بازار معرفی شدند و با همین هدف ، یعنی جلوگیری از تهدیدات شبکه اینترنت و مدیریت امنیتی ترافیک اینترنت به بازار ارائه شدند.
این نسل از فایروال ها به عنوان Generation 3 Applications هم شناخته می شوند. در نسل سوم از فایروال ها ، اینبار هدف حملات هکرها و بدافزار نویس ها اپلیکیشن ها یا برنامه ها بودند و به تبع همین نوع تهدیدات ، مکانیزم های جلوگیری از حملات به اپلیکیشن ها یا نرم افزارهای کاربردی نیز به فایروال ها اضافه شدند . این نوع فایروال ها از اوایل سال 2000 به بازار معرفی شدند و در خودشان مکانیزم های سیستم های تشخیص نفوذ ( Intrusion Detection Systems ) یا IDS ها را برای اولین بار معرفی کردند.
این نسل از فایروال ها به عنوان Generation 4 Payload هم شناخته می شوند.حملات روز به روز پیشرفته تر می شوند ، در سال 2010 فایروال های نسل چهارم با محوریت مقابله با حملات رباتیک ( زامبی ها و ... ) طراحی شدند ، حملاتی که چند منظوره ، هدفمند ، ناشناخته و ترسناک بودند و به شدت در حال رشد بودند. محصولات ضد ربات در فایروال ها از این نسل اضافه شدند.
این نسل از فایروال ها به عنوان Generation 5 Mega هم شناخته می شوند. این نسل را می توان تقریبا نسل فعلی اکثر فایروال های امروزی دانست که از سال 2017 به دنیا معرفی شدند. هدف این نوع فایروال ها مقابله با حملات با مقیاس های بزرگ و چند بعدی بود . در حال حاضر اکثر مکانیزم های کاری فایروال های نسل های قبلی در این نوع فایروال ها وجود دارند.
هدف من این نیست مکانیزم پیچیده ای برای شما از نحوه کارکرد فایرولها ارائه کنم و سعی می کنم به ساده ترین شکل این روند را توضیح بدهم. فایروال یک ترافیک ورودی دارد و یک ترافیک خروجی که در اصطلاح به ورودی Inbound و به خروجی Outbound گفته می شود.
فایروال ها دارای پا یا در اصطلاح Leg هستند که یک قسمت از شبکه یا سیستم عامل را به قسمت دیگری مرتبط می کنند. به زبان ساده تر اتصالات به شبکه های مختلف است. فایروال ها ترافیک را تجزیه و تحلیل می کنند و بر اساس قوانینی که بر روی آنها تعریف شده است تصمیم می گیرند که اجازه عبور ترافیک مربوطه را بدهند یا ندهند.
طبیعی است که ترافیک شبکه دارای قالب Packet است. بنابراین زمانیکه فایروال می خواهد تصمیم گیری کند ، بعد از باز کردن بسته اطلاعاتی به آدرس مبدا ( Source ) و آدرس مقصد ( Destination ) و محتوای بسته اطلاعاتی ( Data ) توجه می کند و بر اساس آن تصمیم می گیرد که ترافیک مجاز را عبور بدهد یا آن را مسدود کند.
Broadcast، Unicast و Anycast سه روش ارسال داده در شبکههای کامپیوتری هستند. Unicast ارتباطی یکبهیک است که دادهها را از یک فرستنده به یک گیرنده مشخص ارسال میکند، مانند ارتباط بین یک کاربر و یک سرور وب. Broadcast یک ارتباط یکبههمه است که بستههای داده را به تمام دستگاههای موجود در یک شبکه ارسال میکند، مانند پخش پیامهای ARP در شبکه محلی (LAN). در آموزش شبکه، Anycast بهعنوان یک روش یکبهنزدیکترین شناخته میشود که دادهها را از یک فرستنده به نزدیکترین گره از یک گروه سرورها ارسال میکند، مانند DNS Anycast. این سه روش برای بهینهسازی ترافیک و عملکرد شبکههای مدرن استفاده میشوند.
حتما شما هم دوره های شبکه را در موسسات مختلف آموزشی پشت سر گذاشته اید و یا اگر اینطور نیست در دروس دانشگاهی خود به مفاهیمی از قبیل Unicast و Multicast و Broadcast برخورد کرده اید.به عنوان کسی که در حوزه شبکه فعالیت می کند بسیار مهم است که شما تمامی این مفاهیم را به خوبی درک کنید. سر کلاس های درسی که بنده برگزار می کنم این نوع ارتباطات و این مفاهمی را به ارتباطات N به N تشبیه می کنم و برای درک بهتر عنوان مطلب را انواع ارتباطات N به N مطرح می کنم. بنابراین با همین درک اولیه به سراغ تعریف این مفاهیم می پردازیم :
در ساختار ارتباطات N به N به Unicast در اصطلاح ارتباط یک به یک گفته می شود. در این نوع ارتباطات یک کامپیوتر به عنوان فرستنده و گیرنده و کامپیوتر دیگر نیر به عنوان گیرنده فرستنده و گیرنده با همدیگر ارتباط برقرار می کنند و بسته های داده خود را رد و بدل می کنند.
برای مثال زمانیکه شما یک صفحه وب سایت را باز می کنید شما به یک آدرس IP که مربوط به وب سایت است اطلاعات را ارسال می کند و از آن اطلاعات را دریافت می کنید ، حتی دانلود کردن یک فایل از یک فایل سرور هم نوعی از ارتباطات یک به یک محسوب می شود. در خصوص مفاهیم Broadcast و unicast و ... در دوره آموزش نتورک پلاس بصورت مفصل صحبت شده است.
برای ساده تر شدن موضوع فرض کنید یک تلفن دارید و یک شماره تلفن ، شما این شماره را می گیرید و با شخص مورد نظر تماس برقرار می کنید. این ارتباط بین شما و شخص صاحب خط برقرار می شود و به آن یک به یک گفته می شود زیرا کسی غیر از شما دو نفر از محتویات تماس با خبر نیست. مثال تلفن بهترین مثال برای شناخت بهتر موضوع Unicast است.
در ساختار ارتباطات N به N به Multicast در اصطلاح ارتباط یک به چند گفته می شود. در این نوع ارتباطات یک کامپیوتر ارتباط خود را بصورت همزمان با چندین کامپیوتر دیگر برقرار می کند و شروع به ارسال و دریافت داده می کند. در واقع زمانیکه صحبت از Multicast می شود منظور گروهی از کامپیوترهای مشخص هستند که یک کامپیوتر با آنها ارتباط برقرار کرده است.
در Multicast اطلاعات صرفا به گروه یا مجموعه ای منتقل می شود که در آن گروه قرار دارند و اطلاعات به همه کامپیوترهای شبکه منتقل نخواهد شد. دستگاه هایی که می خواهند اطلاعات مربوط به Multicast را دریافت کنند بایستی به عضویت این گروه Multicast در بیایند. اگر کمی با کلاس های آدرس IP آشنایی داشته باشید حتما توجه کرده اید که IPv4 Class D برای استفاده در موارد Multicasting مورد استفاده قرار می گیرد.
برای مثال شما در سرویس هایی مانند WDS شرکت مایکروسافت از این روش Multicasting برای نصب ویندوزها تحت شبکه استفاده می کنید.برای راحت تر شدن درک موضوع فرض کنید یک تلفن دارید که قابلیت کنفرانس شدن دارد ، شما ابتدا افرادی که می خواهید در این کنفرانس باشند را شماره گیری می کند و هر کس که در این کنفرانس قرار دارد صدای افراد دیگر را خواهد شنید و افرادی که نمی توانند صدا را دریافت کنند بایستی به عضویت این گروه کنفرانس در بیایند تا بتوانند صدا را دریافت کنند این بهترین مثال برای درک مفهوم Multicasting یا ارتباط یک به چند است.
در ساختار ارتباطات N به N به Broadcast در اصطلاح ارتباط یک به همه گفته می شود. در این نوع ارتباطات یک کامپیوتر ارتباط خود را بصورت همزمان با همه کامپیوترهای موجود در شبکه برقرار می کند و شروع به دریافت و ارسال داده می کند. در واقع زمانیکه صحبت از Broadcast می شود منظور همه کامپیوترهای موجود در شبکه هستند بدون استثناء ، یک کامپیوتر زمانیکه اطلاعات خود را Broadcast می کند تمامی کامپیوترهای شبکه این اطلاعات را دریافت می کنند.
در ساختار ارتباطات Broadcast یک کامپیوتر تنها یکبار اطلاعات را Broadcast می کند و در این لحظه اگر کامپیوتری روشن باشد این اطلاعات را در همان یکبار دریافت خواهد کرد. سویچ ها در شبکه به دلیل اینکه در لایه دوم کار می کنند بسته های اطلاعاتی Broadcast را از خود عبور می دهند اما روترها یا همان مسیریاب های شبکه بصورت پیشفرض بسته های اطلاعاتی Broadcast را از خود عبور نمی دهند و آنها را در اصطلاح فنی Drop می کنند.
به عبارت دیگر Router ها اجازه عبور ترافیک Broadcast از یک Segment از شبکه LAN شما به Segment دیگر را نمی دهند. زمانیکه می خواهیم در خصوص مثالی درباره Broadcast صحبت کنیم من همیشه می گویم فرض کنید در یک سالن بزرگ فریاد می زنید محمد نصیری ... همه افراد سالن صدای شما را می شنوند ، در اینجا شخصی که فریاد زده است اطلاعات خود را Broadcast کرده است. دقت کنید که خانم ها معمولا سیستم Broadcasting قدرتمندی دارند کافیست یک مطلب محرمانه را به آنها بگویید و تاکید کنید که به کسی نگویند این مطلب قطعا Broadcast خواهد شد.
در ساختار ارتباطات N به N به Anycast در اصطلاح ارتباط یک به نزدیکترین گفته می شود. در واقع تمامی مواردی که تا کنون بررسی کردیم در مفاهیم مسیریابی مورد استفاده قرار می گیرند و Anycast هم به همین شکل است. Anycast در واقع یک تکنیک شبکه ای است که یک آدرس IP از مسیرهای مختلفی در شبکه قابل دستیابی می شود.
بر اساس الگوریتم های مسیریابی که در شبکه ها استفاده می شود تصمیم گیری می شود که درخواست کاربر از کدام مسیر بهتر است برود تا به مقصد مورد نظر برسد.Anycast دارای یک سری مزابا می باشد ، مزیت اصلی این سرویس این است که کاربران همیشه به نزدیکترین سرویس در دسترس متصل خواهند شد چیزی که به عینه در ساختار DNS مشاهده می کنید.
اینکار باعث کاهش زمان دسترسی به اطلاعات می شود و همچنین باعث ایجاد شدن Load Balancing در شبکه نیز می شود. مزیت دوم این سرویس سادگی پیاده سازی آن است ، شما بدون اینکه دغدغه محل قرارگرفتن سرور DNS خود را داشته باشید با استفاده فقط ای یک آدرس IP می توانید چندین سرویس DNS را دسترسی پیدا کنید.
در مورد Geocast توضیحات زیادی نمی توانم بدهم چون بیشتر از اینکه به این مطلب ارتباط داشته باشد به مطلب مسیریابی مرتبط است ، در واقع Geo مخفف کلمه Geography است و Geocast به ارسال اطلاعات به گروهی از شبکه های مقصد می باشد که با استفاده از موقعیت جغرافیایی شناسایی می شوند. در واقع Geocast یک حالت ویژه از Multicast است که با استفاده از پروتکل های مسیریابی برای شبکه های موبایل و ad-hoc پیاده سازی می شود. امیدوارم مورد توجه شما قرار گرفته باشد.