تفاوتی ندارد که یک شرکت نوپا یا مطرح باشید، در هر صورت نیاز به راه اندازی FTP server دارید که به شما امکان دسترسی، حذف، ویرایش و بسیاری از امکانات دیگر را بدهد. اکثر شرکتها از پلتفرم لینوکس برای سرورهای عملیاتی خود استفاده میکنند. البته این سرورها به صورت پیش فرض دارای FTP server هستند اما ممکن است به دنبال برنامه جایگزین دیگری در این زمینه باشید. در این مقاله به سوالاتی همچون،"FTP server چیست؟"، "چه تفاوتی بین FTP clients و FTP servers وجود دارد؟" و همچنین معرفی بهترین سرورهای FTP لینوکسی پرداخته می شود.
FTP server چیست؟
تصویر(1)
FTP server یک برنامه در سیستم عامل لینوکس است که امکان دسترسی به فایلها و انجام عملیات مختلف با استفاده از برنامه های FTP client را فراهم می کند. بیشتر سرورهای عملیاتی از برنامه های FTP server بومی لینوکس مانند PureFTP و vsFTPd استفاده میکنند. انتخاب سرور FTP مناسب معمولاً بستگی به ماهیت وظیفهای دارد که در سرور عملیاتی شما صورت می گیرد. ممکن است این سوال برایتان ایجاد شود که آیا وجود یک FTP server ضروری می باشد؟ پاسخ مثبت خواهد بود.
در صورت عدم وجود FTP server، دسترسی ریموت به فایلها نیازمند روش های جایگزین دیگر مانند SSH، سرویس انتقال فایل (file transfer service) یا امکانات سرویسهای ابری می باشد. این روش ها همیشه مناسب نیستند زیرا ممکن است افراد ترجیح دهند برای دسترسی آسان به فایلها از برنامه های FTP client در سیستم عامل ویندوز استفاده کنند.
تفاوت بین FTP client و FTP server
تصویر(2)
ممکن است تفاوت FTP client و FTP server کمی گیج کننده باشد. همانطور که قبلاً گفته شد، FTP server خدماتی را فراهم می کند که از طریق آن ایجاد سشن های FTP از طریق FTP client های مختلف میسر می شود. از سوی دیگر، FTP client ها برنامه هایی هستند که روی سیستم شما نصب شده و به شما امکان اتصال به سرور FTP و انجام عملیات های مختلف روی فایل ها را می دهند.
FileZilla یک FTP client معروف برای ویندوز است که احتمالا با آن آشنا هستید. می توانید FileZilla را از وب سایت رسمی آن دانلود نمایید. با توجه به اینکه FTP یک پروتکل استاندارد است، می توانید از برنامه های FTP client مختلف جهت اتصال ریموت استفاده نمایید و تفاوتی ندارد که در سرور عملیاتی کدام FTP server وجود دارد.
بهترین FTP server
قبل از بررسی بهترین FTP server ها، نیاز است ابتدا بررسی شود که کدام سرور FTP در سرور وجود دارد. می توانید با استفاده از دستورهای زیر این مورد بررسی نمایید:
ps aux | grep ftp
rpm -qa | grep ftp
در ادامه به بررسی بهترین FTP server های لینوکسی پرداخته می شود.
1- vsFTPd
تصویر(3)
vsFTPd (مخفف very secure FTP daemon) همانطور که از نام آن مشخص است یکی از ایمن ترین FTP server های موجود می باشد. vsFTP به صورت پیشفرض در بسیاری از نسخههای لینوکس مانند Ubuntu، CentOS، Fedora و.. نصب است. Chris Evans که در حال حاضر رئیس امنیت سایبری در شرکت HackerOne می باشد، این سرور FTP را در اوایل سال ۲۰۰۰ توسعه داد. ممکن است این سوال برای شما ایجاد شود که چرا وقتی یک FTP server دیگر به صورت پیشفرض در سرور وجود دارد باید اقدام به نصب vsFTP کنید؟ اولین دلیل، طراحی بسیار ایمن آن و وجود قابلیت chroot jail است. این ویژگی همانند cagefs می باشد که دسترسی به فایلهای تحت مالکیت کاربر دیگر را محدود میکند. همچنین vsFTPd دارای سرعت انتقال داده بالا بوده و پیکربندی آن آسان می باشد. این سرور FTP از ۲ دهه قبل در بازار حضور دارد و با توزیعهای مختلف لینوکسی سازگار است.
2- ProFTPD
تصویر(4)
ProFTPD از دهه 90 تحت یک پروژه متن باز توسط John Morrissey، Michael Renner، Daniel Roesen، TJ Saunders و... توسعه یافته است. ProFTPD نسخه پایدار خود را با ورژن 1.3.8 در تاریخ 4 دسامبر 2022 منتشر کرد. یکی از دلایل مهم برای انتخاب ProFTP این است که FTP server مذکور ماژول های بسیار زیادی ارائه می دهد. همچنین میتوانید ProFTP را در ویندوز نیز با استفاده از Cygwin نصب کنید که یک امتیاز محسوب می شود. این سرور FTP به دلیل تنظیمات گستردهای که دارد، از قابلیت پیکربندی بالایی برخوردار است. همچنین ProFTP طیف گستردهای از پروتکلها مانند FTPS و sFTP را پشتیبانی میکند که به کاربران ابزارهای بیشتری جهت استفاده از FTP server ارائه میدهد. مانند Vsftp، برنامه ProFTP نیز دارای یک جامعه کاربری فعال می باشد.
3- Pure-FTPd
تصویر(5)
Pure-FTPd یک FTP server دیگر است که روی امنیت تمرکز دارد. امنیت در FTP بسیار حائز اهمیت می باشد زیرا این سرویس جهت دسترسی به فایلها از راه دور است و سطوح دسترسی باید به صورت واضح مشخص گردد. این سرور FTP بر پایه Troll-FTPd ساخته شده است. Pure-FTPd در سال 2001 توسط Denis ایجاد شد و در حال حاضر توسط تیم PureFTP مدیریت و ارائه میشود. این FTP server دارای ویژگیهای امنیتی مشابهی با vsFTPD می باشد به عنوان مثال از ویژگی chroot jail و پروتکلهای مختلف پشتیبانی میکند.
به طور کلی تفاوت زیادی بین این دو برنامه وجود ندارد. PureFTPd ادعا میکند که یک سرور FTP با سطح کیفی محیط عملیاتی است و آسیبپذیری ندارد. همچنین، لاگ های این سرور FTP مشابه Apache می باشد که در صورت بروز مشکل، میتوانید آنها را مرور و بررسی نمایید.
4- glFTPd
تصویر(6)
glFTPd مخفف عبارت "GreyLine File Transfer Protocol Daemon" می باشد. این FTP server از ویژگی فوق العاده "محدودیت ورود به سیستم بر اساس آدرس IP" برخوردار است و حدودا در سال 1998 راهاندازی شد. FTP server های محبوبی که در دهه 90 میلادی ارائه شده اند همچنان از بهترین FTP server ها محسوب می شوند. glFTPd با توزیعهای لینوکسی مختلف سازگاری بالایی دارد. glFTPd به دلیل قابلیت تعیین سهمیه (quota) انتقال برای هر کاربر و عدم ذخیره کاربر یا گروهها در فایلهای سیستمی، برای سرورهای خصوصی (private servers) بسیار مناسب می باشد. این سرور FTP به زبان C نوشته شده است و طیف گستردهای از پروتکلها را پشتیبانی می نماید.
5- TWFTPd
تصویر(7)
آخرین FTP server که در این مقاله بررسی می شود TFTP است که نام کامل آن "Trivially Wormable FTP Daemon" می باشد. سال تاسیس آن هنوز برای عموم آشکار نشده است. TFTP ساده ترین FTP server می باشد که تنها ویژگی های اساسی همچون انتقال فایل را ارائه می دهد. TFTP در این حیطه چنان شناخته شده نیست و در طول سالها نتوانسته به خوبی توجه کاربران را جلب کند. این موضوع می تواند به دلیل حضور سه FTP server برجسته و پرطرفدار vsftpd، proftpd و pureftpd باشد.
نتیجه گیری
انتخاب سرور FTP مناسب بستگی به نیازهای شما دارد. مدیر سیستم باید تمامی نقاط ضعف سرویس و همچنین نحوه اعمال محدودیتها در خصوص دسترسی به فایل را بررسی نماید. FTP server های غیررایگان نیز وجود دارند اما استفاده از آنها ضروری نیست چون FTP server های متن باز که در این مقاله معرفی شدند تمامی نیازهای مهم شما را در این زمینه پوشش می دهند.