FTP چیست ؟ آشنایی با پروتکل انتقال فایل

FTP یکی از پروتکل‌های پراستفاده در توسعه‌ی وب بوده که آشنایی با این پروتکل و آگاهی از سازوکار آن برای افراد فعال در حوزه‌ی مفید است.

FTP چیست ؟

اگر با متخصصان فناوری، علی‌الخصوص توسعه‌دهندگان وب کار کرده باشید، احتمالاً عبارت «FTP» را به وفور شنیده‌اید. شاید تا حدودی با کاربردها و اصطلاح FTP آشنا باشید. اما FTP چیست؟

ابتدا بهتر است با تعریف پروتکل آشنا شویم. بر اساس تعریف ویکی‌پدیا،

یک پروتکل به تعریف قالب و ترتیب مبادله پیام‌ها بین دو یا بیش از دو موجودیت ارتباطی می‌پردازد. به زبان ساده پروتکل یک قرارداد درباره نحوه‌ی مبادله‌ی اطلاعات در جامعه‌ی شبکه‌های کامپیوتری است و نوع عملیات لازم برای ارسال یا دریافت یک پیام را نیز مشخص می‌کند.

به طور ساده، FTP یک راه برای انتقال فایل‌ها به صورت آنلاین است. شاید با این تعریف، به وب‌سایت‌هایی که در مرورگرهای خود و در اینترنت می‌بینید فکر کنید. اما باید توجه داشته باشید که مرورگرها تنها از پروتکل HTTP استفاده می‌کنند، اما پروتکل‌های زیادی هستند که در کنار یکدیگر بستر اینترنت را تشکیل می‌دهند. برای مثال IMAP و POP، دو پروتکلی هستند که در ایمیل‌ کلاینت‌ها برای دریافت و ارسال پیام‌ها مورد استفاده قرار می‌گیرند و یا XMPP پروتکلی است که برای ارسال و دریافت پیام‌های فوری (Instant Messages) به کار گرفته می‌شود و همچنین DNS یا Domain Name Service، پروتکلی برای ترجمه‌ی نام دامنه به IP آدرس است.

به همین ترتیب، FTP یا File Transfer Protocol نیز یک پروتکل محسوب می‌شود. FTP به عنوان یکی از قدیمی‌ترین پروتکل‌هایی است که تا به امروز مورد استفاده گرفته است و یکی از آسان‌ترین راه‌ها برای انتقال فایل‌ها محسوب می‌شود. یک سرور FTP، فولدرها و زیرفولدرهایی را برای انتقال فایل در دسترس کاربر قرار می‌دهد. کاربران به کمک اطلاعات کاربری به این سرور متصل شده و از طریق نرم‌افزارهای مختلف امکان دانلود فایل از سرور و به همین ترتیب آپلود به سرور را پیدا می‌کنند.

بسیاری از کاربران هیچ‌گاه یک سرور FTP ندارند. اما اگر شما صاحب یک وب‌سایت هستید، سرور FTP یک ابزار ضروری و کارآمد برای شما محسوب می‌شود. از آنجا که FTP یک سرویس پایه‌ای و مهم در وب است، حتی اگر توسعه‌دهنده‌ی وب نیستید، آشنایی با آن مفید و کاربردی است. در ادامه‌، اطلاعاتی که لازم است به عنوان یک کاربر اینترنتی درباره FTP و کاربرد آن بدانید، آمده است.

FTP چه کاربردی دارد؟

FTP، برای توسعه‌دهندگان وب، ابزاری است برای انتقال فایل‌ها از کامپیوتر محلی به سرور میزبان وب‌سایت. برای مثال اگر شما بخواهید سیستم مدیریت محتوا WordPress را بر روی سرور میزبان نصب کنید، برای انتقال فایل‌ها بین سرور و کامپیوتر به FTP نیاز خواهید داشت.

fc71c139-2fd1-4d8b-992a-38925360010a

FTP در مواردی هم برای به اشتراک‌گذاری فایل‌ها مورد استفاده قرار می‌گیرد. برای مثال کاربری پس از آپلود فایل در سرور FTP، لینک دسترسی به آن را در اختیار سایر کاربران قرار می‌دهد. اگرچه این روش به اشتراک‌گذاری در دنیای سرویس‌های ابری متداول نیست اما برخی کاربران ترجیح می‌دهند تا با ایجاد میزبان (Host) برای فایل‌ها در سرور خانگی خود، سرویس FTP خود را راه‌اندازی کنند.

FTP به چه شکل است؟

به طور پیش فرض، FTP مشابه سایر فایل‌های ذخیره شده بر روی رایانه و با ساختاری شبیه به فولدر است. به گونه‌ای که به راحتی می‌توان آن را مرور کرده و مشاهده نمود. برای آشنایی بیشتر با این تعریف، می‌توانید یکی از سرورهای FTP را ببینید. برای مثال، شرکت ادوبی (Adobe) پیشنهاد می‌کند تمام کاربرانی که دارای کلید محصول (Product Key) معتبر بوده و CD نصب را از دست داده‌اند، نرم‌افزارهایشان را از طریق سرور FTP شرکت ادوبی، دانلود کنند.

fdbaa112-228b-4199-a601-973c7ede8840

مرورگرهایی مانند گوگل کروم و موزیلا فایرفاکس امکان دسترسی و مشاهده‌ی سرورهای FTP (بدون امکان آپلود فایل) را نیز برای کاربران فراهم می‌کنند. به این ترتیب مرور سرورهای FTP آسان‌تر خواهد بود. شرکت‌ها و مؤسسات زیادی هستند که سرورهای FTP را در اختیار کاربران قرار می‌دهند. همین در دسترس بودن، باعث کاهش امنیت این نوع سرورها می‌شود. چرا که به مرورگر زمان، سرور مملو از فایل‌های ناقص، آلوده و بعضاً خطرناک می‌شود. از این رو بیشترین کاربرد FTP، آپلود فایل مثلاً از کامپیوتر شخصی به سرور محل کار است. البته همان‌ گونه که پیشتر نیز اشاره شد، این کاربرد هم با ظهور سرویس‌های ابری محبوبیت خود را از دست داده است.

آیا FTP ایمن است؟

در طراحی و پیاده‌سازی خیر. عمر پروتکل FTP به سال ۱۳۵۰ باز می‌گردد، یعنی زمانی که هنوز صحبتی از امنیت سایبری به میان نیامده بود. این مسأله به آن معنا است که ارتباط‌ها و تراکنش‌ها در پروتکل FTP رمزنگاری (Encrypted) نمی‌شوند. از این رو اگر کسی به مسیر ارتباطی FTP دسترسی پیدا کند به راحتی می‌تواند تراکنش‌ها را شنود کرده و در صورت لزوم آنها را دریافت کند.

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

بهترین کلاینت (نرم‌افزار)‌های FTP کدامند؟

نرم‌افزارهای زیادی برای کار با سرورهای FTP وجود دارند. در این میزان نرم‌افزارهایی مانند WinSCP یا CyberDuck یاFileZilla و یا FireFTP در زمره‌ی بهترین نرم‌افزار‌های FTPP هستند.

چگونه می‌توان سرور FTP شخصی راه‌اندازی کرد؟

علاوه بر کامپیوتر‌ خانگی، تبلت یا گوشی هوشمند را نیز می‌توان به یک سرور FTP تبدیل نمود. برای راه‌اندازی یک سرور FTP، کاربران ویندوز تنها باید نرم‌افزاری مانند FileZilla Server را دانلود کنند.

c689118f-3412-45c3-b731-0abdeebbec35

اما کاربران مک به نرم‌افزارهای واسطه نیاز ندارند. در پنجره System Preferences وارد بخش Sharing شده و گزینه Remote Login را فعال کنید. این تغییر، یک سرور FTPS را بر روی مک شما فعال خواهد کرد. به این ترتیب، یک راه امن برای به اشتراک‌گذاری فایل‌ها با کاربران ایجاد می‌شود.

۹eb54b6a-2382-4bd1-8047-f9018714091b

برای مرور سرور و دانلود فایل‌های موجود در سرور FTP، کاربران باید یک کلاینت یا نرم‌افزار FTP را بر روی کامپیوتر خود نصب کرده و در پایان به کمک آی‌پی آدرسی که شما به عنوان سرور FTP تنظیم کردید به سرور FTP شما متصل شوند.

توجه داشته باشید که:

۱- برای دسترسی به فایل‌ها از شبکه‌ای خارج از شبکه‌ خانگی باید Port Forwarding را بر روی روتر خود تنظیم کنید.
۲- اگر می‌خواهید یک سرور FTP آنلاین و در دسترس راه‌اندازی کنید، رمزنگاری فایل‌ها یک ویژگی خوب محسوب می‌شود.

آیا سابقه‌ی راه‌اندازی یا به کارگیری سرور FTP را داشته‌اید؟ تجربیات خود را در این زمینه با ما و دوستانتان به اشتراک بگذارید.

 

نحوه ایجاد کاربر FTP در cPanel

ابتدا باید وارد سی پنل هاست خود شده در بخش “Files” گزینه “FTP Accounts” را انتخاب نمایید.

ftp1

در صفحه جدید ، جهت ساخت اکانت مانند تصویر عمل می کنیم :

ftp2


Login :
عبارت است از نام کاربری اکانت FTP شما که در انتها بصورت you@yourdomain.com در خواهد آمد.
Password : رمز عبور عبور اکانت FTP شما
Password Again : تایپ مجدد رمز عبور
Directory : پوشه ای که به اکانت FTP اختصاصی خواهد یافت. می توانید هر پوشه ای را که مد نظر دارید به اکانت اختصاص دهید. به این صورت که کاربر تنها قادر به مشاهده و اعمال تغییرات در آن پوشه خواهد بود.
درصورتی که می خواهید کاربر به تمام پوشه ها و فایل ها دسترسی داشته باشد ، تمام نوشته های این بخش را حذف کنید. (پیشنهاد نمی شود)
Quota : عبارت است از مقدار فضایی که به کاربر اختصاص خواهد یافت. جهت حذف محدودیت حجمی ، این مورد را روی Unlimited قرار دهید.
نکته : 
۱٫ برای ایجاد رمز عبور می توان از “Password Generator” استفاده کرد که پسورهای امنی را ایجاد می کند.
۲٫در پایان نیز “Create FTP Account” را بزنید بلافاصله مشاهده خواهید کرد که اکانت شما ایجاد شده است.

اگر تمام مراحل درست پیش رفته باشد پیغام موفقیت آمیز بودن ساخت “FTP Account” را مشاهده می کنید و تنظیمات مربوط به اکانت FTP را تغییر دهید.

ftp3

Change Password: در این قسمت می توانید رمز عبور اکانت خود را تغییر دهید.

Change Quota: در این قسمت می توانید حجم اطلاعاتی که اکانت شما می تواند دریافت / ارسال کند را تغییر دهید.

Delete: در این قسمت می توانید اکانت خود را حذف نمایید ، در صورتی که اقدام به حذف اکانت نمایید از شما پرسیده می شود آیا می خواهید فایل های موجود در سرور که بوسیله همان اکانت ساخته شده پاک شود .

Configure FTP client:‌ برای دریافت تنظیمات مربوط به برنامه های مورد استفاده می باشد که Cpanel به ۳ عدد از آنها اشاره کرده و تنظیمات را نیز برای دانلود قرار داده است.

جهت اتصال به اکانت ، برنامه FileZilla را دانلود کرده (در سیستم عامل های ویندوز) و پس از نصب برنامه می توانید فایل Configuration این برنامه را از محیط cPanel دانلود کرده و در برنامه Import کنید.

ftp4

وب هاستینگ و مشکلات کاربران غیر حرفه ای

خیلی مواقع پیش می آید که یک کاربر در رابطه با هک شدن وب سایتش با ما تماس میگیرد. روش های مختلفی برای هک کردن یک وب سایت و ردیابی آن توسط کاربر وجود دارد و وقتی که چنین مواردی به گوشمان میخورد تنها راه حلمان آن است که سرمان را داخل سرویس فرو ببریم و به بررسی دقیق کارها و اتفاقات بپردازیم.

در مواردی که ما برمیخوریم وب سایت هایی هستند که قدیمی شده اند و بروز رسانی برنامه ها و اسکریپت ها به موقع انجام نشده است.

یک مورد ساده که بسیار دیده ایم اضافه شدن کدهای iframe در متن برنامه و یا کدهای HTML میباشد . عملکرد این روش روی وب سایت شما مانند تلویزیون های تصویر در تصویر است . در این حالت هر موقع وب سایت شما باز میشود از طریق کدiframe وب سایت مورد نظر نفوذ کننده نیز بصورت مخفیانه باز میشود بطوریکه شما متوجه این موضوع نمیشوید.

موارد عملکرد این روش بسیار متنوع است به عنوان مثال میتواند ایجاد ترافیک کاذب برای یک وب سایت ثالث یا ارسال ایمیل های اسپم یا اجرای یک key logger بر روی کامپیتور یک بازدید کننده از وب سایت باشد.
شاید پاک کردن این کدهای مخرب و اثرات آن زمان زیادی از ما نگیرد اما کاری است اضافی که باید انجام شود.

اما سوالی که مطرح است این است که این کدها چگونه به کدهای اصلی اضافه شده اند ؟

99 درصد اوقات هک شدن یک وب سایت ربطی به هک شدن سرور ندارد و تنها دلیل نفوذ به وب سایت از طریق رمز ورود به کنترل پنل , اشکال امنیتی در کدها و اسکریپت های روی وب سایت است .

در موارد متعددی این موضوع مربوط به دزدیده شدن رمز های ورود در هنگام تایپ یا ذخیره روی برنامه های مدیریت وب سایت روی کامپیوتر شما اتفاق می افتد.

رمز های ورودی که روی کامپیوترهای مشکل دار و هک شده دوستان و بستگان وارد میکنید عامل هک شدن وب سایت شما در آینده خواهد بود و یا شاید یک نفر رمز شما را هنگام ورود یادداشت کند.

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

اولین کاری که بعد از اصلاح وب سایت های هک شده به روش فوق انجام میدهیم تغییر رمز ورود به کنترل پنل میزبانی و FTP است و هرگز در انتخاب رمز از عددها و حروف ساده استفاده نمیکنیم.

از رمزهایی که قبلاً داشته ایم استفاده نمیکنیم.

توصیه مکنیم بصورت مستمر رمز ها را تغییر دهید تا درصورتی که جایی در دسترس ویروس ها یا هکر ها قرارگرفت فرصت استفاده از آن از دست برود.

از حروف و عددها و علائم بی معنی استفاده کنید مثلاً “gHHiTz2*676_4iUDesw&^kk”

برای رمزهای خود میتوانید از برنامه های نگهداری رمز ها و کلمه های عبور مانند lastpass استفاده نمایید.

در مورد اختلال فوق باید کدها بصورت دستی حذف شو اصلاح شوند . استفاده از افراد با تجربه و حرفه ای در اصلاح این موارد کار را تسریع میکند.

بطور کلی مشکلات امنیتی و حفره هایی که در برنامه وب سایت ها وجود دارد چیزی نیست که در مسئولیت شرکت های میزبانی باشد و لازم است مالک وبسایت بصورت جداگانه به آن رسیدگی کند و یا فرد یا افراد حرفه ای را برای بروز رسانی وب سایت و اسکریپت ها بصورت ماهانه یا چند ماهه به خدمت بگیرد.

هک شدن و ایجاد تغییر بر روی وب سایت ها چیزی است که روزانه بر روی میلیونها وب سایت صورت میگیرد و لازم است مالک وب سایت در این رابطه با کارشناسان مربوطه مرتبط باشد و این مسئولیت به آنها سپرده شود.

به هر حال موارد زیر را همیشه در رابطه با وب سایت در نظر داشته باشید.

1) رمز ورود سی پنل مربوط به کنترل پنل میزبانی و همچنین رمز ورود به بخش مدیریت وب سایت یا CMS را ساده انتخاب نکنید و هرچند یکبار تغییر دهید.

2) همیشه اسکریپت های خود را بروز نگهدارید مثلاً اگر از جوملا یا وردپرس یا دروپال یا هربرنامه دیگیری استفاده میکنید آنرا به آخرین نسخه ارتقاء دهید.

3) از قراردان و آپلود نمودن برنامه ها و کامپوننت هایی که نمیشناسید روی وب سایت یا سرویس میزبانی خودداری کنید.

4) کامپیوترهای ویروسی میتوانند وسیله ای برای نفوذ کدهای مخرب به سرورمیزبانی یا وب سایت شما باشد از هر کامپیوتری وارد FTP یا بخش های مدیریت میزبانی یا سیستم مدیریت محتوای وب سایت نشوید.

5) همیشه از وب سایت خود نسخه پشتیبان تهیه کنید.