Nginx 精通 - 安全管控之防暴露、限制访问、防DDos攻击、防爬虫、防非法引用

在Nginx中,可以通过一系列配置实现安全管控,包括防止信息暴露、限制访问、防止DDoS攻击、防止爬虫抓取以及防非法引用。以下是一些建议和配置示例:

  1. 防止信息暴露

    • 禁止目录索引:防止Nginx在无默认文档时列出目录内容。

      location / {
          autoindex off; # 禁止目录索引
      }
      
    • 删除服务器标识:防止泄露Nginx版本等信息。

      server_tokens off; # 在http{}块中隐藏服务器版本号
      
  2. 限制访问

    • IP白名单或黑名单

      # 黑名单
      deny 192.168.1.0/24; # 拒绝来自该IP段的所有请求
      allow all; # 允许其他IP访问
      
      # 白名单
      allow 192.168.1.0/24; # 允许来自该IP段的所有请求
      deny all; # 拒绝其他IP访问
      
    • 限制特定URL的访问

      location /secret {
          auth_basic "Restricted Area";
          auth_basic_user_file /etc/nginx/.htpasswd; # 使用基本认证
      }
      
  3. 防止DDoS攻击

    • 限制请求速率

      limit_req_zone $binary_remote_addr zone=req_limit:10m rate=1r/s; # 创建限速区
      location / {
          limit_req zone=req_limit burst=5; # 每秒1个请求,允许突发5个
      }
      
    • 限制并发连接数

      limit_conn_zone $binary_remote_addr zone=conn_limit:10m; # 创建连接数限制区
      server {
          location / {
              limit_conn conn_limit 10; # 单个IP最大并发连接数为10
          }
      }
      
  4. 防止爬虫抓取

    • Robots.txt:在服务器根目录下放置robots.txt文件,指示搜索引擎爬虫哪些页面不应被抓取。
    • User Agent过滤
      if ($http_user_agent ~* (bot|spider|crawl) ) { 
          return 403; # 如果UA包含bot、spider或crawl等关键字,返回403 Forbidden
      }
      
  5. 防非法引用(防盗链):

    • Referer检查
      location ~ \.(jpg|jpeg|png|gif)$ {
          valid_referers none blocked yourdomain.com *.yourdomain.com;
          if ($invalid_referer) {
              return 403; # 如果Referer不在允许范围内,返回403 Forbidden
          }
      }
      

以上仅为基本示例,实际部署时需根据具体情况调整和完善配置。同时,全面的安全防护还需要结合防火墙、入侵检测系统等其他安全措施共同实现。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值