Archive for the tag 'Hardening'

PHP hardening using session.cookie_httponly & session.referer_check

PHP hardening using session.cookie_httponly & session.referer_check

session.cookie_httponly

Setting this value to 1 prevents JavaScript from accessing PHP session cookies. This can help prevent attackers from stealing session cookies. However, you may be unable to use this directive if your users utilize PHP session cookies via JavaScript.

session.referer_check

This parameter allows PHP to check HTTP referrer values. This allows you to specify a domain, ensuring that session information is only passed internally during the time a user is working with a web application. This will prevent your users from accidentally exposing session information that may allow malicious users to follow links and steal a session.

Php Hardening option allow_url_fopen and allow_url_include

Set

allow_url_fopen Off

Disabling this option prevents attackers from opening remote files from your server via file inclusion vulnerabilities.

Set

allow_url_include Off

Disabling this option prevents attackers from including remote files from your server via file inclusion vulnerabilities.

Using hardening tools Suhosin in Cpanel Servers for PHP

The Suhosin extension “was designed to protect servers and users from known and unknown flaws in PHP applications and the PHP core.”

Reference : http://www.hardened-php.net/suhosin/

Perhaps more importantly, the Suhosin community would be an excellent starting point for learning about flaws in PHP, as well as other extensions, configurations, and techniques you can use to protect your server.

Since many popular scripts are not compatible with Suhosin’s restrictions, you need to test it before moving to production.

SBDavid

Hardening PHP

Hardening PHP
Run As The User Instead of “nobody” . You can run PHP as the user (like CGI scripts do with Apache’s suexec)

Enable suPHP

PHP scripts are executed by the user who owns the VirtualHost serving the request.

Use Hardening Tools Like phpsuhosin

Remove Insecure Scripts

Apache directives like php_value are not valid for mod_suphp. It is possible to place a php.ini file in the directory containing the PHP script and specify these types of values in it.

For PHP scripts to execute, permissions of 0400 are sufficient. Scripts are run as the user who owns the VirtualHost, and as long as this user has permissions sufficient to write to a file/directory, PHP scripts will also have the ability to do so. Mod_SuPHP performs various security checks before executing PHP scripts. Most can be disabled in Mod_SuPHP configuration file located at /opt/suphp/etc/suphp.conf