I am thinking about installing the Suhosin option for PHP on some shared servers to improve PHP's security. Are there any gotchas I would need to be aware of? I've checked out the Suhosin site but there is not much there at all.
I've been testing out Suhosin Extension 0.9.29 from [url]
There are at least two areas (that I know of) where I need help.
1. Error messages go to /var/log/messages no matter what I set for suhosin.log.syslog.facility even though I have a corresponding /etc/syslog.conf facility going to /var/log/suhosin.log
If you have successfully set up suhosin to log outside of /var/log/messages, do you mind sharing your /etc/syslog.conf and php.ini settings for that change?
2. I am seeing a lot of "ALERT-SIMULATION - script tried to increase memory_limit to 4294967295 bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file 'unknown')" errors in /var/log/messages.
How can I find the IP and file involved?
For those that do include the increase memory_limit alert with an IP address and actual file, how can I determine if the activity is incorrect or correct and the suhosin memory limit needs to be increased?
For the shell script, awk/gawk, etc. experts, is there a way to consolidate the following messages into one line? ....
i have a dedicated server and i have installed suhosin through els
well els never asked me for configurations or anything ,, it just installed it
any way
i'm trying to install AWBS on my server ,, AWBS needs safe_mode to be off
so i went (pico /usr/local/lib/php.ini)
all the lines were commented suhosin added this to every line at the begining
PHP Code:
;suhosin.version=0.9.20
so everyline became commented
any way
i was trying to turn off the safe mode so i searched for it and replaced On with Off
but the changes didn't take effect
(locate suhosin)
found bunch of folders and suhosin.so files that i couldn't manage
is installing this extension ,, replaces the php.ini effect with another one ??? how can i configure php.ini to turn off the safe mode and also disable some functions while suhosin is there
we have installed suPHP along with suhosin on server to prevent upload of illegal scripts but still we are having problems with scripts used for phishing web sites! We have a lot of Joomla users and other php apps installed on server.
I have the max vars and all that set right to conform to vbulletin, Only problem is now I keep getting this in /var/log/messages
suhosin[8569]: ALERT - script tried to increase memory_limit to 4294967295 bytes which is above the allowed value (attacker '*******', file '/home/user/public_html/includes/class_xml.php', line 35)
The line its pertaining to is @ini_set('memory_limit', -1);
I'm pretty sure its not blocking anything, least nothing I see but it does this everytime someone accesses certain pages on a forum.
My memory_limit for php is 60 mb, I checked out different ways of configuring it, but the only thing I think would stop the alerts is setting the suhosin memory limit to 4 gb, as it says the script is calling for that. But I suppose if there was a crappy or malicious php script they would easily be able to ini-set and suck all the memory.
So basically what i want to do is just disable this alert as its filling the messages up. Has anyone dealt with this before?
I was wondering if anyone has a tried and tested suhosin config for an average webhosting box?
I tried the config on the webhostgear article and it caused a few problems with some sites. On my directadmin server I managed to do the patch and the extension. I was wanting to do the same on cpanel server. Has anyone done the patch as well with easyapache?
I figure you would have to go to where it saves the downloaded source and patch it then zip it back up.
cd php-4.4.7 patch -p 1 -i ../suhosin-patch-4.4.7-0.9.6.patch installing php : ( u must restore php.ini to the default before the installation )
Code:
./configure --with any thing ..... make make test make install after that i cat suhosin.ini to php.ini
Code: cat suhosi.ini > php.ini i am using this setting :
Code: ;;;;;;;;;;;;; ; Suhosin ; ;;;;;;;;;;:;; ; ----------------------------------------------------------------------------- ; This file was taken from Mandriva Linux with their permission ; ----------------------------------------------------------------------------- [suhosin] ; ----------------------------------------------------------------------------- ; Logging Options ; Defines what classes of security alerts are logged to the syslog daemon. ; Logging of errors of the class S_MEMORY are always logged to syslog, no ; matter what this configuration says, because a corrupted heap could mean that ; the other logging options will malfunction during the logging process. suhosin.log.syslog = 511 ; Defines the syslog facility that is used when ALERTs are logged to syslog. suhosin.log.syslog.facility = 9 ; Defines the syslog priority that is used when ALERTs are logged to syslog. suhosin.log.syslog.priority = 1 ; Defines what classes of security alerts are logged through the SAPI error log. suhosin.log.sapi = 511 ; Defines what classes of security alerts are logged through the external ; logging. suhosin.log.script = 511 ; Defines what classes of security alerts are logged through the defined PHP ; script. suhosin.log.phpscript = 511 ; Defines the full path to a external logging script. The script is called with ; 2 parameters. The first one is the alert class in string notation and the ; second parameter is the log message. This can be used for example to mail ; failing MySQL queries to your email address, because on a production system ; these things should never happen. suhosin.log.script.name = ; Defines the full path to a PHP logging script. The script is called with 2 ; variables registered in the current scope: SUHOSIN_ERRORCLASS and ; SUHOSIN_ERROR. The first one is the alert class and the second variable is ; the log message. This can be used for example to mail attempted remote URL ; include attacks to your email address. suhosin.log.phpscript.name = ; Undocumented suhosin.log.phpscript.is_safe = Off ; When the Hardening-Patch logs an error the log message also contains the IP ; of the attacker. Usually this IP is retrieved from the REMOTE_ADDR SAPI ; environment variable. With this switch it is possible to change this behavior ; to read the IP from the X-Forwarded-For HTTP header. This is f.e. necessary ; when your PHP server runs behind a reverse proxy. suhosin.log.use-x-forwarded-for = On ; ----------------------------------------------------------------------------- ; Executor Options ; Defines the maximum stack depth allowed by the executor before it stops the ; script. Without this function an endless recursion in a PHP script could ; crash the PHP executor or trigger the configured memory_limit. A value of ; "0" disables this feature. suhosin.executor.max_depth = 5 ; Defines how many "../" an include filename needs to contain to be considered ; an attack and stopped. A value of "2" will block "../../etc/passwd", while a ; value of "3" will allow it. Most PHP applications should work flawlessly with ; values "4" or "5". A value of "0" disables this feature. suhosin.executor.include.max_traversal = 2 ; Comma separated whitelist of URL schemes that are allowed to be included from ; include or require statements. Additionally to URL schemes it is possible to ; specify the beginning of allowed URLs. (f.e.: php://stdin) If no whitelist is ; specified, then the blacklist is evaluated. suhosin.executor.include.whitelist = ; Comma separated blacklist of URL schemes that are not allowed to be included ; from include or require statements. Additionally to URL schemes it is ; possible to specify the beginning of allowed URLs. (f.e.: php://stdin) If no ; blacklist and no whitelist is specified all URL schemes are forbidden. suhosin.executor.include.blacklist = ; Comma separated whitelist of functions that are allowed to be called. If the ; whitelist is empty the blacklist is evaluated, otherwise calling a function ; not in the whitelist will terminate the script and get logged. suhosin.executor.func.whitelist = ; Comma separated blacklist of functions that are not allowed to be called. If ; no whitelist is given, calling a function within the blacklist will terminate ; the script and get logged. suhosin.executor.func.blacklist = ; Comma separated whitelist of functions that are allowed to be called from ; within eval(). If the whitelist is empty the blacklist is evaluated, ; otherwise calling a function not in the whitelist will terminate the script ; and get logged. suhosin.executor.eval.whitelist = ; Comma separated blacklist of functions that are not allowed to be called from ; within eval(). If no whitelist is given, calling a function within the ; blacklist will terminate the script and get logged. suhosin.executor.eval.blacklist = ; eval() is a very dangerous statement and therefore you might want to disable ; it completely. Deactivating it will however break lots of scripts. Because ; every violation is logged, this allows finding all places where eval() is ; used. suhosin.executor.disable_eval = Off ; The /e modifier inside preg_replace() allows code execution. Often it is the ; cause for remote code execution exploits. It is wise to deactivate this ; feature and test where in the application it is used. The developer using the ; /e modifier should be made aware that he should use preg_replace_callback() ; instead. suhosin.executor.disable_emodifier = Off ; This flag reactivates symlink() when open_basedir is used, which is disabled ; by default in Suhosin >= 0.9.6. Allowing symlink() while open_basedir is used ; is actually a security risk. suhosin.executor.allow_symlink = Off ; ----------------------------------------------------------------------------- ; Misc Options ; If you fear that Suhosin breaks your application, you can activate Suhosin's ; simulation mode with this flag. When Suhosin runs in simulation mode, ; violations are logged as usual, but nothing is blocked or removed from the ; request. (Transparent Encryptions are NOT deactivated in simulation mode.) suhosin.simulation = Off ; APC 3.0.12(p1/p2) uses reserved resources without requesting a resource slot ; first. It always uses resource slot 0. If Suhosin got this slot assigned APC ; will overwrite the information Suhosin stores in this slot. When this flag is ; set Suhosin will request 2 Slots and use the second one. This allows working ; correctly with these buggy APC versions. suhosin.apc_bug_workaround = Off ; When a SQL Query fails scripts often spit out a bunch of useful information ; for possible attackers. When this configuration directive is turned on, the ; script will silently terminate, after the problem has been logged. (This is ; not yet supported) suhosin.sql.bailout_on_error = Off ; This is an experimental feature for shared environments. With this ; configuration option it is possible to specify a prefix that is automatically ; prepended to the database username, whenever a database connection is made. ; (Unless the username starts with the prefix) suhosin.sql.user_prefix = ; This is an experimental feature for shared environments. With this ; configuration option it is possible to specify a postfix that is ; automatically appended to the database username, whenever a database ; connection is made. (Unless the username end with the postfix) ; ; With this feature it is possible for shared hosters to disallow customers to ; connect with the usernames of other customers. This feature is experimental, ; because support for PDO and PostgreSQL are not yet implemented. suhosin.sql.user_postfix = ; This directive controls if multiple headers are allowed or not in a header() ; call. By default the Hardening-Patch forbids this. (HTTP headers spanning ; multiple lines are still allowed). suhosin.multiheader = Off ; This directive controls if the mail() header protection is activated or not ; and to what degree it is activated. The appended table lists the possible ; activation levels. suhosin.mail.protect = 1 ; As long scripts are not running within safe_mode they are free to change the ; memory_limit to whatever value they want. Suhosin changes this fact and ; disallows setting the memory_limit to a value greater than the one the script ; started with, when this option is left at 0. A value greater than 0 means ; that Suhosin will disallows scripts setting the memory_limit to a value above ; this configured hard limit. This is for example usefull if you want to run ; the script normaly with a limit of 16M but image processing scripts may raise ; it to 20M. suhosin.memory_limit = 0 ; ----------------------------------------------------------------------------- ; Transparent Encryption Options ; Flag that decides if the transparent session encryption is activated or not. suhosin.session.encrypt = On ; Session data can be encrypted transparently. The encryption key used consists ; of this user defined string (which can be altered by a script via ini_set()) ; and optionally the User-Agent, the Document-Root and 0-4 Octects of the ; REMOTE_ADDR. suhosin.session.cryptkey = ; Flag that decides if the transparent session encryption key depends on the ; User-Agent field. (When activated this feature transparently adds a little ; bit protection against session fixation/hijacking attacks) suhosin.session.cryptua = On ; Flag that decides if the transparent session encryption key depends on the ; Documentroot field. suhosin.session.cryptdocroot = On ; Number of octets (0-4) from the REMOTE_ADDR that the transparent session ; encryption key depends on. Keep in mind that this should not be used on sites ; that have visitors from big ISPs, because their IP address often changes ; during a session. But this feature might be interesting for admin interfaces ; or intranets. When used wisely this is a transparent protection against ; session hijacking/fixation. suhosin.session.cryptraddr = 0 ; Number of octets (0-4) from the REMOTE_ADDR that have to match to decrypt the ; session. The difference to suhosin.session.cryptaddr is, that the IP is not ; part of the encryption key, so that the same session can be used for ; different areas with different protection levels on the site. suhosin.session.checkraddr = 0 ; Flag that decides if the transparent cookie encryption is activated or not. suhosin.cookie.encrypt = 0 ; Cookies can be encrypted transparently. The encryption key used consists of ; this user defined string and optionally the User-Agent, the Document-Root and ; 0-4 Octects of the REMOTE_ADDR. suhosin.cookie.cryptkey = ; Flag that decides if the transparent session encryption key depends on the ; User-Agent field. (When activated this feature transparently adds a little ; bit protection against session fixation/hijacking attacks (if only session ; cookies are allowed)) suhosin.cookie.cryptua = On ; Flag that decides if the transparent cookie encryption key depends on the ; Documentroot field. suhosin.cookie.cryptdocroot = On ; Number of octets (0-4) from the REMOTE_ADDR that the transparent cookie ; encryption key depends on. Keep in mind that this should not be used on sites ; that have visitors from big ISPs, because their IP address often changes ; during a session. But this feature might be interesting for admin interfaces ; or intranets. When used wisely this is a transparent protection against ; session hijacking/fixation. suhosin.cookie.cryptraddr = 0 ; Number of octets (0-4) from the REMOTE_ADDR that have to match to decrypt the ; cookie. The difference to suhosin.cookie.cryptaddr is, that the IP is not ; part of the encryption key, so that the same cookie can be used for different ; areas with different protection levels on the site. suhosin.cookie.checkraddr = 0 ; In case not all cookies are supposed to get encrypted this is a comma ; separated list of cookie names that should get encrypted. All other cookies ; will not get touched. suhosin.cookie.cryptlist = ; In case some cookies should not be crypted this is a comma separated list of ; cookies that do not get encrypted. All other cookies will be encrypted. suhosin.cookie.plainlist = ; ----------------------------------------------------------------------------- ; Filtering Options ; Defines the reaction of Suhosin on a filter violation. suhosin.filter.action = http://www.disney.com ; Defines the maximum depth an array variable may have, when registered through ; the COOKIE. suhosin.cookie.max_array_depth = 100 ; Defines the maximum length of array indices for variables registered through ; the COOKIE. suhosin.cookie.max_array_index_length = 64 ; Defines the maximum length of variable names for variables registered through ; the COOKIE. For array variables this is the name in front of the indices. suhosin.cookie.max_name_length = 64 ; Defines the maximum length of the total variable name when registered through ; the COOKIE. For array variables this includes all indices. suhosin.cookie.max_totalname_length = 256 ; Defines the maximum length of a variable that is registered through the ; COOKIE. suhosin.cookie.max_value_length = 10000 ; Defines the maximum number of variables that may be registered through the ; COOKIE. suhosin.cookie.max_vars = 100 ; When set to On ASCIIZ chars are not allowed in variables. suhosin.cookie.disallow_nul = 1 ; Defines the maximum depth an array variable may have, when registered through ; the URL suhosin.get.max_array_depth = 50 ; Defines the maximum length of array indices for variables registered through ; the URL suhosin.get.max_array_index_length = 64 ; Defines the maximum length of variable names for variables registered through ; the URL. For array variables this is the name in front of the indices. suhosin.get.max_name_length = 64 ; Defines the maximum length of the total variable name when registered through ; the URL. For array variables this includes all indices. suhosin.get.max_totalname_length = 256 ; Defines the maximum length of a variable that is registered through the URL. suhosin.get.max_value_length = 512 ; Defines the maximum number of variables that may be registered through the ; URL. suhosin.get.max_vars = 100 ; When set to On ASCIIZ chars are not allowed in variables. suhosin.get.disallow_nul = 1 ; Defines the maximum depth an array variable may have, when registered through ; a POST request. suhosin.post.max_array_depth = 50 ; Defines the maximum length of array indices for variables registered through ; a POST request. suhosin.post.max_array_index_length = 64 ; Defines the maximum length of variable names for variables registered through ; a POST request. For array variables this is the name in front of the indices. suhosin.post.max_name_length = 64 ; Defines the maximum length of the total variable name when registered through ; a POST request. For array variables this includes all indices. suhosin.post.max_totalname_length = 256 ; Defines the maximum length of a variable that is registered through a POST ; request. suhosin.post.max_value_length = 65000 ; Defines the maximum number of variables that may be registered through a POST ; request. suhosin.post.max_vars = 200 ; When set to On ASCIIZ chars are not allowed in variables. suhosin.post.disallow_nul = 1 ; Defines the maximum depth an array variable may have, when registered through ; GET , POST or COOKIE. This setting is also an upper limit for the separate ; GET, POST, COOKIE configuration directives. suhosin.request.max_array_depth = 50 ; Defines the maximum length of array indices for variables registered through ; GET, POST or COOKIE. This setting is also an upper limit for the separate ; GET, POST, COOKIE configuration directives. suhosin.request.max_array_index_length = 64 ; Defines the maximum length of variable names for variables registered through ; the COOKIE, the URL or through a POST request. This is the complete name ; string, including all indicies. This setting is also an upper limit for the ; separate GET, POST, COOKIE configuration directives. suhosin.request.max_totalname_length = 256 ; Defines the maximum length of a variable that is registered through the ; COOKIE, the URL or through a POST request. This setting is also an upper ; limit for the variable origin specific configuration directives. suhosin.request.max_value_length = 65000 ; Defines the maximum number of variables that may be registered through the ; COOKIE, the URL or through a POST request. This setting is also an upper ; limit for the variable origin specific configuration directives. suhosin.request.max_vars = 200 ; Defines the maximum name length (excluding possible array indicies) of ; variables that may be registered through the COOKIE, the URL or through a ; POST request. This setting is also an upper limit for the variable origin ; specific configuration directives. suhosin.request.max_varname_length = 64 ; When set to On ASCIIZ chars are not allowed in variables. suhosin.request.disallow_nul = 1 ; Defines the maximum number of files that may be uploaded with one request. suhosin.upload.max_uploads = 25 ; When set to On it is not possible to upload ELF executables. suhosin.upload.disallow_elf = 1 ; When set to On it is not possible to upload binary files. suhosin.upload.disallow_binary = 0 ; When set to On binary content is removed from the uploaded files. suhosin.upload.remove_binary = 0 ; This defines the full path to a verification script for uploaded files. The ; script gets the temporary filename supplied and has to decide if the upload ; is allowed. A possible application for this is to scan uploaded files for ; viruses. The called script has to write a 1 as first line to standard output ; to allow the upload. Any other value or no output at all will result in the ; file being deleted. suhosin.upload.verification_script = ; Specifies the maximum length of the session identifier that is allowed. When ; a longer session identifier is passed a new session identifier will be ; created. This feature is important to fight bufferoverflows in 3rd party ; session handlers. suhosin.session.max_id_length = 128 ; Undocumented: Controls if suhosin coredumps when the optional suhosin patch ; detects a bufferoverflow, memory corruption or double free. This is only ; for debugging purposes and should not be activated. suhosin.coredump = Off ; Undocumented: Controls if the encryption keys specified by the configuration ; are shown in the phpinfo() output or if they are hidden from it suhosin.protectkey = 1 ; Controls if suhosin loads in stealth mode when it is not the only ; zend_extension (Required for full compatibility with certain encoders ; that consider open source untrusted. e.g. ionCube, Zend) suhosin.stealth = 1 ; Controls if suhosin's ini directives are changeable per directory ; because the admin might want to allow some features to be controlable ; by .htaccess and some not. For example the logging capabilities can ; break safemode and open_basedir restrictions when .htaccess support is ; allowed and the admin forgot to fix their values in httpd.conf ; An empty value or a 0 will result in all directives not allowed in ; .htaccess. The string "legcprsum" will allow logging, execution, get, ; post, cookie, request, sql, upload, misc features in .htaccess suhosin.perdir = "0"
• what u thing in these setting it is correct?
• should i use values like : ( 511 , 9 , 2 , 1 , 5 , 0 ... ) or Constants like ( S_ALL , S_MAIL , S_MEMORY , S_SQL ... ) ?
• sould i install Suhosin Extension 0.9.20 ?
• How i can know that suhosin work and protect my php?
I just installed suhosin to setup some limits on one of my servers, everything works well. however, user can still remove these limits by adding php_value in .htaccess, which is not so good.
I have just ran easyapache to update from 5.2.4 to 5.2.5 and selected suhosin.
I can see no evidence of it by viewing phpinfo scripts such as vbulletin's.
i should be able to see something like this yes? [url]
and there is nothing new in php.ini other than:
Directory in which the loadable extensions (modules) reside. extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613" zend_extension="/usr/local/IonCube/ioncube_loader_lin_5.2.so" zend_extension_ts="/usr/local/IonCube/ioncube_loader_lin_5.2_ts.so" extension="suhosin.so"
Via SSH i get this
# php -v PHP 5.2.5 (cli) (built: Apr 26 2008 06:45:31) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies with the ionCube PHP Loader v3.1.32, Copyright (c) 2002-2007, by ionCube Ltd., and with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies with Suhosin v0.9.23, Copyright (c) 2007, by SektionEins GmbH with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
# /usr/bin/php -v PHP 5.2.5 (cgi) (built: Apr 26 2008 06:49:11) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies with the ionCube PHP Loader v3.1.32, Copyright (c) 2002-2007, by ionCube Ltd., and with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies with Suhosin v0.9.23, Copyright (c) 2007, by SektionEins GmbH with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
Im considering Suhosin, in fact i am using it in other plain server were i have 1 or 2 sites. But this is a very high traffic with 300 + sites, lot of sites are using cms apps..
For the last several days on one of our dedicated servers, a AMD 3000+ 2GB RAM 2x80GB HDD 5TB traffic installed with CentOS 5.3 64-bit w/a GNU Linux kernel-2.6.18-128.1.10.el5, we use as a 'backup' to our master, we've been having resolver issues. If we attempt to ping, dig or nslookup ANY hostname, we get "unknown host domainexample.com". We can, however, ping IP addresses, including the external one for the server. (Pinging the server from another, not connected to the network returns 0% packet loss.)
Our package managers can't resolve hostnames, either. For instance, when we try to run yum, we get:
"Could not retrieve reponamehere [url] [Errno 4] IOError: <urlopen error (-2, 'Name or service not known')> Error: Cannot find a valid baseurl for repo: reponamehere"
We've already tried disabling several repos and it should be noted that when we use "wget" or "git" or any other package installer, we have the same resolving issues.
Our "/etc/resolv.conf" contains nameservers for the major upstream DC to our provider, which gave us permission to use them. We've tried two sets from them as well as those from our provider and from a DNS service provider. None have worked. (BTW, We have two servers with this provider and the other one is fine; the provider, though this is an unmanaged sever, is attempting to be very helpful and responsive. No problems there.)
We've tried rebooting the server and flushing IPtables as well as stopping it altogether. (Thankfully, we've set our DNS, SQL and httpd servers to run on boot) Nothing seems to resolve the issue (no pun intended).
However, we think this problem may have to do with having installed Suhosin on the server this past weekend since it seems to have started shortly after that but we're not sure. We are getting the following errors in from our httpd logs, though:
[Fri Jun 19 12:52:25 2009] [notice] Graceful restart requested, doing restart [Fri Jun 19 12:52:25 2009] [error] (9)Bad file descriptor: apr_socket_accept: (client socket) [Fri Jun 19 12:52:26 2009] [notice] Digest: generating secret for digest authentication ... [Fri Jun 19 12:52:26 2009] [notice] Digest: done PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/suhosin.so' - /usr/lib64/php/modules/suhosin.so: undefined symbol: php_rfc1867_callback in Unknown on line 0 [Fri Jun 19 12:52:26 2009] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads. [Fri Jun 19 12:52:27 2009] [notice] Apache configured -- resuming normal operations
When we ran 'tcpdump', all it returned was the IP address for the server connected on several ports via SSH. Running 'netstat -an' shows the server's IP address, again connected on different ports, and the localhost address connected on a few. No other IP addresses--and we have about 10--are showing as connected.
Anyway, this is all we've been able to figure out. Anyone had this problem and solved it successfully?
My server ban me sometimes, while I am surfing on one of my websites(mostly Drupal, Joomla, Wordpress). Sometimes it happens with first visit sometimes later. I couldnt find the reason. Sometimes I cannot either create a ssh connection after ban. But ping answered after ban.
Which path/logs should I analize to find it? I tried with grep but couldnt find:
I installed suhosin successfully but most images in the website is not working it show red X box
this is the suhosin list from php info
This program makes use of the Zend Scripting Language Engine: Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with the ionCube PHP Loader v3.1.32, Copyright (c) 2002-2007, by ionCube Ltd., and with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies with Suhosin v0.9.18, Copyright (c) 2002-2006, by Hardened-PHP Project with Zend Optimizer v3.2.2, Copyright (c) 1998-2006, by Zend Technologies
suhosin This server is protected with the Suhosin Extension 0.9.18
Copyright (c) 2006 Hardened-PHP Project
Directive Local Value Master Value suhosin.apc_bug_workaround Off Off suhosin.cookie.checkraddr 0 0 suhosin.cookie.cryptdocroot On On suhosin.cookie.cryptkey [ protected ] [ protected ] suhosin.cookie.cryptlist no value no value suhosin.cookie.cryptraddr 0 0 suhosin.cookie.cryptua On On suhosin.cookie.disallow_nul 1 1 suhosin.cookie.encrypt Off Off suhosin.cookie.max_array_depth 100 100 suhosin.cookie.max_array_index_length 64 64 suhosin.cookie.max_name_length 64 64 suhosin.cookie.max_totalname_length 256 256 suhosin.cookie.max_value_length 10000 10000 suhosin.cookie.max_vars 100 100 suhosin.cookie.plainlist no value no value suhosin.coredump Off Off suhosin.executor.allow_symlink Off Off suhosin.executor.disable_emodifier Off Off suhosin.executor.disable_eval Off Off suhosin.executor.eval.blacklist no value no value suhosin.executor.eval.whitelist no value no value suhosin.executor.func.blacklist no value no value suhosin.executor.func.whitelist no value no value suhosin.executor.include.blacklist no value no value suhosin.executor.include.max_traversal 0 0 suhosin.executor.include.whitelist no value no value suhosin.executor.max_depth 0 0 suhosin.filter.action no value no value suhosin.get.disallow_nul 1 1 suhosin.get.max_array_depth 50 50 suhosin.get.max_array_index_length 64 64 suhosin.get.max_name_length 64 64 suhosin.get.max_totalname_length 256 256 suhosin.get.max_value_length 512 512 suhosin.get.max_vars 100 100 suhosin.log.file 0 0 suhosin.log.file.name no value no value suhosin.log.phpscript 0 0 suhosin.log.phpscript.is_safe Off Off suhosin.log.phpscript.name no value no value suhosin.log.sapi 0 0 suhosin.log.script 0 0 suhosin.log.script.name no value no value suhosin.log.syslog no value no value suhosin.log.syslog.facility no value no value suhosin.log.syslog.priority no value no value suhosin.log.use-x-forwarded-for Off Off suhosin.mail.protect 0 0 suhosin.memory_limit 0 0 suhosin.multiheader Off Off suhosin.post.disallow_nul 1 1 suhosin.post.max_array_depth 100 100 suhosin.post.max_array_index_length 64 64 suhosin.post.max_name_length 64 64 suhosin.post.max_totalname_length 256 256 suhosin.post.max_value_length 65000 65000 suhosin.post.max_vars 200 200 suhosin.protectkey On On suhosin.request.disallow_nul 1 1 suhosin.request.max_array_depth 100 100 suhosin.request.max_array_index_length 64 64 suhosin.request.max_totalname_length 256 256 suhosin.request.max_value_length 65000 65000 suhosin.request.max_varname_length 64 64 suhosin.request.max_vars 200 200 suhosin.session.checkraddr 0 0 suhosin.session.cryptdocroot On On suhosin.session.cryptkey [ protected ] [ protected ] suhosin.session.cryptraddr 0 0 suhosin.session.cryptua On On suhosin.session.encrypt On On suhosin.session.max_id_length 128 128 suhosin.simulation Off Off suhosin.sql.bailout_on_error Off Off suhosin.sql.comment 0 0 suhosin.sql.multiselect 0 0 suhosin.sql.opencomment 0 0 suhosin.sql.union 0 0 suhosin.sql.user_postfix no value no value suhosin.sql.user_prefix no value no value suhosin.stealth On On suhosin.upload.disallow_binary 0 0 suhosin.upload.disallow_elf 1 1 suhosin.upload.max_uploads 25 25 suhosin.upload.remove_binary 0 0 suhosin.upload.verification_script no value no value
i have Suhosin installed on my server now some of my sites are facing problem i.e forums like ipb , vbulliten ,phpbb3 with the images on the forum are not displaying properly..
So is this problem related to the values of these two fields present in Suhosin
some Chinese forums hotlinking images from my site and I even delete those images they keep sending me huge amount of http requests to my hosting server and eating 800mb of memory and upto 1GB cause server crash
I tried to block incoming referrer traffic from those sites using htaccess but it didn't work , I still see their http request on my server logs and memory keep goes high , am not sure my code is the right
how can I block these http request from these domains , what is the right htaccess code , I use DirectAdmin panel by the way
I'm currently experiencing a lot of IP's starting with 200 and 201 (from Brazil) some IP’s have over 200 connections. I have APF installed and want to know how to block a block on ip's if this is possible. IPS: 200.11.******* 201.*******