بسیاری از مدیران وب سایت ها و سرور ها برای امن سازی هر چه بیشتر اسکریپت یا سیستم مدیریت محتوای خود ، اقدام به گذاشتن رمز روی دایرکتوری های حساس و خاص میکنند . برای مثال مدیران انجمن های مبتنی بر ویبولتین روی پوشه admincp رمز میگذارند … معمولا اغلب افرادی که نیاز به گذاشتن رمز روی پوشه و دایرکتوری های خاص دارند ، از ابزار کنترل پنل های معروف هاستینگ مانند cPanel یا Directadmin استفاده میکند و اطلاعی از اینکه این رمز چگونه روی فولدر های هاست قرار میگیرد ندارند.
گذاشتن کلمه عبور روی دایرکتوری های یک سایت ، هاست یا سرور وظیفه وب سرور است و کنترل پنل وب هاستینگ در این میان تنها نقش یک واسط گرافیکی و کاربر پسند را بازی میکند . مادامی که از وب سرور آپاچی در سرورتان استفاده میکنید مشکلی از این بابت نیست و تمام کنترل پنل های معروف ابزاری برای گذاشتن رمز و کلمه عبور برای وب سرور آپاچی در اختیار شما قرار میدهند . این روز ها آمار استفاده از nginx به عنوان وب سرور اصلی و نه پلاگین Reverse رو به افزایش است . با توجه به اینکه تقریبا هنوز هیچ کنترل پنلی به طور ۱۰۰٪ و بدون مشکل از وب سرور Nginx پشتیبانی نمیکند ، ضرورت آموزش نحوه رمز گذاشتن روی یک پوشه و فولدر در سرور های مبتنی بر Nginx کاملا به چشم می آید . به خصوص مدیران چت روم های مبتنی بر اسکریپت ET-Chat که به دلیل ضعف های امنیتی بی شمار این اسکریپت همیشه ملزم به گذاشتن پسوورد روی پوشه های ادمین چت روم هستند بیش از سایرین نیاز به آموزش این موضوع دارند . در ادامه مطلب به آموزش نحوه کامل گذاشتن رمز و پسورد روی پوشه ها و فولدر های هاست در وب سرور Nginx یا سرور های مبتنی بر انجین اکس میپردازیم .
وظیفه محافظت و رمز گذاشتن روی پوشه ها و فولدر ها در وب سرور Nginx به عهده ماژول HttpAuthBasicModule می باشد . ماژول HttpAuthBasicModule جزو ماژول های غیر Optional هست و در نصب وب سرور Nginx با تمام روش ها به صورت پیش فرض وجود دارد . نحوه استفاده و کار با آن نیز بسیار ساده است .
نحوه استفاده از ماژول HttpAuthBasicModule برای محافظت از پوشه ها و فولدر ها و رمزگذاری روی آن ها بسیار ساده است و کافی است این قسمت را به سرور بلاک دامنه مورد نظر در فایل کانفیگ nginx وارد کنید :
میتوانید این قسمت را بعد از معرفی فایل index سایت و یا بعد از خط معرفی مسیر root اون دامنه در بلاک یا vhost مربوط به دامنه مود نظر در فایل کانفیگ nginx اضافه کنید . فراموش نکنید با توجه به دستورات فوق ، باید فایلی به نام htpasswd (انتخاب نام فایل اختیاری است)* در مسیری که در بلاک مورد نظر مشخص میکنید ایجاد نمایید . برای مثال اگر به این صورت وارد کنیم :
باید یک فایل با نام htpasswd در مسیر /home/compiler/ ایجاد کنیم و به کمک ابزار های استخراج کننده یوزر و پسورد با encryption نوع md5 کلمه عبور خود را ایجاد کنیم .
با اعمال تغییرات فوق و ریستارت کردن وب سرور Nginx با هر بار فراخوانی دامنه compiler.ir باید نام کاربری و کلمه عبور خود را وارد کنید و در غیر این صورت امکان دسترسی شما به صفحه اصلی سایت وجود نخواهد داشت . کلمه عبور هم همانطور که گفته شد به صورت Encrypt شده در مسیر /home/compiler و در فایل htpasswd نگهداری میشود و هر بار که به آن نیاز باشد به وسیله وب سرور از همین مسیر هم خوانده میشود . برای Encrypt کردن و تولید یوزر و پسورد های مورد نظر و خوانا برای Nginx میتوانید از وب سایت زیر استفاده کنید :
پیدا کردن فایل کانفیگ vhost ها در وب سرور nginx کار سختی نیست . اگر بدون کنترل پنل هاستینگ کار میکنید ، در توزیع CentOS به صورت پیش فرض کلیه بلاک ها در همان فایل /etc/nginx/nginx.conf و در کنار تنظیمات عمومی نگهداری میشوند .
اگر از توزیع هایی مانند Ubuntu یا Debian استفاده میکنید ، معمولا اطلاعات بلاک ها در فایل های جداگانه و خارج از nginx.conf نگهداری میشوند . /etc/nginx/sites-available مسیری است که میبایست در آن فایل کانفیگ بلاک nginx مورد نظر را پیدا کنید .
اگر از دایرکت ادمین و custombuild 2 برای نصب Nginx استفاده کردید برای پیدا کردن بلاک های مربوط به هر دامنه و یوزر ، به فایل زیر مراجعه کنید . تمام یوزر ها با آدرس دقیق در این فایل لیست شده اند :
همانطور که ملاحظه کردید کار سختی نیست و با کمی دقت و حوصله به راحتی میتوانید روی تمامی پوشه ها و دایرکتوری های یک سایت و یا هاست ، به کمک وب سرور Nginx رمز گذاشت . این یک فرمت بسیار کلی از این آموزش بود و در حالت های پیچیده تر میتوانید در هر پوشه یا پوشه های تو در تو در انجین اکس رمز گذاری کنید .
نویسنده Babak Ajideh
گذاشتن کلمه عبور روی دایرکتوری های یک سایت ، هاست یا سرور وظیفه وب سرور است و کنترل پنل وب هاستینگ در این میان تنها نقش یک واسط گرافیکی و کاربر پسند را بازی میکند . مادامی که از وب سرور آپاچی در سرورتان استفاده میکنید مشکلی از این بابت نیست و تمام کنترل پنل های معروف ابزاری برای گذاشتن رمز و کلمه عبور برای وب سرور آپاچی در اختیار شما قرار میدهند . این روز ها آمار استفاده از nginx به عنوان وب سرور اصلی و نه پلاگین Reverse رو به افزایش است . با توجه به اینکه تقریبا هنوز هیچ کنترل پنلی به طور ۱۰۰٪ و بدون مشکل از وب سرور Nginx پشتیبانی نمیکند ، ضرورت آموزش نحوه رمز گذاشتن روی یک پوشه و فولدر در سرور های مبتنی بر Nginx کاملا به چشم می آید . به خصوص مدیران چت روم های مبتنی بر اسکریپت ET-Chat که به دلیل ضعف های امنیتی بی شمار این اسکریپت همیشه ملزم به گذاشتن پسوورد روی پوشه های ادمین چت روم هستند بیش از سایرین نیاز به آموزش این موضوع دارند . در ادامه مطلب به آموزش نحوه کامل گذاشتن رمز و پسورد روی پوشه ها و فولدر های هاست در وب سرور Nginx یا سرور های مبتنی بر انجین اکس میپردازیم .
وظیفه محافظت و رمز گذاشتن روی پوشه ها و فولدر ها در وب سرور Nginx به عهده ماژول HttpAuthBasicModule می باشد . ماژول HttpAuthBasicModule جزو ماژول های غیر Optional هست و در نصب وب سرور Nginx با تمام روش ها به صورت پیش فرض وجود دارد . نحوه استفاده و کار با آن نیز بسیار ساده است .
نحوه استفاده از ماژول HttpAuthBasicModule برای محافظت از پوشه ها و فولدر ها و رمزگذاری روی آن ها بسیار ساده است و کافی است این قسمت را به سرور بلاک دامنه مورد نظر در فایل کانفیگ nginx وارد کنید :
کد PHP:
location / {
auth_basic “Restricted”;
auth_basic_user_file 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;
}
با اعمال تغییرات فوق و ریستارت کردن وب سرور Nginx با هر بار فراخوانی دامنه compiler.ir باید نام کاربری و کلمه عبور خود را وارد کنید و در غیر این صورت امکان دسترسی شما به صفحه اصلی سایت وجود نخواهد داشت . کلمه عبور هم همانطور که گفته شد به صورت Encrypt شده در مسیر /home/compiler و در فایل htpasswd نگهداری میشود و هر بار که به آن نیاز باشد به وسیله وب سرور از همین مسیر هم خوانده میشود . برای Encrypt کردن و تولید یوزر و پسورد های مورد نظر و خوانا برای Nginx میتوانید از وب سایت زیر استفاده کنید :
پیدا کردن فایل کانفیگ 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
نویسنده Babak Ajideh
کامنت