وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش پیکربندی FTP با TLS در اوبونتو

0 10
زمان لازم برای مطالعه: 8 دقیقه


FTP (پروتکل انتقال فایل) در درجه اول برای انتقال فایل ها بین رایانه ها استفاده می شود. FTP در معماری کلاینت-سرور کار می کند که در آن کلاینت فایلی را از سرور درخواست می کند و سرور فایل مورد نیاز را به مشتری برمی گرداند. در ماشین سرویس گیرنده، برنامه مشتری FTP برای ارتباط با سرور استفاده می شود. همچنین امکان دسترسی به سرور FTP وجود دارد روی مرورگر به طور پیش فرض، FTP از طریق یک کانال ناامن ارتباط برقرار می کند، اما پیکربندی FTP برای انتقال داده ها از طریق یک کانال امن امکان پذیر است. در این آموزش، روش پیکربندی یک سرور FTP با TLS و سپس استفاده از FileZilla به عنوان یک برنامه مشتری برای اتصال با سرور FTP را خواهید آموخت.

نصب VSFTPD

VSFTPD (Very Secure FTP Daemon) یک برنامه نرم افزاری است که برای پیکربندی FTP استفاده می شود. روی یک سرور در این آموزش از VSFTPD برای پیکربندی سرور FTP استفاده خواهد شد روی ماشین. قبل از نصب VSFTPD، با دستور زیر، مخازن موجود در سرور خود را به روز کنید.

ubuntu@ubuntu:~$ sudo آپدیت apt-get -y

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

ubuntu@ubuntu:~$ sudo apt-get نصب کنید vsftpd -y

در نهایت نصب را با چک کردن نسخه vsftpd با دستور زیر تأیید کنید.

ubuntu@ubuntu:~$ vsftpd -v

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

در صورت موفقیت آمیز بودن نصب، دستور بالا نسخه vsftpd را خروجی می دهد.

FTP در حالت فعال

در حالت فعال، سرویس گیرنده FTP جلسه را با ایجاد اتصال کنترل TCP از هر پورت تصادفی شروع می کند روی ماشین کلاینت به پورت 21 سرور. سپس مشتری شروع به گوش دادن می کند روی یک پورت تصادفی X برای اتصال داده و از طریق اتصال TCP Control به سرور اطلاع می دهد که مشتری منتظر اتصال داده است. روی پورت X. پس از این، سرور یک اتصال داده از پورت 20 خود به پورت X برقرار می کند روی ماشین مشتری

در جایی که کلاینت پشت فایروال باشد و پورت X مسدود شده باشد، ممکن است مشکلی ایجاد شود. در این حالت سرور قادر به برقراری ارتباط داده با مشتری نیست. برای جلوگیری از این مشکل، سرور FTP بیشتر در حالت Passive استفاده می شود که در ادامه این مقاله به آن خواهیم پرداخت. به طور پیش فرض، VSFTPD از حالت Passive استفاده می کند، بنابراین باید آن را به حالت فعال تغییر دهیم.

ابتدا فایل پیکربندی VSFTPD را باز کنید.

ubuntu@ubuntu:~$ sudo نانو /و غیره/vsftpd.conf

خط زیر را به انتهای فایل اضافه کنید.

pasv_enable= خیر

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

همچنین، مطمئن شوید که گزینه “connect_from_port_20” روی “YES” تنظیم شده است. این گزینه تضمین می کند که اتصال داده برقرار است روی پورت 20 سرور

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

سپس یک دایرکتوری ایجاد کنید که سرور FTP از آن برای ذخیره فایل ها استفاده می کند. برای این آموزش، ‘/home/ubuntu/ftp/’ را به عنوان پیکربندی می کنیم root مسیر برای سرور FTP

ubuntu@ubuntu:~$ sudo mkdir /خانه/اوبونتو/ftp

حال با تغییر گزینه «local_root» این دایرکتوری را در فایل پیکربندی مشخص کنید. پارامتر زیر پیکربندی می کند root مسیر سرور

local_root=/خانه/اوبونتو/ftp

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

گزینه “write_enable” باید فعال باشد تا به کاربران امکان نوشتن در سرور FTP را بدهد.

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

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

ubuntu@ubuntu:~$ sudo systemctl راه اندازی مجدد vsftpd

تنظیم رمز عبور برای کاربر

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

ubuntu@ubuntu:~$ sudo passwd اوبونتو

دستور بالا برای کاربر ‘ubuntu’ رمز عبور را می خواهد.

پیکربندی فایروال برای حالت فعال

اگر از FTP در حالت Active استفاده شود، سرور FTP از دو پورت برای ارتباط با مشتری استفاده می کند، پورت های 21 و 22. پورت 21 برای ارسال دستورات به مشتری و پورت 20 برای انتقال داده ها به هر پورت تصادفی استفاده می شود. مشتری. ما از ufw برای پیکربندی فایروال استفاده خواهیم کرد روی سرور. با استفاده از دستور زیر ufw را نصب کنید.

ubuntu@ubuntu:~$ sudo apt-get نصب کنید ufw

اکنون، روی در سمت سرور، پورت های 20، 21 و 22 (برای اتصال SSH) را باز خواهیم کرد.

ubuntu@ubuntu:~$ sudo ufw اجازه می دهد از هر به هر پورت پروتو tcp

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

با استفاده از دستورات زیر وضعیت ufw را فعال و بررسی کنید.

ubuntu@ubuntu:~$ sudo ufw فعال کردن

پیشنهاد می‌کنیم بخوانید:  چگونه نسخه Node را کاهش دهیم روی اوبونتو؟

ubuntu@ubuntu:~$ sudo وضعیت ufw

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

توجه داشته باشید: اگر سرور FTP خود را پیکربندی می کنید روی ابر، همچنین باید پورت های 20، 21 و 22 را در گروه امنیتی مجاز کنید.

هشدار: همیشه قبل از فعال کردن ufw پورت 22 را به همراه پورت های مورد نیاز فعال کنید روی سیستم از راه دور به طور پیش فرض، UFW ترافیک پورت 22 را مسدود می کند، بنابراین اگر ufw را بدون اجازه دادن به ترافیک از پورت 22 فعال کنید، نمی توانید با استفاده از SSH به سرور راه دور خود دسترسی پیدا کنید.

نصب FTP Client

اکنون سرور ما در حالت Active پیکربندی شده است و می توانیم از سمت کلاینت به آن دسترسی داشته باشیم. برای برنامه مشتری، ما از FileZilla، یک برنامه مشتری ftp استفاده خواهیم کرد. با استفاده از دستور زیر فایل زیلا را نصب کنید.

ubuntu@ubuntu:~$ sudo apt-get نصب کنید filezilla -y

برنامه سرویس گیرنده FTP را باز کنید و آدرس IP عمومی و سایر اطلاعات کاربری سرور FTP را وارد کنید.

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

هنگامی که روی «اتصال سریع» کلیک می کنید، به سرور FTP متصل می شوید و به طور خودکار به دایرکتوری مشخص شده در گزینه «local_root» در فایل پیکربندی «/home/ubuntu/ftp» منتقل می شوید.

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

مشکلات در حالت فعال

استفاده از FTP در حالت Active زمانی که کلاینت پشت فایروال قرار دارد مشکلاتی را ایجاد می کند. پس از وارد کردن دستورات کنترل اولیه، زمانی که سرور یک اتصال داده با مشتری ایجاد می کند روی یک پورت تصادفی، پورت ممکن است توسط فایروال مسدود شود روی مشتری، باعث می شود که انتقال داده ها با شکست مواجه شود. FTP را می توان در حالت Passive برای حل این مشکلات فایروال استفاده کرد.

FTP در حالت غیرفعال

در حالت Passive، کلاینت یک اتصال کنترلی با سرور ایجاد می کند روی پورت 21 سرور سپس کلاینت فرمان ویژه ‘PASV’ را ارسال می کند تا به سرور اطلاع دهد که اتصال داده توسط مشتری به جای سرور برقرار می شود. در پاسخ، مشتری IP سرور و شماره پورت تصادفی را دریافت می کند (این شماره پورت پیکربندی خواهد شد روی سرور). مشتری از این IP و شماره پورت برای ایجاد یک اتصال داده با سرور استفاده می کند. در حالت Passive، هر دو اتصال داده و کنترل توسط کلاینت برقرار می شوند، به طوری که فایروال ارتباط بین مشتری و سرور را مختل نمی کند.

فایل پیکربندی FTP را در ویرایشگر مورد علاقه خود باز کنید.

ubuntu@ubuntu:~$ sudo نانو /و غیره/vsftpd.conf

گزینه “pasv_enable” را در فایل روی “YES” قرار دهید تا سرور بتواند در حالت Passive با مشتری ارتباط برقرار کند. همچنین، گزینه “local_root” را تنظیم کنید تا مشخص شود root دایرکتوری سرور و گزینه “write_enable” را روی “YES” تنظیم کنید تا به کاربران اجازه دهید فایل ها را در سرور آپلود کنند.

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

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

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

ارتباط داده بین سرور و مشتری برقرار خواهد شد روی یک پورت بین 1024 و 1048. پس از تغییر فایل پیکربندی، سرور FTP را مجددا راه اندازی کنید.

ubuntu@ubuntu:~$ sudo systemctl راه اندازی مجدد vsftpd

پیکربندی فایروال در حالت غیرفعال

اگر از FTP در حالت Passive استفاده کنیم، اتصال داده روی هر پورتی از 1024 تا 1048 برقرار می شود، بنابراین لازم است همه این پورت ها اجازه داده شوند. روی سرور FTP

ubuntu@ubuntu:~$ sudo ufw اجازه می دهد از هر به هر پورت پروتو tcp

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

پس از اجازه دادن به تمام پورت ها روی فایروال، ufw را با اجرای دستور زیر فعال کنید.

ubuntu@ubuntu:~$ sudo ufw فعال کردن

همیشه پورت ها را مجاز کنید روی سرور قبل از فعال کردن فایروال؛ در غیر این صورت، شما نمی توانید از طریق SSH به عنوان ufw به سرور خود دسترسی پیدا کنید که به طور پیش فرض پورت 22 را مسدود می کند.

تست اتصال

اکنون سرور FTP را در حالت Passive راه اندازی کرده ایم و می توانیم اتصال ftp را با برنامه مشتری بررسی کنیم. برای انجام این کار، FileZilla را در سیستم خود باز کنید.

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

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

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

پیکربندی گواهینامه های SSL با سرور FTP

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

پیشنهاد می‌کنیم بخوانید:  درایورهای NVIDIA را نصب کنید روی اوبونتو 22.04 LTS

تولید گواهینامه های SSL

ما از گواهینامه های SSL برای برقراری ارتباط امن بین مشتری و سرور استفاده خواهیم کرد. ما این گواهی ها را با استفاده از openssl تولید خواهیم کرد. دستور زیر گواهینامه SSL را برای سرور شما تولید می کند.

ubuntu@ubuntu:~$ sudo openssl req -x509 -گره ها -روز 365 کلید جدید rsa:2048 کلید خروجی /و غیره/ssl/خصوصی/vsftpd.pem -خارج /و غیره/ssl/خصوصی/vsftpd.pem

هنگامی که دستور بالا را اجرا می کنید، چند سوال از شما پرسیده می شود. پس از پاسخ دادن به این سوالات، گواهی ها تولید می شوند. می توانید گواهی ها را در terminal.

ubuntu@ubuntu:~$ sudo ls /و غیره/ssl/خصوصی/

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

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

اکنون، گواهی‌های ما آماده استفاده هستند. ما فایل ‘vsftpd.conf’ را برای استفاده از گواهینامه های SSL برای ارتباط پیکربندی می کنیم. فایل کانفیگ را با دستور زیر باز کنید.

ubuntu@ubuntu:~$ sudo نانو /و غیره/vsftpd.conf

خطوط زیر را به انتهای فایل ها اضافه کنید. این تغییرات تضمین می‌کند که سرور FTP از گواهی‌های SSL جدید تولید شده برای برقراری ارتباط امن با مشتری استفاده می‌کند.

ssl_enable=بله
force_local_data_ssl= خیر
force_local_logins_ssl= خیر
ssl_tlsv1=بله
ssl_sslv2= خیر
ssl_sslv3= خیر
rsa_cert_file=/و غیره/ssl/خصوصی/vsftpd.pem
rsa_private_key_file=/و غیره/ssl/خصوصی/vsftpd.pem

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

برای اعمال این تغییرات سرور FTP را مجددا راه اندازی کنید.

ubuntu@ubuntu:~$ sudo systemctl راه اندازی مجدد vsftpd

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

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

اگر گواهی‌هایی از یک مرجع گواهی معتبر دارید، این هشدار نباید ظاهر شود. ما گواهی‌های خود را با استفاده از openssl تولید کردیم، که یک مرجع گواهی معتبر نیست، به همین دلیل است که در مورد ما تأیید اعتبار گواهی را درخواست کرد. اکنون، ما می توانیم بین مشتری و سرور از طریق یک کانال امن ارتباط برقرار کنیم.

پیکربندی ناشناس

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

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

پیکربندی بالا را تنظیم می کند root مسیر برای کاربران ناشناس ‘/home/ubuntu/ftp/anon’ باشد و زمانی که کاربر ناشناس وارد می‌شود، رمز عبور را درخواست نمی‌کند.

توجه داشته باشید: مطمئن شوید که مسیر ‘/home/ubuntu/ftp/anon’ وجود دارد روی سرور FTP

اکنون سرور FTP را مجددا راه اندازی کنید.

ubuntu@ubuntu:~$ sudo systemctl راه اندازی مجدد vsftpd

پس از راه اندازی مجدد سرور، سعی می کنیم از طریق مرورگر گوگل کروم به سرور متصل شویم. به آدرس زیر بروید.

ftp://3.8.12.52

URL بالا شما را به سرور FTP می برد root دایرکتوری، همانطور که در فایل پیکربندی مشخص شده است. با غیرفعال بودن ورود به سیستم ناشناس، هنگامی که سعی می کنید با استفاده از مرورگر به سرور FTP متصل شوید، ابتدا از شما احراز هویت خواسته می شود و سپس به آدرس زیر هدایت می شوید. root دایرکتوری سرور

پیکربندی کنید Local دسترسی داشته باشید

همچنین می توانیم با تغییر فایل پیکربندی، دسترسی محلی به سرور FTP را مجاز یا مسدود کنیم. در حال حاضر، ما می توانیم بدون استفاده از برنامه مشتری FTP به صورت محلی به سرور FTP خود دسترسی داشته باشیم، اما می توانیم این دسترسی را مسدود کنیم. برای انجام این کار، باید پارامتر ‘local_enable’ را تغییر دهیم.

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

ابتدا سرور FTP را ریستارت کنید.

ubuntu@ubuntu:~$ sudo systemctl راه اندازی مجدد vsftpd

پس از راه اندازی مجدد سرور، سعی کنید با استفاده از دکمه به سرور FTP به صورت محلی دسترسی داشته باشید command-line رابط. با استفاده از SSH وارد سرور راه دور خود شوید.

ubuntu@ubuntu:~$ ssh اوبونتو@3.8.12.52 -من

اکنون دستور زیر را برای ورود به سرور FTP به صورت محلی با استفاده از دستور صادر کنید command-line رابط.

ubuntu@ubuntu:~$ ftp localhost

وقتی دستور بالا را اجرا می کنید، خطای 500 می دهد.

روش پیکربندی FTP با TLS در اوبونتوروش پیکربندی FTP با TLS در اوبونتو

نتیجه

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

http://vsftpd.beasts.org/vsftpd_conf.html

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1403-01-03 13:01:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید