در این آموزش از سری آموزشهای سرور لینوکس به آموزش مخفی کردن نسخه آپاچی، Nginx یا PHP در سرور لینوکس خواهیم پرداخت.
هنگامی که کاربران درخواستی به سمت وب سرور شما ارسال میکنند ، برخی از اطلاعات به صورت پیشفرض برایشان ارسال خواهد شد. در بین این اطلاعات میتوان نسخه وب سرور ، نوع سیستم عاملی که وب سرور بر روی آن نصب شده ، نسخه PHP مورد استفاده و ... اشاره کرد.
حال در مجموع کلام میتوان گفت وب سرورهایی چون Apache و Nginx از این قاعده مستثنی نبوده و همانند PHP در نسخههای مختلف ، اطلاعات را به صورت کامل به سمت درخواست دهنده ، ارسال مینمایند.
این اطلاعات برای افراد سودجو و هکرها که به دنبال رخنهای بر روی سرور شما میباشند بسیار حائز اهمیت بوده و توسط همان فهمیدن نگارش وب سرور و PHP شما ، شروع به حمله خواهند کرد.
پس ، بر همین اساس قصد داریم در این مطلب به شما آموزش دهیم که چگونه شما قادر خواهید بود به مخفی کردن نسخه آپاچی، Nginx یا PHP در سرور لینوکس پرداخته و امنیت سرور خود را بالا ببرید.
نکته 1: برای انجام این تغییرات باید دسترسی روت داشته باشید و یا از دستور sudo استفاده نمایید.
مخفی کردن نسخه آپاچی، Nginx یا PHP در سرور لینوکس
مخفی کردن نسخه PHP
- برای مخفی کردن نسخه PHP باید فایل php.ini را ویرایش نمایید. برای ویرایش این فایل در توزیع های دبیان و اوبونتو میتوانید بصورت زیر اقدام نمایید.
nano /etc/php5/apache2/php.ini
- در توزیع CentOS میتوانید از دستور زیر برای ویرایش این فایل استفاده نمایید.
nano /etc/php.ini
نکته 2: میتوانید از دستور زیر برای یافتن محل فایل php.ini از دستور زیر استفاده نمایید.
find / -name php.ini
- پس از باز کردن فایل php.ini باید خط با مقدار expose_php را بصورت زیر ویرایش نمایید.
expose_php = Off
- و سپس وب سرور خود را ریستارت نمایید. برای ریستارت وب سرور در توزیعهای مختلف از دستورات زیر استفاده نمایید.
برای توزیعهای دبیان و اوبونتو:
service apache2 restart
توزیع CentOS 6:
service httpd restart
توزیع CentOS 7:
systemctl restart httpd.service
غیرفعال کردن امضای وب سرور آپاچی
- برای غیرفعال کردن امضای وب سرور آپاچی باید فایل کانفیگ آپاچی را ویرایش نمایید. برای ویرایش این فایل بصورت زیر عمل نمایید.
در توزیع اوبونتو و دبیان:
nano /etc/apache2/apache2.conf
در توزیع CentOS:
nano /etc/httpd/conf/httpd.conf
نکته 3: برای پیدا کردن فایل کانفیگ آپاچی میتوانید از دستورات زیر استفاده نمایید.
find / -name httpd.conf
find / -name apache2.conf
پس از یافتن مکان فایل کانفیگ و باز کردن آن با ویرایشگر خطوط شامل کلمات ServerSignature و ServerTokens را یافته و بصورت زیر ویرایش نمایید.
ServerSignature Off
ServerTokens Prod
پس از اعمال تغییرات فوق وب سرور آپاچی را ریستارت نمایید.
غیرفعال سازی امضای وب سرور Nginx
- برای غیرفعال سازی امضای وب سرور Nginx باید فایل کانفیگ Nginx را ویرایش نمایید. مسیر فایل کانفیگ Nginx بصورت یکی از مسیرهای زیر میباشد.
nano /etc/nginx/nginx.conf
nano /usr/local/nginx/conf/nginx.conf
نکته 4: برای جستجوی فایل میتوانید از دستور زیر استفاده نمایید.
find / -name nginx.conf
- حال خط شامل کلمه server_tokens را یافته و بصورت زیر تغییر دهید.
server_tokens off
- پس از اعمال تغییرات ، باید Nginx را ریستارت نمایید. برای ریستارت وب سرور Nginx در توزیع های اوبونتو ، دبیان و CentOS 6 از دستور زیر استفاده نمایید.
service nginx restart
برای CentOS 7 نیز از دستور زیر استفاده نمایید.
systemctl restart nginx
امیدوارم آموزش مخفی کردن نسخه آپاچی، Nginx یا PHP در سرور لینوکس برای شما مفید بوده باشد.