امروز: سه شنبه 4 دی 1403
دسته بندی محصولات
بخش همکاران
بلوک کد اختصاصی

مقاله درباره امنیت شبکه

مقاله درباره امنیت شبکهدسته: کامپیوتر و IT
بازدید: 220 بار
فرمت فایل: doc
حجم فایل: 64 کیلوبایت
تعداد صفحات فایل: 76

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

قیمت فایل فقط 3,800 تومان

خرید

فصل اول

مقدمه

بدون شك زندگی امروز بشر از مقوله‌ی ارتباط تفكیك ناپذیر است. ارتباطات به حدی فاصله‌های دور را به هم نزدیك كرده است كه از دنیای بزرگ ما به نام دهكده‌ی جهانی یاد می‌شود. ارتباطات آنقدر با زندگی روزمره‌ی ما عجیبن شده است كه نمی‌توانیم زندگی بدون آن را حتی تصور كنیم در حالی‌كه تا قرنی پیش مبادله‌ی خبر به روزها زمكان نیاز داشت. این كار اكنون تقریباً آنی انجام می‌شود. مخابرات، اینترنت،‌وسایل ارتباط جمعی نمونه‌هایی از ارتباطات امروز ما هستند كه تبادل اطلاعات و انجام امور روزمره‌ی ما را با سهولت بیشتر و هزینه‌ی كمتر ممكن ساخته است.

از طرف دیگر گسترش ارباطات شبكه‌ای و نفوذ آن به دور دست‌ترین نقاط جهان باعث شده است زمینه‌ی سوء استفاده افراد سودجو و شرور هم فراهم شود. در حالی كه هم اكنون انجام معاملات شبكه‌های كامپیوتری و اینترنت قابل انجام است. اما انجام این امور بدون درنظر گرفتن تمام جوانب امنیتی ممكن است باعث ضررهای جبران‌ناپذیری گردد بنابراین آشنایی با راهكارهای امنیتی در استفاده از شبكه‌ها كامپیوتری نیازی بس حیاتی است.

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

در فصل دوم به تعریف مفاهیم شبكه ، تقسیم بندی شبكه ، شباهتها و تفاوتها و مزایای آن خواهیم پرداخت .

فصل سوم بررسی سرویس های امنیتی در شبكه و در فصل چهارم اصول رمزنگاری مطرح می شود و در انتها در فصل پنجم امضاهای دیجیتالی ارائه شده است .  

چكیده:

امروزه در عصر اینترنت و شبكه‌های كامپیوتری استفاده از سیستم عامل مناسب و نحوه‌ی بكارگیری سیستم عامل در شبكه و ترفندهای سیستم عاملی برای جلوگیری از ضررهای ناشی از استفاده از شبكه مانند هكرها و ویروس‌های مخرب و… بسیار شایان توجه است. به همین خاطر این پروژه به بررسی امنیت سیستم عامل‌هایی كه مورد استفاده‌ی بسیاری از كاربران در سراسر جهان قرار می‌گیرد می‌پردازیم.

این سیستم عامل‌ها عبارتند از:

1ـ سیستم عامل یونیكس unix

2ـ سیستم عامل ویندوز NT

3ـ سیستم عامل ویندوز 2000

خلاصه:

ـ بررسی امنیت یونیكس و تنظیم سیستم به همراه راه‌كارهای مكمل

ـ امنیت ویندوز NT به علاوه‌ی تنظیمات رجیستری و پیكربندی سیستم

ـ امنیت ویندوز 2000 و تنظیم و پیكره‌بندی سیستم

ـ مقایسه‌ی امنیت یونیكس و  ویندوز

ـ بررسی لوگ فایل‌ها و جستجوی علائم مشكوك در سیستم عامل‌های فوق

ـ مدیریت كاربر و مدیریت سیستم

 در تاریخ اینترنت ، سیستمهای یونیكس سابقه بیشتری دارند بطوریكه بیشتر سرویسهای موجود روی شبكه توسط آن ارائه می‌شد. وقتی هكر و هك كردن بصورت مشكلی روی اینترنت ظاهر شد، سیستم یونیكس بیتشرین توجه را به سوی خود جلب كرد. تا امروز استفاده از سیستم یونیكس روی اینترنت متداول ور ایج است و لازم است برای جلوگیری از هك شدن بدرستی پیكره‌بندی شود.

تنظیم سیستم

بطور معمول وقتی سیستم یونیكس ساخته میشود، دارای آسیب‌پذیریهایی است. اما با استفاده از برنامه‌های مكمل[1] و تغییر در فایلهای پیركه‌بندی می‌توان آسیب‌پذیریهای اولیه را تصحیح كرد. در بخشهای بعدی به بعضی از محتمل‌ترین معضلات موجود و چگونگی تصحیح آنها تشریح شده است.

فایلهای Startup

سیستم  یونیكسس با استفاده از فایلهای startup، خود را به هنگام راه‌اندازی پیكره‌بندی می‌كند. بسته به اینكه نسخة یونیكس چه باشد فایلهای startup در مكانهای مختلف قرار می‌گیرد. در سیتم عامل solaris فایلهای startup در /etc/rc2.d پیدا می‌شود و در سیتم‌عامل Linux آنها را در /etc/rc.d/rc2.d خواهید یافت.

در فایلهای startup تعدادی سرویس راه‌اندازی می‌شود. تعدادی از این سرویسها (همانند شبكه، نصب فایلهای سیستمی و شروع واقعه‌نگاری) برای عملكرد سیستم لازم است به همین دلیل باید به آنها اجازه داده شود فعال بمانند. در مقابل سرویسهای دیگر ضروری نیست و بسته به روش استفاده از آنها اجازه داده شود فعال بمانند. در مقابل سرویسهای دیگر ضروری نیست و بسته به روش استفاده از سیستم، نباید راه‌اندازی شوند. برای جلویگری از راه‌اندازی سرویس می‌توان براحتی نام فایل را عوض كرد. مطمئن شوید نام جدید فایل با “S” یا “k” شروع نشود. قرار دادن علامت راهنمای “.” در اسم فایل خوب كمار می‌كند (و علاوه بر این فایل را از دید مخفی می‌كند بنابراین با فایلی كه عملیاتی سرویسهایی كه عموماً توسط فایلهای startup راه‌اندازی می‌شود عبارتند از:

  • Sendmail
  • Roued
  • NFS
  • RPC
  • Web service
  • Inetd
  • NTP

با مراجعه به فایلهای start up سرویسهای غیر ضروری را تعیین كنید. برای شناسایی سرویسهای غیر ضروری بخش بعد را ببینید.

  • Chargen
  • Rusersd
  • Rquotad
  • Sprayd
  • Walld
  • Rexd
  • Routed

علاوه بر این اگر از سرویسهای SNMPD و Daytime استفاده نمیشود خاموش شوند. Daytime توسط بعضی سیستمهای همزمان‌كننده زمان[2] استفاده میشود و SNMPD برای مدیریت سیستم كاربرد دارد. احتمالاً توجه دارید كه در فایل inetd.conf، سرویسهای Telnet و FTP در حالت عادی روشن هستند. این دو پروتكل امكان عبور password, user ID را بصورت واضح از طریق شبكه فراهم می‌كنند. این امكان وجود دارد كه برای محافظت password، از نسخه‌های رمز شده این پروتكل‌ها استفاده شود. توصیه می‌شود روی Telnet از  (Secure Shell)SSH استفاده شود. برخی نسخه‌های SSH وجود دارد كه برای انتقال فایل از برنامه (Secure Copy) SCP استفاده می‌كند.

Network File System:NFS

ممكن است سازمان شما از NFS استفاده كند. اما اگر به آن نیازی نیست سرویس NFS را روی سیستم خاموش كنید. از NFS برای نصب فایل سیستمی از روی یك كامپیوتر به روی كامپیوتر دیگر استفاده می‌شود.[3] اگر NFS بدرستی پیكره‌بندی نشود این امكان هست كه برخی افراد به فایلهای حساس دس پیدا كنند. برای پیكره‌بندی درست NFS باید فایل /etc/dfs/dfstab را ویرایش كنید.

توجه: فرستادن فایلهای سیستمی به خراج از سازمان كار عاقلانه‌ای نیست.

سیستم DMZ

از سیستم یونیكس می‌توان در DMZ و به عنووان سرور وب، سرور پست الكترونیك و سرور DMZ استفاده كرد. در اینصورتلازم است این سیستم نسبت به حالتی كه فقط بصورت داخلی استفاده می‌شود با امنیت بیشتری پیكره‌بندی شود. احتمال اینكه روی این قبیل سیستمها به فایلهای startup حذف كرد.

سرور و كامپیوتر رومیزی

برخی سازمانها از یونیكس هم بصورت سرور هم بصورت سیستم رومیزی استفاده می‌كنند. وقتی یونیكس بصورت سیستم رومیزی استفاده می‌شود بگونه‌ای پیكره‌بندی می‌شود كه X Windows را اجرا كند. در سیستم Solaris استفاده از Tooltalk هم لازم است. (Tooltalk یك برنامه RPC است است كه برای كنترل desktop بصورت گرافیكی استفاده می‌شود). این سرویسها روی سرور لازم نیست. به طریقه مشابه روی كامپیوتر رومیزی هم سرویس DNS لازم نمی‌شود. اگر از سیستم یونیكس استفاده میشود لازم است برای سرور و كامپیوتر رومیزی از دو  پیكره‌بندی متفاوت استفاده كنید.

توجه: روی سیستم ٍخمشقهس، برنامه ‏خخمفشمن از طریق فایل هدثفی.زخدب كنترل می‌شود. برای از كار انداختن آن سطر زیر را از حالت توضیحی خارج كنید.

“10083/1 tli rpcltcp wait root / usr / dt / bin / rpc. Ttdbserverd / user / dt/bin/rpc.ttdbserverd.”

استفاده از TCP Wrappers

اگر از Telner و FTP استفاده می‌كنید می‌توانید برای امنیت بیشتر از Wrappers  TCP (كه می‌توانید آنرا از ftp://ftp.porcupine.org/pub/security بدست آورید) ساتفاده كنید. كلمه wrapps به معنای پوشاندن و مخفی كردن است، به همین دلیل wrappers TCP با پوشاندن سرویسهای FTP  و Telnet، كنترل دسترسی و واقعه‌نگاری بیشتری را فراهم می‌كند. به منظور استفاده از TCP  Wrappers لازم است فایل inetd.conf بگونه‌ای اصلاح شود كه سطرهای ftp و telnet بصورت زیزر باشد:

ftp system tep ftp nowait root/ usr/local/bin/ecpd/user/sbin/in.ftpd

telnet stream tcp nowait root/user/local/bin/tcpd/user/sbin/in.telnetd

 سطرهای پیكره‌بندی فوق باعث می‌شود هر وقت كسی سعی كند به سیستم telnet یا FTP كند، inetd سرویس TCP Wrappers(tcpd) را فراخوانی كند.

توجه: از TCP Wrappers می‌توانند همانند سرویسهای telnet  و FTP رویس سرویسهای دیگر مانند POP و IMAP هم استفاده كرد. البته همانند سطرهای فوق تغیرات مناسب لازم است.

TCP Wrappers قادر است دسترسی شبكه‌ها و كامپیوترهای خانگی خاص را به سرویس telnet  یا FTP مسدود كند یا اجازه آن را صادر كند. فایلهایی كه برای این پیكره‌بندی استفاده می‌شوند عبارتند از ./etc/hosts.allow , /etc/hosts.deny در ادامه مثالی از این فایلها آمده است:

:/

فایلهای زیر مثالی از فایلهای پیكره‌بندی TCP Wrappers می‌باشد:

Hosts.allow:

#Allow telnets from my internal network910.1.1.x)

in.telnet:10.1.1.0/255.255.255.0

#Allow ftp from the world

in.ftpd:0.0.0.0/0.0.0.0

hosts.deny:

#Deny telnets from anywhere else

in.telnetd:0.0.0.0/0.0.0.0

ابتدا فایل hosts.allow ارزیابی می‌شود و پس از آن hosts.deny. بنابراین ابتدا تمام سیستمهایی را كه مجاز به استفاده از سرویسهای مختل هستند پیكره‌بندی نمایید و پس از آن هر چیز دیگری را در hosts.deny ممنوع كنید.

توجه: لازم است در پیكره‌بندی واقعه‌نگاری هم تغییراتی دهید تا TCP Wrappers بتواند اطلاعات را روی سیستم ثبت كند. نحوه این تغییرات را در بخش «لوگ فایلها» در ادامه همین فصل خواهید دید.

فایلهای پیكره‌بندی سیستم

با اعمال تغییراتی در فغایلهای پیكره‌بندی سیستم می‌توان امنیت كلی سیستم را افزایش داد. دامنه این تغییرات از پیامهای اخطاردهنده تا حفاظت در برابر سرریز شدن بافر قابل انجام است. انجام هر تغییری در پیكره‌بندی باید با سیاست امنیتی سازمان مطابقت داشته باشد. علاوه بر این بخاطر داشته باشید مكان قرارگیری فایلهای پیكره‌بندی در نسخه‌های مختلف یونیكس با هم فرق دارد. با استفاده از كتابچه‌های راهنمایی كه از نسخه خاص یونیكس در اختیار دارید مطمئن شوید تغییرات اعمالی با نسخه یونیكس مطابقت و تناسب دارد.

پیامهای اخطاری یا Banners

با استفاده از پیامهای اخطاری، قبل از آنكه به كاربری اجازه ورود (یا llogin) داده شود یك جمله حقوقی برای او نمایش داده می‌شود. زبان پیامهای اخطاری باید همان زبانی باشد كه بخش حقوقی سازمان تصویب كرده است.

پیام login در /etc/motd ذخیره شده است.(نام فایل motd مخفف massage of the day است). اما این پیام زمانی نمایش داده میشود كه كاری برای ورود به سیستم اقدام كرده باشد لذا قبل از آن نمایش داده نمی‌شود. لازم است قبل از آن كه كاربر وارد شود اكثر تذكرات حقوقی برایش نماش داده شود.

به منظور نمایش پیام قبل از ورود كاربر روشی وجود دارد كه در اینجا به آن اشاره می‌شود. تذكرات لازم قبل از ورود در سیستم Soaris در /etc/default/telnet ذخیره شده است. می‌توان برای FTP هم پیام اخطاری ایجاد كرد. این كار با ویرایش فایل /etc/default/ftpd قابل انجام است. با اضافه كرده سطری شبیه آنچه در ادامه آمده است می‌توان یك پیام اخطاری ایجاد كرد.

BANNER=”/n/n

در سطر فوق “n” دلالت بر سطر جدید دارد. اما شما می‌توانید از كاراكترهای كنترلی موردنظر خودتان استفاده كنید تا پیام نمایش داده شود.

در سیستم linux از دو فایل /etc/issue.net و /etc/issue برای  پیامهای اخطاری Telnet استفاده می‌شود. فایل issue برای ترمینال‌هایی كه بطور مستقیم وصل شده‌اند استفاده می‌شود. Issue.net زمانیكه شخص از طریق شبكه اقدام به telnet می‌كند استفاده می‌شود. متأسفانه ویاریش فایلهای مذكور باعث ایجاد پیامهای اخطاری نمی‌شود. چون هر بار كه كامپیوتر بوت شود این فایلها نیز مجدداً ایجاد می‌شود. اما می‌توانید اسكریپت راه‌اندازی كه باعث ایجاد این فایل می‌شود را اصلاح كنید. مجدداً ایجاد می‌شود. اما می‌توانید اسكریپت راه‌اندازی كه باعث ایجاد این فایل می‌شود را اصلاح كنید.

فایلهای issue و issue.net در اسكریپت راه‌اندازی /etc/rc.d/rc.local قرار دارند. برای آنكه از ایجاد مجدد این فایل جلوگیری شود، سطحهای زیر را از دو حالت توضیحی خارج كنید.

#Tis will overwrite/etc/issue at every boot. So, make any changes you

#want to make to/etc/issue here or you will lose them when hou reboot.

Echo “l”>/etc/issue

Echo”$R”>>/etc/issue

Echo “Kernel $(uname-r) on $a $SMP$ (uname-m)”>>/etc/issue

بعد از انجام این كار می‌توانید فایلهای /etc/issue و /etc/issue.net را با متن حقوقی مناسب ویرایش نمایید.

تنظیم كلمه عبور (passwoed)

در سیستم یونیكس به منظور مدیریت صحیح كلمه عبور سه مرحله وجود دارد:

  • تنظیم درست نیازهای كلمه عبور
  • ممانعت از ورود بدون كلمه عبور
  • ایجاد كلمه عبور مناسب بطوریكه نیازها را در بر بگیرد.

تنظیم درست نیازهای كلمه عبور طول كلمه عبور و عمر آن از جمله نیازهایی است كه با ویاریش یك فایل پیكره‌بندی در سیستم یونیكس تعیین می‌شوند. در Solaris این فایل، /etc/default/passwd است. این فایل دارای سطرهای زیر می باشد و بر طبق سیاست امنیتی سازمانتان ویرایش می‌گردد.

#ident            “@(#)passwd.dfl     1.3      92107114 SMI”

MAXWEEKS=7

MINWEEKS=1

PASSLENGTH=8

توجه كنید اعدادی كه جلوی MAXWEEK و MINWEEK وارد می‌كنید، حداقل و حداكثر طول عمر كلمه عبور برحسب هفته می‌باشد. جلوی PASSLENGTH طول كلمه عبور را برحسب تعداد كاراكتر وارد نمایید.

در سیستم Linux نیازهای كلمه عبور در فایل /etc/login.defs قرار داده شده است. سطرهای زیر كه مربوط به این فایل است تنظیمات قابل انجام را نشان می‌دهد.

#Password aging controls:

#

#PASS_MAX_DAYS      Maximum number of days a password may be used.

# PASS _ MIN _ DAYS   Minimum number of days allowed between password changes.

# PASS_MIN_LEN   Minimum accentable p;assw9rd length.

# PASS_WARN_AGE   Number of days warning given before a password expires.

PASS_MAX_DAYS       45

PASS_MIN_DAYS         1

PASS_MIN_LEN            8

PASS_WARN_AGE        7

به خاطر داشته باشید در سیستم Linux حداقل و حداكثر طول عمر برحسب روز است (در حالیكه در Solaris برحسب هفته است). Linux به شما این اختیار را نیز می‌دهد كه تعداد روزهای باقیمانده تا باطل شدن كلمه عبور، به اطلاع كاربر رسانده شود.

ممانعت از ورود بدون كلمه عبور برنامه‌هایی از قبیل rexec,rsh و rlogin به كاربر امكان می‌دهد بدون آنكه مجدداً كلمه عبور را وارد كند از سیستمهای خاص وارد سیستم دیگر شود. اما این كار خوبی نیست چون مهاجمی كه توانسته به یك سیستم نفوذ كند میتواند از طریق برنامه‌های فوق به سیستمهای دیگر دست پیدا كند. بنابران برای رفع این مشكل اولاً باید سرویسهای rec, rsh, login را از فایل /etc/inetd.conf پاك كنید. و ثانیاً فایل /etc/host.equiv و هر فایلی یا پسوند »قاخسف را پیدا كرده و آنرا حذف نمایید. بای حصول اطمینان تمام دایركتوری‌های خانگی كاربران را بدقت نگاه كنید.

ایجاد كلمه عبور نامناسب بطوریكه نیازها را در بر بگیرد بهترین راه بهبود   امنیت سیستم آن است كه از انتخاب كلمه عبور نامناسب توسط كاربران جلوگیری شود. متأسفانه تا این اواخر فقط چند راه برای انجام اینكاردر سیستم یونیكس وجود داشته است. برای سیستم Linux برنامه‌هایی از قبیل npasswd و passwd+ وجود دارد اما برای Swlaris برنامه‌ای وجود نداشت. با استفاده از این برنامه‌ها می‌توانید نیازهای كلمه عبور قوی را تعیین كنید. این برنامه‌ها كاربر را مجبور می‌كند كلمه عبور را در جهت برآورده شده قواعد موردنظرتا انتخاب كند.

هم‌اكنون در Solaris 2.6 و آخرین نسخة Linux ابزار بهتری برای نظارت بر قدرت كلمه عبور كاربر وجود دارد. نام این ابزار PAM و می توانید اطلاعات بیشتر درباره نحوه ساخت فیلترهای كلمه عبور را در آدرس http://www.sun.com/Solarispam پیدا كنید.

توجه: برخی از نسخه‌های یونیكس همانند HPUX از ابتدا و بطور پیش‌فرض از كلمه عبور قدرتمندی برخوردار است. در این نسخه‌ها اگر به هنگام ورودی اشتباهات متعدد رخ دهد اكانت قف می‌شود.

كنترل دسترسی به فایل

در سیستم یونیكس دسترسی به فایلها توسط مجموعه‌ای از مجوزها[4] كنترل می‌شود. كاربر می‌تواند امتیاز خواندن، نوشتن و اجرای فایل را داشته باشد.

مالك یك فایل ممكن است یك نفر، یك گروه یا همه باشند، شما می‌تونید به آنها اجازه خواندن، نوشتن و اجرای آن فایل را بدهید. عوض كردن مجوز فایل با دستور chmod انجام می‌شود. اگر چه كاربر میتواند فایلهایی ایجاد كند كه قابل خواندن و نوشتن توسط همه باشد اما بهتر است این اجازه به كاربر داد نشود. هر كاربری می‌توان روی یك سیستم این فایلها را بخواند و یا بنویسد. بنابراین اگر مزاحمی به یك user ID دست پیدا كند قادر به خواندن و نوشتن خواهد بود.

از آنجا كه متقاعد كردن همه كاربران به اینكه وقتی فایل را ایجاد كردند دسترسی به آنرا عوض كنند كار مشكلی است لذا قصد داریم مكانیزم پیش‌فرضی ایجاد كنیم كه به هنگام ایجاد فایل، دسترسی به آن بطور خودكار تنظیم شود. این كار با پارامتر umask قابل انجام است. در Solaris پارامتر مذكور در فایل /etc/default/login و در Linux در فایل /etc/rofile قرار دارد. دستور بكار رفته بصورت زیر است:

umask 077

ارقامی كه بعد از دستور آمده است معرف اجازه‌ای است كه بطور پیش‌فرض از فایلهای جدید ایجاد شده گرفته می‌شود (مضایقه می‌شود) از سمت چپ اولین رقم معرف اجازه‌ای است كه از مالك فایل گرفته می‌شود. رقم دوم معرف اجازه‌ای است كه از مالك گروهی گرفته می‌شود و رقم سوم معرف اجازه‌ای است كه از همه گرفته می شود. در مثال فوق چون اولین رقم صفر است بنابراین روی مالك فایل محدودیتی اعمال نمی‌شود بنابراین وی می‌تواند فایلهایی كه از این به بعد ایجاد می شود را بخواند یا اجرا كند. اما به مالكین گروهی و دیگران هیچ اجازه‌ای داده نشده است.

در ادامه اجازه‌هایی كه توسط ارقام تعریف می‌شود آورده شده است:

اجازه خواندن                  4

اجازه نوشتن                                 2

اجازه اجرا                                   1

بنابراین اگر بخواهید گروه بصورت پیش‌فرض اجازه خواندن داشتهباشد اما اجازه نوشتن و اجرا نداشته باشد باید از دستور umask 037 استفاده شود و اگر بخواهید اجازه نوشتن را از گروه بگیرید باید از دستور umask 027 استفاده نایید. توجه كنید ك در مثال umask037 ، عدد 3 مجموعه اعداد 1 و 2 است و از آنجا كه اعداد 1و 2 و بهترتیب اجازه اجرا و نوشتن فایل را سلب می‌كنند، پس گروه فقط اجازه خواندن فایل را دارد.

دسترسی Root

در سیستم یونیكس بالاترین سطح دسترسی در اختیار root می‌باشد بطوریكه وقتی كاربری با root وارد شود می‌تواند هر كاری انجام دهد. از اینرو یكی از كارهای خوب این است كه ورودی مستقیم با اكانت root را محدود كنید. بدین ترتیب حتی مدیریت سیستم[5]برای ورود به root باید ابتدا با اكانت خودش وارد شود و پس از آن می‌تواند با دستور su root وارد root شود. با انجام این كار خواهید توانست با مشاهده لوگ فایلها تشخیص دهید كدام user ID سعی داشته  به سطح دسترسی root برسد.

می‌توان در Solaris و Linux ورود به root را فقط به كنسول محدود نمود. برای اینكار در solaris فایل /etc/default/login را بصورت زیر ویرایش نمایید:

#If CONSOLE is set, root can only login on that device.

#Comment this line out to allowremote login by root

#

CONSOLE=/dev/ console

اینكار سیستم را مجبور می‌كند ورود به root فقط در كنسول مجاز باشد. همین پیكره‌بندی را می‌توان با ویرایش فایل /etc/securetty در سیستم Linux انجام داد. این فایل لیستی از ttyهایی است كه می‌توان از آنها جهت ورود به root استفاده كرد. این فایل باید محتوی /dev/tty1 باشد. اگر برای مدیریت سیستم از ارتباط سریال استفاده می كنید باید فایل مذكور حاوی /dev/ttySo باشد. ttyهای شبكه معمولاً /dev/ttyp1 و بالاتر از آن می‌باشد.

اگر قصد كنترل دسترسی root را دارید می‌توانید دسترسی به root به FTP را كنترل نمایید. در سیستم Solaris و Linux، اكانتهایی كه اجازه FTP به سیستم را ندارند در فایل /etc/ftpusers فهرست می‌شود . از وجود root در این لیست مطمئن شوید.

حفاظت در برابر سرریز شدن بافر

یكی از اسیب‌پذیریهای خطرناك در كامپیوتر، سرریز شدن بافر است. Solaris روشی ارائه می‌كند كه امكان اجرای دستورات off the stack را در حمله سریز كردن بافر از بین می‌برد. برای انجام این كار سطرهای زیر را به فایل /etc/system اضافه كنید:

set                    noexec_user_stack=1

set                    noexec_user_stck_log=1

سطر اول از اجرای دستور off stack جلوگیری می‌كند و سطر دوم تلاش‌های انجام گرفته را ثبت می‌كند.

توجه: در برخی برنامه‌ها نیاز است دستور off the stack اجرا شود. بنابراین اگر تغییر فوق را انجام دهید این برنامه از كار خواهد افتاد (crash می‌كند). لذا قبل از انجام اینكار از آزمایش این دستور مطمئن شوید.

غیر فعال كردن اكانتهای غیر مفید

یونیكس تعدادی اكانت ایجاد می‌كند كه برای وارد مختلف (از قبیل مالك فایلهای خاص) نیاز میشود اما برای ورود به سیستم هیچ‌وقت استفاده می‌شود. این اكانتها عبارتند ازnuucp, uucp, sys و listen . به منظور جلوگیری از ورود به این اكانتها، فایل /etc/shodow را به صورت زیر تصحیح نمایید:

bin:*LK*10960:0:99999:7: : :

daemon:*LK*10960:0:99999:7: : :

adm:*LK*10960:0:99999:7: : :

lp:*LK*10960:0:99999:7: : :

sync:*LK*10960:0:99999:7: : :

shutdown:*LK*10960:0:99999:7: : :

halt:*LK*10960:0:99999:7: : :

mail:*LK*10960:0:99999:7: : :

news:*LK*10960:0:99999:7: : :

uucp:*LK*10960:0:99999:7: : :

operator:*LK*10960:0:99999:7: : :

games:*LK*10960:0:99999:7: : :

gopher:*LK*10960:0:99999:7: : :

ftp:*LK*10960:0:99999:7: : :

nobody:*LK*10960:0:99999:7: : :

هر سطر از دو بخش تشكیل شده است كه بخش اول اكانت و بخش دوم كلمه عبور آن است. اكانت كاربر معمولی دارای كلمه عبور رمز شده می‌باشد. در مورد اكانت‌هایی كه هیچ‌وقت اجازه ورود ندارند، بخش دوم شامل كاراكتر “*” با هیچ كلمه عبوری اجازه ورود ندارد به همین دلیل كسی نمی‌تواند آن را بشكند. با قرار دادن عبارتی همانند “*LK*” بطور مفید و مختصر قفل بودن این اكانت بیان می‌شود (LK نماینده كلمه Lock است).

برنامه‌های مكمل[6]

سیستم یونیكس از نظر برنامه‌های مكملی كه بصورت نرم‌افزاری برای تصحیح باگ‌ها[7]و رفع مشكلات امنیتی استفاده میشود تفاوتی با ویندوز NT ندارد. برنامه‌های مكمل بطور منظم روی سیستم نصب می‌شود تا آسیب‌پذیریهای موجود برطرف شود. هنگام دان‌لود كردن برنامه‌های مكمل Solaris توجه داشته باشید شركت Sun برنامه‌های مكمل بسیاری را بصورت گروهی[8] روی سایت خود قرار می‌دهد،‌اما ممكن است برخی برنامه‌های مكمل امنیتی در آن گروه نباشد. لذا باید آنها را بصورت تك‌تك دان‌لود كرده و بصورت دستی نصب كنید. نصب برنامه‌های مكمل را وصله‌كاری گویند.

مدیریت كاربر

همانند تمام سیستمهای كامپیوتری، مدیریت كاربران و روابط بین آنها نقش حیاتی در امنیت كلی سیستم دارد. هر سازمانی باید پروسه مدیریت كاربر داشته باشد. در این پروسه مراحل لازم برای زمانیكه كاربری تقاضای دسترسی به سیستم نداشته باشد شرح داده شده است. علاوه بر این در این پروسه مراحل لازم برای موقعی كه یكی از پرسنل سازمان را ترك می‌كند شرح داده می شود.

بخاطر داشته باشید سیستم یونیكس انواع زیادی دارد. ابزارهایی كه هم برای مدیریت كاربر استفاده می‌شود در نسخه‌های مختلف تفاوت دارد  و از فروشنده‌ای به فروشنده‌دیگر فرق می‌كند.

افزودن كاربر به سیستم

در اكثر نسخه‌های یونیكس، ابزارهایی برای افزودن كاربر به سیستم ارائه شده است. وظایف اصلی این ابزار عبارتند از:

  • افزودن نام كاربر به فایل Password
  • تعیین و اختصاص شماره user ID
  • تعیین و اختصاص شماره group ID
  • تعیین Shell مناسب برای ورود
  • افزودن نام كاربر به فایل Shadow
  • اختصاص كلمه عبور مناسب اولیه
  • تعیین Allias مناسب برای پست الكترونیك (Allias یعنی نام مستعار)
  • ایجاد دایركتوری خانگی برای هر كاربر

حال به تشریح هر یك از وظایف می‌پردازیم.

افزودن نام كاربر به فایل Password

فایل /etc/passwd شامل لیست كاربرانی است كه به سیستم تعلق دارد. هر كاربر دارای نام كاربر یكتایی است كه حداكثر از هشت كاراكتر تشكیل شده است. به ازاء هر ركوردی كه در فایل passwd ثبت می‌شود اطلاعات بیشتری نیز درباره هویت واقعی كاربر ثبت می‌شود كه بای شناسایی فردی كه در قبال آن اكانت مسئول است بكار می‌رود. این اطلاعات در بخش GECOS اضافه می‌شود.

تعیین و اختصاص شماره User ID

به هر نام كاربر، یك شماره User ID مناسب اختصاص داده می شود كه به اختصار UID گفته میشود. UID باید در سیستم یكتا باشد. عموماً باید UID كاربر عددی بزرگتر از 100 انتخاب شود. از آنجا كه عدد صفر برای اكانت root است، از اینرو هیچ گاه به عنوان UID انتخاب نمی شود. سیستم برای شناسایی فایلهای روی سیستم از UID استفاده می‌كند. از اینرو استفاده مجدد از UID (یعنی استفاده از یك UID برای چند نفر) توصیه نمی‌شود.

اختصاص شماره Group ID

لازم است هر كاربر دارای یك گروه اصلی باشد. این شماره به نام كاربر در فال /etc/passwd اختصاص دهید. كاربران عادی نباید عضو گروه wheel باشند چون این گروه برای مقاصد مدیریتی استفاده می‌شود.

تعیین Shell مناسب برای ورود

وقتی كاربر تعاملی[9] قصد ورود به سیستم دارد، باید به او یك Shell داده شود كه در حالت عادی csh, ksh و bash می‌باشد. به كاربرانی كه نباید وارد سیستم شوند برنامه‌ای داده می‌شود كه Shellنیست. به عنوان مثالی از كاربران تعاملی می‌توان به كاربرانی اشاره كرد كه از طریق pop یا IMAP پیامهای پست الكترونیك خود را كنترل می‌كنند، لذا می‌توانید امكان تعویض كلمه عبورشان را بصورت تعمالی فراهم نمایید. در این حالت برای كاربر یك Shellتعریف می‌كنید كه bin/passwd می‌باشد. هر وقت یكی از كاربران به سیستم telnet كند می‌تواند كلمه عبورش را عوض كند و پس از تكمیل عملیات از آن shell خارج شود.

افزودن نام كاربر به فایل Shadow

از آنجا كه فایل /etc/passwd قابل خواندن توسط همه است لذا نباید كلمات عبور در آن ذخیره شود تا كسی نتواند با شكستن كلمه عبور وارد سیستم شود. كلمات عبور در فایل /etc/shadow ذخیره می‌‌شود بنابراین همان نام كاربر به فایل /etc/shadow افزوده می‌شود.

اختصاص كلمه عبور مناسب اولیه

بعد از ایجاد اكانت برای كاربر، باید كلمه عبور اولیه‌ای برای آن تعیین شود. اكثر ابزارهایی كه برای افزودن كاربر مورد استفاده قرار می‌گیرد پرومپتی[10] برای این منظور در اختیار می‌گذارند. در غیر اینصورت با نام كاربر وارد شوید و از دستور passwd برای تغییر كلمه عبور استفاده كنید. كلمه عبور اولیه باید گبونه‌ای باشد كه حدس زدن آن آسان نباشد و بهتر است كلمه عبور اولیه برای تمام اكانتها یكسان نباشد. اگر از كلمه عبور یكسان برای همه كاربران استفاده شود، امكان دارد مهاجمی با استفاده از اكانت جدید و قبل از اینكه كاربر قانونی از اكانت خود استفاده كند وارد سیستم شود و كلمه عبور را عوض كند.

تعیین Alias مناسب برای پست الكترونیك

وقتی كاربری ایجاد می‌شود بطور خودكار یك آدرس پست الكترویكی به شكل username@home خواهد داشت. حال اگر كاربر بخواهد از یك نام مستعار برای آدرس پست الكترونیك خود استفاده كند. این كار با استفاده از e-mail alias قابل انجام است. برای این منظور باید فایل /etc/aliases ویرایش شود. فرمت این فایل بصورت زیر است:

alias: username

بعد از آنكه alias ایجاد شد برنام newaliases را اجرا كنید تا فایل alias.db ایجاد شود.

ایجاد دایركتوری خانگی برای كاربر

برای  هر كاربر باید یك دایركتوری خانگی ایجاد شود. این دایركتوری در فایل /etc/passwd تعریف می‌شود. پس از آنكه در محل مناسبی روی سیستم، دایركتوری خانگی كاربر ایجاد شد(معمولاً در شاخه /home یا /export) مالك دایركتوری را عوض كنید. با استفاده از دستور زیر كاربر موردنظر تنها مالك فایل خواهد شد:

chown

حذف كاربر از روی سیستم

وقتی كاربری سازمان را ترك می‌كدن و یا به جای دیگر منتقل می‌شود بطوریكه به اكانت كاربری خود بیش از داین نیاز نداشته باشد لازم است پروسه مدیریت كاربری مناسبی دنبال شود. در سیستم یونیكس مالك تمام فایلهای كاربر، UID است. بنابراین اگر UID كاربری برای كاربر جدید استفاده شود، كاربر یا اكانت جدید مالك تمام فایلهای كاربر قدیمی خواهد شد.

اصولاً وقتی كاربر بیش از این به اكانت نیاز نداشته باشد باید اكانت را قفل كرد. برای اینكا در فایل /etc/shadow كلمه عبور كاربر با عبارت “*LK*” جایگزین می‌شود. بعد از مدت زمان مناسبی (معمولاً 30 روز) می‌توان فایلهای آن كاربر را حذف كرد. مهلت 30 روزه بدین منظور است كه مدیریت كاربران در این مدت فایلهای موردنیاز سازمان را در محل مناسب كپی كند.

مدیریت سیستم

مدیریت سیستم در یونیكس (از لحاظ امنیتی) شامل برقرار كردن سطوح مناسبی از ورود و نظارت بر سیستم برای یافتن فعالیتهای مشكوك می‌باد. سیستم یونیكس اطلاعات خوبی درباره آنچه به دنبالش هستید ارائه می‌كند. البته ابزارهایی هم وجود دارد كه می‌توان برای شناسایی فعالیتهای مشكوك از آنها استفاده كرد.

بازرسی سیستم[11]

در اكثر نسخه‌های یونیكس، سیستم واقعه‌نگاری استانداری ارائه شده است كه می‌تواند اطالعات امنیتی را به مقدار كافی در اختیار بگذارد. با اینحال در برخی موارد به اطلاعات بیشتری از بازرسی نیاز می شود. Solaris برای این منظور Basic security module را ارائه كرده است كه به اختصار BSM گفته می‌شود. BSM در حالت عادی فعال نیست و در صورتیكه كاربر به اطلاعات بیشتری نیاز داشته باشد آن را به راه می‌اندازد.

به منظور فعال كردن BSM، اسكریپت /etc/security/bsmconv را اجرا كنید. اگر چه اینكار پروسه بازرسی را راه‌اندازی می‌كند اما نیاز به ری‌بوت سیستم دارد. پیكره‌بندی بازرسی در فایل /etc/secuity/dudit_control تعیین می‌شود. اطلاعات كامل در مورد این فایل را می‌توانید در صفحات راهنمای آن پیدا كنید (بدین منظور دستور man audit _ control را اجرا كنید) اما برای شروع پیكره‌بندی زیر درنظر بگیرید:

#dentify the location of the audit file directory

dir:

#identify the file system free space percentage when a warning should occur

minfree:20

#flags for what to audit. This example audits login, administrative

#functions and failed file reads, writes, and attribute changes

flags: lo,ad,_fm

#This set of flags tellls the system to also audit login and administrative

#events that cannot be attributed to a user

naflags:lo,ad

پس از پیكره‌ فایل، گردآوری گزارشات بازرسی شروع می‌شود. با استفاده از دستور audit-n می‌توان فایل مربوط به گزارشات فعلی را بست و فایل جدیدی را شروع كرد. برای مرور محتوای فایل بازرسی از دستور prudit استفاده كنید.

توجه: BSM بار كاری سیستم را افزایش می‌دهد لذا فقط زمانی استفاده شود كه امنیت سیستم به آن نیاز دارد.

لوگ فایلها

در اكثر سیستمهای یونیكس ابزار نسبتاً جامعی در Syslog فراهم شده كه برای واقعه‌نگاری بكار می‌رود. Syslog قابلیتی است كه مطابق پیكره‌بندی انجام گرفته، اطلاعات را ثبت می‌كند. Syslog از طریق فایل /etc/syslog.conf پیكره‌بندی می‌شود. عموماً گفته می‌شود فقط root مجاز به دیدن لوگ فالها است و كس دیگری نباید آنها را دستكاری كند.

در بیشتر فایلهای syslog.conf پیامهای واقعه‌نگاری به فایلهای /var/log/message یا /var/adm/log/messages هدایت می‌شوند. اگر syslog.conf بدرستی پیكره‌بندی شده باشد باید دستور پیكره‌بندی زیر در آن لحاظ شده باشد:

auth.info                          /var/log/auth.log

دستور فوق به یونیكس می‌گوید اطلاعات مربوط به تلاش‌های صورت گرفته برای reboot, su, login و دیگر وقایع مرتبط با امنیت را جمع‌آوری كند. مطمئن شوید فایل /var/log/auth.log به منظور جمع‌آوری اطلاعات زیر ایجاد شده است:

#touch / var/ log/ auth. log

#chown root/ var/ loglauth.log

#chmod 600 /var/loglauth.log

در Solaris می‌توانید با ایجاد فایل /var/adm/loginlog تلاش‌های اشتباهی كه برای ورد صورت گرفته است را نیز ثبت نمایید. فایل مذكور را بصورت زیر ایجاد نمایید:

#touch/var/adm/loginlog

#chmod 600/var/adm/loginlog

#chown root/var/adm/loginlog

#chgrp yss/var /adm/loginlog

 دایركتوری /var باید فضای كافی داشته باشد تا لوگ فایلها را جمع‌آوری كند. اگر /var روی پارتیشن قرار داشته باشد و لوگ فایلهای جمع‌آوری شده خیلی بزرگ باشند. امكان اشغال شدن فایل سیستمهای root وجود دارد،‌لذا بهتر است دایركتوری /var در مكان دیگری قرارداشته باشد.

فایلهای مخفی[12]

فایلهای مخفی توان ایجاد مشكل برای سیستم یونیكس را دارند. دستور استاندارد Ls نمی‌تواند فایلی را كه با “.” شروع شده است، نمایش دهد.[13] اما دستور Ls -a تمام فایلهای مخفی را نمایش می‌دهد. هكرها آموخته‌اند با استفاده از فایلهای مخفی فعالیت خود را پنهان سازند. بطور مثال هكر می‌تواند فایل خود را در یك دایركتوری مخفی قرار دهد و بدینوسیله آنها فایل را مخفی كند. هم‌چنین ممكن است هكر فایل خود را در دایركتوری‌هایی مخفی كند كه دیدن آن برای مدیریت مشكل است. برای مثال اگر یك دایركتوری “…” نامیده شود جلب توجه نمی كند. اگر بعد از سومین نقطه در نام این دایركتوری. كاراكتر space قرار داده شود. (به عبارت دیگر”…” )بررسی آن دایركتوری سخت می‌شود مگر اینكه از وجود space در نام دایركتوری اطلاع داشته باشید. با استفاده از دستور زیر می‌توانید تمام فایلها و دایركتوری مخفی را روی سیستم خود پیدا كنید:

#find / -name “*”     -ls

اگر چه می‌توان بجای “-ls” از “-print” استفاده كرد اما استفاده از “-ls” اطلاعات جزئی‌تری درباره مكان فایل ارائه می‌كند. لازم است این دستور بصورت دوره‌ای اجرا شود و وجود فایلهای مخفی مورد بررسی قرار گیرد.

فایلهای SUID و SGID

فایلی كه اجازه Set UID (SUID) و Group ID( SGID) دارد مجاز است در حین اجرای فایل، UID یا Group ID خود را تغییر دهد. برخی فایلها برای انجام كار به این قابلیت نیاز دارند اما لازم است فقط تعداد محدودی فایل دارای این قابلیت باشد و هیچ‌یك از آنها در دایركتوری خانگی كاربر قرار نداشته باشد. با استفاده از دستورات زیر می توانید تمام فایلهای SUID و SGID را پیدا كنید.

#find/-type           f -perm -04000    -ls

#find/-type           f -perm -02000     -ls

وقتی سیستمی ساخته می‌شود باید دستورات فوق اجرا و نتایج آن ذخیره شود. این دستورات باید بطور دوره‌ای اجرا و نتایج حاصله با لیست مقایسه شود و هرگونه تغییر تحت بررسی قرار گیرد.

فایلهای جهان نویس[14]

یكی دیگر از پتانسیل‌های ضعف پیكره‌بندی در سیستم یونیكس فایلهای جهان‌نویس است. مهاجم می‌تواند در این نوع فایل، اسكریپت ایجاد كند و در صورت اجرا از آسیب‌پذیری موجود بهره‌برداری كند. اگر فایلهای SUID و SGID از نوع جهان‌نویس باشند مهاجم می‌تواند امتیاز زیادی برای خود ایجاد كند. با اجرای دستور زیر فایلهای جهان‌نویس را پیدا می‌كنید:

#find/    -perm    -2   -type    f   -ls

لازم است این دستور بطور دوره‌ای اجرا شود تا تمام فایلهای جهان‌نویس روی سیستم مكان‌یابی شوند.

جستجوی علائم مشكوك

تا اینجا به چند علامت اشاره شد كه یافتن آن در سیستم می‌تواند بر وجود آسیب‌پذیری یا نفوذ مهاجم دلالت می‌كند (فایلهای SGID, SUId و فایلهای جهان‌نویس).  چند راه دیگر وجود دارد كه می‌توان سیستم یونیكس را از نظر فعالیتهای مشكوك بررسی كرد.

حالت بی‌قاعده[15]

زمانیكه sniffer روی سیستم عمل می‌كند واسطه‌ای در حالت بی‌قاعده قرار دارد. Sniffer به معنی بوكشنده‌ای است كه بدنبال اطلاعات می‌گردد.Sniffer با قراردادن واسطه در حالت بی‌قاعده، ifconfig-s صادر شود، حالت واسطه بصورت pROMISC گزارش داده می‌شود و همین نشانه‌ای از فعال بودن Snifferاست. اگر Sniffer توسط مدیریت سیستم اجرا نشده باشد لازم است دلیل وجود آن مورد بررسی قرار گیرد.

توجه: مواقعیكه واسطه‌ای در حالت بی‌قاعده قرار داد، Soaris بدرستی گزارش نمی‌دهد چون نرم‌افزار kernel باگ دارد. برای كنترل اینكه واسطه Solaris در حالت بی‌قاعده است باید از ifstaus استفاده كنید این دستور در آدرس زیر موجود است:

ftp://ftp.cerias.purdue.edu;pub/tools/unix/sysutils/ifstataus/

Netstat

برنامه netstat تمام ارتباطات شبكه‌ای كه روی سیستم یونیكس پذیرفته شده است را نمایش می‌دهد. این دستور بصورت netstat -an استفاده می‌شود. آرگومان “n” به برنامه netstat می‌گوید آدرس‌های IP را ترجمه نكند. در ادامه نمونه‌ای از خروجی حاصل از این دستور را می‌بینید:

جدول ص 342

چنانچه در خروجیهای فوق می‌بینید هر سطری كه عبارت”LISTEN” دارد بدین معنی است كه برنامه آن پورت را پذیرفته و به آن گوش می‌دهد. فقط به پورت‌هایی كه مدیریت آنها پیكره‌بندی كرده است باید گوش داده شود. اگر پورتی در حال گوش دادن است كه توسط مدیریت پیكره‌بندی نشده باشد، لازم دلیل باز بودن آن بررسی شود.

آدرس‌هایی كه در ستون local address نشان داده شده است به شماره پورت محلی ختم شده است (شماره بعد ازنشان دو نقطه). با استفاده از شماره پورت می‌توان داخلی یا خارجی بودن ارتباط با تشخیص داد. برای مثال اگر شماره پورت محلی 23 باشد، نشانگر ارتباط داخلی به telnet است. اگر شماره پورت محلی 1035 و شماره پورت خارجی23 باشد، نشانگر ارتباط telnet خارجی است.

Lsof

یكی از مشكلات برنامه netstat آن است كه نمی‌گوید چه فرآیندی پورت را باز نگه داشته است. یافتن فرآیندی كه از پورت خاص ارتباط برقرار كرده است كار سختی است. برنامه‌ای به نام losf وجود دارد كه این اطلاعات را ارائه می‌كند. پس از نصب برنامه دستور losf -I اطلاعات زیر را ارائه می‌كند. (این برنام را می‌توانید در آدرس ftp://vic.cc.purdue.deu/pub/tools/unix/lsof پیدا كنید).

جدول ص 343

چنانچه از نتایج خروجی دیده می‌شود دستور lsof تمام پورتهای باز و فرآیندی كه آن پورت را باز نگهداشته است نمایش می‌دهد. مطمئن شوید هر فرآیند چه كاری انجام می‌دهد و چرا پورت را باز نگه می‌دارد.

توجه: برنامه lsof به جای شماره پورت در ستون سمت راست نام پورت نمایش می‌دهد. البته به شرطی كه نام آن در فایل /etc/services وجود داشته باشد.

PS

مدیریت باید از طریق برنامه PS به خروجی نگاه كند. این برنامه تمام فرآیندهای فعال روی سیستم را نمایش می‌دهد. این كار هنگام جستجوی sniffer اهمیت دارد زیرا ممكن است برنامه‌های lsof یا netstat نتواند sniffer را آشكار كند. در اكثر سیستمهای یونیكس دستور ps    -ef تمام فرآیندهای روی سیستم را نمایش می‌دهد. اگر در برخی نسخه‌های یونیكس این دستور اجرا نمی شود، دستور ps   -aux را امتحان كنید. نتایج دستور ps در ادامه نشان داده شده است.

جدول ص 344

با استفاده از دستور ps بطور دوره‌ای لیست فرآیندهای در حال اجرا روی سیستم را بررسی نمایید و اگر به مورد غیر قابل تشخیص برخوردید آنرا دنبال كنید.

فایلهای تغییر یافته

پس از آنكه مهاجم به سیستمی نفوذ كرد سعی می‌كند با تغییر فایلهای سیستمی، امكان دسترسی پیوسته به سیستم را برای خود فراهم كند. فایلهایی كه برای جایگزینی به سیستم آورده می‌شود rootkit نامیده می‌شود چون امكان ادامه دسترسی مهاجم به اكانت root را فراهم می‌كند.

علاوه بر برنامه‌هایی مانند snifferها ، ممكن استrootkit جایگزین باینری برنامه‌های زیر باشد:

  • ps
  • netstat
  • login
  • passwd
  • inetd
  • ssh
  • telnet
  • ftpd

اساساً هر برنامة قابل اجرایی كه بتواند بطریقی به دسترسی مهاجم كمك كند امكان دارد تغییر داده شود. بهترین روش برای تشخیص تغییر فایل، استفاده از chedksum رمزنگاری است. بهترین كار آن است كه به هنگام ساخت سیستم برای تمام فایلهای سیستمی checksu ساخت شود و هر بار كه برنامه‌های مكمل به سیستم اعمال می‌شود checksum به روز شود. checksum را روی سیستم امنی نگه‌دارید بطوریكه مهاجم نتواند آنرا تغییر دهد.

اگر نسبت به تحت نفوذ قرار گرفتن سیستمی مشكوك هستید checksum را دوباره محاسبه نمایید. و آنرا با مقدار اولیه مقایسه كنید. اگر مقادیر یكسان است فالها دستكاری نشده است اما در صورت مشاهده تفاوت، به فایل اعتماد نكنید و آنرا با فایل اصلی كه از ابتدا داشته‌اید جایگزین نمایید.

ویندوز NT محصول شركت مایكروسافت، یكی از رایج‌ترین سیستم‌عامل‌هایی است كه توسط سازمانهای و روی اینترنت استفاده می‌شود. قبلاً از ویندوز NT به عنوان سرور فایل و چاپ[16] استفاده می‌شد و در حال اجرای وظایف جدیدی از قبیل سرور وب، سرور كاربردی و سرور بانك اطلاعاتی  با به خوبی انجام می‌دهد. به دلیلی حساسیت اطلاعاتی كه روی سیستم ویندوز Nt ذخیره می‌شود و به دلیل برنامه‌های كاربردی حساسی كه روی آن اجرا می‌شود، مدیریت سیستم باید بتواند سیستم را بطریقی ایمن نصب كند. این مسئله از اهمیت حیاتی برخوردار است.

در این فصل مراحلی كه طی نصب سیستم باید طی شود شرح داده شده است. این مراحل شامل تنظیمات Registry و پیكره‌بندی اساسی سیستم می‌شود. علاوه بر این نحوه مدیریت كاربران در حوزه ویندوز NT شرح داده خواهد شد.

تنظیم سیستم

نمی‌توان ویندوز NT ا بدون قید و شرط ایمن دانست. اگر چه مركز NCSC[17] برخی پیاده‌سازی‌های ویندوز (3.594)NT را از لحاظ C2-Compliant تأیید كرده است؛ اما نباید از مسئله امنیت در ویندوز NT غافل شد. بر طبق تأیید به C2، ویندوز NT از نظر كارایی امنیتی قابل تأیید می‌باشد، اما همه‌چیز ا در مورد ایمنی در هر محیط خاص بیان نمی‌كند. لازم به ذكر است این تأییدیه زمانی برای سیستم صادر شده بود كه به شبكه وصل نشده بود. برای كارایی درست C2 لازم است از C2 configuration Manager (كه توسط Nt Resource Kit ارائه شده است)، استفاده شود.

برطبق آنچه گفته شد ویندوز NT از ابتدا و بدون قید و شرط ایمن نیست و لازم است قبل از بهره‌برداری، تنظیماتی روی آن انجام شود تا سیستم ایمن تر شود. تنظیمات مذكور به دو بخش تنظیمات Registry و تنظیمات پیكره‌بندی سیستم تقسیم می شود.

تنظیمات Registry

بانك اطلاعات داخلی سیستم كه در‌ آن پارامترها و مقادیر موردنیاز سیستم ذخیره شده است را Windows NT Registry می‌گویند. به هنگام ایجاد تغییر در Registry دقت نمایید، زیرا هر اشتباهی باعث بلا استفاده شدن سیستم می‌شود. چنانچه گفته شد انجام برخی تغییرات در Registry به امنیت سیستم كمك می‌كند.

در بخش‌های بعد تغییرات پیشنهادی در Registry توضیح داده شده است. ویرایش Registry باید با استفاده از دستور (یا برنامه) Regedit یا Regedit32 انجام شود. از طریق دستور Run دسترسی به هر یك از دو دستور فوق امكان‌پذیر است (شكل 1ـ14 را ببینید).

شكل 1ـ14 نمایی از Regedit در حال نمایش سلسله Registry

فعال ساختن پیغام Logon

با استفاده از پیغام Logon به كاربری كه در حال ورود به سیستم است تذكر قانونی داده می‌شود. بدین ترتیب كاربر قبل از ورود یك پیغام دریافت می‌كند. انجام این كار برای هر سازمانی خوب است. برای انجام این كار در ویندوز NT مراحل زیر را دنبال نمایید:

1ـ به /HEKEY_LOCAL_MACHINE/Software/Microsoft/Windows

NT/Curent Version/Winlogon بروید.

2ـكلید Legal Notice Text را پیدا كرده و متن موردنظر برای نمایش را وارد كنید.

توجه: اگر متنی كه می‌خواهید نمایش داده شود طولانی است بهتر است ابتدا آنرا در برنامه Notepad یا یك برنامه ویرایشگر متن تایپ كنید و سپس آنرا رد مكان فوق كپی كنید.

پاك كردن System Pagefile بهنگام shutdown

در نصب پیش فرض ویندوز NT هر كس می‌تواند كلیدهای CTRL-ALT-DEL را فشار دهد، پس از آن روی آیكون shutdown كلیك كنید تا سیستم خاموش شود. با انجام مراحل زیر كاربر مجبور می‌شود برای خاموش كردن سیستم ابتدا Logon كند:

1ـ به /HEKEY_LOCAL_MACHINE/Software/Microsoft/Windows

NT/Curent Version/Winlogon بروید.

2ـ كلید shutdown Without ogon را پیدا كرده و مقدار آنرا برابر صفر قرار دهید.

غیر فعال كردن اعتبار سنجیLAN Manager

اعتبارسنجی LAN Manager، اعتبار سنجی است كه امكان می‌دهد سرور ویندوز NT با كلانیت ‌های ویندوز 95 و 98 كار كند. طرح اعتبارسنجی LAN Manager بطور قابل ملاحظه‌ای از سیستم اعتبارسنجی NT ضعیف‌تر است و چون از قدرت محاسباتی بسیار كمتری برخوردار است مهاجم را قادر می‌سازد كلمه عبور رمز شده را بشكند. با انجام مراحل زیر سیستم وادار به استفاده از اعتبارسنجی NT می‌شود:

1ـ به /HEKEY_LOCAL_MACHINE/system/Current control Set/Control/Lsa بروید.

2_ ;gdn LMCompatibility Level را پیدا كرده و مقدار آنرا تنظیم كنید. (اگر كلید مذكور وجود نداشت آنرا ایجاد كنید. نوع آن REG_DWORD است). مقداری كه تنظیم می‌شود بستگی به محیط دارد و طبق 6 سطر زیر را تعریف می‌شود.

0          صفر پیش فرض است و واكنش‌های LAN Manager و NT را می‌فرستد. سیستم هرگز از امنیت NT Version 2 session استفاده نمی‌كند.

1          در صورتی مذاكره[18] از امنیت NT Version 2sssion استفاده می‌كند.

2          فقط اعتبارسنجی NT را ارسال می‌كند.

3          فقط اعتبارسنجی NT Version2  را ارسال می‌كند.

4          فقط اعتبارسنجی LAN Manager را رد می‌كند. (فقط به سرور اعمال می‌شود).

5          سرور اعتبارسنجی NT Version2             را قبول می‌كند و بقیه را رد می‌كند.(فقط به سرور اعمال می‌شود).

توجه: قبل از اینكه این كلیه Registery  را تغییر دهید نیازهای عملیاتی شبكه‌تان را تعیین كنید. اگر روی شبكه كلانیت‌های ویندوز 95 و ویندوز 98 دارید باید از سطوح صفر یا یك استفاده كنید. علاوه بر این برای استفاده از اعتبارسنجی NT Version2 به service pack4 یا بالاتر نیاز دارید.

محدود كردن كاربر بی‌نام[19]

ویندوز NT به كاربر بی‌نام[20] اجازه می‌دهد به اطلاعاتی از قبیل نام كاربردهای روی سیستم، گروه‌ها، اشتراكها و مقادیر سیاست‌گذاری دسترسی پیدا كند. كاربر بی‌نام، بدون نام كاربر و كلمه عبور آن سفید است. با دنبال كردن مراحل زیر قابلیت فوق محدود می‌شود:

1ـ HEKEY_LOCL_MACHINE_System/Current ControlSet/Control/Lsa بروید.

2ـ كلید Regestric Anonymous را پیدا كرده و مقدار آنرا برابر 1 قرار دهید.

(اگر پیدا نشد آنا ایجاد كنید. در اینصورت نوع آن REG_DWORD می‌باشد).

توجه: اگر شبكه شما از چندین حوزه NT استفاده می‌كند و یا اگر از Novel DNS استفاده می‌كنید؛ قادر به انجام اینكار نیستید. برای اطلاعات بیشتر Microsoft Knowledge Base (مقاله Q143474) را ببینید.

محدود كردن دسترسی از راه دور به

می‌توان با استفاده از ابزارهایی نظیر Regedit و Regedit32 رجیستری كامپیوترهای دوردست را خواندن یا ویرایش كرد. اینكار روی LAN و اینترنت هم قابل انجام است. با دنبال كردن مراحل زیر قابلیت مذكور محدود میشود:

1ـ به /Hekey_Local_Machine_Syste/Current SecurePipeServers/WinReg ControlSet/Control بروید.

2ـ با استفاده از Regedit 32 اجازه روی WinReg را تنظیم نمایید. برای مدیریت سیستم اجازه كنترل كامل و برای افراد دیگر اجازه خواندن تنظیم شود.

تنظیم پیكره‌بندی سیستم

قبل از آنكه ویندوز NT آماده بهره‌برداری شود باید برخی تنظیمات پیكره‌بندی سیستم به منظور افزایش امنیت عوض شود. این تغییرات در چهار حوزه اصلی زیر قرار دارد:

  • فایلهای سیستمی
  • تنظیمات شبكه
  • تنظیمات اكانت
  • Servie Packها و hot-fixها

به عنوان قانونی كلی در نظر داشته باشید كه ذهر تنظیمی تابع سیاست امیتی سازمان و نیازهای پیكره‌بندی سیستم است.

فایلهای سیستمی

تمام فایلهای سیستمی ویندوز NT باید به NTFS تبدیل شوند. ویندوز NT بصورت پیش‌فرض فایل سیستمی را بصورت FAT ایجاد می‌كند. فایل سیستمی FAT امكان اعمال اجازه را روی فایل استفاده از برنامه CONVERT آنرا به NTFS تبدیل كنید. این برنامه به ری‌بوت احتیاج دارد اما با اطلاعاتی كه از قبل روی درایو است قابل انجام است.

هر سیستم ویندوز Nt به هنگام بوت شدن، اشتراكهای[21] مدیریتی ایجاد می‌كند. این اشتراكها عبارتند از ADMIN$, IPC$, D$, C$ و NETLOGON (فقط در كنترل‌كننده حوزه پیدا می‌شود). مهاجم می‌تواند با استفاده از این اشتراكها، كلمه عبور مدیریتی را بشكند و به آن دست یابد (حمله brute-force)، زیرا تلاشهای خطایی كه بر روی آنها انجام می‌شود باعث تحریك مراقب این نوع خطا نمی‌شود. متأسفانه حذف این اشتراكها عواقب قابل توجهی روی عمكرد سیستم دارد. برای مثال چنانچه اشتراك NETLOGIN حذف شود هیچ‌كس نمی‌تواند وارد حوزه[22] شود و این با مقصود كنترل كننده حوزه مغایرت دارد. اگر قصد غیر فعال كردن اشتراكهای مدیریتی را دارید دو راه معقول برای انجام آن وجود دارد.

1ـ Windows NT Policy Editor را از روی Resource Kit نصب كنید و با استفاده از اشتراكهای مدیریتی را غیر فعال نمایید. انجام اینكار تمام اشتراكها را به جزء IPC$ غیر فعال می‌كند و ممكن است باعث از كار افتادن برنامه‌های بك آپ دور دست شود.

2ـ برنامه AUTOEXNT را از روی ResourceKit استفاده كنید و برای هر اشتراكی كه می‌خواهید حذفكنید یك سطر به file batch اضافه نمایید. سطری كه اشتراك را حذف می‌كند بصورت زیر است:

net share / delete

اینكار را برای هر یك از اشتراكهای درایوری و اشتراك ADMIN انجام دهید.

توجه: حذف اشتراكها ممكن است عواقب قابل توجهی روی عمكرد حوزه یا سیستم ویندوز NT داشته باشد. از اینرو حذف اشتراكهای باید با دقت زیاد انجام شود.

یك كار خوب پس از ساخت سیستم، ایجاد دیسك‌ بازیابی اضطراری یا Emergency Repair Disk است. با استفاده از این دیسك كه به اختصار ERD گفته می‌شود می‌توان بانك اطلاعاتی كاربر و رجیستری را رو سیستم از كار افتاده بازیابی كرد. در مواقعیكه تعداد كاربران كم است و معمولاً تغییر نمی‌كنند استفاده از ERD مفیدتر است. داشتن بك‌آپ خوب برای كنترل‌كننده حوزه مفیدتر است با ساخته شدن ED، ویندوز NT یك دایركتوری به نام %system root %/repair را هم ایجاد می‌كند. این دایركتوری كپی فایل بانك اطلاعات كاربر (فایل SAM) و دیگر فایلهای مهم پیكره‌بندی را در خود دارد. در حالت عادی و هنگامیكه سیستم در حال كار است. فایل SAM قابل دسترسی است و فقط مدیریت باید به آن دسترسی داشته باشد.

شبكه

شبكه بخش كلیدی در آرایش ویندوز NT است. عموماً حوزه (یا domain) بهتر از workgroup است چون مدیریت  و بانك اطلاعات كاربر ا بصورت مركزی فراهم می‌كند. در صورت استفاده از حوزه لازم است هر حوزه دارای یك كنترل‌كننده حوزه اصلی[23]و یا به اختصار PDC باشد و حداقل یك بك‌آپ از كنترل كننده حوزه (backup domain controller یا به اختصار BDC) داشته باشد د سازمانهای بزرگ با توجه به گستره جغرافیایی، ارتباط كاربر را به چندین حوزه تقسیم می‌كنن بگونه‌ای هر كاربر به نزدیكترین حوزه وصل شود.

توجه: تقسیم ارتباط كاربر به چند حوزه باعث مشكل امنیتی خاصی نمی‌شود و باعث كارآیی بهتر در سازمانهای بزرگ می‌شود.

وقتی سازمانی دارای چند حوزه است. ارتباطات مطمئنی بین آنها برقرار می‌شود تا كاربران بتوانند از یك حوزه به منابع حوزه دیگری دسترسی داشته باشند. از نظر امنیتی ارتباطات مطمئن باید در حداقل آن نگه داشته باشد و كاربرانی كه از یك حوزه به حوزه دیگر دسترسی دارند شدیداً كنترل شوند.

پروتكل NetBios بطور پیش فرض روی ویندوز NT فعال شده است. روشهای زیادی هست كه از طریق NetBois اطلاعات شبكه ویندوز NT را بدست می‌آورد. از طرف دیگر NetBios به كاركرد روان شبكه ویندوز NT كمك می‌كند. روی ه سیستمی كه از اینترنت قابل دسترسی است NetBios باید خامش شود. بدین منظور بهControl Panel رفته، Networ را انتخاب كنید. به services بروید و پس ز انتخاب NetBios Internet آیكون Remove را كلیك كنید.(شكل2ـ14) . پس از آن سیستم را ری‌بوت نمایید.

شكل 2ـ14 حذف NetBios از روی ویندوز NT

این امكان هم وجود دارد كه هم سرویسهای TCP/IP بیشتری (همانند Time, CHARGEN

تنظیم اكانت

ویندوز NT دارای دو اكانت پیش‌فرض است كه عبارتند از administrator . اكانت guest باید غیر فعال شود. علاوه بر این كلمه عبور مربوط به اكانت guest باید با عبارتی بسیار طولانی و تصادفی تعریف شود. اكانت administrator برای مهاجمی كه قصد اجرای حمله burute-force را دارد هدف آسانی است چون حتی اگر مهاجم چندین بار برای ورودی تلاش كند كند و هر بار خطا كند اكانت مذكور قفل نمی‌شود. از این  لازم است اسم اكانت administrator عوض شود. علاوه بر این از آنجا كه سیستم ویندوز NT (اعم از ای كه سرور باشد یا نه) در سازمان دارای یك اكانت administrator است كه به صورت محلی برای آن سیستم تعریف شده است، بنابراین باید پروسه‌ای ایجاد شود كه برای این اكانتها كلمه عبوری قوی تعریف كند. كلمه عبور باید نوشته شود، در پوششی مهر شده قرار داده شود و در قفسه قفل دار ذخیره شود.

سیاست كلمه عبور برحسب سیاست امنیتی سازمان تنظیم می‌شود. پس از آن پنجره شكل 3ـ14 ظاهر می‌شود و موارد زیر در آن تعریف می‌شود:

  • حداكثر و حداقل طول عمر كلمه عبور
  • حداقل طول كلمه عبور
  • یگانگی كلمه عبور [24]
  • سیاست قفل كردن اكانت[25]

شكل 3ـ14 پنجره مربوط به سیاست اكانت ویندوز NT

توجه: سیاست قفل كردن اكانت به منظور مقابله با مهاجمی كه از حمله حدس زدن كلمه عبور استفاده كرده است ه كار می‌رود.

سیاست قفل كردن اكانت روی administrator اعمال می‌شود مگر این كه PASSPROP را از روی Resource kit به كار ببرید. البته قفل كردن از كنسول هرگز انجام نمی‌شود.

Service Packs  و Hot- Fixes

مایكروسافت برای نسخه‌های جدید نرم‌افزاری از Hot-Fixes و Service Packs استفاده می‌كند. آنطوركه گفته می شود نسخه‌های جدید برای حذف باگ و نفوذپذیریهای امنیتی خوب عمل می‌كننداما متأسفانه برخی از آنها بدرستی كار نمی‌كنند و بنابراین مدیریت سیستم آنها را پیاده‌سازی نمی‌كند.

لازم است Hot-Fixes و Service Packs بعد از انجام آزمایشهای مناسب روی سازمان پیاده شوند. علاوه بر این روش نصب Hot-Fixes اهمیت حیاتی دارد چون اگر یكی از آنها به طور نادرست نصب شود، اثر بقیه را خنثی می‌كند.

نصب برخی از نرم‌افزارها، روی »Hot-Fixes و Service Packs موجود در سیستم اثر می‌‌گذارد. اگر به هنگام نصب نرم‌افزار به CD ویندوز NT نیاز شود، این امكان وجود دارد كه فایلهای تغیر یافته توسط Hot-Fixes یا Service Packs دو مرتبه جایگزین شود. در این حالت لازم است Hot -Fixes و Service Packs مجدداً نصب گردند.

مدیریت كاربر

مدیریت كاربران در ویندوز NT برای امنیت سیستم و NT domain اهمیت حیاتی دارد. بر این اساس لازم است پروسه مناسبی ایجاد شود تا سازمان اجازه دسترسی كاربر جدید را تعریف كند. به همین ترتیب باید پروسه‌ای برای كاربری كه سازمان را ترك می‌كد وجود داشته باشد كه بر طبق آن دسترسی كارمند مذكور به سیستمهای سازمان از بین برود.

افزودن كاربر به سیستم

افزودن كاربر به سیستم یا به domain از طریق User Manager انجام می‌گیرد. بدین منظور New User را از منوی User انتخاب كنید تا پنجره شكل 4ـ14 ظاهر می‌شود. هر كاربر باید دارای user ID یكتا و اكانت مخصوص به خود باشد. اگر دو كاربر به دسترسی یكسانی نیاز داشته باشند لازم است دو اكانت جداگانه ایجاد شود و هر دوی آنها در یك گروه قرار داده شوند. تحت هیچ شرایطی نباید به چند كاربر، User ID یكسان تخصیص داده شود.

به هر User ID یك كلمه عبور اولیه اختصاص داده می‌شود و كاربر باید اولین بار كه وارد سیستم می‌شود كلمه عبور خود را عوض كند، بطوریكه دفعه بعد كه وارد می‌شود كلمه عبور خود را عوض كرده باشد.

توجه: اغلب سازمانها از یك لمه عبور استاندارد برای كاربران جدید استفاده می‌كنند. اگر چه این كار باعث سادگی ایجاد اكانتهای جدید می‌شود اما راه آسیب‌پذیری را روی سیستم باز می‌كند. اگر قبل از آنكه كارمند جدید به سازمان بپیوندد اكانت جدیدی ایجاد شود، فرد غیر مجاز می‌تواند آن اكانت را استفاده كند و چون كلمه عبور استاندارد است لذا به راحتی  وارد سیستم می‌شود. از این رو بهتر است كلمه عبور جدید هم بصورت یكتا و قدرتمند ایجاد شود.

شكل 4ـ14 ایجاد كاربر جدید با استفاده از User manager

User Id به گروه مناسبی اضافه كنید. كاربرهای استاندارد نباید در گروه administrator قرار بگیرد.

تنظیم اجازه فایل

برای تنظیم اجازه فایلها و اشتراكات از گروهها استفادهكنید. این كار مدیریت اجازه فایلها را آسانتر می‌كند و لازم نیست برای تك تك كاربران اجازه فایلها و اشتراكات را تنظیم كنید. به هنگام تنظیم اجازه به خاطر داشته باشید گروه Everyone درای دسترسی به فایلها و اشتراكات خاصی است كه بطور پیش‌فرض تعریف شده است. این گروه تمام كاربران logged-on ر در بر دارد و ممكن است شامل كاربران null session و guset هم باشد. اگر فایل یا اشتراكی برای تمام كاربران قابل دسترسی است از گروه Evreyone استفاده نكنید و به جای آن Domaine User یا گروه Authorizad را بكار ببرید.

حذف كاربر از روی سیستم

وقتی كاربری سازمان را ترك می‌كند باید بلافاصله اكانت وی از User Manager غیر فعال شود(شكل 4ـ14را ببینید). بطور همزمان كلمه عبور آن كاربر را به عبارتی كاملاً تصادفی عوض كنید. بدین ترتیب از استفاده شخص دیگ از آن اكانت جلوگیری می‌شود.

از آنجا كه ممكن است كاربر مذكور فایلهایی داشته است كه موردنیاز سازمان است. بنابراین لازم است اكانت مذكور برای مدت زمانی غیر فعال بماند (30روز معمولاً مناسب است). بدین ترتیب مدیریت كاربران به فایلها دسترسی خواهد داشت و میتواند هر یك از آنها را كپیكند. بعد از 30 روز اكانت مذكور به همراه تمام فایلها و دایركتوری‌هایش از روی سیستم حذف شود.

توجه: ویندوز NT به هر User ID، یك شناسه یكتا اختصاص می‌دد. با حذف ID، شناسه یكتا هم حذف می‌شود. مطمئن شوید تمام فایلهایی كه مالك آنها ID مذكور بوده است به اكانت كاربر دیگری كپی شود.

مدیریت سیستم

امنیت تنها چیزی نیست كه هنگام نصب و پیكره‌بندی سیستم اهمیت دارد بلكه عملكرد روز به روز آن هم مهم است. شاید بتوان گفت بهترین مكانیزم امنیتی آن است كه یك مدیر خوب به سیستم توجه كافی داشته باشد. چنانچه گفته شد می‌توان بوسیله ویندوز NT كارهایی انجام داد تا قابلیت مدیریت سیستم در حذف مشكلات محتمل امنیتی افزایش یابد.

بازرسی سیستم

بازرسی سیستم باید فعال شود. رویهم رفته اگر درباره مواد خطا چیزی ندانید نمی‌توانید آنها را برطرف نمایید. با استفاده از User Manager می‌توان سیاست بازرسی را ایجاد كرد. بدین منظور Audit را از منوی Policies انتخاب كنید تا شكل 5ـ14 را ببینید. سیاست بازرسی باید مطابق با سیاست امنیتی سازمان تنظیم شود. عموماً جمع‌آوری وقایع زیر ایده خوبی است.

واقعه

نتیجه

Logon and Logoff ورود و خروج از سیستم

موفق و ناموفق

Object Access File and دسترسی به فایل و اشیاء

ناموفق

User ofUser Rights

ناموفق

Security Policy changes تغییر سیاست امنیتی

موفق و ناموفق

Startup, shutdown, and system راه‌اندازی و خاموش كردن سیستم

موفق و ناموفق

توجه: ممكن است واقعه File and Obfect Acce4ss اطلاعات زیادی تولید كند. سیستم جدید را بدقت نظارت كنید. چون ممكن است اطلاعات این وقایع حافظه آنرا لبریز كنید.

لوگ فایلها

نتایج بازرسی( به عبارت دیگر Log ) در Security Event Log نوشته می شود كه د /%systemroot%/system32/config واقع شده است. با توجه به اجازه Security event Log، فقط مدیریت سیستم به آن دسترسی دارد. اما گروه Everyone به Security Event Log و Application Log دسترسی از نوع خواندن دارد. در حالت ایده‌آل فقط مدیریت باید قادر به خواندن لوگ فایل وقایع باشد. مدیریت باید بطور منظم لوگ فایلها را بازبینی كند. لوگ فایلها بهترین مكان برای دیدن موارد اشتباه یا تلاش نابجای یك كاربر است. از اینرو مدیریت باید لوگ فایلها را بررسی كند، در غیر اینصورت از اطاعات جمع‌آوری شده سود نخواهد بود.

اگر بطور منظم از سیستم بك آپ تهیه می‌شود باید از لوگ فایلها هم بك‌آپ گرفته شود. اگر لازم باشد یك واقعه برای دوره طولانی‌تر نگه‌داشته شود، بهتر است لوگ فایلها بطور دوره‌ای به خارج سیستم انتقال داده شود و بصورت متن یا با فرمت دیگر ذخیره شود.

شكل 5ـ14 تنظیم سیاست بازرسی در ویندوز NT

جستجوی نشانه‌های مشكوك

به هنگام بررسی لوگ فایلهای سیستم ویندوز NT یا خود سیستم، دنبال چه چیز باید گشت؟ چند نشانه هست كه بر طبق آن می‌توان فهمید چیزی روی سیستم كاملاً درست نیست، یا كاری در حال انجام است كه نباید انجام شود.

تلاشهای Brute-force

اگر شخصی بخواهد كلمه عبور اكانتی را حدس بزند، تلاشهای ناموفق و خطای وی در Secuity Event Log ذخیره می‌شود. علاوه بر این اگر سیستم بگونه‌ای پیكره‌بندی شده باشد كه بعد از تلاش ناموفق برای ورود از طریق اكانت،‌آن اكانت قفل شود. تعداد اكانتی‌های قفل شده در Secutiry Event Log ثبت می شود. در Security Event Logپیغام تلاش ناموفق برای ورودی ثبت می‌شود و نام سیستم تلاش‌كننده را نشان می‌دهد. سیستم تلاش‌كننده یكجایی قرار دارد و شما باید دلیل وقوع تلاش ناموفق برای ورود به سیستم را با بررسی بدست آورید.

توجه: نوع بررسی به مبدأ تلاشها بستگی دارد. اگر مبدأ تلاش داخلی باشد، بهتر است كارمند استفاده كننده از آن سیستم شناسایی شود و با او صحبت شود. اما اگر تلاش خارجی است، بهتر است دسترسی از طریق آدرس IP مبدأ ، روی فایروال بلوكه شود.

خطاهای دسترسی[26]

كاربر مجازی كه سعی داشته است به فایلهای حساس دست پیدا كند،‌نشانه‌ای از خطای دسترسی است. برخی خطاهای تكی از خطای سهوی و بی ضرر ناشی می‌شود. اگر به كاربری برخوردید كه ری تعداد زیادی فایل یا دایركتوری خطای دسترسی دارد بهتر است از او دلیل این كارش را جویا شوید.

توجه: اطلاعات مربوط به تلاشهای ناموفق در Security Event Log ثبت می شود. البته نمی‌توان براساس این اطلاعات ثابت كرد یكی از پرسنل سعی در دستیابی غیر مجاز به اطلاعات داشته است.

لوگ فایلهای گمشده و شكاف در لوگ فایها

اگر در سیستم ویندوز NT بازرسی از سیستم فعال باشد،‌نباید هیچ یك از لوگ فایلهای وقایع خالی باشد، بسیاری از مهاجمان پس از ورود به سیستم، لوگ فایلها را خالی می‌كنند تا شاید ردپای خود را پنهان سازند. بنابراین اگر به لوگ فایل خالی برخوردید بدانید مشكل دارد. ممكن است پس از بررسی متوجه شوید یكی از مدیریتها بدلیل بزرگ شدن حجم لوگ فایل، آنرا خالی كرده است و شاید متوجه شوید سیستم مورد تهاجم و نفوذ قرار گرفته است.

اخیراً ابزارهایی پدید آمده است كه مهاجم می‌تواند با استفاده از آن در محتوای لوگ فایل دستكاری كند. اگر مهاجم چنین كاری كرده باشد احتمالاً شكافی در لوگ فایل خواهید یافت. اگر به شكاف بزرگی برخوردید، دلیل آنرا بررسی كنید. به خاطر داشته باشید سیستم به هنگام خاموشی، چیزی در لوگ فایل ثبت نمی كند. لذا باید تمام خاموش شدن و راه‌اندازی سیستم را هم در بررسی خود در نظر داشته باشد.

فرآیندهای ناشناخته

فرآیندهای زیادی روی سیستم ویندوز Nt اجرا می‌شود، كلیدهای Ctrl-Alt-Del را همزمان فشار دهید و Task Manager را انتخاب كنید(شكل 6ـ14). در آنجا فرآیندهای در حال اجرا، میزان حافظه و میزان توانایی CPU كه بكار گرفته شده است قابل رؤیت است.

مدیریت سیستم باید بطور دوره‌ای Task Manager را بررسی كند تا هر گونه فرآیند ناشناخته و در حال اجرا را مشاهده كند. فرآیند CMD مثالی خوب از این نوع است. پنجره DOS یا رومپت دستور را فرآیند CMD گویند. با فعال بودن این فرآیند باید پنجره‌ای روی صفحه مشاهده كنید. مهاجم با اجرای فرآیند CMd، سعی د اجرای عملیات‌های دیگر روی سیستم می‌كند و این دلیل واضحی برای رخ دادن یك مسئله غیر طبیعی روی سیستم است.

شكل 6ـ14 پنجره Task Manager  روی ویندوز Nt

امنیت ویندوز 2000

ویندوز 2000 شركت مایكروسافت به سرعت در نصب سرورهای داخلی و خارجی جایگزین ویندوز NT می شود. تردیدی وجود ندارد كه ویندوز 2000 به یكی از رایج‌ترین سیستم عامل‌های روی اینترنت تبدیل شده است. واضح است كه ویندوز 2000 در نقشهای قدیمی ویندوز NT از قبیل سرور فایل، چاپ و بانك اطلاعات برای استفاده داخلی و در نقش سرور وب و سرور كاربردی برای استفاده اینترنتی ظاهر شده است. خصوصیات اضافی ویندوز 2000 از قبیل سرور Telnet باعث شده است وظایفی را انجام دهد كه قبل از این به سیستم یونیكس اختصاص داده شده بود. به رحال ویندوز 2000 روی اطلاعات حساس عمل می‌كند و برای ذخیره آنها استفاده می‌شود.

همانطور كه در قبل دیدید این جا هم با طی نمودن مراحلی به هنگم نصب ویندوز، نحوه مدیریت صحیح كاربران در حوزه ویندوز 2000 توضیح داده خواهد شد. پس از آن مشكلات و ملاحظات مدیریت سیستم دیدار امنیتی تشریح می شود. بخش پایانی این فصل به شناسایی علائم و معیارهایی می‌پردازد كه مدیریت سیستم برای یافتن تهاجمات باید آنها را تحت نظارت قرار دهد.

تنظیم سیستم

در ویندوز 2000 خصوصیات امنیتی قابل ملاحظه‌ای نسبت به آنچه در ویندوزNT وجود دارد اضافه شده است. چنانچه در ادامه خواهید دید قابلیت ابزارهای جدید قابل ملاحظه است. متأسفانه استفاده از این توانایی مستلزم استفاده از محیط‌های ویندوز همگن است به عبارت دیگر برای استفاده همزمان از ویندوز NT و ویندوز 2000 لازم است ویندوز Nt ضعیف‌تر پیكره‌بندی شود تا امكان عملیات بیت سیستمی فراهم شود.

ویندوز 2000 از ابتدا و بدون قید و شرط ایمن نیست (اگر چه از ویندوز NT بهتر است). لذا باید قبل از بهره‌براری تنظیماتی روی سیستم انجام شود تا ایمن شود. این تنظیمات به دو گروه تنظیمات سیاست امنیت محلی و تنظیمات سیستم تقسیم‌بندی می شود.

تنظیمات سیاست امنیت محلی

از موارد جدید در ویندوز 2000، ویرایشگر سیاست محلی است كه بصورت ویرایشگر GUI ارائه شده است.[27]مسیر control Panel Administrative Tools/ Local Security Policy را دنبال كنید تا به این ابزار برسید (شكل 1ـ15 را ببینید). با استفاده از این ابزار می‌توان سیاست اكانت و سیاست امنیت محلی را تنظیم نمود. درباره پیكره‌بندی اكانت بعداً صحبت خواهیم كرد. در حال حاضر اجازه دهید روی سیاست امنیت محلی تمركز كنیم.

در واقع Local Security صفحه ای برای تغییر Reistery  از اینرو برای تغییر تنظیمات عمومی Registery لازم نیست از دستور regedit 32 یا reedit استفاده شود. عموماً بهتر است تغییرات امنیتی موردنظر با استفاده از این ابزار گرافیكی انجام شود.

در شكل 2ـ15 آیتمهای سیاست‌گذاری كه از طریق ویرایشگر سیاست امنیتی محلی GUI قابل پیكره‌بندی است نشان داده شده است. در ادامه، این آیتمها و تغییرات توصیه شده درباره سیاست امنیتی تشریح شده است.

شكل 1ـ15 واسطه گرافیكی GUI برای مدیریت سیاست امنیت محلی

شكل 2ـ15 آیتم‌های قابل پیكره‌بندی در سیاست امنیت محلی

توجه: ویندوز 2000 الگوهایی برا پیكره‌بندی امنیت یا ارائه كرده است كه می‌توان از آنها برای پیكره‌بندی سیستم، سیاست امنیت محلی و مدیریت كاربران وی سیستم استفاده كرد. اگر تصمیم به استفاده از این الگوها گرفته‌اید، باید تغییراتی كه روی سیستم اعمال می‌شود را بدرستی فهمیده باشید.

پیغام Logon

برای آنكه ویندوز 2000 به هنگام ورود كاربر پیغامی برای او نمایش دهد می‌توانید دو مورد زیر را تنظیم نمایید:

  • Massage Text for User Attempting to Log On
  • Massage Title for User Attempting to Log On

هر دو مورد فوق را با پیغام ورودی كه مناسب سازمانتان است تنظیم نمایید.

Clear Virtual Memory Page File when Sysgem Shuts Downs

آیكون فوق د شكل 2ـ15 دیده می‌شود. وقتی سیستم در حال كار است؛ Virtual Memory Pagefile اطلاعات سیستمی مهمی را در خود نگه می‌دارد. اطلاعات سیستمی مذكور احتمالاً كلیدهای رمزنگاری و password hashes را در خود دارد. با فعال كردن این آیكون، ویندوز 2000 به هنگام خاموش شدن سیستم pagefile را پاك می‌كند.

Allow System to Be Shut Down Without having To Log On

با غیر فعال كردن این آیكون، فردی كه نتواند با سیستم Logon كند نمی‌تواند سیستم را خاموش كند.

LAN Manager Authentication Level

اعتبارسنجی LAN Manager نوعی سیستم اعتبارسنجی است كه به ویندوز 2000 امكان می‌دهد با كلانیت‌های ویندوز 95 و ویندوز 98 كار كند. اعتبارسنجی LAN Manager بطور قابل ملاحظه‌ای از سیستم اعتبارسنجی ویندوز NT یا 2000 (كه NTLMV2 نام دارد)ضعیف‌تر است. بطوریكه امكان دارد، مهاجم حمله brute-force را روی كلمه عبور رمز شده با قدرت محاسباتی بسیار كمتر انجام دهد. برای استفاده از اعتبارسنجی NTLMV2 مراحل زیر را انجام دهید:

1ـ ابتدا LAN Manager Authentication Level را انتخاب كنید.

2ـ از منوی پایین رونده[28] سطح مناسبی را انتخاب كنید.

سطح انتخابی به محیط بستگی دارد و 6 سطح موجود به صورت زیر تعیین شده است:

  • Send LM and NTLM Response
  • Send LM and NTLM, Use NTLM v2If Negotiated
  • Send NTLM Response Only
  • Send NTLM v2response Only
  • Send NTLM v2 Response Only, Refuse LM
  • Send NTM v2 Response Only, Refuse LM and NTLM

توجه: قبل از آنكه روی تنظیمات سیاست تغییری اعمال نمایید، نیازهای عملیاتی شبكه‌تان را تعیین كنید. اگر شبكه شما دارای كلانیت‌های ویندوز 95 و یا ویندوز 98 می‌باشد باید به Manager LAN امكان پاسخگویی بدهید.

Additional Restrictions for nonymous Connections

این آیكون به مدیریت امكان می‌دهد تعیین كند چه كسی توانسته  از طریق اتصال ناشناخته وصل شود. انتخاب‌های این مرحله عبارتند از:

  • None, Rely on Defult Permission
  • Do Not Allow Enumeration of SAM Acconts and Shares
  • No Access Without Explicit Anonymous Permission

با این تنظیمات می‌توان از دسترسی كاربر ناشناس[29]به اطلاعات كاربران سیستم جلوگیری نمود.

پیكره‌بندی سیستم

سیستم ویندوز 2000 در حوزه پیكره‌بندی چند تفاوت با ویندوز NT دارد. در ویندوز 2000 خصوصیات امنیتی جدید اضافه شده است كه فهمیدن مزایا و معایب هر یك از این خصوصیات مفید خواهد بود. در بخش‌های بعدی، به تشریح چهار حوزه اصلی زیر می‌پردازیم:

1ـ فایلهای سیستمی

2ـ تنظیمات شبكه

3ـ تنظیمات اكانت

4ـhot - Fixes , Service Paks

بطور كلی، هر تنظیمی باید تابع سیاست امنیتی سازمان و نیازهای پیكره‌بندی سیستم باشد.

1ـ فایلهای سیستمی

تمام فایلهای سیستمی موجود در ویندوز 2000 باید به NTFS تبدیل شوند. از آنجا كه با استفاده از فایل سیستمی FAT نمی‌توان اجازه فایل تعریف كرد، لذا از نقطه‌نظر امنیتی استفاده از NTFS بهتر است. چنانچه فایلهای سیستمی شما از نوع FAT است با استفاده از برنامه CONVERT آنرا به NTFS تبدیل كنید. این برنامه برای اعمال تأثیر به ری‌بوت نیاز دارد اما با اطلاعاتی كه از قبل روی درایو است قابل انجام می‌باشد.

لازم به ذكر است ویندوز 2000 با نسخه جدیدی از NTFS به بازار عرضه می‌شود كه NTFS-5 نام دارد. NTFS-5 دارای مجموعه جدیدی از اجازه‌های فردی می‌باشد كه عبارتند از:

  • Traverse Folder/ Execute File
  • List Folder/Read Data
  • Read Attributes
  • Read Extended Attributes
  • Create Files/Write Data
  • Create Folder/ Append Daa
  • Write Attributes
  • Write Extended Attributes
  • Delete Subfolders And iles
  • Delete
  • Read Permisson
  • Change Permission
  • Take Ownership

لازم است قبل از آنكه از ویندوز 2000 بهر برداری شود، متصدی امنیتی و مدیریت سیستم مفهوم اجاز‌ه‌های جدید را بفهمد و ساختار اجازه‌ها را روی ایلها و دایركتوری‌ها بازبینی نماید.

رمزنگاری فایل سیستمی یكی از ضعف‌های سیستم فایلی NTFS آن است كه فقط زمانی از فایلهای محافظت می‌كند كه توسط ویندوز 2000 یا Nt بكار برده شود. حال اگر مهاجم بتواند سیستم ا با سیستم عامل دیگری (همانند DOS) بوت كند می‌تواند با استفاده از برنامه‌ای همانند NTFS DOS فایلها را بخواند و در نتیجه كنترل دسترسی NFTS را دور بزند. سیستم ویندوز 2000 با رمزنگاری سیستم فایلی كه به اختصار EFS [30]گفته میشود فایلهای حساس را در برابر این نوع حمله محافظت می‌كند. EFS بگونه‌ای طراحی شده است كه برای كاربرهای باشد. لذا یكبار EFS برای فایل یا دایركتوری فراخوانده شود. كاربر مجبور نیست رمزگشایی یا رمزنگاری فایل را شروع كند. برای فراخوانی EFS، فایل یا دایركتوری موردنظر را انتخاب كرده و روی آن كلیك راست كنید و properties را انتخاب نایید. در صفحه General آیكون Advanced را كلیك كرده و Encrypt Content to Secure Data را انتخاب كنید.

وقتی تصمیم به رمزنگاری فایلی گرفته می‌شود، سیستم كلیدی را انتخاب می‌كند تا الگوریتم كلید متقارن از آن استفاده كند و فایل را به رمز تبدیل كند. پس از آن كلید مذكور با كلید یك یا چند كاربری كه به فایل موردنظر دسترسی دارند رمز می‌شود. لازم به ذكر است EFS دارای مكانیزمی درون‌ساز[31] است ك با استفاده از آن اطلاعات رمز شده را بازیابی می‌كند. اكانت مدیریت محلی بطور پیش‌فرض می‌تواند تمام فایلهای EFS را رمزگشایی كند.

بخاطر سیستم عامل و روشی كه EFS با كاربر ارتباط برقرار می‌كند، برخی دستورات باعث رمزگشایی فایل می‌شوند و برخی دیگر نه. به عنوان مثال دستور Ntbackup، فایل رمز شده را همانطوری كه هست كپیم كند. اما اگر كاربر دستور copy را اجرا كند، فایل ابتدا رمزگشایی می شود و دوباره روی دیسك نوشته می شود. اگر مقصد فایل پارتیشنی از نوع NTFS5.0 نباشد یا فلاپی‌دیسك باشد، فایل مذكور هنگام نوشته شدن رمزگشایی نمی‌شود. همچنین اگر فایل به كامپیوتر دیگری كپی شود، با كلید الگوریتم متقارن دیگری مجدداً رمزنگاری می شود. بنابراین حتی اگر محتوای رمزنشد فایل روی دو كامپیوتر یكسان باشد، فایلهای رمز شده بطور متفاوتی روی دو كامپیوتر ظاهر می شود.

اشتراكها ویندوز2000 هم مانند Nt به هنگام بوت شدن، اشتراكهای مدیریتی ایجاد می‌كند. این اشتراكها عبارتند ازADMIN$, IPC$, D$, C$ و NETLOGON (فقط از ابزار domain controllers یافت می شود). لیست كامل اشتراكهای جاری را می‌توان با ابزار Computer Managerment مورد بررسی قرار داد این ابزار را می‌توانید در Control Panel/Administrative Tools پیدا كنید (شكل 2ـ15) اگر چه امكان دارد از این اشتراكها در حمله brute-force علیه كلمه عبور مدیریتی استفاده شود، اما خاموش كردن هیچ‌یك از آنها توصیه نمی‌شود.

2ـ شبكه

شبكه‌بندی با استفاده از ویندوز 2000 بطور قابل ملاحظه‌ای نسبت به ویندوز NT عوض شده است. علاوه بر این در ویندوز 2000، پورت 88 برای Kerberos، پورت 445برای SM3 روی IP، پورت 464 برای Kerberos Kpasswed، پورت 500 (فقط UDP) برای Internet key Exchange(IKE) به پورت‌های استاندارد ویندوز (135، 137 و 139) افزوده شده است. این بدین معنا است كه اگر بخواهید NETBIOS را از سیستم ویندوز 2000 حذف كنید، مجبور خواهید بود روی واسطه خاص، File and Print Sharing for Microsoft Network را غیر فعال نمایید. منوی Advanced را انتخاب كرده و پس از آن Advanced Setting را انتخاب نمایید. بدین ترتیب صفحه Adapters and Bindings را خواهید دید. (شكل 4ـ15).

شكل 3ـ15 Compuer Management اشتراكهای جاری را نمایش می‌دهد.

شبكه همچنان بخش كلیدی ویندوز 2000 است. در domainهای ویندوز 2000 مفاهیم PDC و BDC حذف شده است و فقط DC [32] وجود دارد. domainهای ویندوز 2000 هنوز هم از كنترل مركزی بانك اطلاعات كاربر حمایت می‌كند. اما این امكان وجود دارد ك با استفاده از ساختار فعال دایركتوری،حالت سلسله مراتبی را ایجاد كرد. به عبارت دیگر می‌توان گروهی را د بالا یا پایین گروه‌های دیگر ایجاد كرد و domainها را روی واحدهای سازمان تقسیم كرد بطوریكه كه هر بخش دارای كنترل محلی می‌باشد.

شكل 4ـ5 حذف bindings برای NetBios

توجه: قبل از استفاده از ویندوز 2000 لازم است ساختار domain به درستی طراحی شود. صرف جابجایی ساختار domain از ویندوز NT به ویندوز 2000 كار درستی نیست و ممكن  است باعث مشكلات آتی شود.

لازم به ذكر است در ویندوز 2000 روش كار ارتباطات مطمئن با یك domain یا بین چند domain دچار تغییر شده است. در ویندوز NT لازم است ارتباطات مطمئن بطور پیش‌فرض دوطرفه می‌باشد. در ویندوز 2000 اعتماد خاصیت‌تراگذاری[33]است. بدین معنی كه اگر domain دارای ارتباط مطمئن با Domain b باشد و domain B دارای ارتباط مطمئن با DomainC باشد؛ در اینصورت Domain A نیز دارای ارتباط مطمئن با Domain C است و بالعكس.

3ـ تنظیم اكانت

ویندوز 2000 بطور پیش‌فرض دارای دو اكانت uest و Adminstrator است. با استفاده از ابزار Local Security Setting می‌توان نام اكانت‌های مذكور را عوض كرد. برای انجام این تغییرات آیتم و Rename Administrative Account یا Rename Guest Accont را انتخاب نمایید. لازم است اكانت Guest غیر فعال شود و كلمه عبور آن با یك عبارت بسیار طولانی و كاملاً تصادفی جایگزین شود.

هر سرور ویندوز 2000 موجود در سازمان دارای اكانت مدیریتی[34]است كه برای آن ماشین، داخلی است از اینرو نیاز به محافظت دارد. برای محافظت كلمه عبور، پروسه‌ای باید ایجاد  شود تا كلم عبور قدرتمندی تعریف كند. كلمه عبور باید نوشته شود، در پاكت مهر و موم شده و در قفسه قفل شده ذخیره شود.

سیاست كلمه عبور سیاست كلمه عبور سیستم با استفاده از ابزار Local Security Setting تعریف می‌شود. (شكل 5ـ15). در این صفحه پارامترهای كلمه عبور و میزان قدرتمندی آن تعریف می‌شود. همانند هر سیستم كامپیوتری، این تنظیمات باید مطابق با سیاست امنیتی سازمان انجام شود.

اگر Password Must Meet Complexity Requiremets را فعال كنید. فیلتر پیش‌فرض عبور حداقل 6 كاراكتر باشند، شامل هیچ جزئی از نام كاربر نباشد و از اعداد، سیمبول، حروف كوچك و حروف بزرگ تشكیل شده باشد. به غیر از موارد ضروری store Passwod Using Reversible Encryption را فعال نكنید.

سیاست قفل كردن اكانت پیكره‌بندی سیاست قفل كردن اكانت نیز با استفاده از ابزار Local Security Setting انجام می‌شود. (شكل 6ـ15) این تنظیمات باید با سیاست امنیتی سازمانتان تطابق داشته باشد.

شكل 5ـ 15 استفاده از ابزار Local Securty Setting برای ایجاد سیاست كلمه عبور

قفل كردن اكانت برای جلوگیری از حمله brute-force و حدس زدن كلمه بور توسط مهاجم انجام می شود.

قفل كردن اكانت روی اكانت مدیریتی اعمال نمی شود. این اكانت معمولاً می‌تواند از كنسو وارد سیستم شود.

4ـ Hot -Fixes و Service Packs

در حال حاضر فقط یك Service Pack برای ویندوز 2000 وجود دارد. البته به مرور زمان Hot Fixes و Service Pack دیگری هم خواهد آمد. همانطور ه در مورد به روز كردن ویندوز NT گفته شد، پیاده‌سازی Hot-Fixes و Service Pack روی سازمان باید بعد از انجام آزمایشات مناسب انجام گیرد.

شكل 6ـ15 استفاده از ابزار Local Security Setting برای ایجاد سیاست قفل كردن اكانت

مدیریت كاربر

مدیریت كاربران در سیستم ویندوز 2000، دارای اهمیت حیاتی برای امنیت سیستم و سازمان می‌باشد. لازم است پروسه مناسبی در سازمان ایجاد شود كه بوسیله آن اجازه مناسب برای هر كاربر جدید تعیین  شود. به همین ترتیب در مواقعیكه كاربری سازمان را ترك می‌كند باید پروسه‌ای وجود داشته باشد تا از عدم دسترسی كاربر به سیستمهای سازمان اطمینان حاصل شود.

افزون كاربر به سیستم

برای افزودن كاربران جدید به سیستم، پروسه User Management را بدرستی دنبال كنید. در این پروسه باید تعیین شده باشد چه كسی ممكن است در خواست اكانت جدید كند و چه كسی می‌تواند اكانت جدید را تأیید كند. كاربران جدید از طریق ابزار Computer Mangement به سیستم یا Domain افزوده می شوند. بدین منظور از روی Local User and Group آیتم Users را انتخاب كنید و پس از آن New User را از منوی Action انتخاب نمایید (شكل 7ـ15) در اینجا هم مانند ویندوز NT لازم است هركاربر دارای User ID یكتا و اكانت مخصوص به خود باشد. اگر دو كاربر به دسترسی یكسان نیاز دارند، باید دو اكانت ایجاد شود و پس از آن دو كاربر در گروه یكسان قراردااده شوند. تحت هیچ شرایطی نباید دسترسی چند كاربر به یك User ID داده شود. به هر User ID جدید یك كلمه عبور اولیه داده می‌شود و دفعه بعد كه كاربر وارد سیستم می‌شود باید عواض شدن كلمه عبور كنترل شود. بدین ترتیب كاربر مجبور می‌شود در اولین ورود خود، كلمه عبور اولیه را عوض كند.

توجه : سازمان نباید از یك كلمه عبور یكسان برای تمام اكانتهای جدید استفاده كند. اگر چه اینم كار وظیفه ایجاد اكانتهای جدید را ساده می‌كند اما پتانسیل آسیب‌پذیری را روی سیستم افزایش می‌دهد.

 اگر قبل از پوستن كارمند جدید به سازمان، اكمانت كاربری جدیدی ایجاد شود، افراد غیر مجاز می‌توانند از آن بهره‌برداری كنند. آنچه كه موردنیاز است، كلمه عبوری جدید و استاندارد است. بهتر است كلمه عبور كاربری جدید را قدرتمند و یكتا انتخاب نمایید.

شكل 7ـ15 پنجره New User

لازم است بعد از ایجاد اكانت، آن را به گروه مناسبی اضافه كنید. بدین منظور می‌توان به هر گروه انفرادی رفت و با دو بار كلیك روی آن، آیكون Add را انتخاب كرد. (شكل 8ـ15). به روش دیگر می‌توان روی كاربر جدید ایجاد شده كلیك راست نمود و Properties را انتخاب كرد. پس از آن صفحه Member را انتخاب نموده و گروههای مناسب را به لیست اضافه كنید. (شكل 9ـ15).

تنظیم اجازه فایل

از گروه‌ها باید برای تنظیم اجازه فایلها و اشتراكها استفاده شود. این كار مدیریت اجازه فایلها را اسان می‌كند. (به جای اینكه به هر كاربر بطور انفرادی اجازه دسترسی به فایلها و اشتراكها داده شود  این كار بصورت گروهی انجام می‌شود) مطمئن شوید اكانت Guest باشد و در هیچ‌گروه دیگری نباشد.

شكل 8ـ15 افزودن كاربر به گروه با استفاده از لیست گروه‌ها

شكل 9ـ15 افزودن كاربر به گروه با استفاده از صفحه User Propertis

حذف كاربر از روی سیستم

همانطور كه برای افزودن كاربر به سیستم گرفته شد، مدیریت باید برای حرف كاربران از روی سیستم، پروسه Management را دنبال كند. وقتی كاربری سازمان را ترك می‌كند باید بلافاصله با استفاده از ابزار Computer Management اكانت كاربری‌اش غیر فعال شود. بدین منظور كاربر موردنظر را انخاب كرده و روی آن كلیك راست كنید و Properties را انتخاب كنید. صفحه ظاهر شده امكان غیر فعال كردن اكانت را به شما می‌هد. همزمان لازم است كلمه عبور متناظر آن به عبارتی كاملاً تصادفی تغییر داده شود بطوریكه كس دیگری نتواند از آن استفاده كند.

از آنجا كه ممكن است كاربر حذف شده دارای فایل یا دایركتوریهایی باشد كه مورد نیاز سازمان است، لازم است برای مدتی اكانت وی غیر فعال باقی بماند. (معمولاً 30روز) بطوریكه سرپرست كاربران به فایلهای مذكور دسترسی داشته باشد و در صورت نیاز آنها را كپی كند. بعد از گذشت 30 روز، اكانت  غیر فعال شده به همراه تمام فایلهای و دایركتوریهای متعلق به آن باید از روی سیستم سیستم حذف شود.

مدیریت سیستم

امنیت تنها چیزی نیست كه هنگام تنظیم و پیكره‌بندی سیستم از اهمیت برخوردار است، بلكه كاركرد روز به روز سیستم نیز دارای اهمیت است. شاید بهترین مكانیزم امنیتی آن باشد كه مدیریت سیستم توجه كافی به سیستم خود داشته باشد. چنانچه قبلاً گفتیم می‌توان در ویندوز 2000 كارهایی انجام داد تا قابلیت مدیریت در كشف مشكلات امنیت ارتقا یابد.

دستور Secedit

در ویندوز 2000 ابزاری به نام Secedit.exe ارائه شده است كه می‌توان سیاست امنیتی تعداد زیادی كامپیوتر را با آن مدیریت كرد. قابلیت‌های زیر توسط Secedit فراهم می‌شود.

  • Analysis (تحلیل)
  • Configuration (پیكره‌بندی )
  • Validation(تأیید نمودن)
  • Reefrash (تجدید كردن)
  • Export (صادر كردن)

در ادامه هر یك از قابلیت‌های فوق تشریح می شود و نحوه استفاده از آنها برای مدیرزیت امنیت در سیستم‌های ویندوز 2000 توضیح داده می‌شود.

1ـ analysis (تحلیل)

با استفاده از Secedit می‌توان سیاست جاری روی سیستم ویندوز 2000 را تحلیل كرد و با سیاست مناسبی مقایسه می‌نمود. برای انجام این كار دستور زیر را جلوی پرومپت دستور وارد نمایید:

Secedit/analyze [/DB filename][/CFG filename][/log filename][/verbose][/quiet]

پارامترهایی كه داخل [ ] قرار دارند بصورت زیر تعریف شده‌اند:

  • /DB filename  این پارامتر مسیر فایلی (از نوع دیتابیس) را مشخص می‌كند كه شامل پیكره‌بندیهای ذخیره شده است و باید آنالیز شود. Filenameفایل جدیدی باشد لازم است پارامتر /CFG هم بكار برده شود.
  • /CFG filename این پارامتر مسیر الگوی امنیتی را معین می‌كند كه باید به داخل دیتابیس hsjthni ld a,n.
  • /log filename این پارامتر مسیر لوگ فایلی را معین می‌كند كه با دستور ایجاد می‌شود. این تما اطلاعاتی كه طی آنالیز پیدا می‌شود را در این لوگ فایل قرار دارد.
  • /verbose این پارامتر به Secedit می‌گوید در طول اجزا جزئیات را ارائه كند.
  • /quiet این پارامتر به Secedit می‌گوید در طول اجرا خروجی را روی صفحه نشان ندهد. 

پس از آنكه اجرای دستور به اتمام رسید، می‌توان لوگ فایل را بررسی و تحلیل نمود تا از مورد تأیید واقع شدن سیستم توسط سیاست سازمان اطمینان حاصل شود.

2ـ Configuration (پیكره‌بندی)

با استفاده از Secedit می‌توان سیستم را پیكره‌بندی نمود. دستور پیكره‌‘ندی بصورت زیر است:

Secedit/configure [/DB filename][/CFG filename[] /overwite[]/areas areal area2…] [/log filename][/verbose][quiet]

پارامترهای این دستور به صورت زیر می‌باشد:

  • /DB filename این پارامتر فایلی (از نوع دیتابیس) را معین می‌:ند كه الگوی موردنظر برای استفاده در آن قرار دارد.
  • /CFG filename این پارامتر مسیر الگوی امنیتی را كه می‌توان وارد دیتابس نمود به سیستم اعمال كرد مشخص می‌كند.
  • /Overwrite این پارامتر یعنی سیاست موجود در الگوی امنیتی كه توسط دستور CFG مشخص شده بود بجای سیاست موجود در دیتابیس قرار داده شود.
  • /areas این پارامتر مسیر الگوی امنیتی از الگو به سیستم اعمال شود. این نواحی عبارتند از:Filestore, Regkoys, User_rights, Group_mgmt, Securitypolicy . در صورتیكه هیچ ناحیه ای مشخص نشود بطور پیش‌فرض همه كاربران درنظر گرفته می‌شوند.
  • /log filename مشخص كننده مسیر لوگ فایلی است كه توسط دستور تولید می‌شود.
  • /verbose به secedit می‌گوید در حین اجرا، جزئیات را ارائه دهد.
  • /quiet به Secedit می‌گوید در حین اجرا خروجی را روی صفحه نمایش ندهد.

با استفاده از این دستور می‌توان پیكره‌بندی امنیتی خاصی را روی سیتسم اعمال كرد.

3ـ Validation (تأیید كردن)

می‌توان از Sedcedit برای تأیید فایل پیكره‌بندی استفاده كرد و از درست بودن آن اطمینان حاصل نمود. دستوری كه این عمل را  انجام می‌دهد عبارت است از:

Secedit /validate Filename

4ـ Fefresh(تجدید كردن)

این قابلیت مكانیزمی برای تجدید سیاست امنیتی سیستم ارائه می‌كند. با این دستور سیاست امنیتی مجدداً به ماشین محلی اعمال می‌شود. این دستور عبارت است از:

Secedit /refreshpolicy [machine _ policy or uyser_policy] [/enforce]

پارامترهای این دستور عبارتند از:

  • Mchine_policy این پارامتر مشخص می‌كند كه باید در ماشین محلی تجدید شود.
  • User_policy این پارامتر مشخص می‌كند تنظیمات امنیتی بكار رفته برای كاربر محلی (كه در حال حاضر وارد سیستم شده است) باید تجدید شود.
  • /enforce یعنی حتی اگر تغییراتی امنیتی هم انجام نشده باشد سیاست تجدید شود. با بكار بردن این دستور می‌توان مطمئن شد سیستم در حال استفادهاز سیاست امنیتی مناسب می‌باشد.

5ـ Export (صدور)

با استفاده از Secedit می‌توان پیكره‌بندی خاصی را از روی دیتابیس امنیتی به الگوی امنیتی صادر كرد. از الگوی امنیتی ایجاد شده می‌توان در كامپیوترهای دیگر استفاده كرد. این دستور عبارت است از:

Secedit/export [/Mergedpolicy] [/DB filename] [/CFG filename]

        [/areas area1    area2…] [/log filename] [/verbose] [/quiet]

پارامترهای این دستور به صورت زیر می‌باشد:

  • /MergedPloicy یعنی دستور Secedit، سیاست محلی و domain را با هم صادر كند.
  • /DB filename  مسیر فایلی ( از نوع دیتابیس) را مشخص می‌كند كه پیكره‌بندی در آن ذخیره شده است و باید صادر شود.
  • /CFG filename مسیری را مشخص می‌كند كه الگوی امنیتی باید ذخیره شود.
  • /areas این پارامتر مشخص كننده نواحی امنیتی از الگو است كه باید صادر شود. این نواحی عبارتند از User_rights, Group_mgmt, Security policy, Services, file store و Regkeys . اگر ناحیه خاصی مشخص نشود بطور پیش‌فرض همه كاربران انتخاب می‌شوند.
  • /log filename مشخص كننده مسیر لوگ فایل این دستور است.
  • /verbose به Secedit می‌گوید در حین اجرا جزئیات را ارائه دهد.
  • /quiet به Secedit می‌گوید در حین اجرا خروجی را روی صفحه نشان ندهد.

می‌توان خروجی این دستور را توسط دستورات دیگر بكار برد.و از فراگیری همان سیاست در كل domain مسمئن شد.

بازرسی سیستم

در تمام سیستم‌های ویندوز 2000 لازم است بازرسی سیستم فعال باشد. با استفاده از ابزار Local Security Setting سیاست بازرسی روی سیستم ایجاد می‌شود (شكل 10ـ15). واقعه‌ای را كه می‌خواهید بررسی شود انتخاب كرده و روی آن دوبار كلیك كنید تا پنجره پیكره‌بندی نمایان شود.

سیاست بازرسی باید مطابق سیاست امنیتی سازمان تنظیم شود. عموماً جمع‌آوری اطلاعات در مورد وقایع زیر ایده خوبی است.

  • Audit Account Logon Events, Success And failure
  • Audit Accont Mannagement, Success And failure
  • Audit Logon Events, Success And failure
  • Audit Object Access, Failure
  • Audit policy Change, Success and failure
  • Audit Prvilage Use, Failure
  • Audit System Events, Success And failure

شكل 10ـ15 ایجاد سیاست بازرسی روی سیستم ویندوز 2000

توجه: این امكان وجود دارد كه Audit Object Access مقادیر قابل توجهی اطلاعات تولید كند. به همین دلیل سیستم جدید را به دقت نظارت كنی چون ممكن است لوگ فایلهای ایجاد شده به دلیل حجم بالا سیستم را اشباع كند.

لوگ فایلها

در سیستم ویندوز 2000 نتایج حاصل از بازرسی در security event log نوشته می‌شود كه در /%systemroot%/system 32/config قرار گرفته است. اجازه security event log بگونه‌ای است كه فقط مدیریت به آن دسترسی دارد. مدیریت باید بطور منظم لوگ فایلها را بازبینی كند. لوگ فایلها بهترین مكانی است كه می‌توان موارد اشتباه رخ داده در سیستم یا تلاش نادرست كاربر را در آن مشاهده نمود.  لذا اگر مدیریتلوگ فایلها را بررسی نكند نمی‌تواند به جمع‌آوری اطلاعات بپردازد (به بخش بعد با عنوان «جستجوی علائم مشكوك» نگاهی بیندازید).

اگر از سیستم بطور منظم بك آپ گرفته می‌شود باید از لوگ فایلها  هم بك‌آپ گرفته شود. لازم است لوگ فایلهای وقایع به مدت طولانی نگهداشته شود. می‌توان لوگ فایلها بصورت دوره‌ای را به خارج از سیستم انتقال داد.

جستجوی علائم مشكوك

از روی چند نشانه می‌توان فهمید اشتباهی در سیستم ویندوز 2000 وجود دارد و یا شخصی در حال انجام كاری است كه نباید انجام دهد. این نشان ‌ها عبارتند از:

تلاش‌های Brute-Foprce

اگر كسی بخوهد كلمه عبور اكانتی را حدس بزند (بطور دستی یا با استفاده از ابزار نرم‌افزاری)، تلاش‌های ناموفق انجام گرفته در لوگ فایل امنیتی ثبت می‌شود. همچنین اگر سیستم بگونه‌ای پیكره‌بندی شده باشد كه پس از چند بار تلاش ناموفق برای ورود، اكانت را قفل كند، اكانت‌های قفل شده در لوگ فایل وجو دارد. علاوه بر این نام ایستگاهی كه تلاش برای ورود از آن انجام شده است در لوگ فایل ثبت می‌شود. نام ایستگاه مذكور نقطه شروعی برای بررسی دلیل تلاش ناموفق است.

توجه: نوع بررسی به مبدأ تلاش انجام شده بستگی دارد. اگر مبدأ داخلی باشد می‌توان كارمندی را كه از آن استفاده كرده پیدا كرد و با او صحبت كرد. اگر مبدأ خارجی باشد بهتر است آدرس IP روی فایروال بلوكه نمایید.

خطاهای دسترسی

خطاهای دسترسی احتمالاً دلالت بر كارر مجازی می‌كند كه سعی داشته به فایلهای حساس دست پیدا كند. خطاهایی كه فقط یك بار اتفاق افتاده است احتمالاً اشتباهات سهوی می‌باشد. اما اگر كاربری را یافتید كه در دسترسی به تعداد زیادی فایل یا دایركتوری ناموفق بوده است نمی‌توان از آن صرف‌نظر كرد و باید دلیل این كار را از وی جویا شد.

توجه: اطلاعات ثبت شده در لوگ فایلهای امنیتی بر تلاش‌های ناموفق انجام شده دلالت می‌كند؛‌اما نمی‌توان براساس آن اظهار داشت كارمند خاصی سعی داشته به اطلاعات دسترسی غیر مجاز پیدا كند. ممكن است تلا‌ش‌های انجام شده بدون اطلاع فرد مذكور و یا توسط كسی كه اكانت كاربران سیستم را در اختیار داشته است انجام شده باشد.

گم شدن لوگ فایلها و وجود شكاف در آنها

اگر سیستم ویندوز 2000 در حال كار باشد هیچ‌گاه ننباید لوگ فایلهای وقایع آن خالی باشند. بسیاری از مهاجمان بلافاصله پس از ورود به سیستم، لوگ فایلها را خالی می‌كنند تا رد پای خود را از بین ببرند. لذا در صورت مشاهده لوگ فایل خالی بدانید اشتباهی رخ داده است. پس به بررسی دلیل آن بپردازید. ممكن است پس از بررسی متوجه شوید مدیریت دیگری به دلیل حجم بالای لوگ فایل آنرا خالی كرده است و شاید هم از مورد حمله واقع شدن سیستم مطلع شوید.

اخیراً ابزارهایی وجود دارد كه مهاجمان با استفاده از آنها اطلاعات ثبت شده در لوگ فایلها را دستكاری می‌كنند. اگر مهاجمی اقدام به این كار كرده باشد، در لوگ فایل مذكور احتمالاً شكافی پیدا خواهید. لازم به ذكر است بین وقایع ثبت شده در لوگ فایل فواصل زمانی منظمی وجود دارد. مشاهده فاصله زمانی بیش از حد معمول، حاكی از شكاف است. با مشاهده شكافهای بزرگ دلیل آنرا بررسی كنید. توجه داشته باشید سیستم هنگام خاموش بودن اطلاعاتی در لوگ فایل ثبت نمی‌كند،‌اما لوف فایل مربوطه، زمانهای خاموش شدن و راه‌اندازی سیستم را ثبت می‌كند.

فرآیندهای ناشناخته

فرآیندهای زیادی روی سیستم ویندوز 2000 اجرا می‌شود. فهمیدن بعضی از آنها آسان است و برخی دیگر نه. اگر به صفحه Task Manager نگاه كنید (شكل 11ـ15) فرآیندهای در حال اجرا و میزان بكارگیری CPU و حافظه قابل مشاهده است.

مدیرتی سیستم باید بطور دوره‌ای Task Manager را بررسی كند و فرآیندهای ناشناخته در حال اجرا را پیدا كند. فرآیند CMD مثال خوبی برای انی مورد است. فرآیند CMD همان پرومپت دستور یا پنجره DOS است. اگر این فرآیند در حال اجرا باشد پنجره‌ای را باید روی صفحه كامپیوتر مشاهده كنید. در برخیموارد مهاجم با راه‌اندازی فرآیند CMD سعی در انجام عملیات دیگر روی سیتم دارد. این فرآیند نشانه‌ای واضح از اتفاقی غیر معمول روی سیستم می‌باشد.

شكل 11ـ15 پنجره Task Manager در ویندوز 2000
ضمائم

ضمیمه 1 یونیكس ایمن‌تر است یا ویندوز؟

ضمیمه 2 منابع بیشتر درباره امنیت

ضمیمه 1: یونیكس ایمن‌تر است یا ویندوز؟

سالهاست بر سر اینكه كدام سیستم عامل ایمن‌تر است بحث می‌شود. آیا یونیكس از ویندوز ایمنتر است؟ یا ویندوز از یونیكس ایمنتر است؟‌در مورد كاربردهای مهم از كدام سیستم عامل باید استفاده كرد؟ اگر این سوالها را از چند نفر كه بطور حرفه‌ای در زمینه امنیت كار می‌كنند بپرسید چند جواب متفاوت خواهید شنید و جواب واضحی نخواهید گرفت.

با بررسی این دو سیستم عامل معلوم می‌شود هر دوی آنها در طراحی دارای موارد امنیتی خاص خود هستند. مكانیزمهای كنترل دسترسی، اعتبارسنجی و بازرسی در سیتسم عامل یونیكس و ویندوز وجود دارد. از طرف دیگر هم یونیكس و هم ویندوز از سطرهای كد بسیار زیاد (میلیونها سطر كد) ساخته شده‌اند. زیاد بودن تعداد كدها، وجود باگ (Bug) را در آن ممكن می‌سازد. برخی از این باگها باعث بروز مشكلات امنیتی می‌شود. در بخشهای بعد از نقطه نظر امنیتی نگاهی به مسائل مختلف خواهیم داشت. امید است در انتهای فصل بهترین از این موضوع داشته باشید (اگر چه راه حلی ارائه نخواهد شد).

تغییرات زمانی

مدت زمانی است كه اینترنت بوجود آمده است. TCP/IP از سالها پیش طراحی شده بود و تقریباً بلافاصله بعد از آن یونیكس پدیدار شد. در حقیقت تاریخ اینترنت و یونیكس آنقدر با هم عجین شده است كه تفكیك آنها از هم مشكل است.

البته مشكلات امنیتی اینترنت بلافاصله بعد از ظهور آن پدیدار نشد. مدتی طول كشید تا اینترنت رشد كند و در ارتباطات زنده زا آن استفاده شود. اما برخی افراد حاضر در اینترنت قابل اعتماد نبودند. وقتی این افراد سعی در نفوذ به سیتسمها داشتند، تنها سیستم عامل موجود یونیكس بود و این افراد نفوذ خود را روی یونیكس انجام می‌دادند. در ابتدا از تنظیمات ضعیف و كلمات عبور ضعیف برای دستیابی به سیستمها استفاده می‌شد. اكثر مهاجمان پس از نفوذ به سیستم كار بدی انجام نمی‌دادند بلكه می‌خواستند بدانند سیستم چه كارهایی میتواند انجام دهد.

از سال 1980 به بعد هكرهای مجرم و خرابكار پدیدار شدند. در سال 1988 دو اتفاق رخ داد و باعث شد نوع نگاه به موضوع امنیت عوض شود.

  • در این سال كرم Morris پدیدار شد و كل اینترنتر را تخریب كرد. این كرم برای دسترسی به سیستم از آسیب‌پذیریهای شناخته شده و كلمات عبور ضعیف استفاده می‌كرد و پس از نفوذ به كامپیوتر خود را تكرار می‌كرد و به سیتمهای بیشتری دسترسی پیدا می‌كرد.
  • در انتهای سال 1988 تیم (Computer Emergency Response Team) CERT در دانشگاه Carnegie-Mellon شكل گرفت. این تیم برای واكنش در مواقع اضطراری و برای موضوعات كامپیوتر بوجود آمد و الوین تیم مشاوره بود.

این دو واقعه نشان داد كه سیتم یونیكس روی اینترنت ایمن نیست. در طول سالهای 1989، 1990 و 1991 تیم CRET فقط برای مشكلات سیستم یونیكس مشاوره میداد تا اینكه در سال 1992 بخش مشاوره سیستمهای ویندوز در CRET ایجاد شد و CA-92.02نام گرفت. البته این مشاوره دقیقاً‌برای سیستم ویندوز ایجاد نشده بود بلكه برای ویروس Michelangelo بود. مشاوره بعدی CRET كه به ویندوز مربوطه می‌شد، در سال 1997 رخ داد CA_97.28)) و حملات جلوگیری از سرویس‌دهی با DOS را تشریح می‌كرد. این حملات سیستمهای یونیكس را هم تحت تأثیر قرار داده بود.

اگر به مشاوره‌های ارائه شده تا این زمان نگاه كنیم به نظر می‌رسد سیستم عامل ویندوز به مراتب ایمن‌تر است چون تعداد مشاوره‌های ارائه شده برای ویندوز به مراتب كمتر از تعداد مشاوره‌های ارائه شده برای یونیكس است.

البته مهمترین دلیل این مسئله این است كه تا آن زمان،‌مدت زمان كمی بود كه از ویندوز (بخصوص ویندوز NT) استفاده می‌شد بطوریكه از سال 1990 به بعد از ویندوز روی اینترنت استفاده می‌شد. در همان زمان شبكه جهانی وب پدیدار شد و سرورهای وب برای كار بر روی سیستمهای ویندوز ساخته شد.

در حال حاضر مشاوره‌های امنیتی زیادی برای سیستم ویندوز وجود دارد. هر ماه از شركت مایكروسافت چندین مشاوره ارائه می‌شود، ضمن اینكه فروشندگان نرم‌افزار و برخی سازمانها هم به این كار می‌پردازند. شاید به نظر برسد كه شرایط عوض شده است و در حال حاضر ویندوز آسیب‌پذیریهای بیشتری نسبت به یونیكس دارد. این نظریه بطور كامل درست نیست چون هنوز آسیب‌پذیریهایی در نسخه‌های مختلف یونیكس پیدا می‌شود.

ویروسها، اسبهای Trojan و كرمها

از زمانی كه MS-DOS روی كامپیوترهای شخصی استفاده شد ویرویس كامپیوتری وجود داشت. در ابتدا ویروسها توسط فلاپی‌دیسكهایی كه بین افراد مبادله م‌شد گسترش می‌یافت. ویروسها مشكل PC ها بود و این مشكل در ویندوز NT و 2000 هم ادامه یافت. ویروسهای جدید توسط E-mail گسترش پیدا می‌كنند و می‌توانند اسناد، فایلهای قابل اجرا و boot sector را تخریب كنند.

آیا یونیكس هیچ ویروسی نداشته است؟ البته كه داشته است. ویروسهای یونیكس به مراتب سخت‌تر است. دلیل این امر آن است كه در سیستم یونیكس فعالیتها و حافظه كاربر، از فعالیتها و حافظه مدیریت و سیستم تفكیك شده است. از اینجمله این طور به نظر می‌رسد كه یونیكس به مراتب از ویندوز ایمن‌تر است. امروزه بیشتری مشكل امنیتی سازمانها ویروس است. آیا میتوان با استفاده از یونیكس این مشكل را برطرف كرد؟‌شاید بتوان اما در آنصورت افرادی كه اینگونه برنامه‌ها را می‌نویسند هم روش كار خود را عوض می‌كنند.

سیستم یونیكس كدهای خرابكارانه خاص خود را دارد. قبلاً درباره كرم Morvis صحبت كردیم. این كرم قادر بود اكثر سیستمهای روی اینترنت را آلوده كند بطوریكه بصورت موثری بخش اعظم اینترنت را از كار انداخت. آیا ویندوز ویروسی دارد كه بتواند اینطور خرابكاری كند؟ در واخر سال 2000 و اوایل 2001 كرمی به نام Ramen پدیدار شد. این كرم قادر بود آسیب‌پذیریهای سیتسم هدف را جستجو كند، سیستمهای قابل نفوذ را شناسایی كند، از آسیب‌پذیریها سوء استفاده كند و خود را روی سیستم جدید نصب كند.

حال نگاهی به برنامه‌های اسب Trojan بیندازیم. این برنامه‌ها روی اینترنت اجرا می‌شوند و سیستمهای ویندوز را آلوده می‌كنند. (برنامه‌های سری *.vbs از نوع اسب Trojan هستند اگر چه در ابتدا ویروس معرفی شدنئد). این برنامه‌ها درپوشش فیلم، تصویر یا برنامه‌هایی كه افراد تمایل به اجرای آن دارند،‌خود را مخفی میكنند. وقتی قربانی نگون‌بخت فایل را اجرا می‌كند، برنامه سیستم اجرای آن دارند، خود را مخفی می‌كنند. وقتی قربانی نگون‌بخت فایل را اجرا می‌كند برنامه سیستم محلی را آلوده می‌كند و خود را به سیستمهای دیگر گسترش می‌دهد. این قابلیت كه از داخل فایل Visual Basic میتوان هر DLL روی سیستم را فراخوانی كرد، این امكان را به برنامه می‌دهد كه خودش را از طریق E-mail قربانی به قربانیهای دیگر ارسال كند. این مسئله یكی از آسیب‌پذیریهای جدی امنیتی در ویندوز است.

اما امكان آلوده شدن سیستم یونیكس هم با اسبهای Trojan وجود دارد. این برنامه‌ةا میتوانند از طریق ضمیمه‌های E-mail برسند و توسط مهاجم داخل سیستم قرار داده شوند. تنها تفاوت واقعی آن است كه حتماً مدیریت سیستم باید گول بخورد و برنامه را اجرا كند. در اغلب موارد اجرای برنامه توسط كاربر عادی همان نتیجه را نمی‌دهد.

آسیب‌پذیری سیستم عامل و آسیب‌پذیری برنامه كاربری

به هنگام صحبت درباره آسیب‌پذیری لازم است آسیب‌پذیری سیستم عامل از آسیب‌پذیری كاربردهای در حال اجرا روی سیستم عامل تفكیك شود. از نظر نتیجه بسیاری می‌گویند تفاوتی بین این دو نیست. اگر چه این مطلب درست است اما چون بحث ما راجع به سیستم عاملها است، بنابراین بحث خود را به آسیب‌پذیریهای سیستم عامل محدود می‌كنیم. اما سوال این است كه خط جداكننده سیستم عامل از كارردهای نرم‌افزاری در كجا قرار دارد؟ آیا RPC نوعی از یونیكس است؟ آیا Explorer بخشی از ویندوز است؟‌در اكثر موارد تفكیك كاربردها از سیستم عامل كار آسانی نیست.

اما مشكل اصلی این نیست. مسئله این است كه اگر مهاجمی بتواند به كاربردی نفوذ كند چگونه می‌تواند به كل سیستم دست پیدا كند و آنرا كنترل كند. متأسفانه اكثر كاربردها باید به عنوان root یا administrator اجرا شوند تا بتوانند به درستی كار كنند. این مسئله باعث می‌شود مدیریت سیستم به آن كاربرد اعتماد كند و فرض كند كاربرد مذكور هیچ‌گونه آسیب‌پذیری ندارد. چنانچه از قبل میدانیم این كار فرض خوبی نیست. آسیب‌پذیریهای كاربردهای نرم‌افزاری بسیار متنوع است و شامل ,mail DNS ، سرور FTP ، سرور web و غیره می‌شود. هر كاربردی كه در سطح بالای یونیكس یا ویندوز اجرا می‌شود و سرویسهای را روی شبكه در دسترس قرار می‌دهد،‌دارای آسیب‌پذیری جدی می‌باشد.

به نظر می‌رسد مدیریت سیستم در كنترل دسترسی root این كاربردها، ضعیف عمل می‌كند. كاربردی كه پورت زیر 1024 را باز می‌كند باید root باشد تا پورت را باز كند و به ارتباطات گوش كند. این دیلی برای نقص یونیكس و ویندوز است و باید نقطه شروعی برای رفع این مشكلات باشد.

تعاملی و غیر تعاملی (Interactive, Non.Interactive)

بحث درباره آسیب‌پذیریها را رها می‌كنیم و درباره نحوه بكار گرفته شدن دو سیستم عامل یونیكس و ویندوز صحبت می‌كنیم. سیستم یونیكس تمایل دارد از طریق خط فرمان بصورت تعاملی (یا دو طرفه) كار كند. وقتی به سیستمی Telnet می‌كنید با یك Shell رابطه دو طرفه ایجاد كرده‌اید، بطوریكه دستورات ورودی به سیستم عامل منتقل می‌شوند. در این حالت م‌توانید با استفاده از دستور CD،‌دایركتوری جاری را عوض كرده و به هر دایركتوری كه مایلید بروید. علاوه بر این می‌توانید به دنبال فایل بخصوصی بگردید یا برنامه‌ای را اجرا نمایید.

در سیستم ویندوز وضع كمی فرق می‌كند. اگر چه در اینجا پرومپت فرمان وجود دارد و متیوان كارهای مشابهی را انجام داد، اما پرومپت فرمان از طریق كنسول سیستم در دسترس قرار گرفته است. به عبارت دیگر انجام كارهایی كه در سیتسم یونیكس از طریق Telnet ممكن است،‌در سیستم ویندوز مشكل است و دقیقاً‌همان دسترسی دو طرفه وجود ندارد. البته برنامه‌هایی وجود دارد كه دسترسی از راه دور به ویندوز راممكن می‌سازد. برخی از این برنامه‌ها، ابزاری تجاری مانند PC Anywhere است و برخی هم ابزاری هكری مانند back Orifice و Sub Seven است.

كد مبدأ (Source Code)

یكی باور رایج در بحث امنیت می‌گوید: برنامه نرم‌افزاری كه توسط افراد دیگر مورد بازبینی قرا ربگیرد ایمن‌تر است. رمزنگارها این مفهوم را بیشتر بسط داده‌اند بطوریكه می‌گویند الگوریتمی كه توسط همه دنیا مورد بازبینی قرار نگیرد برای استفاده مناسب نیست. دولت آمریكا نرم‌افزارهایی را كه برای سلاحهای هسته ای استفاده می‌كند توسط برنامه‌ای به نام Independent Verification and Validation) IV&V  ( میسازد. در این برنامه كدی كه توسط تیم نوشته شده است خط به خط توسط شركت دیگری مورد بازبینی قرار می‌گیرد. بدین ترتیب عملكرد این كد مورد بررسی قرار می‌گیرد و كدهایی كه امكان آسیب‌پذیری به سلاح هسته‌ای را دارند معین می‌شود.

آیا این مسئله درباره سیستم عامل و كاربردهای نرم‌افزاری هم اهمیت دارد؟ مشخصاً‌هر چه بازبینی دقیق‌تری انجام شود، كدهای بهتری هم ساخته می‌شود. برای بهبود كدها و افزایش بهره‌وری آن راههای بسیاری وجود دارد كه بوسیله آنها میتوان مشكلات موجود را قبل از به اجرا درآمدن آن تشخیص داد. تولیدكننده‌های نرم‌افزار مكانیزمهای خاص خود را برای بازبینی دارند.

در اینجا بین یونیكس و ویندوز تفاوتهایی وجود دارد. شما میتوانید كدهای مبدا برخی اقسام یونیكس همانند FreeBSD. Linux و غیره را بدست آورید اما اینكار در مورد ویندوز قابل انجام  نیست. آیا میتوان انواعی از یونیكس كه كدهای منبع آن قابل دسترسی نیست را از نظر این مسئله Open Source است و ویندوز Closed Source،‌این دو را با هم مقایسه كرد؟ اینكه كدهای برننامه قابل دسترسی باشند یا نه چیزی را ثابت نمی‌كند. بسیاری از نرم‌افزارهایی كه از نظر امنیتی دارای آسیب‌پذیری زیاد هستند، Open Source هستند. از طرف دیگر برخی نسخه‌های بسیار ایمن یونیكس هم Open source هستند.

چیزی كه می‌توانم بگویم این است كه Open source بودن یك مزیت واقعی است بطوریكه اگر تخصص مناسبی داشته باشم و سیستم عامل هم از نوع Open source باشد میتوانم آن را تغییر دهم و احتمالاً آسیب‌پذیریهای امنیتی را كاهش دهم. اما اگر كد منبع سیستم عامل را نداشته باشم  و سیستم عامل هم از نوع Open source باشد  می‌توانم آن را تغییر دهم و احتمالاً آسیب‌پذیریهای امنیتی را كاهش دهم. اما اگر كد منبع سیستم عامل را نداشته باشم نمی‌توانم این كار را انجام دهم و باید با همان امنیتی كه توسط فروشنده برنامه فراهم شده است بسازم و منتظر برنامه‌های مكملی باشم كه فروشنده برای آسیب‌پذیریهای امنیتی می‌سازد.

تخصص

نكته دیگری كه باید در اینجا به آن اشاره كنم این است كه بهترین امنیتی كه سازمان شما میتواند داشته باشد، داشتن مدیر سیستم لایق است. چه چیزی مدیر سیستم را لایق می‌كند؟ از جمله معیارهای آن میتوان به دانش سیستم عامل و داشتن چند سال تجربه اشاره كرد. احتمالاً ویژگیهای دیگری هم وجود دارد كه یك نفر را تبدیل به كارمندی خوب میكند.

آیا مدیر سیستم خوب كسی است كه برای هر سیستم عاملی مدیر خوب باشد؟ مطمئناً افرادی از این دست پیدا می‌شوند، با اینحال می‌خواهم این شرط را بگذارم كه مدیر خوب ویندوز لزوماً مدیر خوبی برای یونیكس نخواهد بود و بالعكس (حداقل در ابتدا اینطور است) لذا بهتر است بگویم مدیرسیستم خوب می‌تواند روی هر سیستم عاملی خوب باشد، به شرطی كه آموزش و تجربه كافی برای هر كدام را داشته باشد. اگر این مطلب را بپذیریم، تخصص آن مدیر در امنیت سیستم عامل نقش دارد.

نتیجه‌گیری

بالاخره درباره امنیت یونیكس در مقایسه با ویندوز چه میتوان گفت؟ زمانیكه استفاده از ویندوز NT برای كاربردهای اینترنتی شروع شد به جهت این كه آسیب‌پذیریهای آن كمتر شناخته شده بود لذا از ویندوز معموری ایمن‌تر بود. همین دلیل باعث شد پیدا  كردن سیستمها روی اینترنت سخت باشد. بسیاری از این سیستمها در اعماق یك سازمان قرار داشتند، بطوریكه مهاجمان عمومی قادر نبودند به آنها برسند. اما با گذشت زمان این اسطوره شكسته شد.

 مشكلات ذاتی سیستم عاملها چیست؟ ویندوز به ویروسها اجازه ورود میدهد، هر دو سیستم عامل با اسبهای Trojan مشكلاتی دارند و به نظر می‌رسد كرم اینترنتی بیشتر مشكل یونیكس باشد. مشخص شده است كدهای خرابكارانه باعث بروز مشكلات در هر دو سیستم عامل ویندوز و یونیكس میشود.

میتوان اینطور استدلال كرد كه سیتسم عامل بسیار ایمن هستند و كاربردهای نرم‌افزاری باعث بروز مشكلات می‌شوند. اما سیستم عامل كجا متوقف میشود و كارردهای نرم‌افزاری از كجا شروع می‌شود؟ به عبارت دیگر مرز بین این دو چیست؟ این مشكل سیستم عامل نیست كه بسیاری از كاربردها برای اجرا دارای امتیاز بیش از ح هستند.

هم‌اكنون هر دو سیستم عامل یونیكس و ویندوز بصورت دوطرفه كار می‌كنند. لذا اگر مهاجمی بتواند به آنها دسترسی پیدا كند میتواند هر كاری انجام دهد و پس از ورود به سیستم كنترل تمام سیستم را در دست بگیرد. میتواند فایلها را حذف كند و حتی از اره دور درایو سی‌دی را باز كند. آیا مرور دقیق و در دسترس بودن كد منبع باعث ایمن‌تر شدن یك سیستم عامل نسبت به سیستم عامل دیگر می‌شود؟ نخیر، چون اگر اینطور بود Linux نباید حتی یك باگ می‌داشت و ویندوز و سولاریس دیگر میشود؟ نخیر، چون اگر اینطور بود Linux نباید حتی یك باگ می‌داشت و ونیدوز و سولاریس از نظر امنیتی یكسان بودند.

آخرین نكه درباره تخصص مدیریت است. امنیت سیستم شدیداً به تخصص مدیر آن بستگی دارد. مدیر سیستم باید به هنگام نصب سیستم آنرا بطور ایمن پیكره‌‘ندی كند. مدیر باید نرم‌افزارها را برحسب نیاز اضافه یا حذف كند. وی باید برای اضافه یا حذف كردن كاربر، پروسه خاصی را دنبال كند. مدیر باید مكمل‌های نرم‌افزاری (Patchs) را به موقع روی سیستم نصب كند و بالاخره وی باید همیشه بر سیتسم نظارت كند تا بروز مشكل را تشخیص دهد.

ضمیمه 2: منابع بیشتر درباره امنیت

اغلب افراد می‌خواهند بدانند كجا میتوانند مطالب بیشتری درباره امنیت فرابگیرند. متأسفانه تعداد مكانهایی كه برنامه جدی در این زمینه داشته باشند بسار كم است. در ادامه لیستی از سازمانهای مشاوره امنیتی آورده شده است. اگر چه تعداد آنها كم است، اما به عنوان نقطه شروع بد نیست.

منابع:

كتاب جامع امنیت شبكه / نویسنده اریك میوالد؛ ترجمه احمد صفایی، تهران: دانش‌پرور، 1382.

از شبكه‌های كامپیوتری ـ اقدامات تأمینی 2. كامپیوترها ـ ایمنی اطلاعات، الف. صفائی، احمد، 1354.


[1] . patch

[2] . Time Syncronization

[3] . یكی از نیازهای اساسی در شبكه‌های كامپیوتری به اشتراك گذاشتن فایل و انتقال آن به كامپیوتر دیگر است. برای این منظور مكانیزم‌های زیادی بوجود آمد كه عمومی‌ترین آنها NFS است. اگر چه اولین بار Sun Microsystems برای یونیكس NFS را ابداع كرد اما بعداً بصورت استاندارد درآمد، بطوریكه می‌توان NFS را بین دو كامپیوتر با سیستم عامل مختلف بكار برد. به عنوان مثال می‌توان فایلی را روی كامپیوتری با سیستم عامل یونیكس به اشتراك گذاشت و با استفاده از سرویس NFS آن فایل را به كامپیوتر دیگری با سیستم عامل ویندوز انتقال داد.

[4] . Permissions

[5] . Administrator

[6]. Patches

[7] . Bugs

[8] . Patch Cluster

[9]- . Interactive

[10]- . Prompty

[11]- . Auditing a System

[12]. Hidden Files

[13]- دستور ls تمام فایل‌های موجود در دایركتوری جاری را نمایش می‌دهد.

[14] . World-writable file

[15]. promiscuous Mode

[16]. Print Server

[17]. National computer Security Center

[18] . Negotiate

[19] . Anonymous User

[20]- . Null User Session

[21] . Shares

[22] . Domain

[23] .Primay Domain controller

[24]. Uniqueness

[25].Accont Lockout

[26]. Access Failures

[27]- GUI مخفف عبارت Graphical User Interface و به معنای واسطه گرافیكی با كاربر است.

[28] . Pull-Down

[29]. Null User

[30] . Encription File System

[31]. built-in

[32]. Domain Controllers

[33] . Transitve

[34]. administrative

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

جهت دریافت کل متن ، لطفا آن را خریداری نمایید

قیمت فایل فقط 3,800 تومان

خرید

برچسب ها : شبکه , امنیت , امنیت شبکه

نظرات کاربران در مورد این کالا
تا کنون هیچ نظری درباره این کالا ثبت نگردیده است.
ارسال نظر