اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

امنیت ارتباطات ProFTPD از طریق پروتکل TSL/SSL بررروی RHEL/CentOS 7

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    امنیت ارتباطات ProFTPD از طریق پروتکل TSL/SSL بررروی RHEL/CentOS 7

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


    پیش نیاز ها
    • نصب سرور ProFTPD برروی RHEL/Centos 7
    • فعال کردن اکانت ناشناس برروی ProFTPD در RHEL/Centos 7


    این راهنما در مورد نحوه ی امنیت ارتباطات FTP بروی سرور ProFTPD در RHEL/Centos، با استفاده از TLS(Transport Layer Security) با گسترش FTPS بحث می کند.


    همچنین توصیه میشود مطالعه کنید :

    نصب سرور ProFTPD برروی RHEL/CentOS 7



    گام اول : ایجاد ماژول TLS در فایل پیکر بندی ProFTPD

    1. همانطور که در راهنمای Proftpd مربوط به اکانت ناشناس بحث شد، این راهنما نیز همان روش را در فایل پیکربندی proftpd برای ماژول ها در نظر می گیرد.

    با کمک دایرکتوری enabled_mod و disabled_mod که قابلیت های توسعه یافته ی سرور را فراهم می کند.

    بنابراین یک فایل با ادیتور مورد علاقه تون به نام tls.conf در مسیر disabled_mod ایجاد کنید و دستورات زیر را در آن اضافه کنید.
    کد:
    # nano /etc/proftpd/disabled_mod/tls.conf

    در فایل پیکربندی tls دستورات زیر را وارد کنید.
    کد:
    <IfModule mod_tls.c>
    TLSEngine                               on
    TLSLog                                  /var/log/proftpd/tls.log
    TLSProtocol                             SSLv23
     
    TLSRSACertificateFile                   /etc/ssl/certs/proftpd.crt
    TLSRSACertificateKeyFile                /etc/ssl/private/proftpd.key
     
    #TLSCACertificateFile                                     /etc/ssl/certs/CA.pem
    TLSOptions                      NoCertRequest EnableDiags NoSessionReuseRequired
    TLSVerifyClient                         off
    TLSRequired                             on
    TLSRenegotiate                          required on
    </IfModule>
    Click image for larger version  Name:	1.png Views:	1 Size:	63.5 KB ID:	19610

    2. اگرشما از مرورگر یا ftp کلاینتی که برقراری ارتباط TSL را ساپورت نکند استفاده می کنید، توضیحی در مورد TSLRequired on را به منظور عدم پشتیبانی TSL در پیغام خطایی همچون تصویر زیر برای شما ظاهر خواهد شد.
    Click image for larger version  Name:	2.jpg Views:	1 Size:	24.4 KB ID:	19611



    گام دوم : ایجاد فایل های SSL Certificate برای TLS

    3. پس از اینکه شما فایل پیکربندی ماژول TLS را ایجاد کردید، که FTP روی TLS در Proftpd را فعال خواهد کرد، شما نیاز دارید SSL Certificate و Key را به منظور برقراری امنیت با استفاده از پکیج Openssl ایجاد کنید.
    کد:
    # yum install openssl
    .

    شما می توانید از یک خط طولانی دستور برای ایحاد SSL Certificate و Key استفاده کنید اما برای درک بهتر می توانید از اسکریپت bash برای که SSL Certificate و Key را ایجاد خواهد کرد، استفاده کنید.

    یک فایل بش به نام proftpd_gen_ssl در مسیر /usr/local/bin/ ایجاد کنید، و آنرا اجرایی کنید.
    کد:
    # nano /usr/local/bin/proftpd_gen_ssl

    دستورات زیر را درآن اضافه کنید.
    کد:
    #!/bin/bash
    echo -e "\nPlease enter a name for your SSL Certificate and Key pairs:"
    read name
     openssl req -x509 -newkey rsa:1024 \
              -keyout /etc/ssl/private/$name.key -out /etc/ssl/certs/$name.crt \
              -nodes -days 365\
     
     chmod 0600 /etc/ssl/private/$name.key
    Click image for larger version  Name:	3.jpg Views:	1 Size:	22.9 KB ID:	19612

    4. پس از اینکه شما فایل بالا را ایجادکردید، پرمیشن های اجرایی را به آن اضافه کنید، اطمینان حاصل کنید که دایرکتوری /etc/ssl/private وجود دارد، و اسکریپت را برای ایجاد ssl certificate و key اجرا کنید.
    کد:
    # chmod +x /usr/local/bin/proftpd_gen_ssl
    # mkdir -p /etc/ssl/private
    # proftpd_gen_ssl
    Click image for larger version  Name:	4.jpg Views:	1 Size:	70.4 KB ID:	19613



    گام سوم : فعال کردن TLS برروی سرور ProFTPD

    5. به عنوان فایل پیکربندی TLS که قبلا برای تولید ssl certificate و key ایجاد کردید، تنها چیزی که باقیمانده است فعال کردن ماژول TLS توسط ایجاد لینک سیمبولیک برای فایل tls.conf به دایرکتوری enabled_mod است و سپس سرویس ProFTPd را ریستارت کنید.
    کد:
    # ln -s /etc/proftpd/disabled_mod/tls.conf  /etc/proftpd/enabled_mod/
    # systemctl restart proftpd
    Click image for larger version  Name:	5.jpg Views:	1 Size:	13.5 KB ID:	19614

    6.برای غیرفعال کردن ماژول TLS تنها کافی است لینک tls.conf را از دایرکتوری enabled_mod و سرور proftpd را برای اعمال تغییرات ریستارت کنید.
    کد:
    # rm /etc/proftpd/enabled_mod/tls.conf
    # systemctl restart proftpd


    گام چهارم : فایروال را برای اجازه دادن FTP به ارتباطات TLS باز کنید.

    7. برای دسترسی کلاینت ها به proftpd و امنیت انتقال فایل ها در مد پسیو، شما باید رنج پورت های بین 1024 تا 65534 را برروی فایروال RHEL/Centos با استفاده از دستور زیر باز کنید.
    کد:
    # firewall-cmd --add-port=1024-65534/tcp  
    # firewall-cmd --add-port=1024-65534/tcp --permanent
    # firewall-cmd --list-ports
    # firewall-cmd --list-services
    # firewall-cmd --reload
    Click image for larger version  Name:	6.jpg Views:	1 Size:	28.1 KB ID:	19615

    اکنون سیستم شما آمادگی دریافت ارتباطات FTP برروی TLS به صورت امن را دارد.



    گام 5 : دسترسی به ProFTPD تحت TLS از کلاینت ها

    8. مرورگرهای وب معمولا هیچ پشتیبانی برای TLS بای FTP ندارند، بنابراین تمامی تراکنش ها به صورت رمگذاری نشده ارسال خواهد شد، یکی از بهترین کلاینت های FTP ،FileZilla می باشد که متن باز بوده و می تواند در اغلب سیستم عامل ها اجرا شود.

    برای دسترسی FTPتحت TLS از Filezilla،Site Manager را باز کنید، در قسمت Protocol ،FTP را و در قسمت encryption گزینه ی Require explicit FTP over TLS را انخاب کنید، Logon Type رابه صورت Normal انتخاب کرده و اکانت تان را وارد کرده و Connect را برای برقراری ارتباط با سرور بزنید.
    Click image for larger version  Name:	7.jpg Views:	1 Size:	64.9 KB ID:	19616

    9. اگر اولین باری است که شما به سرور کانکت می شوید، یک پیام همچون تصویر زیر برای شما ظاهر خواهد شد، گزینه ی Always trust certificate for future sessions را تیک بزنید و برروی OK برای پذیرفتن certificate کلیک کنید.
    Click image for larger version  Name:	8.jpg Views:	1 Size:	59.8 KB ID:	19617

    Click image for larger version  Name:	9.jpg Views:	1 Size:	63.5 KB ID:	19618
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-08-2021, 06:39 PM.
    اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforum

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X