linux系统下如何加固你的nginx和php

linux系统相对比windows安全,但是有些程序上的不安全行为。不管你是什么系统,一样也会存在危险因素,在这里,我们总结出了linux系统下的一些常见排除木马和加固系统安全性的方法。

1、改变目录和文件属性,禁止写入

find -type f -name *.php -exec chmod 444 {} ;

find -type d -exec chmod 555 {} ;

注:当然要排除上传目录、缓存目录等;

同时最好禁止chmod函数,攻击者可通过chmod来修改文件只读属性再修改文件

2、php的危险配置

禁用一些危险的php函数,例如:

passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,

ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,popen,dl,

syslog,show_source

3、nginx安全方面的配置

限制一些目录执行php文件

location~^/images/.*.(php|php5)$

{

denyall;

}

location~^/static/.*.(php|php5)$

{

denyall;

}

location~*^/data/(attachment|avatar)/.*.(php|php5)$

{

denyall;

}

注:这些目录的限制必须写在

location~.*.(php|php5)$

{

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fcgi.conf;

}

的前面,否则限制不生效!

path_info漏洞修正:

在通用fcgi.conf顶部加入

if ($request_filename ~* (.*).php) {

set $php_url $1;

}

if (!-e $php_url.php) {

return 404;

}

4、linux系统下查找php的相关木马

php木马一般含有或者

find /data/wwwroot/* -type f -name "*.php" |xargs grep "eval(" > /root/scan.txt

另外也有上传任意文件的后门,可以用上面的方法查找所有包括"move_uploaded_file"的文件.

还有常见的一句话后门:

grep -r --include=*.php '[^a-z]eval($_POST' . > grep.txt

grep -r --include=*.php 'file_put_contents(.*$_POST[.*]);' . > grep.txt

把搜索结果写入文件,下载下来慢慢分析,其他特征木马、后门类似。有必要的话可对全站所有文件来一次特征查找,上传图片肯定有也捆绑的,来次大清洗。

5、查找近3天被修改过的文件:

find /data/www -mtime -3 -type f -name *.php

注意:攻击者可能会通过touch函数来修改文件时间属性来避过这种查找,所以touch必须禁止

6、查找所有图片文件

查找所有图片文件gif,jpg.有些图片内容里被添加了php后门脚本.有些实际是一个php文件,将扩展名改成了gif了.正常查看的情况下也可以看到显示的图片内容的.这一点很难发现.

(0)

相关推荐

  • Linux系统下使用mail发送Internet邮件的配置方法

    用惯了windows系统的用户可能一开始对linux系统掌握不好,很多功能可能用起来不是很习惯。本文就介绍了linux系统的一个小应用:在Linux系统下使用mail发送Internet邮件。不过在介 ...

  • Linux系统下添加新硬盘,分区,格式化相关步骤

    预备知识 在我们添加硬盘前,首先要了解linux系统下对硬盘和分区的命名方法。 在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb。依此类推 我们一般主板上有两个ID ...

  • Linux系统下修改环境变量PATH路径的三种方法

    电脑中必不可少的就是操作系统。而Linux的发展非常迅速,有赶超微软的趋势。这里介绍Linux的知识,让你学好应用Linux系统。比如要把/etc/apache/bin目录添加到PATH中,方法有三: ...

  • Linux系统下添加硬盘+分区+格式化详解

    在我们添加硬盘前,首先要了解linux系统下对硬盘和分区的命名方法。在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb。依此类推我们一般主板上有两个IDE接口,一共可 ...

  • Linux系统下安装Intel千兆网卡驱动

    在Intel网站直接下载的Linux驱动是e1000-5.2.52.tar.gz(版本可能会有改变),这个压缩包里面没有编译好的.o的文件,需要在Linux系统下编译之后才能使用, 因为网卡需要编译, ...

  • Linux系统下动态库的生成

    什么是动态库? 动态库又称动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种 ...

  • Linux系统下使用ctags查找源码的方法

    太多的文件导致我们无法去定位一个函数的实现或者一个宏定义的位置。显然对于源码的阅读和个人的学习都是非常不利的。多么希望有一个软件能够输入命令就能够精确的定位函数的位置。是的,现在有这么一个工具:cta ...

  • 如何在LINUX系统下修改debian wheezy默认配置的方法

    debian wheezy修改默认配置 环境:Thinkpad T420s + Debian Wheezy 1,thinkpad禁用触摸板(反正我是一直不习惯用触摸板)在 /etc/profile 配 ...

  • Linux系统下禁止非WHEEL用户使用SU命命的两种实现方法

    通常情况下,一般用户通过执行“su -”命令、输入正确的root密码,可以登录为root用户来对系统进行管理员级别的配置。 但是,为了更进一步加强系统的安全性,有必要建立一个管理员的 组,只允许这个组 ...