در دنیای کامپیوتری برای توسعه دهندگان وب راهی برای انتقال اطلاعات به سرور به نام سرویس FTP فراهم شده است، این قرارداد انتقال فایل اولین بار در سال ۱۹۷۱ توسط فردی به نام آبهای بوشان منتشر شد. این پروتکل در ابتدا به منظور انتقال فایل بین شبکه آرپانت (ARPANET)یعنی شبکه ای از کامپیوترها که شامل چند مرکز نظامی و دانشگاهی و عده کمی از افراد بود مورد استفاده قرار میگرفت. بعد از گذشت زمان اصلاحاتی در این قرار داد صورت پذیرفت، تا امکان برقراری ارتباط با سرور ها از طریق این پروتکل برای عموم فراهم باشد. چون در ابتدای ایجاد شبکه کامپیوتری تعداد کامپیوترها و کاربران کم و شناخته شده بودند مسائل امنیتی مهم نبود و به همین دلیل قرارداد انتقال فایل شامل نکات امنیتی نمی گردید، با گسترش شبکه کامپیوتر و افزایش ناگهانی کاربران نیاز به پر کردن این خلاء امنیتی احساس شد. اتصال ها و تراکنش ها در پروتکل FTP رمزنگاری (Encrypted) نمی شوند، از این رو اگر کسی به مسیر ارتباطی FTP دسترسی پیدا کند به راحتی می تواند تراکنش ها را شنود کرده و در صورت لزوم آنها را دریافت کند. به همین دلیل بسیاری ترجیح می دهند تا از پروتکل FTPS استفاده کنند، در این مقاله به تشریح این پروتکل خواهیم پرداخت.
FTPS یک پروتکل برای انتقال امن فایل است، بعد از آنکه نت اسکیپ پروتکل SSL یا همان TLSامروزی را معرفی کرد از آن برای تبدیل FTP به FTPS استفاده گردید. FTPS هم مثل FTP از پورت 21 برای ارسال دستورات و پورت 20 برای تبادل اطلاعات استفاده می کند البته باز بودن این Range Port در فایروال برای شبکه شما ریسک امنیتی دارد، که این مورد در SFTP با استفاده تنها یک پورت 22 برای احراز هویت برطرف شده است. در پروتکل FTPS برای احراز هویت از نام کاربری و پسوورد یا Certificate یا از ترکیب هر دو استفاده می شود. در زمان ارتباط با سرور ابتدا کلاینت Certificate سرور را برای ایمنی چک میکند، اطمینان در صورتی که Certificate توسط CA صادر شده باشد یا Signed-Self توسط سرور صادر شده باشد و کلاینت Certificate Public آن را داشته باشد حاصل می شود.
FTP-SSL یک روش رمزنگاری پروتکل FTP است که راه اندازی این سرویس چندان بدون مشکل نیست، حال باید توجه داشته باشیم که پروتکل FTP در دو حالت Passive و Active فعالیت می کند که در این مقوله Passive Mode در FTP به همراه یک SSL ساده استفاده خواهد شد. بیشتر کاربرانی که از FTPS استفاده می کنند در پشت فایروال میباشند و این یعنی کانال داده یا Data Channel ای که برای FTP در نظر گرفته می شود معمولا مسدود می شود، در این صورت امکان برقرار اتبا ط با سرور از طریق FTP وجود دارد اما نمی توان فایل هایی که در آن وجود دارند را مشاهده کرد. به همین دلیل از ساختار Passive FTP در نرم افزار کلاینت سمت کاربر مورد استفاده قرار می گیرد.
ویژگی های استفاده از پروتکل FTPS به شرح زیر میباشد:
• بطور گسترده ای از این پروتکل استفاده میشود و شناخته شده است.
• شیوه ارتباطی آن توسط یک شخص قابل درک است.
• سرویس های مانند انتقال فایل سرور به سرور ارائه می کند.
• استفاده از SSL/TLS برای احراز هویت
• به طور ذاتی در بسیاری از فریم ورک های ارتباطی موجود در اینترنت وجود دارد.
امنیت در FTPS چگونه عمل می کند؟
اتصال به FTPS توسط ID کاربر، رمز عبور و گواهی کلید عمومی شبیه به HTTPS عمل می کند انجام می شود. ابزار OpenSSL اجازه می دهد که درخواست گواهی کلید ایجاد شود. مشتری FTPS هنگام اتصال به یک سرور FTPS، ابتدا امنیت گواهی سرور را بررسی می کنند. یک مرجع گواهی مورد اعتماد (CA) نشانه هایی دارد، این گواهی به مشتری یک سرور قابل اعتماد و امن را تضمین می دهد و به حفاظت حریم مشتری در مقابل حمله هکرها کمک می کند.
FTPS ضمنی و FTPS صریح
FTPS ضمنی به نوعی از اتصال اشاره می کند که در آن دستورات و کانال های داده در همه ی زمان ها رمز گذاری شده اند. اتصال امن در FTPS ضمنی توسط رمزگذاری SSL صورت می گیرد و استفاده از SSL بسیار ضروری خواهد بود. یک مشتری غیر FTPS اجازه ی برقراری ارتباط با سرور FTPS را نخواهد داشت. سرور FTPS از یک پورت خاص (۹۹۰) برای مشتری، به منظور اتصالات امن استفاده می کند. FTPS به دلیل رمز گذاری در دستورات و کانال های داده، مقدار زیادی از پهنای باند شبکه و منابع محاسباتی استفاده می کند.
در FTPS صریح مشتری به طور مستقیم از سرور FTPS در خواست امنیت می کند. این یک درخواست اختیاری است، اگر مشتری درخواست امنیت نداشته باشد سرور FTPS هم می تواند اجازه دهد مشتری در حالت امنیت محدود به سرور متصل شود.
مزایای FTPS در مقابل FTP
• بسیاری از چارچوب های ارتباطات اینترنتی که در FTP ساخته شده اند، توسط SSL و TLS پشتیبانی می شوند.
• SSL و TLS مکانیسم های خوبی برای تایید هویت هستند.
• FTPS می تواند برای انتقال فایل از یک سرور به سرور دیگر استفاده شود.
• ارتباطات FTPS قابل درک و قابل خواندن است.