• 简单安全防护


    简单安全防护

    一、服务器防护

    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方法的时候使用类型强制转换
  • 相关阅读:
    sqlalchemy-数据目录集合整合
    算法-lowb三人组
    ipython ---matplotlib:绘图和可视化
    ipython --pandas
    ipython --之Numpy
    字符编码
    Markdown——入门使用
    python集合操作和内置方法
    python字典操作和内置方法
    python元祖操作和内置方法
  • 原文地址:https://www.cnblogs.com/WindrunnerMax/p/12558235.html
Copyright © 2020-2023  润新知