زمان کنونی: ۲۱-۷-۱۴۰۳, ۰۶:۱۸ عصر درود مهمان گرامی! (ورودثبت نام)


ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش نصب و ایمن سازی phpMyAdmin روی لینوکس برای سرور مجازی
۱۹-۲-۱۳۹۵, ۰۴:۴۸ عصر
ارسال: #1
آموزش نصب و ایمن سازی phpMyAdmin روی لینوکس برای سرور مجازی
آموزش نصب و ایمن سازی phpMyAdmin روی لینوکس برای سرور مجازی
سیستم های مدیریت پایگاه داده رابطه ای مانند MySQL و MariaDB برای بخش قابل توجهی از وب سایت ها و برنامه های کاربردی مورد نیاز است. با این حال، تمام کاربران با مدیریت داده های خود از خط فرمان احساس راحتی نمی کنند.

برای حل این مشکل، یک پروژه به نام phpMyAdmin به منظور ارائه یک جایگزین در قالب یک رابط مدیریت مبتنی بر وب ساخته شد. در این مقاله، ما چگونگی نصب و ایمن سازی تنظیمات phpMyAdmin را بر روی دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
لینوکس CentOS 7 و وب سرور nginx
آموزش خواهیم داد. وب سرور nginx دارای عملکرد مناسبی بوده و در مقابل لود و ترافیک سنگین قدرت بیشتری نسبت به سایر وب سرور ها دارد.

پیش نیاز دوم نصب LEMP (Linux ، Nginx، MariaDB، و PHP) بر روی لینوکس CentOS 7 می باشد. این پلت فرمی است که ما برای رابط phpMyAdmin از آن استفاده خواهیم کرد (MariaDB نرم افزار مدیریت دیتابیسی است که ما قصد مدیریت آن را داریم ) . اگر LEMP بر روی سرور شما نصب نیست، برای نصب آن مقاله زیر را مطالعه کنید :

دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.


مرحله اول – نصب phpMyAdmin

با استفاده از پلت فرم LEMP می توانید ، نصب نرم افزار phpMyAdmin را آغاز کنید. متاسفانه، phpMyAdmin به طور پیش فرض در مخزن لینوکس CentOS 7 موجود نیست.

برای دریافت پکیج های مورد نیاز ، باید یک مخزن دیگر به سیستم خود اضافه کنید. مخزن EPEL شامل پکیج های بسیاری، از جمله پکیج phpMyAdmin است.

دستور زیر را اجرا کنید :

cd ~
wget دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.




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

sudo rpm -ivh epel-release*rm epel-release*



مخزن EPEL پیکربندی شده است و می توانید پکیج phpMyAdmin را با استفاده از دستور yum نصب کنید:

sudo yum install phpmyadmin



نصب و راه اندازی تکمیل خواهد شد. برای پیدا کردن و ارائه خدمات درست وب سرور Nginx ، به فایل های phpMyAdmin فقط باید با استفاده از دستور زیر یک لینک نمادین از فایل های نصبی در سند Nginx موجود در دایرکتوری روت خود ایجاد کنید :

sudo ln -s /usr/share/phpMyAdmin /usr/share/nginx/html



برای اطمینان از لود شدن ماژول های PHP نصب شده ، پردازنده PHP خود را با استفاده از دستور زیر ری استارت کنید:

sudo systemctl restart php-fpm



به منظور دسترسی به رابط کاربری برای ادامه مراحل نصب ، این آدرس را در مرورگر خود تایپ کنید :

http://server_domain_or_IP/phpMyAdmin



به جای server_domain_or_IP نام دامنه یا IP آدرس سرور خود را قرار دهید .

برای ورود به سیستم، از نام کاربری و رمز عبور یک کاربر معتبر MariaDB استفاده کنی.



مرحله دوم – ایمن سازی phpMyAdmin

phpMyAdmin نصب شده بر روی سرور شما باید در این مرحله به طور کامل قابل استفاده باشد. با این حال، با نصب یک رابط وب، سیستم MySQL خود را رو به سوی جهان خارج قرار داده اید.

یکی از دلایل محبوبیت phpMyAdmin در دسترس قرار دادن حجم زیادی از اطلاعات است . چنین سیستم هایی معمولا هدف حمله اتکر ها قرار میگیرند .

ما برای کاهش احتمال خطر، ۲ استراتژی ساده اجرا میکنیم .

1- تغییر مکان رابط کاربری از پوشه /phpMyAdmin به محلی دیگر برای مقابله با حملات خودکار brute-force .

2- ایجاد یک صفحه ورودی تائید هویت در سطح وب سرور، قبل از صفحه login یا ورود به phpMyAdmin



تغییر مکان دسترسی به برنامه :

در مرحله قبل یک لینک نمادین از فایل های نصبی در سند Nginx موجود در دایرکتوری روت ایجاد شد. برای تغییر URL رابط کاربری phpMyAdmin ، به سادگی لینک نمادین را rename کنید. به سند nginx در پوشه روت وارد شوید:

cd /usr/share/nginx/html
ls -l



-rw-r--r-- 1 root root 537 Aug 5 08:15 50x.html
-rw-r--r-- 1 root root 612 Aug 5 08:15 index.html
lrwxrwxrwx 1 root root 21 Aug 6 17:29 phpMyAdmin -> /usr/share/phpMyAdmin



همانطور که می بینید، یک لینک نمادین به نام phpMyAdmin در این شاخه وجود دارد. می توانید نام لینک را به دلخواه تغییر دهید .با این کار این نقطه دسترسی را در مقابل حملات hard-coded پنهان خواهید کرد.

نامی انتخاب کنید که هدف مکان را مشخص نکند . در این آموزش نام جدید به /nothingtosee تغییر یافته است . برای انجام این کار، با استفاده از دستور زیر نام لینک را تغییر دهید :

sudo mv phpMyAdmin nothingtosee
ls -l

total 8
-rw-r--r-- 1 root root 537 Aug 5 08:15 50x.html
-rw-r--r-- 1 root root 612 Aug 5 08:15 index.html
lrwxrwxrwx 1 root root 21 Aug 6 17:29 nothingtosee -> /usr/share/phpMyAdmin



حال اگر به مکان قبلی phpMyAdmin خود وارد شوید با ارور ۴۰۴ روبرو خواهید شد.

phpMyAdmin در مکان جدید در دسترس خواهد بود :

http://server_domain_or_IP/nothingtosee



راه اندازی یک ورودی تائید هویت برای وب سرور:

ویژگی بعدی ایجاد یک صفحه تائید هویت است که کاربر قبل از وارد شدن به صفحه ورودی phpMyAdmin به آن منتقل میشود.

خوشبختانه، اکثر وب سرورها ، از جمله Nginx، این قابلیت را به طور پیش فرض دارند. فقط باید در فایل کانفیگ Nginx تغییرات جزئی ایجاد شود .

قبل از این کار، برای ذخیره شناسه های معتبر باید یک فایل password ایجاد کنید .در Nginx پسورد باید با استفاده از تابع crypt() رمزگذاری شود. مجموعه OpenSSL، که باید در حال حاضر بر روی سرور شما نصب شده باشد، این قابلیت را دارا است .

برای ایجاد یک پسورد رمزگذاری شده این دستور را تایپ کنید :

برای ایجاد یک پسورد، دستور زیر را تایپ کنید:

openssl passwd



به دلخواه خود پسوردی تعیین کنید . سپس این ابزار نسخه رمزگذاری شده پسورد شما را به صورت چیزی شبیه به متن زیر نشان خواهد داد :

O5az.RSPzd.HE



این مقدار را کپی کنید و در فایل authentication که باید ایجاد کنید قرار دهید .

حال باید یک فایل authentication ایجاد کنید. در این آموزش نام pma_pass برای این فایل انتخاب شده و در دایرکتوری Nginx قرار میگیرد.

sudo nano /etc/nginx/pma_pass



در این فایل ابتدا باید نام کاربری مورد نظر خود را وارد کرده و به دنبال آن ، بعد از علامت ( : ) پسورد رمزگذاری شده را وارد کنید . برای مثال :

demo:O5az.RSPzd.HE



سپس ذخیره کرده و از فایل خارج شوید.

حال باید در فایل کانفیگ nginx تغییراتی ایجاد کنیم . فایل را با اجرای دستور زیر باز کنید :

sudo nano /etc/nginx/conf.d/default.conf



در این فایل، باید یک بخش location جدید ایجاد کنید . که مکان جدید رابط کاربری phpMyAdmin در آن مشخص شود . (nothingtosee )

یک بخش در بلوک سرور و خارج از سایر بلوک ها ایجاد کنید .

server {
. . .

location / {
try_file $uri $uri/ =404;
}

location /nothingtosee {
}

. . .
}



در این بلوک باید به منظور نمایش دادن پیغام تائید هویت به کاربران یک مقدار برای دستور auth_basic تعریف کنید . نباید به کاربران نشان دهید که از چه چیز محافظت میکنید بنابراین بهتر است به جزئیات اشاره نکنید . برای مثال در این آموزش از ” Admin Login ” استفاده شده است .

سپس باید با استفاده از دستور زیر auth_basic_user_file وب سرور را از ایجاد فایل authentication باخبر کنیم . nginx اطلاعات وارد شده توسط کاربران را با مقادیر وارد شده در فایل های مشخص مطابقت خواهد داد .

server {
. . .

location / {
try_file $uri $uri/ =404;
}

location /nothingtosee {
auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/pma_pass;
}

. . .
}



پس از انجام این تغییرات فایل را ذخیره کرده و خارج شوید.

برای پیاده سازی این تغییرات باید وب سرور را ری استارت کنیم .

sudo systemctl restart nginx



حال اگر آدرس جدید phpMyAdmin را در مرورگر خود وارد کنید (پس از پاک کردن کش و یا استفاده از یک مرورگر دیگر)، نام کاربری و پسوردی که در فایل pma_pass وارد کرده اید از شما خواسته میشود .

http://server_domain_or_IP/nothingtosee



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

اکنون می توانید دیتابیس های MySQL خود را از یک رابط وب امن مدیریت کنید.
امضاء neda.agd
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
, دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
, دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
,دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
,دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
,دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
,دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
,دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
,دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
,دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
,دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ بازگشت به بالا
 سپاس شده توسط Reza Ganji
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان