امیرحسین تنگسیری نژاد
مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو

SSH Tunneling چیست و چگونه پیکربندی میشود؟

در واقع واژه SSH Tunneling و یا SSH Port Forwarding به مفهومی اشاره دارد که به واسطه آن بتوانیم از طریق ایجاد یک ارتباط کاملا رمزنگاری شده SSH در میان سرور و کلاینت به یک سرویس خاص موجود در شبکه مقصد یا سرور مقصد دسترسی پیدا کنیم این فرآيند ( SSH Tunneling ) به دو روش قابل پیاده سازی میباشد

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
  • روش اول: Local SSH Tunneling 
  • روش دوم: Remote SSH Tunneling 

در این مقاله ما تمرکزمان بر روی پیاده سازی SSH Tunneling به صورت Local میباشد به همین منظور برای درک بهتر این موضوع ابتدا سناریو زیر را در نظر بگیرید:

بیشتر ببینید: جامعترین دوره آموزش جرم شناسی دیجیتال | کشف جرایم رایانه ای | Digital Forensics

SSH Tunneling چیست و چگونه پیکربندی میشود؟

در این سناریو ما یک سرور Linux داریم و یک کلاینت Windows 10 و در سرور Linux ما یک وب سرور درحال فعالیت میباشد. در این سناریو درمیان ارتباط سرور و کلاینت یک فایروال وجود دارد و این فایروال اجازه دسترسی به پورت 3100 را نمیدهد و تنها اجازه دسترسی SSH را فعال کرده است از این بابت برای رفع این مشکل میتوانیم پورت 3100 را در فایروال بازکنیم اما در شرایطی که ما در محیط سازمانی قرار گرفته اینکار اصلا توصیه نمیشود.

بهترین راه در اینجا استفاده از SSH Tunneling میباشد بدین واسطه که ما از طریق ارتباط SSH به Port مقصد دسترسی پیدا کنیم (مانند تصویر زیر)

SSH Tunneling چیست و چگونه پیکربندی میشود؟

توجه داشته باشید که در سمت سرور برای پیاده سازی SSH Tunneling نیاز به پیکربندی خاصی وجود ندارد و پیکربندی در سمت کلاینت انجام میشود.

پیاده سازی SSH Tunneling به واسطه PuTTY

توجه داشته باشید که اکثر نرم افزار های SSH توانایی پیاده سازی SSH Tunneling را دارند و ما در این مقاله از نرم افزار PuTTY استفاده میکنیم

نرم افزار PuTTY را اجرا سازی میکنیم و قبل از آن مقدار آدرس IP Server و یا Domain Name را تعیین میکنیم

بعد از این فرآيند وارد مسیر Connection -> SSH -> Tunnel میشویم (مانند تصویر)

SSH Tunneling چیست و چگونه پیکربندی میشود؟

مانند تصویر زیر PuTTY را پیکربندی میکنیم( به مقدار Destination و Local و IPv4 و 4L توجه کنید )

SSH Tunneling چیست و چگونه پیکربندی میشود؟

بعد از انجام پیکربندی ها براساس نیازمان حالا کافیست بر روی گزینه Open بزنیم و مرورگر خودمان را باز کنیم و به شکل زیر آدرس مقصد را سرچ کنیم Http://x.x.x.x:3100 و به راحتی محیط تحت وب مقصد را ببینیم

پیاده سازی SSH Tunneling برای دسترسی به یک سرویس در یک سرور دیگر

درشرایطی مانند سناریو زیر پیش می آید که وب سرور بر روی یک سرور دیگر درون آن شبکه فعال است و شما قصد دارید که به آن سرور مورد نظر دسترسی پیدا کنید. درصورتی سروری که به آن SSH میزند بتواند وب سرور مقصد را ببیند و به آن دسترسی داشته باشد شما به راحتی با پیکربندی انجام شده در بالا میتوانید اینکار را انجام بدهید و فقط کافیست به جای x.x.x.x از مقدار y.y.y.y استفاده کنید.


امیرحسین تنگسیری نژاد
امیرحسین تنگسیری نژاد

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

متخصص امنیت اطلاعات و کارشناس شکار تهدیدات بانک ملی ایران ، دارای مدارک مختلف از Splunk و AWS و Fortinet و Huawei حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider می‌باشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند PenTest و SoC فعالیت داشته و دارم. سابقه همکاری با بعضی سازمان های در قالب پروژه و... را داشته ام الان به عنوان تحلیلگر امنیت سایبری در زیرساخت بانک ملی مشغول به کار هستم. لینکداین: https://www.linkedin.com/in/amirhoseintangsirinezhad/

نظرات