هنگامی که سعی دارید تا در مجموعه کاری خود برای کارمندان خود امکان انتقال فایل بین سیستم های کامپیوتری را ایجاد کنید، میبایست به دنبال ساده ترین و البته ایمن ترین راه انتقال فایل بین سیستم های کامپیوتری باشید. همچنین درصورتی که سعی بر آن باشد تا قابلیتی را برای انتقال فایل بین سیستم های کامپیوتری برای چند کارمند خود که از راه دور یا Remote دسترسی دارند را فعال کنیم و می خواهیم مطمئن باشیم که این سیستم ایمن باشد، در هر دو حالت داخلی و یا خارجی بهتر است از بین دو پروتکل SFTP یا FTPS یکی را انتخاب نماییم. در این مقاله سعی برآن است که ابتدا یک تعریف کلی و سپس تفاوت های میان آنها را مورد بررسی قرار دهیم.
SFTP یا همان SSH File Transfer Protocol یک پروتکل انتقال فایل یا در حقیقت یک راه انتقال فایل امن میباشد که به صورت پیش فرض پس از راه اندازی سرویس SSH بر روی سرور که سیستم عامل لینوکس برروی آن فعال است، قابل دسترسی و استفاده میباشد. پس دسترسی به این پروتکل زمانی امکان پذیر میباشد که Shell یا همان کنسول SSH را در اختیار داشته باشیم، که این مربوط به انواع مختلف سیستم عامل لینوکس همچون Ubuntu میباشد.
با استفاده از SFTP شما قادر خواهید بود فایل های خود را در یک مسیر امن و مطمئن به سرور لینوکس مدنظر منتقل نموده و یا فایل هایی را از سرور دانلود نمایید، بطوری که نام کاربری و رمزعبور حساب شما را در شبکه به صورت رمزنگاری شده در بسته های باینری ویژه ای منتقل می کند. نکته حائز اهمیت در مورد این پروتکل این است که اکثراً آن را با پروتکل FTP و یا نوع امن آن اشتباه می گیرند، اما باید بدانید که این پروتکل به صورت کلی تمامی قوانین و شرایط خود را دارد و هیچ وجه شباهتی در قوانین با FTP ندارد.
File Transfer Protocol که به اختصار FTP شناخته می شود یک پروتکل انتقال فایل ناامن میان دو کامپیوتر یا سرور از را ه دور می باشد و به عبارت دیگر یک پروتکل plain-text است که نام کاربری و رمزعبور حساب FTP را بدون رمزنگاری انتقال میدهد. SFTP یک پروتکل جداگانه می باشد که از طریق SSH می توان از آن استفاده نمود که از طریق یک اتصال ایمن به همان شیوه کار می کند. حال در بسیاری از موارد استفاده از SFTP نسبت به FTP به دلیل ویژگی های امینیتی زیر بنایی ترجیح داده می شود، هنگامی که کاربری قصد انتقال اطلاعات از طریق SFTP از سرور A به B را داشته باشد میبایست در سرور B دستور sftp به همراه آیپی سرور A را وارد نماید و با وارد نمودن یوزرنیم و پسورد سرور A به آن سرور از طریق SFTP متصل گردد.
اما در برخی موارد هنگامی که پورت SSH از حالت پیشفرض که 22 میباشد به پورت دیگری تغییر کرده باشد، امکان اتصال از طریق SFTP به آن سرور وجود نداشته و خطایی مبنی بر تنظیم پورت SSH به 22 را دریافت خواهد شد. در این حالت ابتدا پورت SSH سروری را که قصد اتصال از طریق SFTP به آن را داریم میبایست به 22 تغییر داده شده و بعد از آن که انتقال از این طریق پایان یافت مجدد پورت SSH را به مقدار دلخواه بازگرداند.
ویژگی های استفاده از پروتکل SFTP به شرح زیر میباشد:
• پس زمینه استانداردی دارد به طوری که بیشتر جنبه های عملیات را مشخص می کند.
• تنها از یک اتصال استفاده می کند.
• اتصال همیشه ایمن است.
• فهرست کردن دایرکتوری ها توسط توسط ماشین قابل خواندن است.
• پروتکل امکان تغییر سطح دسترسی، قفل فایل ها و دیگر عملکرد ها را دارد.
هنگام اتصال به SFTP در راستای بالا بردن امنیت، ابتدا شناسه کاربری و گذر واژه سرویس گیرنده برای اتصال به سرور بررسی میگردد. در مرحله بعد سند تایید است که کلیدها اتصالات را تضمین میکنند و به عبارت دیگر احراز هویت با Key SSHها میباشد. کلید عمومی یا Public Key و کلیدهای خصوصی یا Private Key در اینجا در سه مرحله مورد استفاده قرار میگیرند
1. ایجاد یک جفت کلید، کلید خصوصی بر روی کامپیوتر کاربر سرویس گیرنده SSH و کلید عمومی بر روی سرور SFTP کپی می شود.
2. هنگامی که سرور اتصال SFTP را تایید نماید، با استفاده از کلید خصوصی SSH یک امضای الکترونیکی ایجاد می شود.
3. سرور دارای کلید عمومی است در نتیجه می تواند این امضا را بررسی کند و اتصال کاربر به سرور کامل انجام شود.
با این وجود اگر سرور SFTP هک شده یا جعلی باشد، هکرها فقط می توانند به یک امضا دسترسی داشته باشند. در این پروسه هکرها کلید خصوصی و رمز عبور را پیدا نمیکنند، همچنین از آنجایی که امضا تنها یک بار قابل استفاده می باشد پس تلاش هکرها بی فایده خواهد بود.
مزایای SFTP در مقابلFTP و FTPS
• انتقال فایل از طریق SFTP سریع تر است، زیرا انتقال داده در قالب دودویی است، بنابراین داده ها زمان کمتری را بر روی عبور از سیم لازم دارند.
• پروتکل SFTP فقط به یک اتصال نیاز دارد و هیچ نیازی به کانال داده اختصاصی ندارد.
• امنیت اتصالات SFTP با SSH تضمین می شود.
• لیست دایرکتوری SFTP همیشه در دسترس و قابل خواندن است.
• امکان قفل گذاری بر روی فایل ها را نیز فراهم می کند.
• SFTP برای داشتن یک راهکار مدیریت انتقال فایل ها (MFT-transfer file Managed) مناسب تر است که توسط MFT می توانید مانیتورینگ و مدیریت داشته باشید.
• از یک تک کانال برای ارتباط، رمزگذاری و شناسایی و تبادل اطلاعات استفاده میکند.