网络安全基础知识---nginx安全配置
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安全配置相关推荐
- 网络安全不可小觑,这些网络安全基础知识要牢记!
网络安全不可小觑,这些网络安全基础知识要牢记! 一.引论 提到网络安全,一般人们将它看作是信息安全的一个分支,信息安全是更加广义的一个概念:防止对知识.事实.数据或能力非授权使用.误用.篡改或拒绝使用 ...
- 小白入门!网络安全基础知识详解(附知识问答)
小白入门!网络安全基础知识详解(附知识问答) 一.引论 提到网络安全,一般人们将它看作是信息安全的一个分支,信息安全是更加广义的一个概念:防止对知识.事实.数据或能力非授权使用.误用.篡改或拒绝使用所 ...
- 网络安全基础知识学习之Web安全百问百答
网络安全基础知识学习之Web安全百问百答 1.什么叫Web应用系统? 答:Web应用系统就是利用各种动态Web技术开发的,基于B/S(浏览器/服务器)模式的事务处理系统.用户直接面对的是客户端浏览器, ...
- 【学习笔记】网络安全基础知识总结
网络安全基础知识总结 前言 一.网络安全概述 1.1 引言 1.2 密码学的发展 1.3 密码学基础 1.4 对称密码 1.4.1 数据加密标准DES 二.数论知识 2.1 数论基础 2.2 有限域 ...
- 网络安全基础知识入门!网络安全学习教程
当我们学习网络安全的时候,需要对它的基础知识做一个简单的了解,这样对以后的学习和工作都会有很大的帮助.本篇文章为大家总结了网络安全基础知识入门的内容,快跟着小编来学习吧. 计算机网络 计算机网络是利用 ...
- 网络安全基础知识篇----nginx安装
nginx安装 0x00 nginx介绍 Nginx(读音"engine x")是由俄罗斯程序员 Igor Sysoev 编写,2004年10月作为一个试图回答公众发布 C10K ...
- nginx应用总结(1)-- 基础知识和应用配置梳理
在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介 Nginx是一个高性能的HTTP和反向代理服 ...
- nginx应用总结(1)-- 基础知识和应用配置梳理【转】
转自:https://www.cnblogs.com/kevingrace/p/6095027.html 在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天 ...
- 计算机网络安全基础知识笔记
1.网络安全威胁介绍 非法授权访问:没有预先经过同意,就使用网络或相关的计算机资源就是非授权访问.主要有以下几种形式:身份攻击.假冒.非法用户进入网络系统进行违法操作.合法用户以未授权的方式进行操作 ...
最新文章
- 一个顽猴沿着一座小山的n级台阶向上跳,猴子上山一步可跳1级或3级,试求上山的n级台阶有多少种不同的爬法。...
- python中的df是什么意思_在python中从df-h输出中选择特定列
- 在同一台电脑上同时使用IE6和IE7
- 创建 桌面、发送到...、快速启动栏、开始菜单、程序菜单、右键菜单 快捷方式...
- WindowsPhone7入手,实在的照片
- 第一年的报告 工程系的研究生
- mac 串口调试工具_MACamp;串口调试
- matlab 图像显著性检测ft_全局对比度的图像显著性检测算法
- 25% 的开发者认为 Rust 是最佳替代,最新 Go 开发者调查报告出炉
- Go语言-defer的使用
- Windows Server定时执行bat
- 公式推导 11-20
- postman压力测试
- OK6410上裸机点亮LED程序
- 圆弧的函数c语言,VC++中Arc函数画圆弧
- nvm 管理 node 版本
- Arduino机器人快速上手经验分享(L298N马达驱动,摇杆模块)
- Pandas数据分析14——pandas数据框的多层索引
- 高德的位置服务器,高德位置服务浅析
- 机器学习模型性能提升技巧:指数加权平均(EMA)
热门文章
- 多看Android版本WIFI传书的实现
- 《滚雪球:巴菲特和他的财富人生》(The Snowball:Warren Buffett and the Business of Life)[PDF] - VeryCD电驴大全...
- python编程求圆的周长和面积公式_C语言求圆的周长和面积
- 当贝桌面服务器域名,【当贝市场】如何将当贝桌面替换为系统桌面
- 彻底卸载 .NET 框架 -- .NET Framework Cleanup Tool
- 基于DSP的数字图像处理(1)
- linux open firmware,Linux 5.3继续推进英特尔的Sound Open Firmware声音固件
- 比Smallpdf好用的在线转换工具有没有呢?
- 局域网限速软件P2P 终结者4.03 去广告破解最高权限版
- react 逆地理 高德地图_高德官宣!海外地图服务年内上线:首批覆盖亚洲多个国家...