امن سازی PHP در سرور

امن سازی PHP در سرور

امن سازی PHP در سرور :

برای امن سازی PHP در سرور مراحل زیر را با دقت انجام دهید و دستورات را به درستی وارد کنید.

فایل Confih php به اسم php.ini است که برای پیدا کردن این فایل از دستور زیر استفاده کنید :

php –ini

 بسیاری از کاربران هستند که با گزینه هایی که در فایل php.ini و پیکربندی آن میباشد توجه نمیکنند و آشنایی ندارند.

با استفاده از گزینه های مربوط به امنیت در فایل های Config به شما این امکان را میدهد که از وضعیت امنیتی برنامه های

کاربردی وب که اجرا هستند را مشاهده و آن ها را تقویت کنید.

ویژگی Safe Mode 

برای حل مشکلات امنیتی اشتراک در سرور مجازی اضافه شده و از نسخه های php 6 به بالا پاک شده.

اگر میخواهید یک فایل را در یک سرور مجازی دیگر فایل ها با مالکیت مشابه را تحت تاثیر قرار دهید برای اکتیو کردنش،

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

safe_mode=on

ممکن است بخواهید مالکیت استفاده از یک گروه را چک کنید، از دستور زیر کمک بگیرید :

safe_mode_gid=On

برای محدود کردن فایل های Directory که شاید فایل های اجرایی داشته باشند از دستور زیر استفاده کنید :

safe_mode_include_dir = /path/to/dir

safe_mode_exec_dir = /path/to/exec/dir

ویژگی Restricting Includes عملکرد های فایل php را محدود به یک پوشه که مشخص میکند.

 این ویژگی برای پیشگیری از خطر جستجو مهاجمان به دنبال راهی برای اینکه ار فایل های محلی در اسکریپت های php

از راه وب سرور است که برای فعال سازی این ویژگی باید دستور زیر را وارد کنید :

open_basedir = /path/to/web/root

خاصیت disabling Functionality 

یک سری تابع های خاص هستند که شما نمیخواهید به علت خطر استفاده از آن ها، این تابع ها را گسترش دهید.

این عملکرد شما در توقف کردن مهاجم که به گونه ای موفق به upload یک اسکریپت php یا نوشتن یک فایل سیستمی و یا یک فایل php از راه دور است تاثیر داشته. دستور زیر را برای غیرفعال کردن  shell_exec() یا system() وارد کنید :

disabale_functions = Disable Functios

 تابع مهمی است که باید Disable شود :

status,proc_nice,proc_open,proc_terminate,set_time_limit,show_source,symlink,tmpfile,tempnam

 Preventing Information Disclosure 

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

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

پیغام های خطا در بعضی از راه های افشا کردن اطلاعات مثل نصب برنامه، اتصال به پایگاه داده، مدل داده وجزئیات مانند table و نام column، و جزئیات اسکریپت مانند متغیر ها است که برای غیر فعال کردنش از دستور زیر باید استفاده کنید :

display_errors = off

Disable Globals

این ویژگی در نسخه های php3 به بالا هستند.

در بیشتر توزیع های ثبت نام، متغیر های جهانی برای تنظیم کردن کاربردی ندارند.

register Global به شما این امکان را میدهد تا متغیر های HTTP مختلف بدون نیاز به تعیین،  منبع خود استفاده کنند.

دستور زیر را برای غیر فعال کردن آن استفاده کنید :

register_globals = off

Disable Remote File Includes

در واقع حمله، برای شناسایی آسیب پذیری و جا دادن فایل ها در Application ها و در آخر استفاده از اسکریپت های php

مخرب برای نوشتن در این فایل ها انجام میشود.

برای جلوگیری از این اتفاقات دستور زیر را وارد کنید :

allow_url_fopen = off

allow_url_include = off

Restrict File Uploads

اگر از Upload فایل در هر کدام از اسکریپت های php استفاده نمیکنید آن را خاموش کنید تا مشکلی برای شما پیش نیاید.

برای خاموش کردن آن دستور زیر را وارد کنید :

file_uploads = off

upload_temp_dir = /var/php_tmp

upload_max_filezize = 2M

Protect Sessions

محبوب ترین نوع حمله سرق میباشد.

سرقت اجازه میدهد که یک کاربر مخرب شروع به سرقت Session کند.

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

session.save_path = /var/lib/php

session.cookie__httponly = 1

session.referer_check = your_url.tld