সুহোসিদের সমাপ্তি; পরবর্তী কি?
বহু বছর ধরে, আমি উৎসাহের সাথে ব্যবহার করেছি সুহোসিহন SQL ইনজেকশন এবং অন্যান্য সাধারণ ওয়েব আক্রমণ থেকে রক্ষা করতে Apache2 বা PHP-FPM Nginx ওয়েবসার্ভারে PHP5 এর যে কোন বাস্তবায়ন সঙ্গে. আসলে, পিএইচপি৫ খুবই ধ্বংসাত্মক ছিল, উভয় ক্ষেত্রেই এর মূল নিরাপত্তা, এবং এর ফাংশন এবং মডিউল যা সুহোসিঁ প্রদান করে কোন উল্লেখযোগ্য কঠোরতা ছাড়া আমি এটা ব্যবহার করতে পারতাম না.
যেহেতু PHP5 অবমূল্যায়িত করা হয়েছে এবং আমার উত্তরাধিকার প্রোগ্রাম সব চলে গেছে, আমি পিএইচপি৭ এর বেশ কিছু বাস্তবায়ন বাকি আছে এবং কোন উপলব্ধ সুহোসিঁ প্যাচ নেই.
যদিও, এখনো প্রযুক্তিগতভাবে পিএইচপিতে সুহোসিইন যোগ করা সম্ভব 7.0 এবং 7.1 (প্রাক-আলফা - উৎপাদনের জন্য নয়), এটা বলা ভাল যে প্রকল্পটি দীর্ঘদিন ধরে চলে গেছে এবং পিএইচপি৭ ইতোমধ্যে প্রমাণ করেছে যে এটি ঝামেলা হতে পারে যেমন এটি ছিল তার পূর্ববর্তী. যেহেতু আমি WAF এবং PHP7 এর মূল নিরাপত্তার একটি নতুন সংযোজনের কথা ভাবছি, এই কিছু সমাধান আমি সঙ্গে এসেছি:
খারাপ বা অপ্রয়োজনীয় ফাংশন নিষ্ক্রিয় করা হচ্ছে
পিএইচপির অভ্যন্তরে অনেক ঝুঁকিপূর্ণ ফাংশন নির্মিত হয় যা সম্ভাব্য বিপজ্জনক এবং ডিফল্টভাবে 'php.ini' এর ভেতরে নিষ্ক্রিয় করা উচিত. আপনি নিচের কমান্ড ব্যবহার করে কনফিগ ফাইল খুঁজে পেতে পারেন এবং vi বা ন্যানোর মাধ্যমে ফাংশন নিষ্ক্রিয় করতে পারেন.
php -i | grep "php.ini"
অনুগ্রহ করে নোট করুন: আপনি যদি একই সাথে পিএইচপির বিভিন্ন সংস্করণ চালান অথবা প্রোগ্রামটি অন্য তৃতীয় পক্ষের অ্যাপ্লিকেশনের অংশ হিসেবে ইনস্টল করা হয়, তারপর সম্ভাবনা বেশি যে আপনার একাধিক 'php.ini' ইনস্টল করা আছে এবং এটি পরিষ্কার নয় কোনটি ওয়েবসার্ভার দ্বারা লোড করা হয়েছে. নিশ্চিত হয়ে নিন যে আপনি সঠিক সংস্করণ সম্পাদনা করছেন (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
রেজিস্টার গ্লোবালস এবং বেস64 নিষ্ক্রিয় করা হচ্ছে
রেজিস্টার গ্লোবাল পিএইচপি দ্বারা একটি ফাংশন যা ইউআরএল-এ ইনপুট অ্যারেকে আপনার কোডের অভ্যন্তরে ভেরিয়েবল রূপান্তরের অনুমতি দেয়।. সুতরাং, যে কোন সম্ভাব্য অসুরক্ষিত কোড একজন আক্রমণকারী দ্বারা শোষিত হতে পারে যে HTTP GET বা POST অনুরোধ ব্যবহার করে ক্ষতিকারক অ্যারে পাস করতে পারে.
'php.ini শেষে নিচের লাইনটি যোগ করে রেজিস্টার গ্লোবালস সহজেই নিষ্ক্রিয় করা যাবে. পরিবর্তনগুলি নির্বাহ করতে ওয়েবসার্ভার পুনর্সূচনা করতে ভুলবেন না.
register_globals = Off
ঠিক যেমন রেজিস্টার গ্লোবালস, বেস64 আরেকটি প্রায়ই অপ্রয়োজনীয় বৈশিষ্ট্য যা ক্ষতিকারক পিছনের দরজা দরজা খুলে দেয়. আপনি 'php.ini' শেষে নিচের লাইনটি যোগ করে বেস৬৪ ডিকোডার স্থায়ীভাবে নিষ্ক্রিয় করতে পারেন.
base64_decode = Off
Post Disclaimer
The views, information, or opinions expressed are solely those of the author and do not necessarily represent those of his employer or the organizations with which he is affiliated.
The information contained in this post is for general information purposes only. The information is provided by Farhad Mofidi and while he strives to keep the information current and accurate, he does not make any representations or warranties of any kind, express or implied, regarding the completeness, accuracy, reliability, suitability or availability of the website. Farhad makes no representations or warranties. or any information, products or related graphics contained in any Post for any purpose.
Also, AI may be employed as a tool to provide suggestions and improve some of the contents or sentences. The ideas, thoughts, opinions, and final products are original and human-made by the author.