找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 461|回复: 2

[其它] PHP站点日常防护:系统、nginx、PHP、mysql

  [复制链接]
发表于 2023-3-8 16:17 | 显示全部楼层 |阅读模式

PHP安全加固:

1、防跨目录设置:
     在网站根目录建立 .user.ini文件:open_basedir=/www/wwwroot/ip110.net/:/tmp/

2、网站目录权限去掉写权限,可以设置为555

3、必选:
   利用nginx对站点非运行php目录进行屏蔽,防止访问上传的木马文件。
location ~* ^/(data|images|config|static|template)/.*\.php$
{
    return 444; #444 断开连接的状态码,deny all;#403依然占用带宽
}

防止以.为开头的文件的访问
location ~* ^\..*?$
{
    return 444; #444 断开连接的状态码,deny all;#403依然占用带宽
}

4、禁用PHP高危函数,以aaPanel为准。

 楼主| 发表于 2024-3-9 20:25 | 显示全部楼层

nginx防攻击

1、限制请求率:
只能发出一个请求。您可以配置NGINX和NGINX Plus,以允许单个客户端IP地址每2秒尝试登录(相当于每分钟30个请求):
limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m;
server {

# ...
 location /login.html {
  limit_req zone=one;
 }
}
该 limit_req_zone 指令配置一个名为“one”的共享内存区域,用于存储指定密钥的请求状态,在本例中为客户机IP地址($binary_remote_addr)

2、限制连接数:

limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
# ...
 location /store/ {
  limit_conn addr 10;
# ... 
 }
}

3、关闭慢连接:

server {
 client_body_timeout 5s;
 client_header_timeout 5s;
# ...
}


4、列入IP黑名单:
location / {
    deny 123.123.123.5;
}
注:个人感觉不如加入hosts.deny或者系统防火墙

 

 楼主| 发表于 2024-3-9 20:38 | 显示全部楼层
系统加固:
1、linux安装fail2ban、DDOS Deflate







Mysql加固:
1、必选:mysql用户名对应的host必须为localhost或者127.0.0.1;并且mysql最好设置bind=127.0.0.1防止站外连接操作mysql数据库。
2、必选:使用系统防火墙禁用掉mysql、redis、mongodb等不必要的端口,只保留一些必要的对外端口如:80, 443等。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|学习笔记

GMT+8, 2024-4-26 09:16 , Processed in 0.030653 second(s), 13 queries , APCu On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表