جمعه, ۱۴ اردیبهشت, ۱۴۰۳ / 3 May, 2024
مجله ویستا

محکم سازی ویندوز


محکم سازی ویندوز
فورا دست به كار شوید !
همانطور كه همه می دانیم ، ما برای زنده ماندن صنعت IT خود، نیازمند آنیم كه مشكلات امنیتی آن را حل كنیم. ما باید یاد بگیریم كه باید به جنگ چه كسانی برویم.
ما كار بزرگی را در پیش رو داریم البته نباید اینگونه فكر كنیم كه ابتدا دانش فنی خود را بالا ببریم و بعد شروع به بالا بردن امنیت شبكه خود كنیم. باید بدون تامل و وقفه همین حالا شروع كنیم. باید همین حالا و در كنار هم فرهنگ امنیت را برای دیگران جا بیندازیم تا تمامی اجزای شبكه ما از امنیت كافی برخوردار باشد ، تمامی سیستم های ما امن شوند و تمامی كاركنان خود را آموزش دهیم.این سری از مقالات كه از كتاب Hardening Windows System تهیه شده است و درباره محكم سازی تمامی انواع ویندوز های شركت مایكروسافت می باشد كه قصد ما بر این است تا قسمت هایی از این كتاب با ارزش را بیان كنیم. امید است كه روشنگر راه بی پایان كسانی باشد كه قدم در این راه نهاده اند.
●بخش اول
این كار ها را همین حالا انجام دهید !
پیشگفتار
ما یك مشكل بزرگ داریم. ما معمولا نمی دانیم كه برای امن كردن سیستم های ویندوزی خود به چه چیزهایی نیاز داریم. ما فقط می دانیم كه باید یك كارهایی انجام دهیم ولی نمی دانیم كه چه كاری ! همانطور كه برای جلوگیری از سرقت های خانگی راهی وجود ندارد برای امن كردن ۱۰۰ درصد سیستم های ویندوزی و یا هر سیستم عامل دیگری راهی وجود ندارد. البته ما نیز در اینجا با طرح سوال های زیادی این مساله را تا حدی تفهیم خواهیم كرد و خواهیم گفت كه چگونه سیستم های ویندوزی خود را از انواع حملات محافظت كنیم.
اما به جای محكم سازی خودكار سیستم عامل، به جای امنیت فیزیكی سیستم ها، به جای فرهنگ سازی برای هر كدام از افراد سازمان و قبل از انجام هر كاری ما ابتدا باید برخی مشكلات موجود در سیستم هایمان را اصلاح كنیم. وقتی شبكه ما مورد هجوم قرار گرفت و اطلاعات مهم آن به سرقت رفت نباید كس دیگری را مقصر این امر بدانید.
لطفا دست نگه دارید ، همین الان دست نگاه دارید! شما باید كنترل امنیت اطلاعات خود را در دست بگیرید. منظور من از امنیت اطلاعات، امنیت كامپیوتر های شما نیست! آنها فقط بخشی از امنیت اطلاعات شما می باشد.
شما به یك برنامه جامع و فراگیری برای هر مكانی كه اطلاعات در آن نقش دارد، نیاز دارید. در پردازنده مركزی (mainframe ) ، در سرور وب لینوكس ، در Active Directory ، در PDA و بله حتی در مغز ها و ذهن های كارمندان، شركا و مشتریان خود !
ما می دانیم كه شما باید چه كاری انجام دهید، بنابراین اجازه بدهید كه با هم آن را دنبال كنیم.
اجازه بدهید كه مدل امنیت اطلاعات خود را تغییر دهیم. «سیستم های محكم سیستم هایی می باشند كه امن هستند» . منظور من هم از سیستم ، كامپیوتر ها ، شبكه و افراد در آن می باشند. به هر حال، چه باید كرد ؟ ابتدا یك اساس نامه بنویسید. مدیران خود را به كار بگیرید. شما باید هر چیزی و هر كسی كه در اطلاعات شما دخیل می باشند را محكم كنید.
فراموش نكنید كه امن كردن سیستم های اطلاعاتی شما به سادگی نفس كشیدن می باشد اما مطمئنا شما به تنهایی نمی توانید تمامی این موارد را انجام دهید. اما شما می توانید تاثیرات قابل توجهی را روی وضعیت امنیتی شبكه خود با انجام برخی كنترل های امنیتی ، ایجاد كنید.
برای شروع ده مورد از كارهایی كه شما باید انجام دهید را آورده ایم كه با انجام آنها به طور قطع وضعیت امنیتی بهتری پیدا می كنید.
سیاست ها كلمات عبور خود را قوی تر كنید
یك سیاست كلمات عبور قوی از چند طریق امكان پذیر است. به نظر من یك سیاست كلمات عبور قوی شامل موارد زیر است :
▪اصرار بر تغییر مكرر پسورد ها
▪نیاز به پسورد هایی با طول بلند و مركب از حروف بزرگ و كوچك، ارقام و كاراكترهای مخصوص
▪عدم اعطای مجوز به پسورد های پوچ
▪چك كردن پسورد ها برای تكراری نبودن آنها
▪جلوگیری از عدم شباهت پسورد ها به نام كاربری (User ID )
▪اجازده ندادن به كلماتی كه در واژه نامه ها موجود می باشد.
شما می توانید با استفاده از Group Policy Object (GPO) موارد ذكر شده در بالا را بر روی دامنه پیش فرض سرور خود اعمال كنید:
سیاست های پسورد های قوی مساله بسیار مهمی می باشد ، زیرا كه نفوذگران با حدس زدن پسورد های ضعیف به راحتی می توانند به سیستم های شما نفوذ كنند. اگر پسورد های سیستم ها لو روند، دیگر تمامی سخت گیری ها و اجرا و وضع دسترسی ها و حتی رمزنگاری دیگر به درد نمی خورد. شاید بتوان به جرات گفت كه سیاستهای پسوردی قوی یكی از مهمترین مسایلی است كه می تواند از شكسته شدن بسیاری از مسایل امنیتی جلوگیری كند.
من می دانم كه ممكن شما نمی توانید این كار را به تنهایی برای تمامی سازمان انجام دهید. ولی شما به سادگی می توانید با تغییر سیاستهای پسوردی در دامنه ویندوز این كار را انجام دهید. همین كارها باعث می شود كه بسیاری از كاركنان خود را در برابر حملات بیمه كنید. پس مطمئن باشید و انجام دهید.
البته شما باید قادر باشید و بتوانید سیاسیتهای امنیتی را روی دامنه خود اعمال كنید. یعنی اینكه بتوانید از طریق دامنه ویندوز تغییرات را روی سیاستهای پسوردی طوری اعمال كنید كه نتیجه آن روی تمامی نام های كاربری موجود در سرور اعمال گردد، حتی این موضوع باید روی نام های كاربری محلی نیز اعمال گردد. شما می توانید سیاست های پسورد های قوی را به راحتی از طریق ویندوز اعمال كنید. مثلا اگر شما تصمیم دارید كه تمامی مدیران سازمان هر ۱۰ روز یك بار پسورد خود را تغییر دهند و یا اینكه از پسورد هایی با ۱۶ كاراكتر استفاده كنند به راحتی می توانید آن را از طریق سیاست های پسوردی ویندوز اعمال كنید. البته این موضوع باید برای هر كسی كه به طوری با سرور در تماس است، برای مثال مسوؤل گرفتن داده های پشتیبان، اعمال كنید.
اگر كمی فكر كنید ، متوجه خواهید شد كه چرا داشتن سیاست های پسوردی می تواند مهم باشد. مثلا شما فكر كنید كه اگر پسورد های یكی از سرور ها توسط یك مهاجم لو برود چه اتفاقی می افتد.
توجه كنید !
توجه كنید كه شما فقط می توانید یك سیاست پسوردی روی دامنه خود داشته باشید. این سیاست های توط GPO بر روی دامنه سرور اعمال می گردد. اگرچه شما می توانید برای گروههای مختلف، سیاست های مختلفی را اعمال كنید، اما شما نمی توانید از طریق كنترل های تكنیكی آن را اعمال كنید. شما می توانید این كار را از طریق آگاهی دادن به كاربران و مجبور كردن آن برای استفاده از سیاست های پسوردی سیاست های مد نظر خود را پیاده سازی كنید.
البته تغییر اصلی سیاستهای پسوردی كاری است كه باید در آینده انجام گیرد و البته تغییر و ایجاد پسورد های پیچیده برای مدیران سطح بالا، ممكن است همراه با اجازه، تایید و كارهایی از این قبیل همراه باشد. ولی برای اینكه پسورد های پیچیده و در نهایت شبكه امنی داشته باشید باید تمامی این راهها را بپیمایید.●ایجاد اساس نامه های منطقی
تغییر سیاست های پسوردی ممكن است تا حدی جواب دهد. اگر شما هنوز هم كاربرانی دارید كه از پسورد های تهی و یا كاركتر های ساده استفاده می كنند ، آنها را از طریق سیاست های پسوردی وادار كنید كه اهداف شما را پیاده سازی كنند. البته قبل از این كار تمامی جوانب را بسنجید زیرا كه این مساله بسیار مهم و اساسی است. هر كوتاهی در این زمینه می تواند ضربه ای به امنیت شبكه شما باشد.
شما می توانید برای شروع، ابتدا اساس نامه های منطقی برای گروههای مشخص ایجاد كنید. این گروه ها می توانند آن دسته از افرادی باشند كه «حق دسترسی » ها را در دامنه و برنامه های خاص مشخص می كنند. معمولا این گروه جزو مدیران سیستم و شبكه می باشند. ابتدا باید مدیران IT و زیر مجموعه های آنان را مجاب كنید كه از سیاست های شما پیروی كنند. شاید لازم باشد در این راه، به گونه ای آنها را به طور منطقی قانع كنید كه پسورد های قوی می تواند امنیت سازمان را بهبود بخشد . هر قدر در این راه قدمهای موثرتری بردارید، پیاده سازی سیاست های امنیتی راحت تر می تواند باشد.
●تغییر سیاستهای پسوردی برای نام های كاربری محلی
نام های كاربری محلی در سرور ها و كامپیوتر های كاربران را به صورت كامل حذف كنید. كامپیوتر هایی كه عضو دامنه شبكه می باشند نیز می توانند دارای این نام های كاربری باشند. هر نام كاربری كه در این كامپیوتر ها وجود دارد نمی تواند توسط سیاست های پسوردی حاكم بر دامنه اصلی شبكه كنترل شود و باید در همان كامپیوتر به صورت محلی سیاستهای مورد نظر را اعمال كرد.این سیاست ها می تواند بسیار سخت گیرانه تر باشد. البته در بیشتر سازمان ها از نامهای كاربری محلی در سیستم ها استفاده نمی كنند البته به جز برخی سرور ها كه نیاز به نام های كاربری محلی دارند . به هر جهت اگر از نام های كاربری محلی استفاده نكنید نیازی به اینگونه سیاست های ندارید ولی اگر استفاده كنید باید با توافق طرفین پسورد های محدودتر و قوی تری انتخاب كنید. سیاست های پسوردهای محلی كه بر كامپیوتر هایی كه به دامنه های ویندوز ۲۰۰۰ و یا ویندوز سرور ۲۰۰۳ الحاق می شوند را می توان از طریق Group Policy اعمال و مدیریت كرد.
●تغییر سیاست های برای نام های كاربری منحصر به فرد
اضافه بر سیاستهای پسوردی حاكم بر دامنه سرور و نام های كاربری محلی، این تغییرات می تواند در سطح خود نام های كاربری نیز اعمال گردد. این كار را زمانی می توانید انجام دهید كه شما بخواهید سیاست های حاكم بر برخی از نام های كاربری مشخص را محكم تر كنید. تغییرات اعمال شده در مورد نام های كاربری منفرد می تواند ضعف های حاكم بر سیاست های پسوردی دامنه را بهبود بخشد.
برای مثال ممكن است شما نیاز داشته باشید كه برای برخی از پسورد ها از رمزهای برگشت پذیر استفاده كنید، اگر چه این امر پیشنهاد نمی گردد و بهتر از آن است كه از جفت نام های كاربری استفاده كنید، می توانید از طریق گزینه Store Password Using Reversible Encryption كه در تمامی نام های كاربری موجود در دامنه موجود است، استفاده كنید. گزینه دیگر Password Never Expire است. به پایان رسیدن اعتبار پسورد ها برای این است كه شما مطمئن شوید كه كاربران پسورد های خود را تغییر می دهند. البته برای برخی از سرویس ها كه از اینگونه پسورد ها استفاده می كنند مشكل ایجاد می شود زیرا كه در زمانی كه اعتبار پسورد به پایان می رسد این سرویس ها نمی توانند در برابر تغییر پسورد ها واكنش نشان دهند و از كار می افتند. در این مواقع می توان به صورت دستی آنها را دوباره راه اندازی كرد كه البته كاریست دشوار اما برای این دسته از نام های كاربری می توان این گزینه را فعال كرد.
البته هر دوی این گزینه های می تواند سیاست های پسوردی را ضعیف كنند اما برخی از اینگونه تنظیمات می تواند سیاست های پسوردی را قوی تر كند. برای مثال گزینه Smart Card Is Required for Interactive Logon می تواند برای برخی از نام های كاربری منفرد تنظیم گردد. شما می توانید با نصب این دسته از كارت های هوشمند از دو روش تشخیص هویت برای این دسته از نام های كاربری استفاده كنید. این كار برای نام های كاربری مدیران و یا كاربران رده بالا می تواند استفاده شود.
گزینه های دیگری نیز وجود دارد كه برخی از آنها در زیر آمده است :
<div class=mainbodytextnewsEn>
User Must Change Password at Next Logon
Account Is Disabled
Account Is Sensitive and Cannot Be Delegated
</div>
این تغییرات را می توانید از طریق اكتیو دایركتوری و با استفاده از property نام های كاربری اعمال كنید.
۲- دسترسی های مدیریتی راه دور را ببندید
شما فقط تعداد كمی كامپیوتر برای مدیریت دارید شما می توانید به صورت محلی آنها را كنترل كنید. اگرچه بیشتر سازمانها كامپیوتر های كمی برای كنترل و مدیریت دارند اما شما باید بتوانید از راه دور سیستم ها را كنترل كنید.
به طور ساده تر بگویم : درست است كه شما نیاز به مدیریت راه دور روی یك سرور دارید ولی نباید آن را برای بقیه كاربران باز كنید. مدیریت راه دور را ببندید:
۱-اگر ممكن است از IPSec و یا دیگر پروتكل ها استفاده كنید . شما می توانید با استفاده از IPSec برخی پورت هایی كه توسط برنامه های مدیریت راه دور استفاده می شوند را ببندید و فقط به برخی از مدیران ایستگاههای كاری خاص اجازه دسترسی و مدیریت راه دور دهید. برای مثال دسترسی به پورت ۳۳۸۹ ، كه برای برنامه Terminal Service استفاده می شوند ، را ببندید و فقط آن را برای برخی از ایستگاههای كاری باز كنید.سیاست های IPsec فقط می تواند روی سیستم های ویندوزی ۲۰۰۰ ، ۲۰۰۳ و XP اعمال گردد.
۲-در بیشتر مواقع ، فقط برخی از نام های كاربری اجازه دسترسی به بقیه كامپیوتر ها را در شبكه دارا می باشند. بقیه نام های كاربری را قفل كنید. در دامنه های ویندوز ۲۰۰۰ و یا ویندوز ۲۰۰۳ سرور با استفاده از Access This Computer from the Network می توانید كاربران را برای دسترسی های راه دور كنترل كنید. لازم به ذكر است كه این گزینه را می توانید با استفاده از مسیر زیر پیدا كنید :
<div class=mainbodytextnewsEn;>
Computer Configuration -> Windows Setting -> Security Setting -> Local Policies è User Right Assignment-> Access This Computer from the Network
</div>
۳-با استفاده از مجوزهای كاربران، از دسترسی آنها به Remote Desktop و یا همان ترمینال سرویس جلوگیری كنید. این كار را می توانید توسط گزینه Allow Log On Through Terminal Services انجام دهید:
<div class=mainbodytextnewsEn;>
Computer Configuration -> Windows Setting -> Security Setting -> Local Policies -> User Right Assignment -> Allow Log On Through Terminal Services
</div>
۴-دسترسی راه دور را از طریق solicited Remote Assistance روی سرور ها كنترل كنید. Remote Assistance برای ویندوزی های XP و ۲۰۰۳ ابزاری است كه به ویندوز این امكان را می دهد كه با استفاده از یك ایمیل یا IM و یا یك فایل Remote Assistance را فراخوانی كند. یك كاربر معمولی به یك كاربر دیگر اجازه می دهد كه از راه دور كامپیوترش را كنترل كند. همین موضوع اگر به طور منطقی كنترل نگردد ، می تواند باعث حادثه ای ناگوار شود. مدیریت خاصی همچون محدود كردن استفاده آن توسط كاربران مجاز ، محدود كردن مدت زمان استفاده و آموزش تمامی كاربران برای استفاده درست از آن ، را می توان روی آن اعمال كرد. برای مدیریت آن می توانید از مسیر زیر استفاده كنید :
<div class=;mainbodytextnewsEn;>
Computer Configuration -> Administrative Templates -> System -> Remote Assistance ->Solicited Remote Assistance Properties
</div>
۵-شما حتی می توانید Remote Assistance را غیر فعال كنید. این خصیصه باعث می شوند كه پیشنهادی برای استفاده از Remote Assistance توسط كاربران داده نشود. (این درخواست باید توسط كاربر داده شود)
۶-سرور های حساس را از طریق خود كنسول سرور مدیریت كنید. فقط به دلیل اینكه شما باید چندین سرور را مدیریت كنید استفاده از مدیریت های راه دور لازم می گردد و این بدان معنی نمی باشد كه تمامی سرور ها باید از همین طریق مدیریت گردند. بسیار مراقب باشید كه سرور هایی كه نقش حساسی دارند و یا داده های حساسی را نگهداری می كنند فقط از طریق كنسول خود سرور مدیریت گردند و پسورد مدیریت آنها را از طریق یك كامپیوتر دیگر و در طول شبكه هیچگاه وارد نكنید.
مترجم : امیر حسین شریفی
منبع : Hardening Windows Systems
ناشر : مهندسی شبكه همكاران سیستم