اطلاعیه

بستن
No announcement yet.

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

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

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

    بسیاری از مدیران وب سایت ها و سرور ها برای امن سازی هر چه بیشتر اسکریپت یا سیستم مدیریت محتوای خود ، اقدام به گذاشتن رمز روی دایرکتوری های حساس و خاص میکنند . برای مثال مدیران انجمن های مبتنی بر ویبولتین روی پوشه admincp رمز میگذارند … معمولا اغلب افرادی که نیاز به گذاشتن رمز روی پوشه و دایرکتوری های خاص دارند ، از ابزار کنترل پنل های معروف هاستینگ مانند cPanel یا Directadmin استفاده میکند و اطلاعی از اینکه این رمز چگونه روی فولدر های هاست قرار میگیرد ندارند.
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	nginx-directory-password.png نمایش ها:	1 اندازه:	25.3 KB شناسه:	18638

    گذاشتن کلمه عبور روی دایرکتوری های یک سایت ، هاست یا سرور وظیفه وب سرور است و کنترل پنل وب هاستینگ در این میان تنها نقش یک واسط گرافیکی و کاربر پسند را بازی میکند . مادامی که از وب سرور آپاچی در سرورتان استفاده میکنید مشکلی از این بابت نیست و تمام کنترل پنل های معروف ابزاری برای گذاشتن رمز و کلمه عبور برای وب سرور آپاچی در اختیار شما قرار میدهند . این روز ها آمار استفاده از nginx به عنوان وب سرور اصلی و نه پلاگین Reverse رو به افزایش است . با توجه به اینکه تقریبا هنوز هیچ کنترل پنلی به طور ۱۰۰٪ و بدون مشکل از وب سرور Nginx پشتیبانی نمیکند ، ضرورت آموزش نحوه رمز گذاشتن روی یک پوشه و فولدر در سرور های مبتنی بر Nginx کاملا به چشم می آید . به خصوص مدیران چت روم های مبتنی بر اسکریپت ET-Chat که به دلیل ضعف های امنیتی بی شمار این اسکریپت همیشه ملزم به گذاشتن پسوورد روی پوشه های ادمین چت روم هستند بیش از سایرین نیاز به آموزش این موضوع دارند . در ادامه مطلب به آموزش نحوه کامل گذاشتن رمز و پسورد روی پوشه ها و فولدر های هاست در وب سرور Nginx یا سرور های مبتنی بر انجین اکس میپردازیم .

    وظیفه محافظت و رمز گذاشتن روی پوشه ها و فولدر ها در وب سرور Nginx به عهده ماژول HttpAuthBasicModule می باشد . ماژول HttpAuthBasicModule جزو ماژول های غیر Optional هست و در نصب وب سرور Nginx با تمام روش ها به صورت پیش فرض وجود دارد . نحوه استفاده و کار با آن نیز بسیار ساده است .

    نحوه استفاده از ماژول HttpAuthBasicModule برای محافظت از پوشه ها و فولدر ها و رمزگذاری روی آن ها بسیار ساده است و کافی است این قسمت را به سرور بلاک دامنه مورد نظر در فایل کانفیگ nginx وارد کنید :

    کد PHP:
    location / {
    auth_basic “Restricted”;
    auth_basic_user_file htpasswd;

    میتوانید این قسمت را بعد از معرفی فایل index سایت و یا بعد از خط معرفی مسیر root اون دامنه در بلاک یا vhost مربوط به دامنه مود نظر در فایل کانفیگ nginx اضافه کنید . فراموش نکنید با توجه به دستورات فوق ، باید فایلی به نام htpasswd (انتخاب نام فایل اختیاری است)* در مسیری که در بلاک مورد نظر مشخص میکنید ایجاد نمایید . برای مثال اگر به این صورت وارد کنیم :

    کد PHP:
    server {
    server_name compiler.ir;
    listen 217.23.6.90;
    root /home/compiler/public_html;
    index index.html index.htm index.php;
    location / {
    auth_basic “Restricted”;
    auth_basic_user_file /home/compiler/htpasswd;

    باید یک فایل با نام htpasswd در مسیر /home/compiler/ ایجاد کنیم و به کمک ابزار های استخراج کننده یوزر و پسورد با encryption نوع md5 کلمه عبور خود را ایجاد کنیم .

    با اعمال تغییرات فوق و ریستارت کردن وب سرور Nginx با هر بار فراخوانی دامنه compiler.ir باید نام کاربری و کلمه عبور خود را وارد کنید و در غیر این صورت امکان دسترسی شما به صفحه اصلی سایت وجود نخواهد داشت . کلمه عبور هم همانطور که گفته شد به صورت Encrypt شده در مسیر /home/compiler و در فایل htpasswd نگهداری میشود و هر بار که به آن نیاز باشد به وسیله وب سرور از همین مسیر هم خوانده میشود . برای Encrypt کردن و تولید یوزر و پسورد های مورد نظر و خوانا برای Nginx میتوانید از وب سایت زیر استفاده کنید :

    http://aspirine.org/htpasswd_en.html

    پیدا کردن فایل کانفیگ vhost ها در وب سرور nginx کار سختی نیست . اگر بدون کنترل پنل هاستینگ کار میکنید ، در توزیع CentOS به صورت پیش فرض کلیه بلاک ها در همان فایل /etc/nginx/nginx.conf و در کنار تنظیمات عمومی نگهداری میشوند .

    اگر از توزیع هایی مانند Ubuntu یا Debian استفاده میکنید ، معمولا اطلاعات بلاک ها در فایل های جداگانه و خارج از nginx.conf نگهداری میشوند . /etc/nginx/sites-available مسیری است که میبایست در آن فایل کانفیگ بلاک nginx مورد نظر را پیدا کنید .

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

    کد PHP:
    /etc/nginx/directadmin-vhosts.conf 
    همانطور که ملاحظه کردید کار سختی نیست و با کمی دقت و حوصله به راحتی میتوانید روی تمامی پوشه ها و دایرکتوری های یک سایت و یا هاست ، به کمک وب سرور Nginx رمز گذاشت . این یک فرمت بسیار کلی از این آموزش بود و در حالت های پیچیده تر میتوانید در هر پوشه یا پوشه های تو در تو در انجین اکس رمز گذاری کنید .


    نویسنده Babak Ajideh
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-13-2020, 03:12 AM.

    #2
    من قبلا این اموزش رو خوندم متاسفانه مبهمه نتونستم انجام بدم لطفا یکی رسا و شیوا بگه زیادی کش نده اگه ممکنه تصویری باشه تا راحت انجام بدیم من الان گیر این کارم

    کامنت


      #3
      سلام کسی نیست یه اموزش ویدیوی یا تصویری در این باره بزاره؟؟؟

      کامنت


        #4
        این آموزش رو مطالعه کنید : http://linux-zone.org/forums/thread2398.html

        کامنت

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

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

        شبکه های اجتماعی

        ایمیل مدیریت

        Habili@linux-zone.org

        در حال انجام ...
        X