HTTPS安全传输等,解决常见的Web站点应用需求 本文介绍了相关需求和Nginx应用情况,最
后分析了中国科学技术大学的使用案例■文/张焕杰陈蕾夏玉良无论是单纯发布信息的网页或是
网站,获取到
应答后再转发
IPv4 IPv4 IPv6用户用户用户IPv4. llPv6
修改源站的设置,即可对外提供IPv6/IPv4 协议服务,是将现有网站升级支持IPv6
协议]丄协议Nginx给用户这样 协议最简单和便捷的方式WWW页血访问的应用,呈现给最终用户
的形式都是Web网站。用户通过校园网
工作的Nginx
服务器被称为 反向代理服务
图1 Nginx反向代理工作示意或Internet网络访问这些网站时.希望能
HTTPS协议支持超文本传输安全协议HTTI'S提供对
提供IPv6/lPv4多协议支持.提供多家运
营商线路入口的就近访问,提供HTTPS
器:设 V. Nginx反向代理服务器.集屮处理用户对网站访 网站服务器的身份认证,保护交换数据的
隐私与完整性为了避免中间人的流量嗅
安全传输支持网站运维方为了安全的芳 虑.希望将访问流量引导经过Web应川
防火墙(WAF )设备过滤处理,提供对网
问服务,在不修改源服务器的情况下,以 儿乎零成本满足引言屮描述的最终丿I]户和
探或流M:劫持.越來越多的W <-1)站点开
网站运维方的多种需求始使用HTTPS协议=HTTP/2是一种二进
制协议,带來推送、数据流复川和帧控制
站灵活可控的边界防护手段.具备日志记
录功能以满足法规要求Nginx是一个异步框架的Web服务器. 也可用作反向代理、负载均衡和HTTP缓
多入口与IPv6/IPv4协议支持Nginx反向代理服务器I:设置多个运
营商网络【1>地址,并使用1)NS的视图功
等功能,目前主要用于减少HTTPS协议
握手时延迟对访问体验的负而影响,已经
被主流的浏览器支持只要兵有公认的CA机构发岀的服 务器证15, Nginx就可以方便地対外提供
存服务器 中国人章亦春把LuaJITVM( l.ua
语言是巴曲教授发明的简单脚本语山)肤 能,将不同运营商的用户对域名的查询请
求解析到恰当的IP,这样用户的访问就可
A Nginx中.实现高性能服务端解决方案 n rrps协议访问为了简化管理.我们仅
仅在用户和Nginx反向代理服务器间启用
Open Rest,以就近进行Nginx服务器要把从某个运
营商入M进來的请求对应的应答数据包.
Nginx使用高效率的操作系统内核(屮()11
接口处理TCP并发连接,内此可以轻松支
HTTPS协议.在Nginx反向代理服务器与 源服务器间仍使用HTTP协议还要从该出丨I返回,确保用户访问服务器
持儿I •万甚至更多并发连接的任何IP都能正常进行Nginx反向代理服务器转发请求时. 向源服务器发送Host、X-REAL-IP和
Nginx运行在I nix类操作系统或 Linux操作系统支持策略路由的设置.
管理员使用ip rule命令让不同IP发出的
Windows操作系统,本文以最常见的 Linux操作系统为运行环境X-Forwanled-Proto 三个 HTTP 头,内容分
别是请求的主机名、客户端1P地址、客
数据包查找不同的路由表.从而实现源地 址策略路由Nginx反向代理服务器中给
户访问时的协议(HTTP/HTTPS ).以方
Nginx反向代理服务器如图1所示,设立一台Nginx服务器. 将网站的域名解析到该Nginx服务器 用 户访问网站时.Nginx服务器首先接收來
出了设置策略路由的配置命令设置完成 便源服务器使用启用HTTPS协议后,建议使用
后,使用 hltps://www. 17ce.com/ 可从国内
外若干网络对网站的访问町达性、传输延
htlps://«««.ssllabs.coni 评估 IITI PS 协议的
安全性.必要时调整部分参数.禁用不安 全的加密算法.以达到更高的安全性迟和速度进行测试:Linux操作系统l-j Nginx软件提供完 整的IP\\6协议功能.简单设置,不需要
自用户的访问请求.并将请求转发到源
提供HTTPS服务后,可以将用户的2019 2-3中国教育网络 87建设与应用应用系统I =HTTP访问重定向到HTTPS访问,并设置 uid、nginx_auth_expire 和 nginx_auth_hash HSTS头,强制将来•直使用HTTPS访问, 三个参数.结合与认证部分共享的密钥.
彻底杜绝中间人的流址嗅探或流量劫持:判断访问者是否已通过认证,允许通过认
证的用户访问如果是未通过认证的用户,
Nginx反向代理服务器 目前Nginx 反向代理服务运行在一个2G内存/4个 CPU的虚拟机中,集中对650个网站提 供IPv4/IPv6, HTTPS服务该虚拟机有
使用中国教育和科研计算机网、中国科技网、
WAF设备引流只要让重定向到独立的认证部分认证部分对接
学校的统一身份认证系统,平时使用简单 中国电信、中国联通和中国移动五个
Nginx反向代理服务器访问源 的用户名和密码认证.在垂要时期网络保 IPv4 A口,并有 CNGI-CERNET2 IPv6 入
服务器的HTTP流量经过Web应用防火 障阶段.可增加更加安全的双因子认证 口。DNS服务器上设置若干DNS view, 墙(WAF )设备,就完成了引流工作. 通过认证后会设置对应的nginx_auth_ui(l、 将用户的解析分配到对应的IP地址,引 WAF设备上看到请求均是由Nginx服务器 nginx_auth_expire 和 nginx_auth_hash 三个 导用户的就近访问发起,因此需要调整W AF设置,让WAF cookie,后续的访问会被权限控制部分允许中国科学技术大学使用Let' S 设备从HTTP请求的X-REAL-1P头获取 Encrypt免费提供的自动签发服务器证书:
由于Let' s Encrypt有每7天50个证书签 客户端IP信息\"日志记录为减少攻击者对Nginx的影响.可以 发速率限制,对于其中563个形如*.uste.
Nginx反向代理可以集中记录Web网 edu.cn域名,在DNS服务器上使用DNS 收集并分析WAE H志.获取到攻击者的
IP地址,直接使用Nginx服务器上的包过 站的访问日志,不依赖源站点即可满足法 验证方式申请*.usle.edu.cn证书,利用git
传递到Nginx反向代理服务器上;而其他 滤防火墙将这些11>地址封禁,彻底切断 规对日志的记录要求:攻击者的通信,依据这些集中记录的日志,可以统 87个独立域名,则在Nginx反向代理服务
计网站的 IPv4/IPv6/HTTPS/HTTP/2 访问情 器上使用HTTP验证方式分批申请证书 况,还可以分析异常扫描和攻击,找出潜 有了这些证书.Nginx中增加hups配置,
边界防护在的威胁.即可对外提供HTTPS及HTTP/2服务:
校园内网站数量宠大,不同的网站在 Let' s Encrypt签发的证廿有效期为90天,
不同的时期有不同的边界防护需求如在
重要时期网络保障阶段,需要将可能存在 潜在漏洞的信息化应用网站限制在校内, 并将部分必须校外访问的网站增加一个认
性能优化默认安装的操作系统不能充分发挥
服务器上每天凌晨运行-个脚本,申请更
新60天前签发的证书,更新成功后重启
Nginx进程以使用新证书.实现证书的自
动更新匸对Nginx 的性能 ° step-by-step install Nginx 反
向代理服务器给岀对操作系统的优化建议证阶段,避免这些网站直接暴露到校外的 潜在安全风险.Nginx反向代理服务器上的日志文
天muit
conntrack优化:对于Nginx服务
器,因为有大量的短连接,最好不启用
件统计可以掌握用户的访问情况使用反向代理对外服务的网站.源服
务器不需要对外暴鋁,能让反向代理服务
器访问即町,源服务器更加安全。Nginx中的Ael访问控制策略,
仅允许自己校内的I Pv4/I Pv6地址访问,
设置即可将网站限制在校内访问。lua对反向代埋做权限控制给出
的方案,在Nginx反向代理服务器上运行 一段lua脚本程序.不需对源网站做任何
使用修改,能对校外访问网站增加一次认证阶
connlrack连接跟踪功能.如果因设j'lj('/ 要启用连接跟踪功能,需要在加载nf_ connlrack内核模块时增加一个较大的 hashsize参数.该参数*8即是内核可以 记录的最多连接数,建议hashsize设置为 50000启用连接跟踪功能时,还应调整
连接跟踪的超时时间,让异常状态的连接
及早超时删除.减少需要跟踪的连接数址单进程和系统打开的最多文件数.建
段,实现灵活的边界防护策略,并可随时
议增加到655360应用案例在Nginx代理服务器上切换 权限控制部 分是运行在Nginx内的lua程序,开发简单、
分通过检查校外用户请求中的S2学校主页访问统计图 2 是学校主页 lilt|>://w\\\\w.uste.edii.cn 的访问统计,约80%使用I1TTPS方式, 约60%使用HTTP/2协议.约10%使用 I Pv6协议网站的访问统计对比可以说明 高校用户在IPv6协议使用率和新版本浏 览器(更好支持H i rPS及HTTP/2 )普及
率方面比普通网民要高S.责编杨燕婷)
(作者单位为中国科学技术大学网络信息中心)执行效率高、对性能影响小权限控制部
nginx_auth_
中国科学技术大学从2011年开始
88 faftWHS 2019.2-3
因篇幅问题不能全部显示,请点此查看更多更全内容