برای مطالعه بخش قبل روی این آدرس کلیک کنید.
سوال این است که چه کاری میتوانید انجام دهید؟ به عنوان یک متخصص امنیتی، باید اطمینان حاصل کنید شرکت از ممیزی امنیتی پشتیبانی میکند تا اگر اتفاق غیرمنتظرهای رخ داد، به سرعت به فایلهای گزارش و ممیزی نگاه کنید تا اطلاعات کلی به دست آورید. بخش بزرگی از فعالیتهای نظارتی، در اختیار داشتن سیستمهای تشخیص نفوذ به شبکه است. در فصلهای قبل، در مورد تشخیص نفوذ مبتنی بر میزبان نکاتی آموختید و در ادامه نیز یک سیستم تشخیص نفوذ مبتنی بر شبکه را بررسی کردیم.
- IDS مبتنی بر میزبان: IDS مبتنی بر میزبان (HIDS) روی یک سیستم نصب میشود و روی فعالیتهای آن سیستم نظارت میکند. یک HIDS معمولاً با مشاهده گزارشهای موجود در یک سیستم، فعالیت نامناسب را تشخیص میدهد.
- IDS مبتنی بر شبکه: یک IDS مبتنی بر شبکه (NIDS) ترافیک شبکه را کنترل میکند و سپس آن ترافیک را تجزیه و تحلیل میکند تا مشخص کند ماهیت آن مشکوک است یا خیر. یک NIDS معمولا ترافیک را با امضای حملات شناخته شده مقایسه میکند.
نکته: برای آزمون سکیوریتی پلاس، باید انواع مختلف سیستمهای تشخیص نفوذ را به خاطر بسپارید. یک IDS مبتنی بر میزبان فعالیتهای انجام شده در یک سیستم را مورد بررسی قرار میدهد، در حالی که IDS مبتنی بر شبکه، ترافیک شبکه را زیرنظر میگیرد.
اگر به خاطر داشته باشید، به شما گفتیم که سیستمهای نظارتی مانند سیستمهای تشخیص نفوذ میتوانند از روشهای مختلفی برای شناسایی فعالیتهای مشکوک استفاده کنند. یک IDS نفوذ را بر اساس امضا یا ناهنجاری در فعالیتها تشخیص میدهد. یک سیستم نظارتی مبتنی بر امضا، فعالیتها را ضبط کرده و آنرا با یک فایل مبتنی بر فعالیتهای مخرب شناخته شده مقایسه میکند. این فایل تعریف معمولاً به عنوان امضا شناخته میشود. به عنوان مثال، ممکن است سیستمی داشته باشید که هنگام ارسال پیامهای SYN از یک آدرس IP واحد به تعدادی پورت در همان سیستم هدف در مدت زمان کوتاهی، اطلاعاتی در اختیارتان قرار میدهد که امضای کلاسیک اسکن پورت است. مزیت یک سیستم مبتنی بر امضا این است که تعداد کمی از موارد مثبت کاذب وجود دارد، زیرا این سیستم فعالیت را با امضاهایی که شما در سیستم پیکربندی کردهاید مقایسه میکند. از آنجایی که به دنبال فعالیت خاصی هستید، طبیعی است تعداد محدودی هشدار نادرست مشاهده کنید.
آشنایی با انواع سیستمهای مانیتورینگ
برای آزمون سکیوریتی پلاس، باید در مورد انواع مختلف سیستمهای نظارتی اطلاعات کافی داشته باشید. انواع متداول سیستمهای مانیتورینگ مبتنی بر امضا، مبتنی بر ناهنجاری و تحلیل مبتنی بر اکتشاف هستند. یک سیستم مبتنی بر امضا، فعالیت مشکوک را بر اساس امضاهای موجود در یک فایل تشخیص میدهد، در حالی که یک سیستم مبتنی بر ناهنجاری، فعالیت عادی (پایه خط) را میداند و هر چیزی خارج از هنجار را مشکوک میداند. یک سیستم مبتنی بر اکتشاف، فعالیتهای مشکوک را بر اساس برنامهریزی سازنده دستگاه برای انواع فعالیتهایی که در گذشته باعث ایجاد مشکلات امنیتی شدهاند، شناسایی میکند. IDSهای مبتنی بر اکتشاف برای نظارت بر اکسپلویتهای روز صفر عالی هستند. برای اطلاعات بیشتر در مورد سیستمهای تشخیص نفوذ، به مقالات قبلی این آموزش مراجعه کنید.
به یاد داشته باشید که یک سیستم مبتنی بر ناهنجاری برای شناسایی یک اکسپلویت روز صفر عالی است، زیرا یک اکسپلویت ناشناخته است. یک سیستم مبتنی بر امضا هنوز امضای اکسپلویت را ندارد.
یک سیستم مبتنی بر ناهنجاری آنچه را که فعالیت عادی در نظر گرفته میشود (یک خط پایه) درک میکند و سپس هر چیزی خارج از آن فعالیت عادی را فعالیت «مشکوک» در نظر میگیرد. سیستم نظارت مبتنی بر ناهنجاری معمولاً خط پایه را از روی رفتار شخصی که از سیستم استفاده میکند تعیین میکند. رویکرد فوق به عنوان یک سیستم نظارت بر ناهنجاری مبتنی بر رفتار شناخته میشود.
مزیت سیستم ناهنجاری مبتنی بر رفتار این است که شما نیازی به پیکربندی فایل تعریف فعالیت مشکوک شناخته شده ندارید. سیستم بر اساس فعالیت کاربران میآموزد که چه چیزی عادی است. اشکال سیستم مبتنی بر رفتار این است که هر چیزی خارج از هنجار را مشکوک در نظر میگیرد که منجر به نمایش آلارمهای کاذب (مثبت کاذب) زیادی میشود.
ضمن بررسی مفاهیم سیستمهای تشخیص نفوذ، باید مفهوم هانیپات را نیز بررسی کنیم. Honeypot یک سیستم جعلی است که برای جذب مهاجم به سیستم تنظیم میشود. سیستم هانیپات باید ایمن طراحی شود، به طوری که ورود مهاجم به آن خیلی ساده نباشد و در حالی که هکرها تلاش میکنند سیستم را به خطر بیندازند، سطح بالایی از ثبت و حسابرسی را انجام دهد تا مهاجم را ردیابی کند. همچنین، توجه داشته باشید که میتوانید یک فایل را به عنوان یک دارایی جذاب برای مهاجم تنظیم کنید که به عنوان فایل عسل شناخته میشود. برای مثال، میتوانید فایلی به نام password.txt را روی دسکتاپ سیستم قرار دهید تا وقتی مهاجم بالاخره وارد سیستم شد، این فایل را ببیند و آنرا باز کند. همچنین، ممیزی را روی فایل متنی پیادهسازی کنید تا بدانید چه زمانی و توسط چه کسی باز میشود.
نکته: برای آزمون سکیوریتی پلاس باید اطلاعات کافی در ارتباط با مفهوم هانیپات و فایل عسل داشته باشید.
ابزارهای نظارت
در کنار سیستمهای تشخیص نفوذ، میتوانید از ابزارهایی برای انجام نظارت دستی روی یک سیستم استفاده کنید. همانطور که بیشتر با سیستمها کار میکنید و مسائل امنیتی احتمالی را بررسی یا عیبیابی میکنید با همیت این ابزارها بیشتر آشنا میشوید.
دستورات مفید سیستمی
- برخی از دستورات موجود در سیستم عاملها را میتوان برای عیب یابی و رسیدگی به حوادث امنیتی استفاده کرد. ما قبلا به تعدادی از آنها اشاره کردیم و در این بخش آنها را مرور میکنیم.
دستورات ویندوز
میتوانید برخی از دستورات ویندوز را برای نظارت بر فعالیت یک سیستم استفاده کنید. از دستورات محبوبی که باید هنگام نظارت بر سیستمهای ویندوزی به یاد داشته باشید به موارد زیر باید اشاره کرد:
- netstat اولین دستوری که باید با آن آشنا باشید دستور netstat است. دستور netstat برای نمایش هرگونه اطلاعات اتصال پروتکل استفاده میشود. به عنوان مثال، میتوانید از netstat -n برای مشاهده هر گونه اتصال TCP به سیستم خود با استفاده از فرمت عددی سیستمها و پورتها استفاده کنید. همچنین باید از دستور netstat -na -o برای مشاهده لیستی از تمام پورتهای در حال گوش دادن در سیستم استفاده کنید (-o برای نشان دادن شناسه فرآیند استفاده میشود تا بدانید چه برنامهای پورت را باز کرده است). دستورات زیر برای مشاهده اتصالات مربوط به TCP مفید هستند:
Netstat -n
Netstat -na -o
- net session: فرمان فوق را میتوان برای مشاهده رایانههای متصل به سیستم از طریق مکانیزم اشتراکگذاری فایل ویندوزی استفاده کرد. لیست جلسات آدرس IP کلاینتهای متصل به سیستم و نام کاربری که برای احراز هویت به سیستم استفاده کردهاند با استفاده از دستور فوق قابل رویت است. در شکل زیر مشاهده میکنید دو کامپیوتر (10.0.0.2 و 10.0.0.3) به سیستم من متصل هستند و با حساب مدیر احراز هویت شدهاند:
- Tasklist: یکی از دستورات مورد علاقه من است. tasklist، فرآیندهای در حال اجرا در سیستم را زیرنظر میگیرد. هنگامی که از دستور netstat با سوئیچ -o استفاده کنید، شناسه فرآیند برنامهای را دریافت میکنید که پورت را باز کرده است. میتوانید از آن اطلاعات با دستور tasklist برای پیدا کردن نام فایل EXE آن فرآیند استفاده کنید. اطلاعات فوق در شکل زیر نشان داده شده است:
چند سال قبل، هنگام عیبیابی سیستمی که به ویروسی آلوده شده بود، مجبور شدم از دستورات tasklist و taskkill برای خاتمه دادن به فرآیندی که باعث این مشکل شده بود استفاده کنم، زیرا برنامه Task Manager توسط ویروس غیرفعال شده بود.
- Taskkill: هنگام نظارت بر یک سیستم، اگر متوجه فرآیندی در حافظه شدید که ممکن است دلیل عملکردی یا مشکل امنیتی داشته باشد، میتوانید از دستور taskkill برای پایان دادن به این فرآیند استفاده کنید. موارد زیر نشان میدهد که چگونه میتوانید یک فرآیند را با شماره شناسه فرآیند یا نام فایل اجرایی حذف کنید:
اگر از سوئیچ f/ برای خاتمه دادن اجباری یک پردازه استفاده نکنید، با درخواستی برای ذخیره تغییرات در سند در حال اجرا در برنامه روبرو میشوید. اگر مطمئن هستید که میخواهید فرآیند را پایان دهید و نمیخواهید هیچ دادهای را که ممکن است در برنامه باشد ذخیره کنید، میتوانید از سوئیچ f/ برای پایان دادن به برنامه استفاده کنید. سوئیچ IM/ در دستور taskkill مخفف "image name" است که نام برنامهای است که میخواهید خاتمه دهید.
- Whoami: اگر نیاز دارید تا بدانید چه کسی به سیستم وارد شده است از دستور whoami استفاده کنید. این دستور نام کاربری فعلی وارد شده را نمایش میدهد. هنگام استفاده از دستور whoami، میتوانید از سوئیچ /groups برای فهرست کردن گروههایی که عضو آن هستید استفاده کنید یا میتوانید از سوئیچ LOGONID/ برای مشاهده شناسه ورود به حساب خود استفاده کنید. هر دو برای عیبیابی مشکلات کنترل دسترسی مفید هستند. لیست کد زیر نشان میدهد که من به عنوان سرپرست به سیستمی به نام 2008R2 وارد شدهام:
- net statistics: یکی دیگر از دستورات عالی نظارتی در ویندوز است که میتوانید از آن برای نظارت دقیق بر آنچه در سرورتان رخ میدهد استفاده کنید. این دستور اطلاعاتی مانند تعداد جلسات پذیرفته شده، تعداد موارد نقض رمز عبور (تلاش برای ورود ناموفق)، تعداد نقض مجوزها (دسترسی به دلیل عدم دسترسی ناموفق بود) و کارهای مربوط به چاپ در سیستم را نمایش میدهد.
همچنین میتوانید از دستور net statistics workstation برای مشاهده اطلاعات مربوط به نرمافزار کلاینت در سیستم خود و تعداد درخواستهای ارسال شده برای منابع شبکه استفاده کنید. شما میتوانید اطلاعات مربوط به هر درخواست ناموفق برای دسترسی به منابع شبکه را با دستور فوق مشاهده کنید.
- Viewing Users, Groups, and Shares: هنگام نظارت بر یک سیستم، حسابهای کاربری موجود و همچنین تعداد اشتراکگذاریها را در سیستم را زیر نظر داشته باشید. برای مشاهده لیستی از حسابهای کاربری در سیستم، میتوانید از دستور net user مانند شکل زیر استفاده کنید:
همچنین ممکن است بخواهید از نزدیک بر گروهها و پوشه های مشترک موجود در یک سیستم نظارت کنید. برای نمایش لیستی از گروههای موجود در سیستم، از دستور net localgroup استفاده کنید. اگر میخواهید فهرستی از منابع به اشتراک گذاشته شده در سیستم و مکان آنها روی دیسک محلی که پوشههای اشتراکگذاری شده هستند را مشاهده کنید از دستور net share استفاده کنید.
دستورات لینوکس
در سیستم عامل لینوکس نیز دستوراتی برای نظارت بر فعالیتها در نظر گرفته شده است. از دستورات مهم امنیتی در این زمینه به موارد زیر باید اشاره کرد:
- Ps: دستور مذکور برای مشاهده فهرستی از فرآیندهای در حال اجرا در سیستم استفاده میشود. دستور فوق، معادل دستور tasklist در ویندوز است. در شکل زیر اطلاعات نشان داده شده توسط دستور فوق را مشاهده میکنید.
هنگامی که از دستور ps برای مشاهده فهرستی از پردازهها استفاده میکنید، ممکن است پردازهای را مشاهده کنید که نمیخواهید در حافظه اجرا شود. برای این منظور باید از دستور kill در لینوکس برای خاتمه دادن به اجرای پردازه در حال اجرا در حافظه استفاده کنید. بهطور مثال، اگر پردازهای در سیستم عامل در حال اجرا باشد که شناسه 3139 دارد از ترکیب نحوی زیر برای خاتمه دادن به اجرای آن استفاده میکنیم:
Kill 3139
هنگام نظارت بر فعالیت حسابهای کاربری، میتوانید از فرمان Last برای نمایش آخرین باری که کاربر به سیستم وارد شده استفاده کنید. همچنین، میتوانید از دستور lastlog برای مشاهده فهرستی از کاربران و آخرین باری که وارد سیستم شدهاند استفاده کنید.
SNMP
پروتکل مدیریت ساده شبکه (SNMP) سرنام Simple Network Management Protocol از قدیمیترین پروتکلهای دنیای شبکه است که برای مدیریت و نظارت بر دستگاهها استفاده میشود. کارشناسان امنیتی از دستور فوق برای جمعآوری اطلاعات دقیق در مورد وضعیت دستگاههای در حال اجرا، حافظه مصرف شده، میزان استفاده از پردازنده مرکزی و تعداد کاربران متصل به شبکه استفاده میکنند. دستور مذکور دسترسی به اطلاعات مربوط به پیکربندی و تنظیمات دستگاه را نیز ارائه میکند. نکتهای که باید در مورد دستور فوق به آن دقت کنید این است که تنها زمانی قادر به استفاده از SNMP برای نظارت یا مدیریت یک دستگاه هستید که دستگاه هدف از پروتکل SNMP پشتیبانی کند. البته، بیشتر روترها، سوئیچها و چاپگرها از دستور فوق پشتیبانی میکنند.
خوشبختانه، نرمافزارهایی برای استفاده خودکار از پروتکل SNMP برای اتصال به دستگاهی که از پروتکل مذکور پشتیبانی میکند طراحی شدهاند تا فرآیند واکشی اطلاعات دستگاهها سادهتر شود. از منظر امنیتی، توصیه میکنیم پروتکل SNMPv3 را روی دستگاههای خود اجرا کنید، زیرا امنیت بیشتری نسبت به نسخه اولیه SNMP دارد. SNMPv1 امنیت نسبتا ضعیفی دارد و نام کاربری و رمز عبور را بهشکل متن ساده ارسال میکند. در نسخه SNMPv2 برخی از مشکلات امنیتی برطرف شدند، اما SNMPv3 با رمزگذاری اعتبارنامهها و بهکارگیری مکانیزمهای امنیتی کارآمد یک مکانیزم نظارتی دقیق را ارائه میکند.
Performance Monitor
بخشی از نظارت بر یک سیستم به معنای استفاده از ابزارهایی برای نظارت بر مشکلات مربوط به عملکرد در یک سیستم است. سیستمهای ویندوزی دارای یک نرمافزار عالی برای نظارت بر اطلاعات مربوط به عملکرد به نام مانیتور عملکرد هستند که به نام Perfmon نیز شناخته میشود. Perfmon به شما امکان میدهد شمارندههایی را برای نظارت بر یک شی در سیستم اضافه کنید. شمارنده مشخصهای از سیستم مثل % Processor Time است که نشان میدهد چند درصد از شی CPU در یک زمان معین استفاده میشود.
هنگام نظارت بر عملکرد سیستم، به چهار بخش اصلی حافظه، دیسک، پردازنده و رابط شبکه نگاه کنید. Perfmon به شما این امکان را میدهد که جزئیات زیادی در مورد هر یک از این اشیاء و سایر اشیاء در سیستم را مشاهده کنید. میتوانید با کلیک بر روی دکمه افزودن (+) در نوار ابزار، اشیا و شمارندهها را به نمایشگر عملکرد اضافه کنید تا کادر محاورهای Add Counters باز شود. در مرحله بعد، لیست اشیاء و شمارنده ها را مرور کنید و سپس شمارندههایی را برای مناطقی که میخواهید نظارت کنید اضافه کنید.
سیستم عامل لینوکس یک ابزار نظارت بر عملکرد دارد که میتوانید از آن برای نظارت بر سلامت سیستم استفاده کنید. برای استفاده از نرمافزار نظارت بر عملکرد در لینوکس، منوی System، در ادامه Administration و سپس System Monitor را اجرا کنید. ابزار فوق همراه با سه زبانه در اختیارتان قرار میگیرد:
- Processes: زبانه Processes فهرستی از فرآیندهای در حال اجرا و شناسه فرآیند مرتبط با آنها را نشان میدهد. شما میتوانید اجرای یک فرآیند را با دکمه terminate خاتمه دهید.
- Resources: زبانه منابع نمودارهای خطی را نشان میدهد که تاریخچه استفاده از حافظه، استفاده از پردازنده و فعالیت شبکه را نشان می دهد.
- File Systems: سیستمهای فایل موجود و دستگاههای مرتبط را نشان میدهد.
تحلیلگر و شنودکننده پروتکل
یک تحلیلگر پروتکل یا ردیاب شبکه، یک ابزار عالی برای نظارت بر شبکه است که به شما امکان میدهد ترافیک شبکه را ضبط و بررسی کنید. این دو معمولاً یکسان هستند، با این تفاوت که یک تحلیلگر پروتکل ممکن است روی یک پروتکل خاص تنظیم شود، در حالی که یک sniffer شبکه تمام ترافیک شبکه را بدون توجه به پروتکل شبکه مورد استفاده تجزیه و تحلیل میکند.
از میان snifferهای شبکهای که میتوانید استفاده کنید، محبوبترین آنها Wireshark و Microsoft Network Monitor هستند. Wireshark ابزار رایگان است که از نشانی www.wireshark.org قابل دریافت است و میتواند بر روی پلتفرمهای مختلف (مانند ویندوز و لینوکس) نصب شود.
نظارت بر ترافیک شبکه با Wireshark
در این تمرین از Wireshark برای نظارت بر ترافیک وب استفاده میکنیم. در این مثال، من فایل ضبطی را برای نظارت بر محیط شبکه استفاده میکنم.
1. مطمئن شوید که Wireshark را نصب کردهاید. در غیر این صورت، جدیدترین نسخه Wireshark را از وب سایت www.wireshark.org دانلود و نصب کنید.
2. Wireshark را راه اندازی کنید.
3. از منوی File گزینه انتخاب فایل را انتخاب کنید. در کادر گفتگوی Open، فایل HTTPTtraffic.cap که در پوشه LabFiles\PacketCaptures قرار دارد را باز کنید.
4. محتویات ضبط بسته نمایش داده میشود. توجه داشته باشید که 24 بسته (اعداد لیست شده در سمت چپ) ضبط شدهاند که بسته 16 درخواست ارسال HTTP واقعی است که اطلاعات فرم ارسال شده به سرور است. شما میتوانید از بسته 16 برای مشاهده ترافیک شبکه استفاده کنید
5. اگر بسته 16 قبلاً انتخاب نشده است آنرا انتخاب کنید.
6. پنجره به چندین پنجره تقسیم میشود: صفحه بالا که Packet List نام دارد و همه بستههایی را که ضبط شدهاند فهرست میکند. در زیر پنجره Packet List، پنجره Packet Details قرار دارد، جایی که میتوانید جزئیات هر بسته را همانطور که آنها را در پنجره Packet List برجسته میکنید، مشاهده کنید. در زیر قسمت Packet Details، صفحه Packet Bytes را دارد که دادههای هگزادسیمال آن فریم و اطلاعات اسکی در بسته را نمایش میدهد. اطمینان حاصل کنید که بسته 16 همچنان در قسمت Packet List انتخاب شده است تا بتوانید بسته را بررسی کنید.
7. در قسمت Packet Details (قسمت پایین صفحه)، روی Ethernet II دوبار کلیک کنید، تا بخش اترنت گسترش پیدا کند و آدرسهای اترنت مبدا و مقصد یا آدرسهای MAC را به شما نشان میدهد.
8. مک آدرس منبع را ضبط کنید (در پرانتز در سمت راست قسمت منبع نشان داده شده است). آدرس منبع سیستم LAN است که بسته را ارسال کرده است.
9. در زیر بخش Ethernet II اطلاعات پروتکل وجود دارد. این ترافیک شبکه از چه پروتکل لایه 3 استفاده میکند؟
10. اگر در سؤال قبل به «IP» پاسخ دادید، پاسختان درست بود. اگر روی قسمت Internet Protocol Version 4 دوبار کلیک کنید، خواهید دید که چه آدرسهای لایه 3 (آدرس های IP) در مبدا و مقصد بسته وجود دارد.
11. اطلاعات زیر را پر کنید:
- بسته به کجا میرود؟ _________________
- بسته از کجا آمده است؟ _________________
نکته: آدرس منبع و مقصد را مشاهده کنید.
12. همچنین، میتوانید مشاهده کنید که IP برای تحویل این بسته از چه پروتکل انتقال استفاده کرده است. سه خط بالاتر از آدرس IP مبدا، میتوانید مشاهده کنید که IP از TCP، یک پروتکل لایه 4 اتصالگرا استفاده میکند تا اطمینان حاصل کند که بسته به مقصد میرسد.
13. اگر روی عنوان IP دوبار کلیک کنید، جزئیات IP را به شکل تجمیع شده مشاهده میکنید. در قسمت Packet Details، بر روی Hypertext Transfer Protocol دوبار کلیک کنید تا اطلاعات دقیق برنامه را مشاهده کنید.
14. آخرین اطلاعات مربوط به HTTP است که خط File Data: است. برای مشاهده اطلاعات، به بخش ASCII در پایین صفحه نگاه کنید.
16. Wireshark را ببندید.
برای مطالعه بخش بعد اینجا کلیک کنید.
برای مطالعه تمام قسمتهای آموزش سکیوریتی پلاس اینجا کلیک کنید.
تبلیغات لینکی:
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟