۰
(۰)

FTP مخفف File Transfer Protocol (پروتکل انتقال فایل) است. این پروتکل شباهت زیادی به HTTP (HyperText Transfer Protocol یا پروتکل انتقال متن فراهم) دارد به این معنا که یک زبان برای انتقال داده‌ها بر روی شبکه مشخص می‌کند. FTP به صورت پیش‌فرض رمزگذاری نشده است، بنابراین خود به تنهایی انتخاب خوبی برای انتقال داده‌های امن نیست. اگر به دنبال نصب یک سرور FTP روی اوبونتو هستید، ساده‌ترین روش استفاده از vsftpd است. این راهنما به شما کمک می‌کند تا یک سرور FTP را با استفاده از vsftpd روی اوبونتو نصب و پیکربندی کنید.

پیش‌نیازها

دسترسی به یک حساب کاربری با امتیازات روت.

دسترسی به یک پنجره ترمینال/خط فرمان (Ctrl+Alt+T).

مدیر بسته apt، به صورت پیش‌فرض تعبیه شده.

نصب سرور FTP روی اوبونتو

مراحل زیر را دنبال کنید تا ابزار vsftpd را روی اوبونتو نصب کنید:

مرحله ۱: به‌روزرسانی مخزن بسته‌های سیستم

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

sudo apt update

تا پایان فرآیند به‌روزرسانی صبر کنید.

مرحله ۲: نصب سرور vsftpd روی اوبونتو

vsftpd یک ابزار FTP منبع‌باز است که به دلیل سادگی‌اش در اوبونتو به طور معمول استفاده می‌شود. vsftpd را با اجرای دستور زیر نصب کنید:

sudo apt install vsftpd

مرحله ۳: راه‌اندازی vsftpd

برای راه‌اندازی سرویس و فعال‌سازی آن به منظور شروع خودکار در هنگام بوت، دستورات زیر را اجرا کنید:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

مرحله ۴: پشتیبان‌گیری از فایل‌های پیکربندی

پیش از ایجاد هرگونه تغییر، از فایل‌های پیکربندی خود پشتیبان‌گیری کنید. با استفاده از دستور cp یک نسخه پشتیبان از فایل پیکربندی پیش‌فرض ایجاد کنید:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default

این دستور یک کپی از فایل vsftpd.conf واقع در دایرکتوری /etc/ ایجاد می‌کند و آن را به عنوان vsftpd.conf_default در همان دایرکتوری ذخیره می‌کند.

مرحله ۵: ایجاد کاربر FTP

برای این آموزش، ما یک کاربر FTP اختصاصی ایجاد خواهیم کرد. اگر قصد دارید به یک کاربر موجود دسترسی FTP بدهید، این مرحله را رد کنید.

از سینتکس زیر برای ایجاد یک کاربر جدید و تنظیم رمز عبور استفاده کنید:

sudo useradd -m [username]
sudo passwd [username]

[username] را با نام حساب کاربری که می‌خواهید ایجاد کنید جایگزین کنید. پس از اجرای دستور دوم، سیستم از شما می‌خواهد تا یک رمز عبور برای حساب جدید ایجاد کنید. نمونه زیر فرآیند ایجاد یک حساب کاربری ftpuser و تنظیم یک رمز عبور را نشان می‌دهد:

مرحله ۶: پیکربندی فایروال برای اجازه ترافیک FTP

اگر از UFW استفاده می‌کنید، به طور پیش‌فرض ترافیک FTP مسدود است. دستورات زیر را برای باز کردن پورت‌های ۲۰ و ۲۱ برای ترافیک FTP اجرا کنید:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp

مرحله ۷: اتصال به سرور FTP

برای اتصال به سرور FTP از سینتکس زیر استفاده کنید:

sudo ftp [system_name]

[system_name] را با نام سیستم خود (که از خط فرمان گرفته‌اید) جایگزین کنید.

برای مثال:

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

پیکربندی سرور vsftpd

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

تغییر دایرکتوری پیش‌فرض

سرور FTP از دایرکتوری /srv/ftp به عنوان دایرکتوری پیش‌فرض استفاده می‌کند. شما می‌توانید یک دایرکتوری جدید ایجاد کنید و آن را به عنوان دایرکتوری خانگی کاربر FTP تنظیم کنید. تغییر دادن و محدود کردن FTP به یک دایرکتوری خاص امنیت کلی سرور را بهبود می‌بخشد.

مراحل زیر را دنبال کنید:

  1. برای ایجاد یک دایرکتوری جدید از این سینتکس استفاده کنید:

sudo mkdir /srv/ftp/[new_location]

[new_location] را با دایرکتوری که می‌خواهید ایجاد کنید، جایگزین کنید.

  1. برای تغییر دایرکتوری پیش‌فرض که کاربر ftp در هنگام ورود قرار می‌گیرد، از سینتکس زیر استفاده کنید:

 

sudo usermod -d /srv/ftp/[new_location] ftp

  1. برای اعمال تغییرات، سرویس vsftpd را مجدداً راه‌اندازی کنید:

sudo systemctl restart vsftpd.service

حالا، می‌توانید هر فایلی که می‌خواهید از طریق FTP به اشتراک بگذارید را در دایرکتوری /srv/ftp (اگر آن را به عنوان پیش‌فرض نگه داشته‌اید) یا در دایرکتوری /srv/ftp/[مکان_جدید] (اگر آن را تغییر داده‌اید) قرار دهید.

احراز هویت کاربران FTP

اگر می‌خواهید به کاربران مجاز اجازه دهید تا فایل‌ها را آپلود کنند، فایل پیکربندی vsftpd.conf را طبق مراحل زیر ویرایش کنید:

  1. فایل پیکربندی vsftpd.conf را در نانو یا ویرایشگر متن دیگری باز کنید:

sudo nano /etc/vsftpd.conf

  1. ورودی با برچسب write_enable=YES را پیدا کنید و آن را از حالت توضیح خارج کنید (علامت # را از جلوی خط بردارید):

  1. فایل را ذخیره کرده و خارج شوید، و با اجرای دستور زیر، سرویس FTP را مجدداً راه‌اندازی کنید:

sudo systemctl restart vsftpd.service

پیکربندی این تنظیم به کاربر اجازه می‌دهد تا تغییراتی در دایرکتوری خانگی خود ایجاد کند.

امن‌سازی FTP

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

محدود کردن دسترسی کاربران

یکی از روش‌های امن‌سازی vsftpd، محدود کردن کاربران به دایرکتوری خانگی‌شان است. مراحل زیر را دنبال کنید:

  1. فایل vsftpd.conf را در یک ویرایشگر متن باز کنید:

sudo nano /etc/vsftpd.conf

  1. خط زیر را با حذف علامت هش (#) غیرفعال کنید:

chroot_local_user=YES

مثال زیر نشان دهنده فایل در نانو است:

  1. فایل را برای اعمال تغییرات ذخیره کرده و از ویرایشگر خارج شوید.

ایجاد فایل لیست کاربران

فایل لیست کاربران به vsftpd اجازه می‌دهد تا دسترسی کاربران لیست شده را تایید یا رد کند. کاربران لیست شده به کل سرور دسترسی کامل خواهند داشت. اگر کاربری در لیست نباشد، تنها به دایرکتوری خانگی‌اش محدود می‌شود. مراحل زیر را دنبال کنید:

  1. فایل /etc/vsftpd.chroot_list را در یک ویرایشگر متن باز کنید و برای ایجاد فایل لیست، هر کاربر را در یک خط اضافه کنید.
  2. فایل vsftpd.conf را ویرایش کنید و خطوط زیر را با حذف علامت # غیرفعال کنید:

chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list

تصویر زیر ویرایش‌ها را نشان می‌دهد:

  1. سرویس vsftpd را مجدداً راه‌اندازی کنید:

sudo systemctl restart vsftpd.service

از طرف دیگر، لیست کاربرانی که از دسترسی FTP محروم هستند، در فایل /etc/ftpusers ذخیره می‌شود. برای افزودن کاربران مسدود شده، این فایل را ویرایش کنید و هر کاربر را در یک خط اضافه کنید.

رمزنگاری ترافیک با FTPS

روش دیگری برای امن‌سازی سرور FTP شما، رمزنگاری ترافیک است. این کار از طریق FTPS – File Transfer Protocol over SSL (لایه سوکت امن) انجام می‌شود.

برای کارکرد این ویژگی، کاربران باید با یک حساب شل روی سرور FTP تنظیم شوند. این امر یک لایه رمزنگاری امن به ترافیک FTP شما اضافه می‌کند. مراحل زیر را دنبال کنید:

  1. با اجرای دستور زیر، یک گواهینامه جدید با openssl ایجاد کنید:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

هنگامی که پرسش‌هایی مطرح شد، اطلاعات مورد نیاز را ارائه دهید یا با فشار دادن Enter تنظیمات پیش‌فرض را نگه دارید.

  1. فایل vsftpd.conf را در یک ویرایشگر باز کنید و خط ssl_enable=NO را به ssl_enable=YES تغییر دهید.

سپس، خطوط زیر را به فایل پیکربندی اضافه کنید:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
pasv_min_port=40000
pasv_max_port=50000

تغییرات را ذخیره کرده و از فایل خارج شوید.

  1. سرویس را برای اعمال تغییرات مجدداً راه‌اندازی کنید:

sudo systemctl restart vsftpd.service

نتیجه‌گیری

پس از دنبال کردن مراحل در این آموزش، شما باید توانسته باشید یک سرور FTP را با استفاده از vsftpd روی اوبونتو نصب، پیکربندی و امن‌سازی کنید. یک سرور FTP امکان به اشتراک‌گذاری، انتقال و مدیریت فایل‌ها را در شبکه‌ها یا اینترنت به صورت کارآمد فراهم می‌کند.

چقدر این مطلب مفید بود؟

روی یک ستاره کلیک کنید تا به آن امتیاز دهید!

میانگین امتیاز ۰ / ۵. تعداد آرا: ۰

تا الان رای نیامده! اولین نفری باشید که به این پست امتیاز می دهید.