简单安全防护

2020-08-27 16:33:43 浏览数 (1)

简单安全防护

一、服务器防护

1. 端口防护

尽量将端口禁用,尽量不要将端口暴露在公网,尽量仅供127.0.0.1访问 如非必要,尽量不要将服务暴露在公网,尤其是数据库等服务 设置连续登录失败禁用一段时间,防爆破

2. 网站防护

攻击者一般直接使用ip来攻击网站,可以将ip访问的默认网站只写一个首页 上述不利于搜索引擎收录,可以将搜索引擎的域名加入白名单使用Nginx转发 避免Js操作cookie,开启HTTP_ONLY

3. web容器配置

Nginx提供限制访问模块,防护CC与DDOS limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; limit_req_zone $binary_remote_addr zone=allips:10m rate=10r/s;

4. 独立用户

服务器设置用户启动某服务,非该服务用户不允许访问与执行

二、PHP防护

1. 禁用系统函数

非常危险的函数 eval system exec shell_exec pcntl_exec pcntl_fork pcntl_exec 强烈建议禁止的函数 passthru putenv chroot chgrp chown popen proc_open ini_alter ini_restore dl openlog syslog readlink symlink popepassthru pcntl_alarm pcntl_waitpid pcntl_wait pcntl_wifexited pcntl_wifstopped pcntl_wifsignaled pcntl_wifcontinued pcntl_wexitstatus pcntl_wtermsig pcntl_wstopsig pcntl_signal pcntl_signal_dispatch pcntl_get_last_error pcntl_strerror pcntl_sigprocmask pcntl_sigwaitinfo pcntl_sigtimedwait pcntl_getpriority pcntl_setpriority imap_open apache_setenv

2. ThinkPHP

  1. 及时打补丁,ThinkPHP发布的漏洞警告务必及时跟进打补丁
  2. 设置全局过滤规则 DEFAULT_FILTER ,防止XSS、SQL注入等
  3. 查询条件尽量使用数组方式,如果必须使用字符串,那么建议使用预处理机制
  4. 启动目录务必设置在内部目录,即TP建议的public目录下,防止恶意浏览扫描目录,并且public目录下除了静态资源和启动入口外不要放置其他文件
  5. 上传文件使用TP提供的ThinkUpload类,提供对文件的类型、后缀、大小及上传文件的合法检查
  6. 使用强制路由模式,在route.php中配置可访问的路由,未定义的路由访问一律会自动抛出异常
  7. 对于有明确类型的请求变量,可以在使用param方法的时候使用类型强制转换

0 人点赞