تا چه میزان امنیت و صحت 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 همراه باشید.