با سلام خدمت دوستان . در این مقاله ، قصد آموزش نصب و راه اندازی FTP Server و همچنین ایمن سازی آن را بر روی توزیع دبیان داریم . راه اندازی FTP Server شاید ساده باشد اما باید توجه کرد که اتصالی که توسط پروتکل FTP با مقصد ( سرور ) برقرار می شود ، فاقد هیچ گونه رمزنگاری است . یعنی در فاصله ای که پکت از سیستم شما تا سرور طی می کند ، احتمال دیده شدن نام کاربری و رمز عبور اکانت FTP وجود دارد . همچنین دیگر فایل ها و اسناد تبادل شده نیز قابل شنود و دریافت توسط شخص سوم شخص می باشد . این موضوع زمانی خود را نشان می دهد که FTP Server را جهت بک آپ گرفتن از فایل های شخصی خود بر روی سرور راه انداخته باشید و یا به بیان دیگر ، سرور شما ، یک سرور پابلیک و عمومی نباشد .
نصب و کانفیگ ابتدایی :
۱. جهت نصب ابتدا پکیچ proftpd را از داخل مخازن توزیع دانلود و نصب می کنیم . برای این منظور :
OSLearn.ir ~ # apt-get install proftpd
در هنگام نصب به قسمتی مشابه با تصویر زیر برخورد می کنید که می بایست گزینه standalone را انتخاب و بر روی Ok کلیک کرد .
۲. مراحل نصب تمام شد . حال سرویس proftpd را غیر فعال می کنیم تا به کانفیگ این سرویس بپردازیم . برای این منظور :
OSLearn.ir ~ # /etc/init.d/proftpd stop
۳. پیشنهاد می شود جهت امنیت بیش تر یک یوزر مجزا و مخصوص FTP ساخته و از طریق آن یوزر به سرور متصل شوید . جهت ساخت یوزر جدید ابتدا یک گروه با نامی دلخواه ایجاد می کنیم . برای این منظور :
OSLearn.ir ~ # addgroup ftpgroup
۴. حال کافیست یوزر خود را به شکل زیر ایجاد کنیم . توجه داشته باشید که من آدرس var/www/ را برای یوزر در نظر گرفتم چرا که فایل های مربوط به web server معمولا در این دایرکتوری ذخیره می شوند . شما می توانید متناسب با کانفیگ سرور خود ، این مسیر را تغییر دهید .
OSLearn.ir ~ # adduser ftp-user -shell /bin/false -home /var/www/
۵. بعد از ساخت یوزر و گروه ، حال یوزر ساخته شده را عضو گروه می کنیم . برای این منظور :
OSLearn.ir ~ # adduser ftp-user ftpgroup
۶. دسترسی یوزری که ایجاد کردیم ، متناسب با پرمیشن دایرکتوری ای که برای یوزر در نظر گرفته ایم می باشد . ما در مراحل قبل دایرکتوری var/www/ را برای یوزر ftp-user در نظر گرفتیم . حال یوزر ftp-user متناسب با پرمیشنی که بر روی دایرکتوری تنظیم شده است ، سطح دسترسی میگیرد .
۷. حال باید تغییراتی را در فایل کانفیگ سرویس ایجاد کرد . برای این منظور فایل کانفیگ سرویس را با یک ویرایشگر باز می کنیم :
OSLearn.ir ~ # nano /etc/proftpd/proftpd.conf
۸. ما در این آموزش از آی پی ورژن ۶ استفاده نمی کنیم . لذا فعال بودن سرویس بر روی آی پی ورژن ۶ را غیر فعال می کنیم . برای این منظور عبارت UseIPv6 را جست و جو کرده و مقدار جلوی آن را off قرار می دهیم .
۹. به منظور امنیت بیشتر ، مقادیر زیر را به فایل کانفیگ اضافه می کنیم . ( در قسمت اول دسترسی اتصال به FTP Server از طریق یوزر روت را مسدود کرده و در قسمت دوم دسترسی تمامی گروه ها به غیر از گروهی که ایجاد کردیم ، یعنی گروه ftpgroup را غیر فعال می کنیم . )
<Global> RootLogin off RequireValidShell off </Global> DefaultRoot ~ <Limit LOGIN> DenyGroup !ftpgroup </Limit>
۱۰. کانفیگ اولیه تمام شد . حال فایل کانفیگ را ذخیره می کنیم و در نهایت سرویس proftpd را راه اندازی می کنیم . برای این منظور :
OSLearn.ir ~ # /etc/init.d/proftpd start
نکته : جهت اتصال می توان از ابزار هایی مثال FileZilla و … استفاده کرد .
نکته : همان طور که در ابتدا گفته شد ، به صورت پیش فرض ، اتصال به سرور بدون هیچ رمزنگاری ای صورت میگیرد . یعنی می توان یوزر و پسورد را در داخل وایرشارک در بین راه مشاهده کرد .
ایمن سازی :
۱. اگر FTP Server عمومی و یا پابلیک نمی باشد ، می توان پورت پیش فرض را از ۲۱ به پورتی دلخواه تغییر داد . برای این منظور فایل کانفیگ سرویس را باز کرده و به دنبال عبارت Port می گردیم و مقدار پیش فرض را از ۲۱ به مقداری دلخواه تغییر می دهیم .
Port 2121
۲. به صورت پیش فرض ورژن سرویس در داخل اسکنر هایی همانند nmap نمایش داده می شود . جهت مخفی کردن ورژن سرویس فایل کانفیگ را باز کرده و در پایین عبارت ServerName ، عبارت زیر را اضافه می کنیم :
ServerIdent off
۳. به صورت پیش فرض نامی به عنوان ServerName برای سرویس در نظر گرفته شده است . بهتر است که این مقدار را از حالت پیش فرض خارج کرده . برای این منظور در داخل فایل کانفیگ به دنبال عبارت ServerName گشته و مقدار جلوی آن را به عبارتی دلخواه تغییر دهید .
ServerName "OSLearn FTP Server"
۴. بالاتر گفتیم که سرویس FTP به صورت پیش فرض از رمزنگاری استفاده نمی کند . برای فعال کردن رمزنگاری ابتدا در داخل فایل کانفیگ به دنبال عبارت Include /etc/proftpd/tls.conf گشته و # قبل از آن را پاک کنید و در نهایت فایل کانفیگ را ذخیره کنید .
۵. حال از فایل etc/proftpd/tls.conf/ یک کپی تهیه کرده و فایل tls.conf شخصی سازی شده خود را ایجاد می کنیم . برای این منظور :
OSLearn.ir ~ # mv /etc/proftpd/tls.conf /etc/proftpd/tls.conf_BackUP OSLearn.ir ~ # nano /etc/proftpd/tls.conf
۶. در مرحله بعد عبارات زیر را داخل فایل tls.conf می ریزیم . توجه داشته باشید که خطوط ۶ و ۷ به کلید رمزنگاری ما اشاره می کند که در ادامه آن ها را ایجاد می کنیم .
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSOptions NoCertRequest TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem TLSVerifyClient off TLSRequired on </IfModule>
۷. حال همان طور که در بالا گفته شد ، باید اقدام به ساخت کلید رمزنگاری کرد . برای این منظور ابتدا یک دایرکتوری با نام ssl در دایرکتوری سرویس FTP ایجاد کرده و در نهایت کلید خود را می سازیم . برای این منظور :
OSLearn.ir ~ # mkdir /etc/proftpd/ssl/ OSLearn.ir ~ # openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
۸. جهت امنیت بیش تر ، پرمیشن فایل proftpd.key.pem را به ۰۴۴۰ تغییر می دهیم تا تنها فایل قابل خواندن برای سازنده و گروه سازنده فایل باشد . توجه داشته باشید که در پرمین ۰۴۴۰ ، گروه Other هیچ دسترسی ای ، حتی خواندن هم ندارد .
OSLearn.ir ~ # chmod 0440 /etc/proftpd/ssl/proftpd.key.pem
۹. تمام ! حال کافیست یک بار سرویس FTP را ، راه اندازی مجدد کنیم . برای این منظور :
OSLearn.ir ~ # /etc/init.d/proftpd restart
۱۰. همان طور که قبلا گفته شد ، جهت اتصال به سرور می توان از برنامه هایی نظیر FileZilla استفاده کرد .
تست شده بر روی Debian 8.1 Netinstall و Debian 8.4 Netinstall
منبع : او اس لرن دات آی آر | http://OSLearn.ir
نویسنده : E2MA3N
مطلب اضافه ، سوال و بحث پیرامون این ارسال دارید ؟ لطفا آن را در انجمن سایت مطرح کنید .
از این مطلب راضی هستید ؟ می خواهید به سایت کمک کنید ؟ رضایت خودتون رو با دونیت به ما اعلام کنید . برای دونیت روی خرید کلیک کنید . با تشکر