انتهای سوهوسین; بعدي چيه?
برای سال های زیادی, من با متعصبانه استفاده کرده اند سوهوسین با هر گونه پیاده سازی از PHP5 در آپاچی2 یا پی اچ پی FPM Nginx webservers برای دفاع در برابر تزریق SQL و دیگر حملات وب مشترک. در واقع, PHP5 بود تا فاجعه بار, هر دو از نظر امنیت اصلی آن, و توابع و ماژول های آن که من می توانستم هرگز تصور با استفاده از آن بدون هیچ سخت شدن قابل توجهی است که Suhosin فراهم می کند.
همانطور که PHP5 کاهش یافته است و برنامه های میراث من همه از بین رفته, من با پیاده سازی چند از PHP7 و هیچ وصله Suhosin در دسترس سمت چپ.
اگرچه, هنوز هم از لحاظ فنی ممکن است برای اضافه کردن Suhosin به پی اچ پی 7.0 و 7.1 (پیش آلفا – نه برای تولید), منصفانه است که می گویند که این پروژه از مدت ها پیش رفته است و PHP7 در حال حاضر ثابت کرد که آن می تواند دردسرساز باشد انگار سلفش بود. همانطور که من فکر می کنم در مورد علاوه بر جدید به WAF و امنیت هسته PHP7, اینها برخی از راه حل های من با آمد:
غیرفعال کردن توابع بد یا غیر ضروری
بسیاری از توابع مخاطره آمیز ساخته شده در داخل پی اچ پی که به طور بالقوه خطرناک هستند و باید در داخل غیر فعال وجود دارد 'php.ini' به طور پیش فرض. شما می توانید فایل پیکربندی با استفاده از فرمان زیر پیدا کنید و غیر فعال کردن توابع از طریق vi یا نانو.
php -i | grep "php.ini"
لطفا توجه داشته باشید: اگر شما در حال اجرا نسخه های مختلف پی اچ پی به طور همزمان و یا برنامه به عنوان بخشی از یک برنامه شخص ثالث دیگر نصب شده است, سپس شانس بالا است که شما چند 'php.ini نصب شده است و مشخص نیست که یکی از لود شده توسط webserver. اطمینان حاصل کنید که شما در حال ویرایش نسخه صحیح (php -v).
افزودن خط زیر در انتهای فایل 'php.ini', مطمئن شوید که فایل را ذخیره کرده باشید, و راه اندازی مجدد سرویس دهنده وب. شما می توانید در مورد هر یک از این توابع پی اچ پی یاد بگیرند در این آدرس. به عنوان یک عمل اندازه گیری شده, شما ممکن است بخواهید آنها را یک به یک اضافه کنید تا مطمئن شوید که آن را به طور منفی برنامه های کاربردی خود را تحت تاثیر قرار نمی.
disable_functions = popen, eval, leak, exec, shell_exec, curl_exec, curl_multi_exec, parse_ini_file, mysql_connect, system, phpinfo, escapeshellarg, escapeshellcmd, passthru, symlink, show_source, mail, sendmail, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, pfsockopen, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
غیر فعال کردن ثبت نام جهانی و Base64
ثبت جهانی تابعی توسط PHP است که اجازه می دهد تا آرایه های ورودی به URL به متغیر در داخل کد شما تبدیل شود. بنابراین, هر کد به طور بالقوه آسیب پذیر را می توان توسط یک مهاجم که می تواند آرایه های مخرب با استفاده از HTTP دریافت و یا درخواست عبور بهره برداری.
ثبت نام جهانی را می توان به راحتی با اضافه کردن خط زیر در پایان 'php.ini'. فراموش نکنید که راه اندازی مجدد سرویس دهنده وب برای اجرای تغییرات.
register_globals = Off
درست مثل ثبت نام جهانی ها, Base64 یکی دیگر از ویژگی های اغلب غیر ضروری است که باز کردن درب را به مخرب پشت درها. شما می توانید رمزگشایی Base64 به طور دائم با اضافه کردن خط زیر به پایان 'php.ini'.
base64_decode = Off
سلب مسئولیت
دیدگاه ها, اطلاعات, یا نظرات بیان شده تنها نظرات نویسنده هستند و لزوما نشان دهنده نظرات کارفرمای خود و یا سازمان هایی که او با آنها وابسته است نیست.
اطلاعات موجود در این فقط برای اهداف اطلاعات عمومی است. اطلاعات توسط فرهاد موفیدی ارائه می شود و در حالی که او تلاش می کند تا اطلاعات را جاری و دقیق نگه دارد, او هیچ گونه نمایندگی و ضمانت نامه ای از هر نوع نمی کند, بیان یا ضمنی, در مورد کامل بودن, دقت, قابلیت اطمینان, مناسب بودن یا در دسترس بودن وب سایت. فرهاد هیچ نمایندگی و ضمانتی نمی کند. یا هر گونه اطلاعات, محصولات و یا گرافیک های مرتبط موجود در هر برای هر منظوری.
همچنین, هوش مصنوعی ممکن است به عنوان ابزاری برای ارائه پیشنهاد و بهبود برخی از مطالب یا جملات به کار گرفته شود. ایده ها, افکار, نظرات, و محصولات نهایی اصلی و ساخته شده توسط نویسنده.