Article Title: effective defense against PHP Trojan attacks. Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, embedded systems, and open source.
1. Prevent jumping out of the web directory
First, modify httpd. conf. If you only allow Your php script program to operate in the web directory, you can also modify the httpd. conf file to limit the php operation path. For example, if your web directory is/usr/local/apache/htdocs, add the following lines in httpd. conf:
Php_admin_value open_basedir/usr/local/apache
/Htdocs
In this way, files other than/usr/local/apache/htdocs to be read by the script will not be allowed. If the error is displayed, the following error will be prompted:
Warning: open_basedir restriction in effect. File is in wrong directory in
/Usr/local/apache/htdocs/open. php on line 4
And so on.
2. Prevent php trojans from executing webshell
Enable safe_mode,
Set in, php. ini
Disable_functions = passthru, exec, shell_exec, system
Select either of them.
3. Prevent php trojans from reading and writing file directories
In php. ini
Disable_functions = passthru, exec, shell_exec, system
Add the php file processing function.
Mainly include
Fopen, mkdir, rmdir, chmod, unlink, dir
Fopen, fread, fclose, fwrite, file_exists
Closedir, is_dir, readdir. opendir
Fileperms. copy, unlink, delfile
Become
Disable_functions = passthru, exec, shell_exec, system, fopen, mkdir, rmdir, chmod, unlink, dir
, Fopen, fread, fclose, fwrite, file_exists
, Closedir, is_dir, readdir. opendir
, Fileperms. copy, unlink, delfile
Okay, it's done. We have no choice but to use the php Trojan. Unfortunately, those things that use the text database won't work anymore.
If apache is built on the windos platform, we still need to note that apache runs the system permission by default, which is terrible, which makes people feel uncomfortable. let's drop apache permissions.
Net user apache fuckmicrosoft/add
Net localgroup users apache/del
OK. We have created a user apche that does not belong to any group.
Open the computer manager, select a service, click the apache service attribute, Select log on, select this account, fill in the account and password created above, restart the apache service, OK, apache runs under low permissions.
In fact, we can also set the permissions for each folder so that apache users can only execute what we want it to do, and create a single read/write user for each directory. This is also a popular configuration method for many VM providers. However, this method is used to prevent minor usage.