سامانه پادیان: ضبط و نظارت بر ارتباطات SSH

پوسته امن (به انگلیسی: Secure Shell) یا به اختصار SSH یک پروتکل اینترنتی است که امکان تبادل اطلاعات با استفاده از یک کانال امن را بین دو دستگاه متصل در شبکه ایجاد می‌کند. دو نسخه اصلی این پروتکل به نام‌های SSH1 یا SSH-1 و SSH2 یا SSH-2 شناخته می شود. در ابتدا بر روی سیستم‌های مبتنی بر یونیکس و لینوکس برای دسترسی به حساب‌های پوسته استفاده شد، SSH جایگزنی برای Telnet و سایر پوسته‌های ارتباط از راه دور غیر امن ایجاد شده است.

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

با اینکه SSH تمامی مشکلات را حل نخواهد کرد، اما در مورد بسیاری از موارد می‌تواند راه حل مناسبی باشد. برخی از این موارد عبارتند از:

  • یک پروتکل کارخواه/کارساز امن برای کدگذاری و انتقال داده ها در شبکه.
  • تعیین هویت کاربران به وسیله کلمه عبور ، host ، public key و یا استفاده از Kerberos،PGP و یا PAM
  • قابلیت امن کردن برنامه های ناامن شبکه مانند Telnet ،FTP و در کل هر برنامه ای که بر اساس پروتکل TCP/IP بنا شده است.
  • بدون هیچ تغییر در استفاده کاربر نهایی (End User) پیاده شده و قابلیت پیاده سازی بر روی بیشتر سیستم عامل ها را دارد.

 

قابلیت های پروتکل SSH

مطمئنا در اختیار داشتن یک اتصال امن بین سرور و کلاینت قابلیت‌های فراوانی را در اختیار ما قرار می‌دهد که در اینجا به برخی از پر کاربردترین کاربردهای SSH اشاره می‌کنیم:

  • تائید کاربران از طریق متدهای مختلف
  • ایجاد تونل امن برای اتصالات TCP/IP و همچنین اتصالات غیر امنی مانند IMPAP ضمن سازگاری کامل با فایروال.
  • انتقال خودکار (forward) اتصالات.
  • امکان تائید خارجی کاربران با کمک Kerberos and SecurID.
  • انتقال فایل امن.

 

معماری SSH

معماری یک سیستم SSH در شکل زیر نمایش داده شده است. همانگونه که مشاهده می شود در معماری مبتنی بر SSH  اطلاعات توسط کلیدهای عمومی و خصوصی رمزگذاری می شوند و این امر امنیت اطلاعات مبادله شده در طول مسیر را تضمین می کند.

تفاوت بین SSH و Telnet

با استفاده از این ابزارها شما می توانید به صورت دلخواه، پیکربندی های مربوط به دستگاه های عنوان شده را به راحتی و از طریق خط فرمانی که ارائه می کنند انجام دهید. این دو ابزار در عمل هیچ تفاوتی با همدیگر ندارند و شما هر کاری که توسط SSH می توانید انجام دهید با استفاده از Telnet قادر به انجام آن هستید اما مهمترین تفاوت بحث امنیت است. Telnet هیچگونه مکانیزم امنیتی ندارد، رمز عبور شما زمانیکه از Telnet برای اتصال به دستگاه مورد نظر استفاده می کنید بصورت رمزنگاری نشده یا در اصطلاح فنی Clear Text رد و بدل می شود و یک هکر می توانید این رمز عبور را به سادگی در شبکه شنود کرده و اطلاعات احراز هویتی شما را بدست بیاورد. اما زمانیکه شما از SSH استفاده می کنید رمز عبور شما به صورت رمزنگاری شده منتقل می شود و مهاجم نمی تواند محتویات آن را شناسایی و رمز عبور را پیدا کند.

پروتکل Telnet به صورت ذاتی برای استفاده در شبکه های خصوصی و محرمانه طراحی شده است و به همین دلیل تمامی داده هایی که توسط این پروتکل منتقل می شوند بصورت Plain Text یا رمزنگاری نشده منتقل می شوند که این شامل تمامی اطلاعات هویتی از جمله نام کاربری و رمز عبور مورد استفاده نیز می شود. این به عنوان یک نقطه ضعف امنیتی برای Telnet همیشه همراه این پروتکل بوده است تا اینکه برنامه نویسان و طراحان SSH بر روی همین پروتکل یک مکانیزم رمزنگاری قرار دادند تا اطلاعات در حین انتقال رمزنگاری و غیرقابل شوند شود. علاوه بر این رمز نگاری SSH به شما امکان دیگر امنیتی به نام احراز هویت یا Authentication را نیز می دهد. با استفاده از این مکانیزم شما می توانید مطمئن باشید که منبع داده ها همان دستگاهی است که از ابتدا به آن متصل شدیم و دستگاه دیگری در این میان در بین ارتباط قرار نگرفته است. بدون قابلیت احراز هویت یا Authentication یک شخص دیگر می تواند در میان ارتباط اختلال ایجاد کرده و خودش را میان ارتباط قرار داده و هر کاری که دلش خواست انجام دهد. با توجه به اینکه در SSH از قابلیت Public Key برای رمزنگاری و احراز هویت دستگاه Source استفاده می شود احتمال بروز چنین مشکلی در SSH بسیار ضعیف است.

با توجه به مکانیزم های امنیتی تعبیه شده در پروتکل SSH برای استفاده در مکان های عمومی ، در هر بسته اطلاعاتی که توسط SSH ارسال می شود میزان داده های انتقالی کاهش پیدا کرده است تا تمهیدات امنیتی لازم بتوانند خودشان را درون بسته اطلاعاتی جای بدهند. برای انتقال دادن مقدار مساوی اطلاعات توسط پروتکل های SSH نسبت به Telnet طبیعی است که زمان بیشتری صرف خواهد شد. بالا رفتن این زمان باعث مصرف بیشتر پهنای باند می شود که همین موضوع باعث بالا رفتن Overhead در شبکه می شود و این مسئله یک مشکل اساسی در خصوص استفاده از SSH است. مشکل امنیتی که در Telnet وجود دارد باعث شده است که بسیاری از افراد به سمت استفاده از SSH به عنوان یک جایگزین بروند. پروتکل Telnet بسیار سریع بوده و شاید اگر این مشکل امنیتی را نداشت براحتی از ان همچنان استفاده می شد. اگر چه هنوز بصورت کلی Telnet منسوخ نشده است و در بسیاری از موارد همچنان از آن استفاده می شود ، اما بیشتر استفاده از این ابزار به منظور آزمایش و دیباگ کردن است و قاعدتا نباید به عنوان یک ابزار اصلی در کار مورد استفاده قرار بگیرد. جالب اینجاست که وصله های امنیتی جدیدی برای امن کردن Telnet ایجاد شد اما در نهایت نتوانست بصورت کامل این پروتکل را امن کند و همین موضوع باعث منزوی شدن همه روزه این پروتکل شد ، بصورت خلاصه می توانیم تفاوت بین Telnet و SSH را به صورت زیر عنوان کنیم :

  • SSH و Telnet هر دو به یک منظور مورد استفاده قرار می گیرند
  • SSH بسیار امن تر از Telnet است
  • SSH داده ها را رمزنگاری می کند در حالیکه Telnet داده ها را بصورت رمزنگاری نشده ارسال می کند
  • SSH از ساختار Public Key برای احراز هویت استفاده می کند اما Telnet هیچگونه ساختار احراز هویتی ندارد
  • SSH باعث ایجاد Overhead و مصرف بیشتر پهنای باند به نسبت Telnet می شود
  • امروزه Telnet بصورت عمده توسط SSH جایگزین شده است

 

سامانه ضبط  جلسات SSH

در پی گسترش روزافزون زیرساختهای الکترونیکی در کشور و به تبع آن افزایش تعداد و اندازه مراکز داده کشور، تأمین امنیت در هنگام مدیریت و نگهداری مراکز داده سخت‌تر و پیچیده‌تر شده است. از یک سو برای مدیریت و نگهداری مراکز داده نیاز به اعطای مجوزهای دسترسی راه دور (مانند Remote Desktop ،SSH ،Telnet ،VNC و …) است و از سوی دیگر نیاز است تا اطلاعات و داده‌های سازمانی از دسترس کاربران راه دور (که عموماً وظیفه نگهداری مراکز داده را دارند) محفوظ باشد. این نکته در بعضی از این پروتکل‌ها مانند Remote Desktop که شامل هیچ گونه فرآیند رویدادنگاری نیست، بسیار بیشتر خود را نمایان می‌سازد. از طرف دیگر برای مستندسازی تغییرات اعمال شده و نیز کشف و رفع خطاهای احتمالی نیاز است تا رویدادنگاری کامل و جامعی از کلیه این پروتکل‌های دسترسی راه دور انجام شود.

در حال حاضر بسیاری از سازمان‌های کشور از این پروتکل‌ها برای دسترسی و اعمال تنظیمات در تجهیزات شبکه سازمان مانند سرورها، سوییچ‌ها و روترها استفاده می‌کنند. هر چه سطح بلوغ سازمان‌ها بیشتر می‌شود و یا اطلاعات مهم‌تری در سطح سازمان نگهداری می‌شوند مدیریت این دسترسی‌های راه دور و تغییرات پیکربندی انجام شده با مستندات بیشتر و نیز رویدادنگاری بیشتری همراه می‌شود. البته به دلایلی (مانند عدم وجود رویدادنگاری با جزئیات مناسب در این پروتکل‌ها، عدم وجود دیواره آتش لایه کاربرد برای این پروتکل‌ها و …)، این رویکرد موفقیت لازم را نداشته است. برای مثال چنانچه یک جلسه کاری از نوع Remote Desktop با یک سرور ویندوزی برقرار شود هیچ گونه مستندی از فعالیت‌های انجام گرفته در این جلسه وجود نخواهد داشت تا بتوان از آن برای مستندسازی و پایش فعالیت‌های انجام گرفته توسط کاربر استفاده نمود.

سامانه ضبط جلسات SSH با هدف ایجاد دیواره آتش لایه کاربرد و نیز رویدادنگاری از تمامی جزئیات پروتکل‌های دسترسی راه دور توسعه یافته است. این محصول به صورت کاملاً شفاف در شبکه سازمان مستقر می‌شود و هیچ گونه تغییری در نحوه استفاده کاربران ایجاد نمی کند. به کمک این سامانه شما قادر خواهید بود تا کاربران مجاز و دستـرسی آنها به مـنابع مختلف شبکه سـازمان را تعریف و کنـترل نمایید. همچنین با بهره‌گیری از این محصول شما می‌توانید تمامی ارتباطاتی که کاربران مجاز با منابع شبکه سازمان برقرار نموده‌اند در قالب فیلم‌ مشاهده و بررسی نمایید.

فاز اول این پروژه با تمرکز بر ضبط جلسات کاری SSH به عنوان محبوب ترین و پر استفاده ترین پروتکل ارتباطی دسترسی از راه دور اجرا شده و از طریق کنسول مدیریت این سامانه می‌توانید به جستجوی عبارات خاص، رویدادهای ویژه و … در فیلم‌ها و مقادیر تایپ شده کاربران بپردازید اجرای فرمان‌های net user، fdisk، ifconfig، iptables، adduser و …  از سوی هر یک از کاربران مجاز را در ارتباطات SSH بررسی و مشاهده نمایید. با بهره‌گیری از این سامانه می‌توانید برای کاربران لیست‌های سفید و سیاه از دستورات و یا پوشه‌های موجود بر روی سرور نیز تعیین نمایید.

در فاز های بعدی پروتکل هایی مثل Telnet، RDP وVNC  نیز به این مجموعه افزوده خواهد شد.

 

ویژگی های این سامانه

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

 

مزایای استفاده از این سامانه

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

 

ویژگی ها (در حال توسعه)

امکان تعریف کاربران و کنترل دسترسی‌های راه دور به منابع مختلف شبکه

شفافیت عملکرد و عدم نیاز به نصب نرم افزار در سمت سرور و یا رایانه کاربران

امکان نظارت زنده بر روی ارتباطات کاربران

امکان کنترل دستورات وارد شده توسط کاربران

قابلیت جستجو در واژگان تایپ شده توسط کاربران

نسخه‌برداری از فایل‌ها و اطلاعات مبادله شده کاربران با سرورها

امکان اندیس‌گذاری تصاویر مشاهده شده به منظور افزایش سرعت جستجوها

رمزنگاری فایل‌های ضبط شده به منظور جلوگیری از تغییر در محتویات آنها

 

کاربردها

کنترل دسترسی کاربران به منابع شبکه سازمان از طریق کنترل پروتکل‌های دسترسی راه دور

مستندسازی تصویری از جلسات کاربران در قالب فیلم

رهگیری تنظیمات اعمال شده در شبکه

امکان نظارت بر فعالیت‌های پیمانکاران