Windows Hardening

20 مهر 1393 4320 بازدید

Windows Hardening- Part 1 

 

امروزه ایجاد امنیت در محیط های فناوری اطلاعات و تمامی محیط هایی که در آن ها ارتباطات کامپیوتر ها و سرور ها و سیستم های شبکه دیده می شود و یا حتی کامپیوتر های خانگی کاملا حس می شود.

مایکروسافت هم از این قضیه جدا نیست و در صدد است که روز به روز و محصول به مجصول روی امنیت و زیر ساخت امنیتی خود کار کند. در حقیقت Windows Hardening این کار را برای ما انجام میدهد و ما می توانیم با غیر فعال کردن ، کنترل کردن و یا محدود کردن فعالیت ها ی ویندوز ، محیط خود را امن کنیم و در برابر هکر ها ، ویروس ها و Malware ها تا بالا ترین سطح مقاوم باشیم. با درک این مطلب به این نتیجه می رسیم که برای امنیت ویندوز خود می توانیم از کمترین فعالیت های غیر ضروری همراه با بیشترین بازده بهره ببریم تا هم امنیت ویندوز خود را تضمین کرده باشیم و هم به تمام کار ها و فعالیت های روزانه خود برسیم.

شاید ابتدایی ترین مرحله حفظ امنیت سیستم عامل ویندوز ، یافتن یک سورس سالم و مطمئن برای نصب ویندوز بر روی سیستم ما باشد. اغلب سورس های موجودی که ما استفاده میکنیم سورس های دستکاری شده و Edit شده می باشد که هیچ اعتمادی به آنها نیست. بهترین سورس ویندوز یم سورس کامل و سالم است که سایت مایکروسافت دانلود شده باشد و یا به صورت License دار از store ها و یا پارتنر های مایکروسافت خریداری شده باشد. در زمان نصب حتما قسمتی که از شما سوال می شود که Windows Firewall روشن باشد یا نه را دیده اید که متاسفانه اغلب ما این قسمت را ignore می کنیم و توجهی به آن نداریم در حالیکه Windows Firewall اگر مثل هر فایروال دیگری به ذرستی تنظیم شود واقعا تاثیر بسزایی در امنیت شما دارد.

پس از نصب ویندوز اولین کار در قدم بعدی امنیت نصب یک آنتی ویروس قدرتمند مثل Kaspersky Antivirus  و Kaspersky Internet Security است که باید به عنوان اولین برنامه نصب شوند و فعال شوند و بعد ما بقی برنامه هایمان را نصب کنیم. برای نصب نرم افزار های مورد نیاز هم باید دقت کنیم که به هیچ وجه User Account Control (UAC) را غیر فعال نکنیم تا فقط نرم افزار های سالم نصب شوند. ابتدا باید دقت کنیم که از همان ابتدا باید Windows Firewall را تنظیم کنیم. برا این کار نسبت به کار هایی که انجام میدهیم و کار های دیگری که اضافی هستند Rule بنویسیم. به طور مثال یکی از مهمترین کار ها در این مرحله بستن Listening Port های اضافی است که مورد استفاده قرار نمیگیرند و یا وجودشان ضروری نیست و هکر ها می توانند از آنها برای نفوذ به سیستم ما استفاده کنند. این پورت ها عبارتند از:

RPC (135) , wininit.exe (49152) , event log service (49153) , Scheduled Service (49154) , Services.exe (49155) , isass.exe (49156)

حال یکی ار اساسی ترین کار های حفظ امنیت ویندوز تنظیم کردن Policy های مورد نیاز است. Policy هایی که هم به صورت Local و هم به صورت Domain قابل تنظیم می باشد. برخی از مهمترین Policy های مورد نیاز برای تنظیم عبارتند از:

Account Audit Logon Policy

Account Lockout Policy

Account Lockout Threshold

Deny Network Logon to Certain Accounts : Guests , Anonymouse Users , Administrator , Network Service , Service , System , Local Service

Do Not Display Last Logon Username

Use Kerberos instead of NTLM Protocol

Require Digital Signature for Network Communications

Require CTRL+ALT+DELETE before Login

درادامه باید توجه داته باشیم که همیشه ویندوز ما آپدیت باشد و تمام سرویس پک های موجود تا آن زمان روی آن نصب شده باشد که متاسفانه خیلی ها به این موضوع توجهی نمیکنند و همین باعث می شود که حفره های امنیتی زیادی را در اختیار هکر ها و Malware ها قرار دهیم تا سیستم ما را هدف قرار دهند.

حال تا به حال به این موضوع فکر کرده اید که چه اتفاقی در Sharing شبکه شما دارد می افتد. آیا هر کسی دارد از فایل ها و فولدر های مربوط به خودش استفاده می کند و آیا افراد ناشناس از بیرون از شبکه و حتی داخل شبکه می توانند به Sharing شما دسترسی داشته باشند یا نه؟   جواب این سوال کاملا بر میگردد به NTFS Permission ها و Share Permission ها که باید به درستی تنظیم شوند تا در محیطی سالم از فایل های Share شده استفاده کنیم. پروتکل Sharing مایکروسافت که SMB نام دارد اولین قربانی این قضیه است. SMB دارای سه ورژن مختلف است که تا کنون مورد استفاده قرار می گیرند. SMB v1 و SMB v2 و SMB v3 که منظور ما درست بر میگردد به پروتکل SMB v1 که دارای باگ های زیادی است و وجودش ضرورتی ندارد و برای امنیت در Sharing باید Disable شود. برای این کار میتوانید با استفاده از cmdlet زیر از طریق Powershell این کار را انجام دهید.

Set-SMBserverconfiguration –EnableSMB1protocol $false

NTFS Permissions اشاره دارد به مجوز ها به دسترسی روی یک فایل یا فولدر در سیستم ما و Share Permissions اشاره دارد به مجوز ها برای دسترسی کاربران داخل شبکه و خارج از شبکه به فایل یا فولدر مورد نظر. در این قسمت باید توجه کنیم که روی هر فایل یا فولدر به چه کسی یا کسانی و برای چه منظوری داریم مجوز می دهیم. فقط باید توجه کنیم که هم در NTFS Permission و هم در Share Permission مجوز Deny در هر زمانی مقدم تر از مجوز Allow است.

قسمت مهم دیگری هم هست که باید به آن هم توجه کنیم و آن Username ها و Password هایی است که ما برای Login روی سیستم خود داریم. اصولا پسوردی که برای یک کاربر ساخته می شود برای حفظ امنیت باید سامل چهار آیتم زیر باشد.

Number

Symbol

Upper Case

Lower Case

که به معنی استفاده از اعداد ، نمادها ، حروف بزرگ و حروف کوچک در پسورد ما می باشد.

قویا پیشنهاد می شود در این مرحله Administrator غیر فعال نگاه دارید و یا اگر فعال است آن را Disable کنید تا کسی به صورت Full Power نتواند به سیستم شما Login کند. در صورت دیگری هم می توانید نام Administrator را تغییر دهید و همچنان از این User استفاده کنید.

مرحله آخر این بلاگ را درباره Encryption های موجود در مایکروسافت صحبت می کنیم. خیلی ها بر این باورند که تنها ماژول Encryption مایکروسافت  ، BitLocker می باشد. این در حالیست که إهف»خزنثق ماژول قوی و مطمئنی برای Encryption درایو های داخلی و خارجی است ولی وقتی به قضیه Boot ویندوز نگاه میشو و اینکه چگونه میشود Boot ویندوز را Encrypt کرد ، دیگر خبری از Bitlocker نمیتواند باشد زیرا چنین قابلیتی را ندارد و فقط بر روی ویندوز قابلیت Encrypt کردن را دارد.

حال ماژول Syskey Encryption مایکروسافت وارد عمل میشود که به صورت Default بر روی ویندوز ها قرار دارد که با وارد کردن عبارت syskey در قسمت Run میتوان به تنظیمات آن دسترسی داشت.

حال با کلیک روی گزینه Update وارد تنظیمات میشویم و میتوانیم یک پسورد برای Encrypt کردن تنظیم کرده و یا حتی از یک Flash Memory برای Encrypt کردن استفاده کنیم که برای این کار یک فایل با نام startkey.key بر روی Flash Memory ساخته می شود که در زمان Boot ویندوز فقط با این Flash Memory شما قادر به Decrypt کردن و دسترسی به سیستم عامل خواهید داشت که نهایت صفحه زیر برای Decrypt کردن به شما نمایش داده میشود و شما با قرار دادن  Flash Memory در سیستم عملیات Decryption را انجام می دهید.