nginx通过配置文件来进行的安全方面优化

这篇具有很好参考价值的文章主要介绍了nginx通过配置文件来进行的安全方面优化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、隐藏版本号

2、配置错误页面重定向

3、添加header防止XSS攻击

4、利用referer图片防盗链

5、拒绝某些user-agent

6、限制HTTP请求方法

7、nginx开启https

8、控制迸发连接数


1、隐藏版本号

说明: 由于某些 Nginx 漏洞只存在于特定的版本,隐藏版本号可以提高安全性。

Nginx隐藏版本信息配置示例:

[root@localhost ~]# curl -I 192.168.6.116
HTTP/1.1 200 OK
Server: nginx/1.20.1

[root@localhost ~]# vim /etc/nginx/nginx.conf
http {
   server_tokens off;
[root@localhost ~]# systemctl restart nginx.service 
[root@localhost ~]# curl -I 192.168.6.116
HTTP/1.1 200 OK
Server: nginx

2、配置错误页面重定向

http {
...
error_page 401 /401.html;
error_page 402 /402.html;
error_page 403 /403.html;
error_page 404 /404.html;
error_page 405 /405.html;
error_page 500 /500.html;
...
}

3、添加header防止XSS攻击

说明:

  1. X-Frame-Options:标识是否允许浏览器加载frame等属性。
  • DENY:禁止任何网页被嵌入
  • SAMEORIGIN:只允许本网站的嵌套
  • ALLOW-FROM:允许指定地址的嵌套
  1. X-XSS-Protection:启用XSS过滤。mode=block标识若检查到XSS攻击则停止渲染页面
  2. X-Content-Type-Options:用来指定浏览器对未指定或错误指定Content-Type资源真正类型的猜测行为
  • nosniff:标识不允许任何猜测
  • 在通常的请求相应中,浏览器会根据Content-Type来分辨响应的类型,如果响应类型未指定或错误指定时,浏览器会启用MIME-sniffing来猜测资源的响应类型

Nginx添加Header示例:

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

4、利用referer图片防盗链

说明:

  1. valid_referers:验证referer
  • none:允许referer为空
  • blocked:允许不带协议的请求

Nginx校验referer配置示例:

location /images/ {
    valid_referers none blocked <domain_name> <domain_name>;
    if ($invalid_referer) {
        return 403;
    }
}

5、拒绝某些user-agent

说明:禁止一些爬虫的扫描

Nginx拒绝User-Agent配置示例:

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

6、限制HTTP请求方法

说明:$request_method能获取到请求时所使用的method,应该配置只使用GET/POST方法访问,其他的method返回405

Nginx限制HTTP请求方式示例:

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

7、nginx开启https

server {
    listen 443;
    server_name <xxx>;
    
    # 开启https
    ssl on;
    # 配置nginx ssl证书的路径
    ssl_certificate <pem路径>;
    # 配置nginx ssl证书key的路径
    ssl_certificate_key <key路径>;
    # 指定客户端建立连接时使用的ssl协议版本
    ssl_protocols TLSv1.2;
    # 指定客户端连接时所使用的加密算法
    ssl_ciphers HIGH:!aNULL:!MD%
}

8、控制迸发连接数

说明:

  1. limit_conn_zone:设定保存各个属性状态的共享内存空间的参数
  • limit_conn_zone <属性> zone=<空间名称>:<大小>
  1. limit_conn:为已经设定zone的属性设置最大连接数
  2. limit_rate:限制单个连接使用的带宽

Nginx限制并发数配置示例:文章来源地址https://www.toymoban.com/news/detail-717764.html

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

    server {
        listen 80
        server_name <server_name>;
        ...
        location / {
            limit_conn opos 10; # 限制单一IP来源的连接数为10
            limit_conn coffee 2000; # 限制单一虚拟服务器的总连接数为2000 
            limit_rate 500k; # 限制单个连接使用的带宽
        }
    }
}

到了这里,关于nginx通过配置文件来进行的安全方面优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【运维安全】运维界葵花宝典:Nginx配置与优化秘籍

    必要的原理介绍 ● Nginx 里有一个master进程和多个worker进程.master进程并不处理网络请求,主要负责调度工作进程: 加载配置,启动工作进程及非停升级.worker进程负责处理网络请求与响应. ● master进程主要用来管理worker进程,具体包括如下4个主要功能: 接收来自外界的信号 向各wo

    2024年02月21日
    浏览(35)
  • nginx上web服务的基本安全优化、服务性能优化、访问日志优化、目录资源优化和防盗链配置简介

    目录 一.基本安全优化 1.隐藏nginx软件版本信息 2.更改源码来隐藏软件名和版本 (1)修改第一个文件(核心头文件),在nginx安装目录下找到这个文件并修改 (2)第二个文件 (3)第三个文件,内置响应信息页面 (4)第四个文件 (5)重新编译安装并重启 3.更改nginx服务的默

    2024年02月13日
    浏览(34)
  • Nginx 常用的基础配置(前端相关方面)

    目录 基础配置 隐藏 Nginx 版本信息 禁止ip直接访问80端口 启动 web 服务 (vue 项目为例) PC端和移动端使用不同的项目文件映射 一个web服务,配置多个项目 (location 匹配路由区别) 配置负载均衡 SSL 配置 HTTPS         最近很多朋友问到Nginx配置前端 web 服务,所以特地写了这篇文

    2024年01月21日
    浏览(28)
  • eNSP学习——配置通过FTP进行文件操作

    原理概述:     FTP(File Transfer Protocol,文件传输协议)是在TCP/IP网络和Internet上最早使用的协议之一,在TCP/IP协议族中属于应用层协议,是文件传输的Internet标准。主要功能是向用户提供本地和远程主机之间的文件传输。     FTP采用C/S结构,FTP server能够提供远程用户端访问

    2024年01月23日
    浏览(26)
  • 头痛的apk卡顿,我该从哪些方面进行优化?带你了解常见方案

    1.Android性能优化之交互优化 交互是用户体验最直接的方面,交互场景大致可以分为四个部分: ui 呈现、应用程序启动、页面跳转和事件响应。对于以上四个方面,可以从以下两个方面进行优化: 主要原因是绘制的层级深、页面复杂、刷新不合理,由于这些原因导致卡顿的场景

    2024年01月25日
    浏览(31)
  • 对CentOS7进行账户和登录方面的安全加固

    一、用户账户安全加固 1、修改用户密码策略 2、锁定或删除系统中与服务运行运维无关的用户 (1)查看系统中的用户并确定无用的用户 more /etc/passwd (2)锁定不使用的账户(锁定或删除用户根据自己的需求操作即可) 锁定不使用的账户: usermod -L username 或删除不使用的账

    2024年02月04日
    浏览(27)
  • vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法

    由于vue为单页面项目,通过控制组件局部渲染,main.js是整个项目唯一的入口,整个项目都在一个index.html外壳中。 若项目过大,会造成单页面负载过重;同时,多页面利于模块独立部署。 如果项目中不同的页面需要不同的main.js和App.vue这样就需要配置多个入口了。 要单独将页

    2024年01月22日
    浏览(79)
  • 27 openEuler管理网络-通过ifcfg文件配置网络

    27 openEuler管理网络-通过ifcfg文件配置网络 说明: 通过ifcfg文件配置的网络配置不会立即生效,需要在root权限下执行 systemctl reload NetworkManager 命令以重启网络服务后才生效。 27.1 配置静态网络 以ens33网络接口进行静态网络设置为例,通过在root权限下修改ifcfg文件实现,在/etc

    2024年01月21日
    浏览(29)
  • 网络安全主要包括哪些方面

    什么是网络安全?网络安全主要包括哪些方面? 什么是网络安全? 网络安全就是网络上的信息安全,是指网络系统中的硬件、软件和系统中的数据都能受到保护,不会因意外或恶意原因而损坏、更改或泄露。系统连续可靠地正常运行,网络服务不中断。   从广义上讲,所有涉及

    2024年02月11日
    浏览(34)
  • 什么是网络安全?网络安全包括哪几个方面?

    提及网络安全,很多人都是既熟悉又陌生,所谓的熟悉就是知道网络安全可以保障网络服务不中断。那么到底什么是网络安全?网络安全包括哪几个方面?通过下文为大家介绍一下。 网络安全是指网络系统的硬件、软件及系统中的数据受到保护,不因偶然的或者恶意的原因而遭

    2024年02月13日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包