Suhosin چیست؟
Suhosin (بهمعنای «نگهبان» در زبان کرهای) یک extension و patch امنیتی برای PHP است که محافظت اضافی در برابر آسیبپذیریها و حملات فراهم میکند. Suhosin محدودیتهایی روی اندازه متغیرها (POST، GET، Cookie)، session ها و توابع اعمال میکند.
مهم: Suhosin از PHP 7.0 به بعد پشتیبانی نمیشود و توسعه آن متوقف شده. برای سرورهای مدرن باید از جایگزینهای زیر استفاده کنید.
ویژگیهای Suhosin
محدود کردن اندازه متغیرهای POST و GET. محافظت Session با رمزنگاری. جلوگیری از اجرای توابع خطرناک. رمزنگاری Cookie. لاگ حملات و تلاشهای نفوذ.
نصب (فقط PHP 5.x)
cd /usr/local/directadmin/custombuild
./build set suhosin yes
./build php
جایگزینهای مدرن (PHP 7/8)
۱. disable_functions
مهمترین تنظیم امنیتی PHP. توابع خطرناک غیرفعال شوند:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
۲. open_basedir
محدود کردن دسترسی PHP به پوشههای مجاز:
open_basedir = /home/user/
۳. تنظیمات امنیتی php.ini
expose_php = Off # مخفی کردن نسخه PHP
allow_url_fopen = Off # جلوگیری از باز کردن URL خارجی
allow_url_include = Off # جلوگیری از include فایل خارجی
display_errors = Off # عدم نمایش خطا به کاربر
log_errors = On # ثبت خطا در لاگ
session.cookie_httponly = 1
session.cookie_secure = 1
session.use_strict_mode = 1
۴. mod_security (WAF)
mod_security فایروال وباپلیکیشن (WAF) جامعتر و قدرتمندتر از Suhosin است:
cd /usr/local/directadmin/custombuild
./build set modsecurity yes
./build modsecurity
با قوانین OWASP CRS حملات SQL Injection، XSS و RFI مسدود میشوند.
توصیه نهایی
برای PHP 7/8: disable_functions + open_basedir + mod_security ترکیب قدرتمندی از محافظت ایجاد میکند که از Suhosin بهتر عمل میکند.
هاست وردپرس میهن هاستینگ با PHP امن و disable_functions تنظیمشده. کانفیگ سرور شامل hardening PHP و نصب mod_security.