پاسخ : آموزش راه اندازی ftp سرور به همراه virtual user

ساخت وبلاگ
اموزش راه اندازی ftp سرور به همراه virtual user  بر رویه دبیان برایه اوبونتو هم کار مب کند.

                   
در این اموزش از vsftpd استفاده میکنیم . ftp سرور هایه دیگری هم هسمن مثل proftpd                   
از این ادرس لیست کامل ftp سرور ها در دست رس هستش                   
http://en.wikipedia.org/wiki/List_of_FTP_server_software                   
نصب                   
                   
برایه نصب  دستور زیر را بزنین                 

apt-get install vsftpd                   
بعد از نصب تمام تنظیمات داخل فایل /etc/vsfftpd انجام میشود .                   
تنظیمات                   
کلا تمام تنظیمات vsftpd به 3 صوزت انجام میشود                   
1= YES | NO                   
2= ادرس فایل  (در مواردی مثل قرار دادن فایل تنظیمات جدا برایه هر کاربر )                   
3= عددد (در مواردی مثل گذاشتن محدودیت سرعت )                   
                 
برایه شروع این طور سناریو یی رو در نظر می گیریم :                   
یک ftp سرور راه اندازی کنیم که به کاربر هایه local (یعنی کاربر هایه سیستم. همون کاربرهایی که تویه ادرس /etc/passwd قرار دارن ) اجازه ftp زدن بدهد و انهارو به home directory شون محدود کند و همچنین محدودیت سرعت 2 مگابایت بر ثانیه داشته باشد.                   
 
         
برایه شروع فایل تنظیمات (/etc/vsftp.conf) رو با یک ویرایشگر متن باز کنین . این تنظیمات رو توش اعمال کنین                   
به صورت پیش فرض در vsftpd به کاربرهایه anonymous اجازه ورود داده میشود. کاربر هایه  anonymous  کاربرهایی هستن که بدون نام کاربری و پسورد میتونن وارد ftp شوند.برایه جلوگبری از ورودشون این خط رو پیدا کنین و مقدارشو به NO تغییر دهید                   
anonymous_enable=NO                   
توضیح اپشن هایه دیگری که برایه سناریو بالا لازم داریم                   
local_enable=YES                   
به کاربر هایه local (در بالا توضیح داده شد ) اجازه ورود میدهد. به صورت پیش فرض تو فاایل تنظیمات هستش فقط مربع اولشو بردارین
                 
hroot_local_user=YES                   
کاربر ها رو به home دایرکتوریشون محدود میکند . به صورت پیش فرض تو فاایل تنظیمات هستش فقط مربع اولشو بردارین. اگر هم می خاهید که فقط گروه خاصی از کاربر هارو chroot کنین از اپشن زیر استفاده کنین . اول اپشنشو فعال کنین وبعد  ادرس فایلی که اسامی کاربر هایی که باید  chroot شوند روبهش بدید .                   
chroot_list_enable=YES                   
chroot_list_file=/etc/vsftpd.chroot_list                 
local_max_rate=2 097 152                   
از طریق این اپشن محدودیت سرعت اعمال میکنیم . که مقدار عدد بر اساس بایت هستش که برایه 2 مگابایت 2 097 152 می شود . به صورت پیش فرض نیستش اول فایل کانفیگ اضافش کنین .
                 
                 
listen=YESنفهمیدم برایه چی هستش . به صورت پیش فرض تو فاایل تنظیمات هستش فقط مربع اولشو بردارین.
                   
write_enable=YESبه کاربر ها اجازه نوشتن میدهد . اگر نزاریمش نمیتونن فایل اپبود کنن . به صورت پیش فرض تو فاایل تنظیمات هستش فقط مربع اولشو بردارین.                   
 
بقیه تنظیمات لازم هم به صورت پبش فرض تو خودش فعال هست.
           
بعد از اعمال تنظیمات بالا با دستور زیر سرویس رو رستارت کنین و بعد تست کنین .
service vsftpd restart           
حالا تستش کنین :
برایه تست پیشنهاد من استفاده از fireftp یا filezilla هستش  . fireftp که رویه فایر فاکس نصب میشود . و filezilla هم تو مخازن هستش که با دستور زیر نصب میشه .
apt-get install filezilla
           
با دستور ftp هم میشه تست کرد که دستور به شکل زیر هستش
ftp IP-ADDRES           
           
راه اندازی https         
         
اول اپشن هایه لازم رو در فایل کانفیگ فعال کنید           
ssl_enable=YES         
امکان https رو فعال میکند         
         
force_local_data_ssl=YES         
تمامی کاربر هایه local رو مجبور به استفاده از https میکند.         
         
force_local_logins_ssl=YES         
تمام login هایه کاربر هایه local به صورت https انجام میشود.پسورد به صورت encrypt ردوبدل می شود.         
         
         
# Permit TLS v1 protocol connections. TLS v1 connections are preferred         
ssl_tlsv1=YES         
# Permit SSL v2 protocol connections. TLS v1 connections are preferred         
ssl_sslv2=NO         
# permit SSL v3 protocol connections. TLS v1 connections are preferred         
ssl_sslv3=NO
         
در بالا فقط tlsv1 رو اجازه دادیم . tls بسترین امنیت رو دارد         
         
rsa_cert_file=/etc/vsftpd/vsftpd.pem         
ادرس فایل key رو تعیین میکنیم . به صورت پیش فرض تو فایل کانفیگ هست .برایه ساخت فایل کی وارد /etc/vsftpd شوید و دستور زیر رو بزنین           
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem         
         
         
  تست         
نکته : برایه تست از هر نرم افزاری استفاده میکنین گذینه رو رویه tsl قرار بدین .         
برایه تست ار fireftp میشه استفاده کرد ولی بعضی اوقات یا همیشه درست کار نمیکنه . پیشنهاد من filezilla هستش .         
برایه ترمینال هم از دستور زیر استفاده کنین         
ftp-ssl 192.168.113.22         
       
       
       
       
virtual user       
     
چه زمانی از vitual user استفاده میکنیم :     
زمانی که تعداد کاربر ها زیاد باشن که مشکلاتی مثل جلو گیری از اتصال ssh از این کاربر ها ، یا حتی اگر هم تعدادشون کم باشه چون ردو بدل شدن پسورد با امنیت کمتری انجام میشه و ممکن پسورد ssh رو لو دهد از این امکان استفاده میکنیم . با موارد دیگر ...     
     
کلیت کار این هستش که یک فایل ایجاد میکنیم . نام کاربری و پسورد هارو تو این ذخیره می کنیم . و یک تغییر کوچک در فایلی که مسعول اهراض هویت هستش ایجاد میکنیم .     
     
شروع کار     
اول اپشن هایه مورد نیاز رو در vsftpd فعال میکنیم . از اپشن ها هرکدوم تو خود فایل کانفیگ نبود اول فایل خودتون اضافه کنین     
guest_enable=YES     
باعث میشه تا تمام کاربر هایه anonymous  به صورت guest شناخته شوند .     
     
     
guest_useame=virtualftp     
This setting is the real useame which guest users are mapped to     
     
virtual_use_local_privs=YES     
با این اپشن میگیم که کاربر هایه مجازی از امتیازات کاربر هایه local میتونن بهره ببرن.     
     
local_root=/var/www/ftp/$USER     
ادرس فایلی که کاربرهایه وجازی رو به اون جا chroot می کنیم       
نکته : $USER به معنی نام کاربری هستش . پس هر کاربر مجازی به صورت اوتومات به ادرس بالا و دایرکتوری که هم نام با نام کاربریش هست chroot میشود. این رو هم برایه اپشن بالا اضافه کنید .user_sub_token=$USER     
     
     
chroot_list_enable=YES     
برایه لیست کاربر هایی که chroot باید شوند . که با اپشن زیر ادرسشو میدیم . در هر خط یک نام کاربری بنویسین.     
chroot_list_file=/etc/vsftpd/chroot_list     
     
     
pam_service_name=vsftpd     
برایه تعیین محل فایل اهراض هویت.     
     
     
local_enable=NO     
جلوگیرب از ورود کاربر هایه local     
     
anonymous_enable=YES     
     
جلو گبری از کاربر هایه anonymous     
بقیه اوشن ها به صورت پیش فرض توش هست .     
     
حالا کاربر virtualftp رو بسازین.     
useradd virtualftp     
     
سپس نام کاربر هایی که chroot می شوند رو در ادرس زیر بزارین     
etc/vsftpd/chroot_list     
     
سپس فایل   etc/vsftpd_user_conf/lili رو بسازیرن و این هارو توش بزارین با فرض این که اسم کاربر مجازیتون lili باشه     
write_enable=YES   
chroot_local_user=YES   
local_root=/var/www/ftp/$USER   
user_sub_token=$USER
 
سپس فایل /etc/pam.d/vsftpd  رو باز کنید و هرچی توش هست رو پاک کنید و اینارو بزارین     
auth    required pam_pwdfile.so pwdfile /etc/vsftpd/passwd     
account required pam_permit.so
     
   
   
حالا فایل هایه نام کاربری رو می سازیم   
htpasswd -c /etc/vsftpd/passwd  lili فایل /var/www/ftp رو بسازین و داخل اون فایل هایه کاربر هارو هم بسازین 
نکته : پرمیشن فایل کاربر هایه مجازی رو 661 بزارین 
حالا سرویس رو رستارت کنید و تست کنید .   
 
 
صفحه تمام تنظیمات
vsftpd : http://vsftpd.beasts.org/vsftpd_conf.html 
منابع :
http://vsftpd.beasts.org/vsftpd_conf.html
http://www.cyberciti.biz/tips/configure-vsfptd-secure-connections-via-ssl-tls.html
http://www.linuxquestions.org/questions/showthread.php?p=4601583#post4601583

منبع کپی برداری:
fsforums.ir

اوبونتو...
ما را در سایت اوبونتو دنبال می کنید

برچسب : نویسنده : استخدام کار ubuntu بازدید : 146 تاريخ : دوشنبه 10 خرداد 1395 ساعت: 8:39