نحوه رمزنگاری پوشه های هاست در Nginx

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

نحوه رمزنگاری پوشه های هاست در Nginx

نحوه رمزنگاری پوشه های هاست در Nginx

رمزنگاری پوشه ها در سرور Nginx

اکثر مدیر های وب سایت ها و سرور ها جهت برقراری امنیت هر چه زیـادتر اسکریپت یا سیستم مدیریت محتوای خود ، اقدام به گذاشتن رمز روی دایرکتوری های حساس و ویـژه میکنند . برای مثال مدیران انجمن های مبتنی بر ویبولتین روی پوشه admincp رمز میگذارند. اغلب معـمولاً اشخاصـی که نیاز به گذاشتن رمز روی پوشه و دایرکتوری های ویـژه دارند ، از ابزار مدیریـت پنل های مشهـور هاستینگ مثل cPanel یا Directadmin بهره گیری می کند و اطلاعی از اینکه این رمز چطور روی فولدر های هاست قرار میگیرد ندارند.

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

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

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

location / {
auth_basic “Restricted”;
auth_basic_user_file htpasswd;
}

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

 

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 بهره گیری کردید برای پیدا کردن بلاک های مرتبط به هر دامنه و یوزر ، به فایل پایین رجوع نمایید . همـه یوزر ها با آدرس دقیق در این فایل لیست شده اند :

/etc/nginx/directadmin-vhosts.conf

 

همان گونه که مشاهده نمودید نحوه رمزنگاری پوشه های هاست در Nginx  کار ساده ای است  و با کمی دقت و حوصله به آسانـی خواهید توانست روی همه پوشه ها و دایرکتوری های یک سایت و یا هاست  ، به کمک وب سرور Nginx رمز گذاشت . این یک فرمت خیلی کامل از این آموزش بود و در حالت های پیچیده تر خواهید توانست در هر پوشه یا پوشه های تو در تو در انجین اکس رمز گذاری نمایید.

خب دوستان به پایان آموزش نحوه رمزنگاری پوشه های هاست در Nginx رسیدیم . از توجه و همراهی شما صمیمانه سپاسگزاریم .

شاد و موفق باشید .