打开php.ini,查找disable_functions,按如下设置禁用一些函数

disable_functions =phpinfo,exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

Nginx为例
1、为防止跨站感染,要做虚拟主机目录隔离(我是直接利用fpm建立多个程序池达到隔离效果)
2、上传目录、include类的库文件目录要禁止代码执行(Nginx正则过滤)
3、path_info漏洞修正:
if ($request_filename ~* (.*)\.php) {
set $php_url $1;
}
if (!-e $php_url.php) {
return 404;
}
4、重新编译Web Server,隐藏Server信息。
5、打开相关级别的日志,追踪可疑请求,请求者IP等相关信息。

改变目录和文件属性,禁止写入
find -type f -name \*.php -exec chmod 444 {} \;
find -type d -exec chmod 555 {} \;
注:当然要排除上传目录、缓存目录等;
同时最好禁止chmod函数,攻击者可通过chmod来修改文件只读属性再修改文件!

PHP配置
禁用危险函数:
dl,eval,exec,passthru,system,popen,shell_exec,proc_open,proc_terminate,curl_exec,curl_multi_exec,show_source,touch,escapeshellcmd,escapeshellarg

MySQL账号安全:
禁止mysql用户外部链接,程序不要使用root账号,最好单独建立一个有限权限的账号专门用于Web程序。

查杀木马、后门
常见的一句话后门:
grep -r –include=*.php  ‘[^a-z]eval($_POST’ . > grep.txt
grep -r –include=*.php  ‘file_put_contents(.*$_POST\[.*\]);’ . > grep.txt
把搜索结果写入文件,下载下来慢慢分析,其他特征木马、后门类似。有必要的话可对全站所有文件来一次特征查找,上传图片肯定有也捆绑的,来次大清洗。

查找近2天被修改过的文件:
find -mtime -2 -type f -name \*.php
注意:攻击者可能会通过touch函数来修改文件时间属性来避过这种查找,所以touch必须禁止

最后要及时补上Web程序漏洞

总结
木马、后门查杀是个漫长的过程,网站一旦被入侵任何旮旯拐角都可能留下后门。中途可能和攻击者进行神交,摸清攻击者的性格、习性等,这些都有利于查杀。

php 安全设置总结。相关推荐

  1. Kubernetes 中 设置pod不部署在同一台节点上

    在k8s中,节点的调度主要由亲和性和污点来进行控制的.   而在亲和性部分由分为了节点亲和性和节点反亲和性.   节点亲和性是指在pod部署时,尽量(软策略)或者必须满足(硬策略)部署在某些节点上. ...

  2. 在Dockerfile中设置G1垃圾回收器参数

    在Dockerfile中设置G1垃圾回收器参数 ENV JAVA_OPTS="\ -server \ -XX:SurvivorRatio=8 \ -XX:+DisableExplicitGC ...

  3. nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问

    nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...

  4. Not injecting HSTS header since it did not match the requestMatcher HSTS设置问题解决

    HSTS请求设置 错误描述:在使用文件上传功能时,form表单提交带有header数据的请求时遇到这个问题,报错如下: Not injecting HSTS header since it did n ...

  5. springboot设置文件上传大小(tomcat默认1M)

    application.yml # 设置文件上传大小(tomcat默认1M) server:tomcat:max-http-form-post-size: -1 spring:servlet:mult ...

  6. IDEA设置单个文件、单个包、单个项目的编码格式

    IDEA设置单个文件.单个包.单个项目的编码格式 File-> Settings-> File Enclodings 选择编码格式,确定即可. 注意:此处的编码格式设定以后,该包已经存在的 ...

  7. jar包部署shell脚本编写,在服务器上部署jar包,在Linux服务器上部署服务,设置编码格式,设置内存管理

    准备步骤: 1.安装java环境,知道java安装目录 2.将jar包拖放或发送至服务器中(目录自定义) 一.编写shell脚本,将以下代码放在shell脚本中,将shell脚本放在jar包同级目录下 ...

  8. 设置select下拉框不可修改的→“四”←种方法

    设置select下拉框为不可修改的几种方法: 因为select的特殊性,导致它不能像input表单一样简单地设置一个readonly来限制修改,所以,我们需要进行别的操作! 1.为下拉框添加样式,可以 ...

  9. 设置linux初始root密码

    简单一步设置linux第一个root密码 sudo passwd root #输入当前账户密码 #输入准备设置的root密码 #确认密码 如下所示:

  10. mysql关于时间的面试题,mysql时间设置默认值MySQL常见面试题

    1.limit(选出10 到20 条) select * from students order by id limit 9,10; 2.MySQL 会使用索引的操作符号 =,>,=,betwe ...

最新文章

  1. Future有返回值的线程
  2. Vue 动态创建实例
  3. DenyHosts教程:防暴力破解SSH密码
  4. 分治算法-02凸包问题
  5. tr闭包_嵌套函数及闭包
  6. a5d27 emmc启动 修改1
  7. java rmi接口 超时设置_Spring RMI客户端读超时设置 | 学步园
  8. php iis日志分析,星外系统IIS日志分析常用的几个命令小结
  9. python趋势回归_Python 回归分析 - 树懒学堂
  10. 金融行业灾备压力大?看中和农信如何从容应对
  11. PostgreSQL内核扩展之 - ElasticSearch同步插件
  12. 【安装配置】SAS9.4安装
  13. 公众平台服务号、订阅号、企业微信、小程序的区别
  14. 文件上传,出现400 的错误问题
  15. “百花齐放”电商时代,网易七鱼打造专业电商客服
  16. python 股票交易接口 github_GitHub - Higgsbit/vnpy: 基于python的开源交易平台开发框架...
  17. ObjectArx尺寸标注设置
  18. 广义表与二叉树之间的相互转换
  19. IMD/IMT/IME/OMD/OMF等工艺了解
  20. LeetCode——13. 罗马数字转整数

热门文章

  1. SQL基础操作_2_操作多个表
  2. lamber表达式sql_lambda表达式转换sql
  3. RDIFramework.NET V3.3 Web版角色授权管理新增角色对操作权限项、模块起止生效日期的设置...
  4. MySQL 随笔记录
  5. 宠了4年的老婆,说走就走,没有一点情份,你会怎么做
  6. jQuery框架+DWR框架实现的Java Web中的Ajax效果(异步请求,局部刷新)
  7. Windows Server 2012:服务器虚拟化 学习笔记
  8. 在听伏尔加纤夫曲 超酷
  9. IIS网站打不开错误解决方案集锦(一):编译器错误消息: 编译器失败,错误代码为 -1073741502。...
  10. SQL SERVER提供了大量的WINDOWS和SQLSERVER专用的排序规则