2 گام تنظیم ftp سرور و تنظیمات فایل زیلا

سلام دوستان؛
در آموزش های قبلی به بررسی نحوه راه اندازی FTP سرور در 3 مرحله پرداختیم و عنوان کردیم که از طریق پروتکل ftp به راحتی می توان به انتقال فایل ها پرداخت. در این آموزش نیز تنظیم ftp سرور و کلیه اقداماتی که می توان در جهت افزایش امنیت انتقال فایل ها برداشت را با هم بررسی می کنیم. توصیه می شود این مراحل را دنبال کنید.

تنظیم ftp سرور

نحوه راه اندازی سرور FTP در سرور مجازی با سیستم عامل اوبونتو را بررسی کردیم، پیشنهاد می کنیم پیکربندی های مورد نظرتان را به کمک این مقاله اعمال کنید. می توانید vsftpd و دسترسی FTP را تنظیم کنید. می توان نحوه دسترسی کاربر را تنظیم کرد برای این منظور دو سری پیکربندی وجود دارد که در فایل (vsftpd.conf) مشخص شده است.

پیکربندی vsftpd

اول از همه باید بررسی کرد که فایل پیکربندی چه تنظیماتی دارد. با دستورات نانو این کار را انجام می دهیم:

sudo nano /etc/vsftpd.conf
. . .
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
. . .

در همین فایل علامت # را حذف می کنیم و به جای آن write_enable را جایگزین می کنیم:

. . .
write_enable=YES
. . ..

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

. . .
chroot_local_user=YES
. . .

برای تنظیم ftp سرور چند مقدار دیگر هم باید به صورت دستی اضافه شود. به سادگی می توانید این مقادیر را در پایین فایل اضافه کنید. در مرحله اول، باید یوزر user_sub_token را در مسیر دایرکتوری local_root اضافه کرد. این کار موجب می شود تا کاربر فعلی و هر کاربر دیگری که بعدا اضافه می شود، بتواند به درستی فعالیت کنند:

user_sub_token=$USER
local_root=/home/$USER/ftp
برای بررسی کلیه اتصالات، تعداد پورت های مورد استفاده در فایل پیکربندی محدود می شوند:
pasv_min_port=40000
pasv_max_port=50000

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

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

گزینه userlist_deny وظیفه تغيير برخی موارد را بر عهده دارد. هنگامی که این مقدار به “NO” تغییر داده می شود، فقط کسانی که در لیست مشخص شده اند مجاز به دسترسی خواهند بود. پس از انجام تنظیمات کلیدهای روی CTRL + X را بزنید و تغییرات فایل را ذخیره کنید.

در نهایت، باید کاربری را ایجاد و اضافه کنید:

echo "alex" | sudo tee -a /etc/vsftpd.userlist
برای ادامه تنظیم ftp سرور باید وضعیت فعال بودن کاربر را بررسی کنید:
cat /etc/vsftpd.userlist
خروجی دستور بالا باید  “alex” باشد. مطابق با تصویر زیر:
تنظیم ftp سرور در گام بعدی باید daemon را مجددا راه اندازی کرد تا تغییرات اعمال شود.  از دستور زیر برای بارگذاری تغییرات پیکربندی استفاده کنید:
sudo systemctl restart vsftpd

تنظیمات امنیتی FTP

به صورت پیش فرض، FTP هیچ گونه رمزگذاری روی داده ها انجام نمی دهد، بنابراین می توان از TTL / SSL برای ایجاد افزایش سطح امنیت استفاده کرد. در اولین قدم، باید گواهینامه SSL ایجاد کنیم و از آن برای ایمن سازی سرور FTP استفاده کنیم. برای این منظور می توان از دستور زیر استفاده کرد:

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

–days تعداد روزهای مورد نظر برای فعال بودن گواهی نامه را مشخص می کند. در این دستور عدد 365 نشان می دهد که این گواهی برای مدت یک سال معتبر است. یک کلید RSA خصوصی 2048 بیتی مشابه در دستور هم داریم. پس از درخواست، اطلاعات مربوط را در قسمت های ارائه شده وارد کنید.

بعد از اتمام مراحل ایجاد گواهی، فایل پیکربندی را دوباره باز کنید:

sudo nano /etc/vsftpd.conf
انتهای فایل باید حاوی دو خط باشد که با “_rsa” شروع می شوند. مثل:
# rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
در ادامه خطوط زیر را اضافه کنید:
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
حالا گواهی نامه  SSL را فعال کنید. مقدار ssl_enable را به YES تغییر دهید:
ssl_enable=YES
می توانید خطوط زیر را برای امنیت بیشتر اضافه کنید:
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
برا پیکربندی سرور جهت استفاده از TLS می توان دستور زیر را وارد کرد:
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
در اینجا دو نکته وجود دارد. اولا استفاده مجدد از  SSL ضروری نیست، زیرا می تواند منجر به بروز مشکل برای کاربران FTP شود. ثانيا، می توان از سوئيچ های رمزنگاری بالا استفاده کرد.
require_ssl_reuse=NO
ssl_ciphers=HIGH
سرویس را مجددا راه اندازی کنید تا تغییرات اعمال شوند:
sudo systemctl restart vsftpd
تنظیم ftp سرور و پیکربندی موارد امنیتی تمام شد! با این حرکت گامی در جهت افزاش امنیت برداشتید.

تست کانکشت از طریق FileZilla

امروزه اکثر کاربران FTP از تنظیمات رمزگذاری TLS بهره می گیرند، بنابراین یک روش عالی برای بررسی این است که آیا سرور FTP به درستی کار می کند یا نه. برای بررسی اتصال، می توان از FileZilla استفاده کرد. برای شروع، FileZilla را راه اندازی کنید، روی آیکون  Site Manager کلیک کنید.

راه اندازی FTP سروردر پنجره نمایش داده شده روی دکمه New Site کلیک کنید.

راه اندازی FTP سرورتمام اطلاعات مورد نیاز را در فیلدها وارد کنید. از آنجایی که TLS را برای سرور پیکربندی کردیم، در تنظیمات باید encryption to be explicit FTP over TLSرا انتخاب کنیم. پیکربندی نهایی باید مطابق تصویر زیر باشد:

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

راه اندازی FTP سرور

در نهایت، باید گواهی SSL سرور FTP خود را تأیید کنید.

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

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

جمع بندی نهایی

برای تنظیم ftp سرور و پیکربندی های مربوطه باید 5 گام را طی کرد تا انتقال فایل ها با امنیت بیشتری صورت گیرد.

  1. در مرحله اول به نصب  Vsftpd می پردازیم.
  2. در گام بعدی به پیکربندی های FTP و فایروال می پردازیم.
  3. یوزری را باید تعریف کرد و مجوزهای دلخواه را به آن اعطا کرد.
  4. برای کارایی بهتر Vsftpd را پیکربندی می کنیم.
  5. در نهایت اتصال خود را از طریق فایل زیلا چک می کنیم.

موفق باشید. 🙂