新服务器做数据库服务器用,如何测试

新服务器做数据库服务器用,如何测试,第1张

通过在新服务器上检查这些步骤,您可以确保它们至少具有针对最常见攻击的基本保护。

1 - 用户配置

如果它不是您的操作系统设置的一部分,您要做的第一件事就是更改root密码。这应该是不言而喻的,但在例行服务器设置期间可能会被忽略。密码应至少为8个字符,使用大写和小写字母,数字和符号的组合。如果要使用本地帐户,还应设置密码策略,以指定老化,锁定,历史记录和复杂性要求。在大多数情况下,您应该完全禁用root用户,并为需要提升权限的用户创建具有sudo访问权限的非特权用户帐户。

2 - 网络配置

您需要做的最基本配置之一是通过为服务器分配IP地址和主机名来启用网络连接。对于大多数服务器,您将需要使用静态IP,因此客户端始终可以在同一地址找到资源。如果您的网络使用VLAN,请考虑服务器段的隔离程度以及最适合的位置。如果您不使用IPv6,请将其关闭。设置主机名,域和DNS服务器信息。应使用两个或多个DNS服务器进行冗余,您应该测试nslookup以确保名称解析正常工作。

3 - 软件包管理

据推测,您正在为特定目的设置新服务器,因此如果它们不属于您正在使用的分发版,请确保安装可能需要的任何软件包。这些可以是PHP,MongoDB,ngnix等应用程序包,也可以是pear等支持包。同样,应删除系统上安装的任何无关软件包以缩小服务器占用空间。所有这一切都应该通过您的分销包管理解决方案来完成,例如yum或apt,以便在未来更轻松地进行管理。

4 - 更新安装和配置

一旦在服务器上安装了正确的软件包,就应该确保一切都已更新。不仅包括您安装的软件包,还包括内核和默认软件包。除非您需要特定版本,否则应始终使用最新的生产版本来保证系统的安全。通常,您的包管理解决方案将提供最新的支持版本。您还应该考虑在程序包管理工具中设置自动更新,如果这样做适用于您在此服务器上托管的服务

5 - NTP配置

配置服务器以将其时间同步到NTP服务器。如果您的环境具有这些服务器,则可以是内部NTP 服务器,也可以是可供任何人使用的外部时间服务器。重要的是防止时钟漂移,服务器的时钟偏离实际时间。这可能会导致许多问题,包括在授予访问权限之前测量服务器和身份验证基础结构之间的时间偏差的身份验证问题。这应该是一个简单的调整,但它是可靠基础设施的关键点。

6 - 防火墙和iptables

根据你的发行版,iptables可能已被完全锁定并要求你打开你需要的东西,但无论默认配置如何,你都应该看看它并确保它按照你想要的方式设置。请记住始终使用最小权限原则,并且只打开那些服务器上的服务绝对需要的端口。如果您的服务器位于某种专用防火墙后面,请务必否认所有内容,但也有必要。假设您的iptables /防火墙在默认情况下是限制性的,请不要忘记打开您的服务器完成其工作所需的内容!

7 - 保护SSH

SSH是Linux发行版的主要远程访问方法,因此应该得到适当的保护。您应该远程禁用root的远程SSH功能,即使您禁用了该帐户,以防万一由于某种原因在服务器上启用了root,它仍然无法远程利用。如果您有一组将要连接的固定客户端IP,您还可以将SSH限制为某些IP范围。或者,您可以更改默认的SSH端口以“隐藏”它,但老实说,简单的扫描会向想要找到它的任何人显示新的开放端口。最后,您可以完全禁用密码身份验证,并使用基于证书的身份验证来进一步降低SSH利用的可能性。

8 - 守护程序配置

您已经清理了软件包,但在重新启动时将正确的应用程序设置为自动启动也很重要。务必关闭任何不需要的守护进程。安全服务器的一个关键是尽可能减少活动占用空间,因此可用于攻击的唯一表面区域是应用程序所需的区域。完成此操作后,应尽可能加强剩余服务以确保弹性。

9 - SELinux和进一步硬化

如果您曾经使用过Red Hat发行版,那么您可能熟悉SELinux,这是一种保护系统免受各种操作影响的内核强化工具。SELinux非常善于防止未经授权的使用和访问系统资源。它在打破应用程序方面也很出色,因此请确保在启用SELinux的情况下测试配置,并使用日志确保没有任何合法内容被阻止。除此之外,您还需要研究强化MySQL或Apache等任何应用程序,因为每个应用程序都有一套最佳实践可供遵循。

10 - 日志记录

最后,您应确保已启用所需的日志记录级别,并且您有足够的资源。您最终将对此服务器进行故障排除,因此请立即帮忙,并构建您需要快速解决问题的日志记录结构。大多数软件都具有可配置的日志记录,但您需要一些试验和错误才能在信息不足和过多之间找到适当的平衡点。有许多第三方日志记录工具可以帮助处理从聚合到可视化的所有内容,但是每个环境都需要首先考虑其需求。然后,您可以找到有助于填充它们的工具。

这些步骤中的每一步都需要一些时间来实施,尤其是第一次。但是,通过建立初始服务器配置例程,您可以确保环境中的新计算机具有弹性。如果您的服务器可能是攻击的目标,则不采取任何这些步骤可能会导致相当严重的后果。

做好这些并不能保证足够安全, 但它确实使恶意行为者变得更加困难,并且需要一定程度的技术能力来克服。

这种就类似于云计算等后端基础服务的测试,对于一些大的公司,会有一个专门的团队来开发这种后端基础服务,这种服务当然也需要测试人员来保证质量。

这类服务一般都是通过HTTP接口的方式提供给刚才讲的WEB/APP的后端使用,所以,第一个要做的也就是接口测试,也就是用Postman等工具做手工测试、用TestNG+HttpClient或者Python的Nose框架做自动化测试。

不过,对于这类后端服务来说,接口只是暴露给外用的部分,内部逻辑通常是非常复杂的,所以,除了针对接口做测试之外,测试人员还需要细致地了解这些服务端产品的技术框架及技术实现,需要了解到模块的级别,对于系统框架图、时序图等都有很好的理解。针对这些理解去设计用例,再跟开发一起讨论如何实现用例。

如果这种基础服务用了某一个开源软件,那通常也需要测试人员能关注社区的进展,并把我们发现的Bug及解决方案等推到社区,为社区做贡献。

除了接口测试之外,在我们公司,异常测试、稳定性测试、性能测试也是服务端测试必备的测试类型。

异常测试会模拟各种异常情况,比如硬件异常-机器挂掉的情况下能否启动备机、硬盘挂掉的情况下是否会丢失数据;网络异常-网络忽然断掉、或者网络流量变小的情况;系统异常-操作系统忽然挂掉的情况。这些极端的情况出现的时候,我们需要验证数据有没有丢、能不能尽快启动备机对外提供服务、系统状态有没有异常等。我们会采用各种方式或者工具来模拟这些异常,比如用TrafficControl工具来控制网络流量。

稳定性测试,就是模拟系统在724的运行下会不会出问题,一般会用接口测试或者性能测试用例不断地跑,在运行期间,我们会模拟各种情况,比如说负载的变化、系统的各种干扰等。可以用ChaosMonkey等工具来进行这类测试。

性能测试,其实细分起来会有各种类型,比如负载测试、压力测试、配置测试、甚至还有线上压测、容量规划等。最常规的性能测试,一般是先规定一个系统需要承受的压力,比如说,某一个系统,1个小时之内会有1W单的单子,那基于这个需求我们分析服务器后端需要承受的压力,分析出来以后,就写性能测试脚本,然后逐渐增加压测的力度,直到超过这个预定的压力。通常在这个测试过程中会发现各种问题,比如数据库索引没有建、线程池太小、系统异常等。需要解决了之后再加大压力测试。也是用Grinder/JMeter等工具来进行性能测试,不过难的不是这些工具的使用,而是发现问题以后的定位。

对于这种后端服务的测试人员来说,技术上的要求是挺高的,需要有较好的编程能力,需要对数据库、操作系统等机制有很好的了解才行。

人尽其才、物尽其用”。企业购买服务器当然是为满足特定需要。针对不同需求,我们要关注的性能指标也不同。举例来说,对于数据库服务器,联机事物处理能力是最需着力考察的指标。TPC-C是“事务处理性能委员会”(TPC)负责制订的基准测试指标,考察联机事务处理每分钟吞吐量。而TPC-C测试结果又包括两个指标,一个是流量指标tpmC,这个值越大越好;另一个是性价比指标Price/tpmC,指的是测试系统价格与流量指标的比值,这个值则越小越好。以IBM公司的x366为例子,根据TPC官方网站,TPC-C在线交易基准测试中,x366的流量指标达到了141504tpmC,是4路至强芯片服务器的世界纪录。

再比如说,购买Web服务器时,最重要的性能指标就应该是SPEC web99。SPEC web99为Web用户提供了用于评测系统用作Web服务器能力的最客观、最具代表性的基准; 而如果是选购应用服务器,关注SPEC jbb200和SAP SD这两个指标就能知道大概其了,因为SPEC jbb200是专门用来评估服务器系统运行Java应用程序能力的基准测试,而SAP SD 的测试结果为客户提供了基本的规模建议。

对于大多数人来说,基准测试指标是一个全新的知识空间 – 许多人在购买服务器时习惯于考虑CPU和内存,以为选定了这些,服务器的性能就差不多了。其实,不同的系统设计技术会对服务器的性能产生巨大影响,用诸多量化指标来衡量比较是十分必要和重要的。

用户都希望系统能24×7×365不停机、无故障地运行,这其实是要求服务器的可用性。而可用性和可管理性是息息相关的。服务器的故障处理技术越成熟,为用户提供的可用性就越高,而这个故障处理技术必须要有良好的管理手段和界面来及时表现:一方面可以通过出现故障时自动执行系统或部件切换以避免或减少意外停机,另一方面要让管理员及时察觉及帮助诊断,才能从根本上解决问题。目前这方面做得较好的是IBMx3架构服务器。它带有一种叫“弹出式光通路诊断面板”的技术,只要轻轻,光通路诊断面板就会以从服务器前端弹出,指示器可以帮助管理员快速地定位和替换故障组件,减少服务器的宕机时间。

以基准测试指标为基准,以理性考量为准绳,二者并行互航,您选择的服务器肯定错不了!

附表:部分服务器性能指标

应用

基准测试

简述

测试中主要考察的部件

联机事物处理

TPC-C

TPC-C是一种考察联机事务处理(OLTP)每分钟吞吐量的基准测试。TPC-C模拟的是完整的计算环境,大量用户针对数据库(如SQL、Server Oracle,DB2)执行并发事务操作。许多IT专业人员将TPC-C视为衡量“真实”OLTP系统性能的有效参考基准。

全面考察微处理器,内存子系统,磁盘子系统合一些网络组件

电子商务

SPECweb99 SPECweb99用于评测Web服务器能够支持的最大同时连接数的客户端/服务器基准测试。基准负载是由运行HTTP Server的服务器联网的客户端设备上的客户端软件来实现的。为Web用户提供用于评测系统用作Web服务器能力的最客观、最具代表性的基准。

系统的微处理器、内存体系结构和编译器

SPECjbb200 SPECjbb200(Java业务基准)是SPEC第一个用于评估服务器端Java的性能的基准,为Java用户提供用于评测服务器系统运行Java应用程序能力的最客观、最具代表性的基准

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 新服务器做数据库服务器用,如何测试

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情