تا چه میزان امنیت و صحت Data  ارسالی و دریافتی برای شما  اهمیت دارد؟!!

این سوالی هست که مدیر IT  هر سازمانی باید از خودش بپرسد.

آیا فقط باید اطمینان داشته باشیم که Data  ارسالی و دریافتی سازمان امن و Secure  باشد و هیچ Attacker  ای نتواند به این اطلاعات دستیابی داشته باشد؟!!!

آیا فقط با Encrypt  کردن بسته ها میتوان امنیت کامل برقرار کرد؟!!

اگر Attacker  محتوای بسته ها را دستکاری کرد چه !!!

یا بسته ها از طرف کسی به دست ما برسد که هویتش برای ما نا معلوم باشد !!!!

دنیای اینترنت ، دنیای امنی نیست علاوه بر این که دستگاه های Trust  در آن قرار دارد افرادی هستند که قصد خرابکاری و حتی دستیابی به اطلاعات شما  و سو استفاده از آن را دارند.

مانند Sniff  کردن بسته های Telnet  و بدست آوردن Username  و Password  دستگاه.

یا حتی سو استفاده های که در هنگام پرداخت های اینترنتی صورت میگیرد.

سازمانی هست که ادعا دارد که امنیت Data  براشون اهمیت ندارد و اطلاعات با ارزشی ندارند که قصد امن کردن آن را داشته باشند پس نیازی به امنیت نداریم!!

این کاملا اشتباه است به چند دلیل

یک اینکه همیشه Attacker  ها قصد دستیابی به اطلاعات شما را ندارند بلکه قصد خرابکاری دارند و ممکن است Worm و Trojan را در طول مسیر به بسته های شما به جای Data  اصلی قرار دهند و شبکه شما و حتی سرور ها و کامپیوتر های شخصی شما را آلوده کنند.

دو اینکه ممکن است Attacker  با تولید بسته های جعلی و با حجم زیاد باعث ایجاد  Congestion در شبکه  و اشغال شدن CPU  دستگاه ها و پهنای باند شبکه شوند مانند Attack  های از خانواده DOS  و DDOS

سه اینکه Attacker  به قلب شبکه شما بزند و سرور های شما را به دلیل کانفیگ ضعیف (مانند کانفیگ ضعیف در نوشتن دستورات NAT) و رعایت نکردن مسائل امنیتی و نبود فایروال از کار بندازد.

چهار اینکه دستگاه های داخل LAN  شما را مانند Router  یا Switch  ها را  از کار بندازد و کسب و کار شما را خراب کند.

و به هزاران دلیل دیگر ما نیاز به ایجاد امنیت همه جانبه داریم و وقتی حرف از امنیت زده می شود منظور فقط امنیت Data  نیست.

به راحتی می توان با Attack  های از خانواده DOS  و DDOS  مانند Syn Flood  یا  Smurfing Attack و……  CPU  و حافظه سرورها و روتر ها را اشغال کرد و از کار انداخت و حتی پهنای باند آن سازمان را Congest  کرد و  با یک تیر چند نشون را بزنیم.

نکته : امنیت مطلق و ۱۰۰  درصدی وجود ندارد.

امنیت در دنیای WAN  و اینترنت از اهمیت فوق العاده ای برخوردار است و همیشه رعایت کردن چهار ضلع امنیت یعنی :

Confidentiality یا محرامنگی اطلاعات که با Encryption می توان پیاده سازی کرد.

Integrity  یا صحت Data  یعنی اطمینان از دستکاری نشدن بسته در طول میسر ( چیزی که من دریافت میکنم همان چیزی است که طرف مقابل ارسال کرده)

Authentication یا احراز هویت طرف مقابل

Non-Repudiation یا  زیر حرف زدن ( مانند امضا می مانند، که بعدا نتواند ادعا کند که بسته را او ارسال نکرده)

 

امروزه رعایت هر چهار مورد  بالا به بهترین نحو نیز تضمین صد در صدی امنیت را نمی دهد ولی رعایت کردن آن واجب می باشد.

IPsec  به همراه پروتکل های AH  و ESP  و به کارگیری چندین الگوریتم مختلف  هر ۴ ویژگی بالا را در WAN  به ما میدهد و به خوبی در تمامی Vendor  ها کار میکند ولی یک نکته، همیشه باید امنیت را در WAN برقرار کنیم و نیازی به امنیت در LAN  نیست؟!!

 

Hardening  کردن چیست؟!

یک قدم قبل از امن کردن Data  باید دستگاه های داخل شبکه را Hardening  کرد و اطمینان داشته باشیم که Attack  ای به خود دستگاه صورت نمی گیرد.

برای Hardening  کردن باید Control Plane  و Management Plane  دستگاه را امن کرد.

یعنی چه؟!

Management Plane  یعنی SSH  ، Telnet  ، SNMP  ،Netflow  و…..

ما باید این پروتکل هاو راه های ارتباطی با دستگاه را امن کنیم به عنوان مثال همیشه پورت Management در دستگاه را جدا از پورت های ترافیک شبکه قرار دهیم یعنی روی دیگر پورت ها پروتکل های Management  ای را ببندیم که به این روش Out of Band  گفته میشود و اگر ترافیک Management  و ترافیک عادی کامپیوتر ها ازیک مسیر Physical  باشد که اصلا پیشنهاد نمی شود  In band  گفته می شود.

یا از پروتکل های ذاتا امن مثل SSH  به جای Telnet  استفاده کرد.

یا از روش های مانند  Login Block-for  در سیسکو استفاده کرد برای جلوگیری از Brute Force  که به عنوان مثال اگر Attacker  به صورت متوالی و در بازه زمانی مشخص تلاش های پی در پی ناموفق برای وصل شدن به دستگاه را کرد (Telnet or SSH….)،دستگاه IP  آن را به عنوان مثال ۵  دقیقه داخل یک ACL  قرار دهد و ترافیک های آن را دور بریزد.

برای امن کرده Control Plane  هم باید از روش های CoPP  و CPPr  استفاده کرد.

یک سری از Process  ها در سیسکو توسط CEF  پردازش نمی شوند و مستقیما CPU  را درگیر میکنند مانند ARP  یا پروتکل های Management  ای و یا حتی Routing Protocol  ها و اگر هر چه میزان این ترافیک ها زیاد باشد ممکن است CPU دستگاه را اشغال کند.

و اگر Attacker  به دستگاه DOS  یا DDOS  بزند که یکی از پیغام های بالا باشد باعث درگیر شدن CPU  می شود و ممکن است کارایی دستگاه را ازبین ببرد و ما باید توسط Control Plane Security و به روش های CoPP  و CPPr  از این اتفاق جلوگیری کنیم.

ما تو این مقاله قصد تدریسی IPsec  یا Data Plane Security و Hardening  کردن دستگاه های شبکه یا همان Control Plane Security  و Management Plane Security را نداریم.

یک سوال

انقدر که ما برایمان امنیت Data  در دنیای اینترنت و WAN  اهمیت دارد در LAN  دارد؟!!!

کلی از بسته های Broadcast  در LAN  وجود دارد مانند ARP  یا  DHCP Discover  که در زمان ایجاد این پروتکل ها به فکر امنیت آنها نبودند.

Data  های ما از کامپیوتر تولید میشود از ارتباط های لایه دوی و سوییچ ها گذشته به روتر میرسد حالا که می خواهد قدم به دنیای بیرون و اینترنت بگذارد می توان با IPSec  امن کرد ولی این بسته در LAN یعنی از کامپیوتر تا روتر به صورت Plain text  یا همان Clear Text  آمده و اگر Attacker  بتواند قدم در LAN  ما بگذارد ( می تواند فیزیکی باشد و با حتی با زدن VPN  وارد شبکه ما شود) می تواند انواع خطر ها را برای ما ایجاد کند.

تو این مقاله می خواهیم LAN Security  را بررسی کنیم.

مهم ترین خطر های که در LAN  ما را تهدید می کنند عبارتند از:

 

Vlan Hopping

ARP Poisoning یا ARP Spoofing

DHCP Spoofing

DHCP Starvation

MAC Flood

تهدیدات مربوط به STP

Broadcast Flood

تهدیدات مربوط به VTP

.

.

راه های زیادی برای جلوگیری از این تهدیدات وجود دارد که با هم بررسی می کنیم.

Vlan Hopping  را برای دسترسی غیر مجاز انجام می دهند به عنوان مثال Attacker  خود را در Vlan  ای که در آن قرار ندارد جا می زند و دسترسی کامپیوتر های آن VLan  را صاحب می شود.

برای رهایی از Vlan Hopping  پیشنهاد میشود در اینترفیس Trunk سوییچ، Native Vlan  را عددی قرار دهیم که کاملا بی استفاده است و کسی ازش خبر ندارد.یا حتی می توان سوییچ را مجبور به زدن Tag  حتی برای Native Vlan  کرد.

یکی از مهمترین Attack  های لایه دویی Spoof  کردن است مانند ARP Spoofing.

کامپیوتر ما چه زمانیARP  می زند؟!

خب مشخص است ، هنگام زدن هدر Ethernet  نیاز به آدرس مک مقصد دارد و هر وقت آدرس MAC  مقصد را نداشته باشد به کمک آدرس IP  مقصد آن را ARP  می زند(Who has …..?)

بسته ی ARP  به صورت زیر است:

ARP Request  از نوع Broadcast  است یعنی در هدر Ethernet  بسته ی ARP  قسمت DST MAC  آن Broadcast  یا ffff.ffff.ffff  است.

و اگر این بسته به سوییچ برسد آن را Flood  میکند روی تمام اینترفیس های که در Vlan  ارسال کننده هستند.

خب این یعنی خطر یعنی هر وقت سوییچ بسته ها را Flood  کند روی اینترفیس ها باید احساس خطر کرد زیرا این بسته ها دست همه میرسد ، حتی Attacker

 

حالا Attacker  آدرس Mac  خود را در بسته ARP Reply   یا ARP Response  قرار داده و به صورت Unicast  می فرستد سمت کسی که ARP Request  زده و ARP Cache  آن را با Record  اشتباه پر می کند و از این به بعد بسته های ارسالی این کامپیوتر با DST Mac  کامپیوتر Attacker  پر می شود و سوییچ تحویل آن می دهد.

نکته :

می دانیم هر کامپیوتر قصد رفتن به آدرسی   IP  خارج از Network  خود داشته باشد باید بسته را تحویل Gateway  دهد و راه رسیدن به روتر در لایه دو این است که کامپیوتر باید در Dst Mac  هدر Ethernet  آدرس مک روتر یا Gatewat  را قرار دهد و اگر در ARP Cache  خود ندارد ARP  بزند.

حال فرض کنید کامپیوتر شما ARP  بزند تا آدرس مک Gateway  را بدست بیاورد و Attacker  آدرس مک خود را به جای Gateway  به شما دهد !!!!!

و جالب تر آنجاست که Attacker  با یک کارت شبکه خود بسته ها را به سمت Gateway  واقعی ارسال کند و بین شما و روتر قرار می گیرد (Man In The Middle) و کاملا Silent  می باشد زیرا شما اصلا متوجه نمی شوید زیرا بسته های شما به اینترنت می روند ولی از درگاه Attacker  گذشته است و هر بلایی می تواند سر بسته های شما بیاورد و یا حتی به اطلاعات مهمی دست پیدا کند.

یک سوال

Attacker  باید منتظر بشیند تا یک کامپیوتر ARP Request  بزند؟؟!!

مگر مشخص هست که چه زمانی ARP  می زند؟؟!!

کامپیوتر یا گوشی های ما در مواقع دیگر نیز ARP  میزنند که معروف به gARP  یا Gratuitous ARP میباشد.

شاید  براتون اتفاق افتاده که وقتی IP  به صورت Static  روی کارت شبکه کامپیوتر خود قرار می دهید بعضی اوقات ویندوز پیغام Duplicate Address  به شما می هد.

براتون سوال نشده از کجا متوجه میشود؟؟!!

gARP  در مواقع زیر زده میشود.

تغییر IP کارت شبکه ( gARP  میزند و آدرس لایه ۳ خودش را ARP  می کند تا مطمئن شود که کامپیوتر دیگری آن IP  را نداشته باشد  اگر کسی Reply  ندهد مطمئن میشود که آن IP  را کسی ندارد در شبکه اگر کسی جواب بدهد به شما پیغام Duplicate Address می دهد)

تغییر Mac address کارت شبکه.

یا حتی با Disable  و Enable  کردن کارت شبکه.

حالا کار Attacker  خیلی ساده شد.

فقط کافی است Attacker  بسته gARP  بزند و بگه این  IP  (آدرس  IP کامپیوتری که بر روی آن  قصد Attack  داریم )آدرس مک آن عوض شده ( به صورت جعلی) و کامپیوتر داخل شبکه ARP Cache  خود را Update  میکنند به مقدار جعلی و اشتباه و آدرس مک Attacker  را جایگزین آدرس مک صحیح می کند.

مثلا اگر کامپیوتر ها آدرس مک Gateway  یا کامپیوتر های دیگر را داشته باشند Attacker  بسته gARP  می زند Spoof  میکند و خود را جای دیگران جا می زند و ARP Cache  بقیه را Poisoned میکند. به همین سادگی

برای امتحان می توانید توی خانه یا مهمانی روی گوشی خود یا کامپیوتر خود IP خود را به صورت دستی IP روتر یا Gateway  قرار دهید تا تمام بسته ها سمت شما بیاید و اینترنت همه دچار اختلال شود.

در سوییچ ها ، روتر ها و حتی کامپیوتر ها می توان کاری کرد که نه gARP  بزنند و نه gARP  را قبول کنند ولی به هیچ وجه توصیه نمی شود زیرا مشکلات خود را به وجود می آورد.

سیسکو برای جلوگیری از این تهدیدات اساسی از روش DAI  یا Dynamic ARP Inspection استفاده میکند که به کمک یک جدول در Switch  این مشکل حل می شود که البته این جدول به دو صورت کامل می شود.

۱) به صورت Static  و Admin باید آن را پر کند.

۲) به کمک جدول DHCP IP Binding  که پیش نیاز آن استفاده از DHCP Snooping  در سوییچ است.

در قسمت دوم این مقاله به ادامه انواع تهدیدات در LAN  و راه های جلوگیری از آن ها بررسی میشود.

 

با ITNovin همراه باشید.

 

Leave a Comment