安全开发运维必备的Nginx代理Web服务器性能优化与安全加固配置

安全开发运维必备的Nginx代理Web服务器性能优化与安全加固配置,第1张

为了更好的指导部署与测试艺术升系统nginx网站服务器高性能同时下安全稳定运行,需要对nginx服务进行调优与加固

本次进行Nginx服务调优加固主要从以下几个部分:

本文档仅供内部使用,禁止外传,帮助研发人员,运维人员对系统长期稳定的运行提供技术文档参考。

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx作为负载均衡服务器, Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。

Nginx版本选择:

项目结构:

Nginx文档帮助: http://nginx.org/en/docs/

Nginx首页地址目录: /usr/share/nginx/html

Nginx配置文件:

localtion 请求匹配的url实是一个正则表达式:

Nginx 匹配判断表达式:

例如,匹配末尾为如下后缀的静态并判断是否存在该文件, 如不存在则404。

查看可用模块编译参数:http://nginx.org/en/docs/configure.html

http_gzip模块

开启gzip压缩输出(常常是大于1kb的静态文件),减少网络传输

http_fastcgi_module模块

nginx可以用来请求路由到FastCGI服务器运行应用程序由各种框架和PHP编程语言等。可以开启FastCGI的缓存功能以及将静态资源进行剥离,从而提高性能。

keepalive模块

长连接对性能有很大的影响,通过减少CPU和网络开销需要开启或关闭连接

http_ssl_module模块

Nginx开启支持Https协议的SSL模块

Linux内核参数部分默认值不适合高并发,Linux内核调优,主要涉及到网络和文件系统、内存等的优化,

下面是我常用的内核调优配置:

文件描述符

文件描述符是操作系统资源,用于表示连接、打开的文件,以及其他信息。NGINX 每个连接可以使用两个文件描述符。

例如如果NGINX充当代理时,通常一个文件描述符表示客户端连接,另一个连接到代理服务器,如果开启了HTTP 保持连接,这个比例会更低(译注:为什么更低呢)。

对于有大量连接服务的系统,下面的设置可能需要调整一下:

精简模块:Nginx由于不断添加新的功能,附带的模块也越来越多,建议一般常用的服务器软件使用源码编译安装管理

(1) 减小Nginx编译后的文件大小

(2) 指定GCC编译参数

修改GCC编译参数提高编译优化级别稳妥起见采用 -O2 这也是大多数软件编译推荐的优化级别。

GCC编译参数优化 [可选项] 总共提供了5级编译优化级别:

常用编译参数:

缓存和压缩与限制可以提高性能

NGINX的一些额外功能可用于提高Web应用的性能,调优的时候web应用不需要关掉但值得一提,因为它们的影响可能很重要。

简单示例:

1) 永久重定向

例如,配置 http 向 https 跳转 (永久)

nginx配置文件指令优化一览表

描述:Nginx因为安全配置不合适导致的安全问题,Nginx的默认配置中存在一些安全问题,例如版本号信息泄露、未配置使用SSL协议等。

对Nginx进行安全配置可以有效的防范一些常见安全问题,按照基线标准做好安全配置能够减少安全事件的发生,保证采用Nginx服务器系统应用安全运行

Nginx安全配置项:

温馨提示: 在修改相应的源代码文件后需重新编译。

设置成功后验证:

应配置非root低权限用户来运行nginx服务,设置如下建立Nginx用户组和用户,采用user指令指运行用户

加固方法:

我们应该为提供的站点配置Secure Sockets Layer Protocol (SSL协议),配置其是为了数据传输的安全,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

不应使用不安全SSLv2、SSLv3协议即以下和存在脆弱性的加密套件(ciphers), 我们应该使用较新的TLS协议也应该优于旧的,并使用安全的加密套件。

HTTP Referrer Spam是垃圾信息发送者用来提高他们正在尝试推广的网站的互联网搜索引擎排名一种技术,如果他们的垃圾信息链接显示在访问日志中,并且这些日志被搜索引擎扫描,则会对网站排名产生不利影响

加固方法:

当恶意攻击者采用扫描器进行扫描时候利用use-agent判断是否是常用的工具扫描以及特定的版本,是则返回错误或者重定向

Nginx支持webdav,虽然默认情况下不会编译。如果使用webdav,则应该在Nginx策略中禁用此规则。

加固方法: dav_methods 应设置为off

当访问一个特制的URL时,如"../nginx.status",stub_status模块提供一个简短的Nginx服务器状态摘要,大多数情况下不应启用此模块。

加固方法:nginx.conf文件中stub_status不应设置为:on

如果在浏览器中出现Nginx自动生成的错误消息,默认情况下会包含Nginx的版本号,这些信息可以被攻击者用来帮助他们发现服务器的潜在漏洞

加固方法: 关闭"Server"响应头中输出的Nginx版本号将server_tokens应设置为:off

client_body_timeout设置请求体(request body)的读超时时间。仅当在一次readstep中,没有得到请求体,就会设为超时。超时后Nginx返回HTTP状态码408(Request timed out)。

加固方法:nginx.conf文件中client_body_timeout应设置为:10

client_header_timeout设置等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1)。仅当在一次read中没有收到请求头,才会设为超时。超时后Nginx返回HTTP状态码408(Request timed out)。

加固方法:nginx.conf文件中client_header_timeout应设置为:10

keepalive_timeout设置与client的keep-alive连接超时时间。服务器将会在这个时间后关闭连接。

加固方法:nginx.conf文件中keepalive_timeout应设置为:55

send_timeout设置客户端的响应超时时间。这个设置不会用于整个转发器,而是在两次客户端读取操作之间。如果在这段时间内,客户端没有读取任何数据,Nginx就会关闭连接。

加固方法:nginx.conf文件中send_timeout应设置为:10

GET和POST是Internet上最常用的方法。Web服务器方法在RFC 2616中定义禁用不需要实现的可用方法。

加固方法:

limit_zone 配置项限制来自客户端的同时连接数。通过此模块可以从一个地址限制分配会话的同时连接数量或特殊情况。

加固方法:nginx.conf文件中limit_zone应设置为:slimits $binary_remote_addr 5m

该配置项控制一个会话同时连接的最大数量,即限制来自单个IP地址的连接数量。

加固方法:nginx.conf 文件中 limit_conn 应设置为: slimits 5

加固方法:

加固方法:

解决办法:

描述后端获取Proxy后的真实Client的IP获取需要安装--with-http_realip_module,然后后端程序采用JAVA(request.getAttribute("X-Real-IP"))进行获取

描述: 如果要使用geoip地区选择,我们需要再nginx编译时加入 --with-http_geoip_module 编译参数。

描述: 为了防止外部站点引用我们的静态资源,我们需要设置那些域名可以访问我们的静态资源。

描述: 下面收集了Web服务中常规的安全响应头, 它可以保证不受到某些攻击,建议在指定的 server{} 代码块进行配置。

描述: 为了防止某些未备案的域名或者恶意镜像站域名绑定到我们服务器上, 导致服务器被警告关停,将会对业务或者SEO排名以及企业形象造成影响,我们可以通过如下方式进行防范。

执行结果:

描述: 有时你的网站可能只需要被某一IP或者IP段的地址请求访问,那么非白名单中的地址访问将被阻止访问, 我们可以如下配置

常用nginx配置文件解释:

(1) 阿里巴巴提供的Concat或者Google的PageSpeed模块实现这个合并文件的功能。

(2) PHP-FPM的优化

如果您高负载网站使用PHP-FPM管理FastCGI对于PHP-FPM的优化非常重要

(3) 配置Resin on Linux或者Windows为我们可以打开 resin-3.1.9/bin/httpd.sh 在不影响其他代码的地方加入:-Dhttps.protocols=TLSv1.2, 例如

原文地址: https://blog.weiyigeek.top/2019/9-2-122.html

www服务器:简而言之支持WWW协议的服务器叫做Web服务器

W W W (World Wide We b )是一个大规模、在线式的信息储藏所,用户可以通过一个被称作为浏览器(b r o w s e r )的交互式应用程序来查找。许多浏览器具有一个点击界面-浏览器在用户的计算机屏幕上显示信息并且允许用户通过鼠标来进行操纵。所显示的信息包括文本与图形。而且,一些信息被高亮度显示以表明该项是可选的。当用户将光标放在可选项上并单击鼠标按钮时,浏览器显示新的、与被选的项相联系的信息。概括如下:

浏览器是一个交互程序,它允许用户从W W W 上查看信息。这些信息中含有一些可选项,允许用户查看与其相关的其他信息。 互联网:互联网,即广域网、局域网及单机按照一定的通讯协议组成的国际计算机网络。互联网是指将两台计算机或者是两台以上的计算机终端、客户端、服务端通过计算机信息技术的手段互相联系起来的结果,人们可以与远在千里之外的朋友相互发送邮件、共同完成一项工作、共同娱乐。 电子商务:电子商务通常是指是在全球各地广泛的商业贸易活动中,在因特网开放的网络环境下,基于浏览器/服务器应用方式,买卖双方不谋面地进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。 EDI:何为EDI,EDI是英文Electronic Data Interchange的缩写,中文可译为“电子数据交换”。它是一种在公司之间传输订单、发票等作业文件的电子化手段。 B2G:B2G是新近出现的电子商务模式,即“商家到政府”(是术语B2B或business-to-government的变化形式),它的概念是商业和政府机关能使用中央网站来交换数据并且与彼此作生意,而比他们通常离开网络更加有效。 举例来说,一个提供 B2G 服务的网站可以提供一个单一地方的业务,为一级或多级政府(城市,州或省,国家等等)来定位应用程序和税款格式;提供送出填好表格和付款的能力;更新企业的信息;请求回答特定的问题等等。 B2G 也可能包括电子采购服务,通过它商家可以了解代理处的购买需求并且代理处请求提议的回应。 B2G 也可能支持虚拟工作间,在这里,商家和代理可以通过共享一个公共的网站来协调已签约工程的工作,协调在线会议,回顾计划并管理进发展。B2G 也可能包括在线应用软件和数据库设计的租赁,尤其为政府机关的所使用。 电子交易市场:一、网上交易、网上交收均可通过交易系统实现,通过保证金制度保证合同的履约。

二、交易模式设计多样化,涵盖钢铁产品现货交易的各种交易方式,可以实现跨模式套利。

三、系统设计个性化,交易商在交易过程中可对交易、交收的方式进行选择或自行约定。

四、卖方挂牌和买方挂牌实现了传统现货贸易的网上交易。

五、在线竞买和在线竞卖采用竞价交易方式,帮助企业实现销售利润最大化、采购成本最小化。

六、在线洽谈实现了交易商在交易过程中的在线互动。

七、双向竞价选择市场流通量大的代表性品种,通过公开竞价的交易机制,形成指导价格。钢铁产品买卖与合同转让便利,利于企业控制成本,预先锁定利润,规避价格波动带来的风险。

八、竞价专场根据区域交易热点选择交易品种,为企业近期采购、销售钢材提供参考价格,便于企业进行热点钢材品种的买卖及合同转让,促进资源流通,优化资源配置。

九、集合竞价是为交易商提供的一种标准化的现货交易模式,买卖双方集中竞价,实行滚动交收,便于大规模成交,并形成有市场指导意义的近期现货价格。

十、在线招标为交易商提供便捷的、低成本的网络招标模式,缩短招标的周期、增加招标的频次,吸引更广范围的投标方参与。

十一、在线专场可以分地区、分品种设定多种交易模式的交易专场,满足交易商的个性化需求。

对称加密算法:对称加密算法 对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。 数字摘要:数字签名一般来说,是用来处理短消息的,而相对于较长的消息则显得有些吃力。当然,可以将长的消息分成若干小段,然后再分别签名。不过,这样做非常麻烦,而且会带来数据完整性的问题。比较合理的做法是在数字签名前对消息先进行数字摘要。

数字摘要是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,也就是Hash函数。 CA:美国《化学文摘》(Chemical Abstracts ,CA)1907年创刊,由美国化学会所属化学文摘服务社(CAS)编辑出版, 现为世界上收录化学化工及其相关学科文献最全面,应用最广泛的一种文献检索工具。CA的其它解释:CA: Chartered Accountant 特许会计师

CA中国: http://www.ca.com/cn/

CA:民航呼号

中国航空集团公司(含其下属单位)所使用二字代码

CA:汽车制造场

第一汽车制造场的拼音缩写

CA:软件制造商

是世界第三大软件制造商

CA:国际联合电脑公司董事长:

IT铁汉——王嘉廉

ca :泡泡堂

是泡泡堂的简称

CA:巡洋舰

重型巡洋舰的缩写

Ca(Capillary Number):

毛细数是流体力学中的无因次数,反映了表面张力与粘性力在对流体运动影响中谁起主导作用的参数。等比于黏性力和表面张力的比值,在微流控芯片层流运动状态研究中有十分重要的意义。

ca(擦):擦汗,同“汗”。

或一种骂人的话的变形。

CA:计算机代数

CA:美国加州California

C.A.:工业化学用品里面一桶(例:异丙醇 ISOPROPANOL 试剂用 工业级 纯度99.0% 20LT/CA 液状 )

CA:元胞自动机(Cellular Automata,简称CA)

CA:CASTOR 柯艾公司

CA :Cabin Attendant的简写 飞机客舱乘务员 即 人们所熟悉的空姐的另一种称法

CA:Conan+Ai 《名侦探柯南》的CP:柯哀的缩写

CA:correct action , 指出错后采取的纠正,改善行动或计划,防止类似情况再次发生。

常见塑料及树脂缩写代码

CA:乙酸纤维素

CAB:乙酸-丙酸纤维素

CF:甲酚-甲酚

CA:海马

泡泡堂英文缩写

全称:Crazy Arcade,直接翻译为疯狂的街道

网络上的CA指的是cā擦,网络语言意思为骂人的,同“操”

CA:上海柯艾文化传播有限公司(CASTOR)的简写。于2006年8月由著名80后作家郭敬明成立。

《梦幻西游》

网络游戏《梦幻西游》中的地图长安(CA)的简称 E-business:通行标准定义:使用Web技术帮助企业精简流程,增进生产力,提高效率。使公司易于沟通合作伙伴、供货商和客户,连接后端数据系统,并以安全的方式进行商业事项处理。 E-business称为电子业务,是发生在企业内部的数字化事务和流程,包括企业内部的信息系统。特征一般不含跨组织边界的有价交换的商业交易,当发生商业交易,业务就转变成商务。E-commerce主要是涉及跨企业边界交易

很多企业在进行租用服务器时总是想着租用一台高档服务器,独享多大的带宽,费用越高越好,而不根据企业网站的需求来选择合适的空间以及带宽,这种方式既增加了用户的资金投入有浪费了资源。因此,企业在进行租用服务器业务时应考虑以下几点因素:

第一、根据企业需求选择合适的应用服务

企业在建设网站或是开展电子商务时,可以根据自己的实际应用需求,来企业决定购买自己的服务器品牌和配置标准。确定服务需要的硬件和软件的配置以前企业在准备服务器托管时,总是先想好购买一台高档服务器,然后希望租用多大的带宽?而不是从自己的实际需求出发来选择服务器和IDC服务商,但这样的方式既浪费资源又增加了用户的资金投入,因此,企业建站是应根据网站需求考虑是共享服务器带宽?还是独享服务器带宽?独享多少M带宽等。

如果做数据库查询服务,那么内存一定要大些如果网站的访问量很大,就需要采用负载均衡技术如果数据量很大,那么数据备份和意外事故的数据恢复技术一定要强。总体来说,企业选择服务器时,一定要从自己的应用需求出发来选择品牌和服务器的配置,能满足自己的需求就是最好。

第二、服务器专用性明显

目前,通用服务器将在转变专用服务器,以电子邮件服务为例,以前只需要在任何一台服务上装上一套电子邮件软件即可以提供电子邮件服务,不管它的稳定性能如何和处理邮件的能力如何,只要能用就可以。但事实远不如想象的那么简单,对电子邮件的服务与对Web服务是不同的,稳定性和服务器的响应速度非常重要。所以,需要有专用服务器来提供服务。未来企业邮局服务器的发展趋势应该是易用性和专用性,服务器的选择和配置都应该相对简单,不需要有太高的技术门槛,并且专用性的发展趋势会非常的明显.

第三、软件与硬件互补性强,综合考虑选择标准

客户在选择服务器时应该从软件与硬件两方面来考虑。如果要运行大量应用软件,则需要大的内存如果需要负载大访问量,就需要考虑较大的内存。硬件与软件的配合良好才能发挥服务器的良好性能,仅仅追求服务器的硬件高档化,如果没有软件的配合,也无法保证最终服务的高性能和稳定性。因此,在选择服务器时应该从两方面综合考虑,以综合指标来选择服务器。

第四、服务器租用稳定性和扩展性最为重要

选择服务器租用时要考虑兼容性和稳定性。托管服务器后,随着客户访问量和服务变化,服务器需要不断地增加硬件资源,以达到提高服务水平和服务能力,所以服务器一定要有很强的可扩展性,为客户提供可扩展的空间。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/117500.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-13
下一篇2023-03-13

发表评论

登录后才能评论

评论列表(0条)

    保存