nginx安全配置

  • 隐藏版本号

`http {   server_tokens off;}`

  • 开启HTTPS

server {    
  listen 443;  
  server_name xxx.com;  
  ssl on;  
  ssl_certificate /etc/nginx/certs/xxx.com.pem;    
  ssl_certificate_key /etc/nginx/certs/xx.com.key;  
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers HIGH:!aNULL:!MD5;
}

  • ssl on:开启https

  • ssl_certificate:配置nginx ssl证书的路径

  • ssl_certificate_key:配置nginx ssl证书key的路径

  • ssl_protocols:指定客户端建立连接时使用的ssl协议版本,如果不需要兼容TSLv1,直接去掉即可

  • ssl_ciphers:指定客户端连接时所使用的加密算法,你可以在这里配置更高安全的算法

  • 黑白名单配置

  • 白名单配置

`location /admin/ {   allow 192.168.1.0/24;   deny all;}`

上边表示只允许192.168.1.0/24网段的主机访问,拒绝其他所有。

  • 黑名单配置

`location /uploads/ {   deny 192.168.1.0/24;   allow all;}`

`set $allow false;if ($http_x_forwarded_for = "211.144.204.2") { set $allow true; }if ($http_x_forwarded_for ~ "108.2.66.[89]") { set $allow true; }if ($allow = false) { return 404; }`

  • 账号认证

server {  
  location / {  
      auth_basic "please input user&passwd";  
      auth_basic_user_file key/auth.key;  
  }
}

  • 限制请求方法

  • server 块配置

if ($request_method !~ ^(GET|POST)$ ) {  
  return 405;
}

  • 或者

location / {
limit_except GET HEAD POST { deny all; }
}

  • 拒绝User-Agent

if ($http_user_agent ~* LWP::Simple|BBBike|wget|curl) {    
  return 444;
}

  • 图片防盗链

location /images/ {  
  valid_referers none blocked www.xx.com xx.com;  
      if ($invalid_referer) {  
      return 403;  
  }
}

valid_referers:验证referer,其中none允许referer为空,blocked允许不带协议的请求,除了以上两类外仅允许referer为 www.xx.com或xx.com时访问images下的图片资源,否则返回403

也可以给不符合referer规则的请求重定向到一个默认的图片

location /images/ {  
  valid_referers blocked www.xx.com xx.com  
  if ($invalid_referer) {  
  rewrite ^/images/.*.(gif|jpg|jpeg|png)$ /static/qrcode.jpg last;
  }
}

  • 控制并发连接数


http {
  limit_conn_zone $binary_remote_addr zone=ops:10m;

server {
      listen 80;
      server_name xx.com;
         
      root /home/project/webapp;
      index index.html;
      location / {
          limit_conn ops 10;
      }
      access_log /var/log/nginx/nginx_access.log main;
  }
}

limit_conn_zone:设定保存各个键(例如$binary_remote_addr)状态的共享内存空间的参数,zone=空间名字:大小大小的计算与变量有关

例如:

$binary_remote_addr变量的大小对于记录IPV4地址是固定的4 bytes,而记录IPV6地址时固定的16 bytes,存储状态在32位平台中占用32或者64 bytes,在64位平台中占用64 bytes。1m的共享内存空间可以保存大约3.2万个32位的状态,1.6万个64位的状态limit_conn:指定一块已经设定的共享内存空间(例如name为ops的空间),以及每个给定键值的最大连接数

上边的例子表示同一IP同一时间只允许10个连接

  • 缓冲区溢出攻击

client_body_buffer_size 1K;
client_header_buffer_size 1k;
client_max_body_size 1k;
large_client_header_buffers 2 1k;

  • Header头设置

通过以下设置可有效防止XSS攻击

add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";

  • 禁止访问 htaccess

location ~/\.ht {
    deny all;
}

  • 禁止访问多个目录

location ~ ^/(picture|move)/ {
    deny all;
    break;
}

  • 禁止访问 /data 开头的文件

location ~ ^/data {
    deny all;
}

  • 禁止访问单个目录

location /imxhy/images/ {
    deny all;
}

*本文章仅供技术交流分享,请勿做未授权违法攻击,雨笋教育不负任何责任。具体请参考《网络安全法》。

下篇更新nginx目录结构和配置文件详解

网络安全基础知识---nginx安全配置相关推荐

  1. 网络安全不可小觑,这些网络安全基础知识要牢记!

    网络安全不可小觑,这些网络安全基础知识要牢记! 一.引论 提到网络安全,一般人们将它看作是信息安全的一个分支,信息安全是更加广义的一个概念:防止对知识.事实.数据或能力非授权使用.误用.篡改或拒绝使用 ...

  2. 小白入门!网络安全基础知识详解(附知识问答)

    小白入门!网络安全基础知识详解(附知识问答) 一.引论 提到网络安全,一般人们将它看作是信息安全的一个分支,信息安全是更加广义的一个概念:防止对知识.事实.数据或能力非授权使用.误用.篡改或拒绝使用所 ...

  3. 网络安全基础知识学习之Web安全百问百答

    网络安全基础知识学习之Web安全百问百答 1.什么叫Web应用系统? 答:Web应用系统就是利用各种动态Web技术开发的,基于B/S(浏览器/服务器)模式的事务处理系统.用户直接面对的是客户端浏览器, ...

  4. 【学习笔记】网络安全基础知识总结

    网络安全基础知识总结 前言 一.网络安全概述 1.1 引言 1.2 密码学的发展 1.3 密码学基础 1.4 对称密码 1.4.1 数据加密标准DES 二.数论知识 2.1 数论基础 2.2 有限域 ...

  5. 网络安全基础知识入门!网络安全学习教程

    当我们学习网络安全的时候,需要对它的基础知识做一个简单的了解,这样对以后的学习和工作都会有很大的帮助.本篇文章为大家总结了网络安全基础知识入门的内容,快跟着小编来学习吧. 计算机网络 计算机网络是利用 ...

  6. 网络安全基础知识篇----nginx安装

    nginx安装 0x00 nginx介绍 Nginx(读音"engine x")是由俄罗斯程序员 Igor Sysoev 编写,2004年10月作为一个试图回答公众发布 C10K ...

  7. nginx应用总结(1)-- 基础知识和应用配置梳理

    在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介 Nginx是一个高性能的HTTP和反向代理服 ...

  8. nginx应用总结(1)-- 基础知识和应用配置梳理【转】

    转自:https://www.cnblogs.com/kevingrace/p/6095027.html 在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天 ...

  9. 计算机网络安全基础知识笔记

     1.网络安全威胁介绍 非法授权访问:没有预先经过同意,就使用网络或相关的计算机资源就是非授权访问.主要有以下几种形式:身份攻击.假冒.非法用户进入网络系统进行违法操作.合法用户以未授权的方式进行操作 ...

最新文章

  1. 一个顽猴沿着一座小山的n级台阶向上跳,猴子上山一步可跳1级或3级,试求上山的n级台阶有多少种不同的爬法。...
  2. python中的df是什么意思_在python中从df-h输出中选择特定列
  3. 在同一台电脑上同时使用IE6和IE7
  4. 创建 桌面、发送到...、快速启动栏、开始菜单、程序菜单、右键菜单 快捷方式...
  5. WindowsPhone7入手,实在的照片
  6. 第一年的报告 工程系的研究生
  7. mac 串口调试工具_MACamp;串口调试
  8. matlab 图像显著性检测ft_全局对比度的图像显著性检测算法
  9. 25% 的开发者认为 Rust 是最佳替代,最新 Go 开发者调查报告出炉
  10. Go语言-defer的使用
  11. Windows Server定时执行bat
  12. 公式推导 11-20
  13. postman压力测试
  14. OK6410上裸机点亮LED程序
  15. 圆弧的函数c语言,VC++中Arc函数画圆弧
  16. nvm 管理 node 版本
  17. Arduino机器人快速上手经验分享(L298N马达驱动,摇杆模块)
  18. Pandas数据分析14——pandas数据框的多层索引
  19. 高德的位置服务器,高德位置服务浅析
  20. 机器学习模型性能提升技巧:指数加权平均(EMA)

热门文章

  1. 多看Android版本WIFI传书的实现
  2. 《滚雪球:巴菲特和他的财富人生》(The Snowball:Warren Buffett and the Business of Life)[PDF] - VeryCD电驴大全...
  3. python编程求圆的周长和面积公式_C语言求圆的周长和面积
  4. 当贝桌面服务器域名,【当贝市场】如何将当贝桌面替换为系统桌面
  5. 彻底卸载 .NET 框架 -- .NET Framework Cleanup Tool
  6. 基于DSP的数字图像处理(1)
  7. linux open firmware,Linux 5.3继续推进英特尔的Sound Open Firmware声音固件
  8. 比Smallpdf好用的在线转换工具有没有呢?
  9. 局域网限速软件P2P 终结者4.03 去广告破解最高权限版
  10. react 逆地理 高德地图_高德官宣!海外地图服务年内上线:首批覆盖亚洲多个国家...