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

检查apache日志文件:

#tail-f /var/log/httpd/error_log
# grep 'login.php' /var/log/httpd/error_log
#egrep-i "denied|error|warn" /var/log/httpd/error_log

检查php日志文件:

# tail -f /var/log/httpd/php_scripts_error.log
# grep "...etc/passwd" /var/log/httpd/php_scripts_error.log

日志文件让你对于服务器遭到什么攻击有所了解,并让你可以检查必要的安全级别有没有落实到位。提供了用于系统审查的auditd服务。启用该服务,就可以审查SELinux事件、验证事件、文件修改和帐户修改等。我还建议使用标准的Linux系统监测工具(http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html),用于监测你的Web服务器。

第25个设置项:按照系统或虚拟机实例来运行服务

对于安装的大型系统来说,建议你借助不同的服务器运行数据库、静态内容和动态内容。

图1:在不同的服务器上运行服务

在不同的服务器或虚拟机实例上运行不同的网络服务。这限制了可能受到危及的其他服务的数量。比如说,如果攻击者成功地利用了Apache flow等软件的漏洞,就能访问整个服务器,包括在同一台服务器上运行的其他服务(比如MySQL和电子邮件服务等)。但是在上述例子中,按以下方式提供不同内容:

static.lan.cyberciti.biz:使用lighttpd或nginx服务器,用于提供js/css/images等静态资产。

phpcgi1.lan.cyberciti.biz和phpcgi2.lan.cyberciti.biz:Apache web服务器,php用于生成动态内容。

mysql1.lan.cyberciti.biz:MySQL数据库服务器。

mcache1.lan.cyberciti.biz:Memcached服务器是用于MySQL的速度非常快的缓存系统。它使用libevent或epoll(Linux运行时环境),可以扩展至任何数量的打开的连接,并使用非阻塞的网络输入/输出。

LB01:放在Apache Web服务器前面的nginx Web服务器和反向代理服务器。 从互联网进入到其中一台Web服务器的所有连接均通过nginx代理服务器来传送,该代理服务器可以本身处理请求,也可以将请求全部或部分传送到主Web服务器。LB01提供了简单的负载均衡机制。

第26个设置项:其他工具

来自PHPIDS项目网页(https://phpids.org/):

PHPIDS(PHP入侵检测系统)是面向基于PHP的web应用程序的安全层,具有使用简单、结构良好、运行快捷、技术先进等优点。IDS无法清除、净化或过滤任何恶意输入内容,仅仅识别攻击者何时企图闯入你的网站,安全按照你希望它采取的措施来采取相应措施。

你可以使用PHPIDS来检测恶意用户,并记录检测出来的任何攻击,方便以后分析。请注意:我个人没有用过这款工具。

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

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