Linux下PHP+Apache的26个必知的安全设置(7)

确保在/var/www/html/下,所有目录权限设成了0445:

#find/var/www/html/ -type d -print0 |xargs-0 -I {} chmod 0445 {}

关于设置合适文件权限的补充

chown和chmod命令确保:不管在什么情况下,文件根目录或文件根目录里面的文件都可以被Web服务器用户apache写入。请注意:你需要设置对你网站的开发模型最合理的权限,所以可以根据自身需要,随意调整chown和chmod命令。在这个示例中,Apache服务器以apache用户的身份来运行。这可以在你的httpd.conf文件中用User和Group命令来配置。apache用户需要对文件根目录下的所有内容享有读取访问权,但是不应该享有写入访问权。

确保httpd.conf有以下命令,实现限制性配置:

Options None

AllowOverride None

Order allow,deny

你只要在需要时才应该授予写入访问权。WordPress等一些Web应用程序及其他应用程序可能需要缓存目录。你可以使用以下命令,授予写入到缓冲目录的访问权:

# chmod a+w/var/www/html/blog/wp-content/cache

### block access to all ###

#echo'deny from all' > /var/www/html/blog/wp-content/cache/.htaccess

第19个设置项:写保护Apache、PHP和MySQL配置文件

使用chattr命令来写保护配置文件:

# chattr +i /etc/php.ini
# chattr +i /etc/php.d/*
# chattr +i /etc/my.ini
# chattr +i /etc/httpd/conf/httpd.conf
# chattr +i /etc/chattr

命令还可以写保护/var/www/html目录中的一个php文件或多个文件:

# chattr +i /var/www/html/file1.php
# chattr +i /var/www/html/

第20个设置项:使用Linux安全加载模块(如SELinux)

Linux自带各种安全补丁,可以用来防护配置不当或受到危及的服务器程序。可能的话,使用SELinux及其他Linux安全加载模块,对网络及其他程序实行限制。比如说,SELinux为Linux内核和Apache Web服务器提供了众多安全策略。要列出所有的Apache SELinux保护变量,请输入:

# getsebool -a | grep httpd

示例输出:

allow_httpd_anon_write --> off
allow_httpd_mod_auth_ntlm_winbind --> off
allow_httpd_mod_auth_pam --> off
allow_httpd_sys_script_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off
httpd_can_sendmail --> off
httpd_dbus_avahi --> on
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> off
httpd_execmem --> off
httpd_read_user_content --> off
httpd_setrlimit --> off
httpd_ssi_exec --> off
httpd_tmp_exec --> off
httpd_tty_comm --> on
httpd_unified --> on
httpd_use_cifs --> off
httpd_use_gpg --> off
httpd_use_nfs --> off
      

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/5093.html