欢迎光临
我们一直在努力
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告

云服务器安全基准测试:云上安全管理的最佳实践 (云服务器安全吗)

引言

随着云计算的普及,云服务器成为企业广泛采用的基础设施服务。云服务器的安全威胁也不容小觑。为了加强云上安全防御,云服务器安全基准测试应运而生。本文将深入探讨云服务器安全基准测试,并介绍如何将其应用于云上安全管理的最佳实践

什么是云服务器安全基准测试?

云服务器安全基准测试是一套标准和最佳实践,用于评估和改善云服务器的安全态势。它涵盖了云服务器的不同方面,包括网络安全、系统安全和数据安全。

云服务器安全基准测试的好处

  • 提高云服务器安全态势
  • 识别和修复安全漏洞
  • 符合监管要求
  • 增强客户信任
  • 降低安全风险

如何进行云服务器安全基准测试

云服务器安全基准测试通常分为以下几个步骤:

  • 定义范围:确定要测试的云服务器及其关联资源。
  • 选择基准:选择符合您的组织需求的安全基准,例如 CIS 基准或 NIST 800-53。
  • 收集数据:收集有关云服务器配置、安全策略和补丁程序信息等相关数据。
  • 评估差距:将收集的数据与基准进行比较,以识别安全差距。
  • 制定补救计划:制定一个计划来解决发现的安全差距,包括实施补丁程序、修改配置和加强安全控制。
  • 进行验证测试:验证补救措施是否有效,并再次评估云服务器的安全态势。

云上安全管理最佳实践

除了进行云服务器安全基准测试外,还应采用以下最佳实践来加强云上安全管理:

  • 使用云安全组:利用云安全组控制网络流量,并限制对云服务器的访问。
  • 配置密钥管理服务:使用密钥管理服务安全存储和管理云服务器的访问密钥。
  • 实施身份和访问管理 (IAM):通过 IAM 机制控制对云服务器及其资源的访问。
  • 定期备份数据:定期备份云服务器的数据,以防止数据丢失或损坏。
  • 进行安全监控:实施安全监控工具,以检测和响应安全事件。
  • 进行员工安全意识培训:对员工进行安全意识培训,以提高他们对云服务器安全威胁的认识。

结论

云服务器安全基准测试对于加强云上安全管理至关重要。通过实施安全基准测试和采用最佳实践,组织可以显著提高云服务器的安全态势,降低安全风险,并确保客户数据的安全。


谁有微软磁盘阵列教学视频?

XP SP2 新功能与使用技巧2003 群集技术概述6.0 安全性最佳实践探究Windows XP SP2 Firewall——企业环境中的部署探究Windows XP SP2 Firewall——SOHO之部署创建 Windows Server 2003 AD 域组策略在 Windows 2000 和 Windows 2003 中的应用管理大全之启动排错全接触2003 服务应用大全之 IIS6.0 使用详解使用GPMC随心所欲管理组策略深入了解活动目录操作主机角色2003 SP1 功能预览与演示—- 活动目录的日常管理操作(五)—- 活动目录的日常管理操作(四)—- 活动目录的日常管理操作(三)—- 活动目录的日常管理操作(二)—- 活动目录的日常管理操作(一)使用 ADS 部署 Windows 服务器改善系统操作,加强系统安全 – Windows NT 4.0 到2003安全及操作比较确保 Windows 服务器的安全性利用 Windows 平台实现强大的磁盘管理功能防御与对策轻松实现集中管理:组策略全面接触实现高可用的文件访问:基于活动目录的分布式文件系统轻松从NT4升迁到活动目录使用活动目录强化企业网络安全活动目录的商业价值与特性演示灵活利用组策略做网络管理PC 2004——构建虚拟测试、开发环境用微软解决方案进行有效的安全更新管理活动目录灾难恢复技术实现关键技术应用威胁和威胁建模2003 新特性展示2003 域的重命名Directory 故障排除经验谈网络防火墙的杰出之作—ISA Server 2004Server 2004 防火墙功能概述及客户端应用演示利用 ISA Server 2004 实现具有高可靠性的网络安全Virtual Server 2005——技术概览使用ISA2004部署服务器发布使用ISA2004部署企业远程访问与VPN架构理解ISA 2004中的网络规则2004经典部署与应用Server 2004技术预览与特性演示微软2月安全公告讲座组策略技巧与实践微软商业智能平台的精髓工具箱:活动目录与网络系列 (一)客户端安全与组策略的灵活安装简介2004-理解ISA 2004的应用层过滤器+ SUS——免费安全补丁管理解决方案2003网络架构最佳实践-管理和维护DHCP远程终端方案概述增强windows安全全集 (上)基于x64架构的Windows概述Virtual Server 2005——搭建双节点虚拟机群集间谍软件概述与应对微软3月安全公告讲座浏览服务——网上邻居的幕后原理2003 实战Server 2003反垃圾邮件攻略身份标识和访问控制(粤语课程 粤语讲解及英文幻灯片)“微软解决方案框架”内幕如何制作一份漂亮的数据报告安全的Windows Mobile解决方案(上)(客户端)2003网络架构最佳实践-使用路由和远程访问配置路由安全的Windows Mobile解决方案(下)(服务器)工具箱:活动目录与网络系列 (二)关于工作组环境中网络访问的疑难解答将工作放进口袋里——让你的产品实现无缝计算利用Exchange Server 2003有效阻挡垃圾邮件Server 2003的DNS增强和新特性使用 ISA Server 2004 保护网络周边安全(上)2003信息管理挖掘保护 PC 的工具及技术使用 ISA Server 2004 保护网络周边安全(下)2003网络安全最佳实践之—使用IPSEC保证数据传输安全6.0 新特性用图表说话:Visio 2003概览与实例标识和访问管理(上)Server 2003 移动计算使用 SSL 确保 Web 服务器通信安全应用的部署、管理和监测安装和配置MOM2005Server 邮件存储系统之原理篇增强windows安全全集(下)体验微软最新即时消息解决方案 LCS 2005 SP1 和 Office Communicator 2005标识和访问管理(下)Server 2005 DTS 新特性展示之二-Data Flow利用Microsoft Office 2003电子化工作流程(一)实现SQL Server高度可用性-复制程利用Microsoft Office 2003电子化工作流程(二)Server 2003从入门到精通系列之二:创建和管理用户帐户移动企业服务的纽带——移动Web服务Mobile 游戏设计微软企业级补丁管理解决方案——WSUS篇微软4月安全公告讲座安全风险管理(上)Mobile多媒体解决方案关于BSI7799信息安全管理体系InfoPath 表单设计与开发实战安全风险管理(下)远程/移动访问的信息安全管理证书服务部署安全基础框架微软企业级补丁管理解决方案——SMS篇实现SQL SERVER高度可用性-主动/被动群集和主动/主动群集数字证书在 OE/Outlook 中的应用使用组策略和IP Sec进行网络隔离(上)点点通五月安全公告信息解读六月安全公告信息解读长篇文档排版技巧Server 数据恢复实战评估网络安全 (上)应用的配置和监测的免费午餐——Microsoft SQL Server Web target=_blank>2003安全全集(上)2003安全全集(下)Server 2003活动目录:管理特征如何应用MOF以提高系统的可靠性With ADServer 2003 实战管理系列之三:管理Exchange组织和服务器如何加固Windows XP 主机安全Server 2003 实战管理系列之二:Exchange部署与管理体系结构借助Microsoft Virtual PC 2004搭建Active Directory Lab微软基准安全分析器在企业中的实施新知使用组策略和IP Sec进行网络隔离(下)Server 2003 实战管理系列之一:Exchange Server 2003 规划与部署

为什么我不再用 NET 框架

平台很棒。

真的很棒。

直到它不再那么棒。

我为什么不再用?简单来说,它限制了我们选择的能力(对我来说很重要),转移了我们的注意力,使得我们向内认知它的安全性,替代了帮助我们认知外面广阔世界的所有可能性。

[系好安全带:这个文章的长度几乎成了一本书…]优点首先让我开始说说做得对的许多事吧,尽管这其中的大多数并不来自本身,但却是由社区而来。

C#C#令人惊叹。

我认为它是一个令人惊叹的编程语言。

从强大的C语言背景而来,我彻底地喜欢其语法,流和这门语言的所带来的感觉。

当然有我可能改变的事,但总体来说它是一门扎实的语言。

并且基于开发人员使用的编程语言如此巨额的百分比和Windows操作系统的优越性,它是一门众所周知的语言。

ReSharper我也很喜欢Resharper。

在JetBrains工作的开发者们都是奇迹般的人。

如果没有ReSharper和一些相关的工具,我可能并不会如此喜欢C#。

BDD and MSpec我也很喜欢简称为机器规格(mspec)的BDD风格的框架。

它是一个令人惊叹的测试框架,真正支持在测试中使用正确的语言测试本身。

在使用mspec之前,我的测试真是一团糟并且很碍我的事。

另外,当我们创建GoConvey—基于Golang的BDD测试框架的时候,Mspec对于我的组织来说是一个巨大的灵感和激励。

多语言运行时我认为多语言的CLR(公共语言运行时)的观念真得使得JVM的世界思考着。

我不知道任何非Java的JVM语言在CLR之前,但随着“公共语言运行时”的到来,我的理解是这使得使用JVM的人们向前进并且最终创造了如Scala和Clojure这样伟大的JVM编程语言。

如果我错了请纠正我。

再者,CLR使得Sun公司的人们坐下来并关注它,因为Java有一点陈旧并且随着Java 8的到来,仅仅现在才在多个方面追赶着。

竞争是一件非常好的事。

NuGet另一个显著的例子是NuGet。

这个包在Windows中作为一个整体特别是在Windows的开发中,它的管理轶事是糟透的。

NuGet解决了很多问题,他们也通过从Python和Ruby借用了很多东西去做了很多正确的事。

有改进的余地吗?当然。

但比起其他一些选择在这儿或那儿的包升级来说,我还没有感到使用NuGet有这许多痛楚。

Mono对于Mono的开发者们,我不能不说太棒了。

他们所创造的太惊奇了。

没有任何官方支持和不顾潜在的悬在他们头上的法律问题,他们向前推进并创造了一个居然能替代官方运行时的实现。

我已经有一些运行在产品中应用程序,在Mono下运行了几乎一年而没有任何问题。

它的产品准备好了吗?这可能取决于你的应用程序(见下文“Mono”)。

CQRS 和事件溯源可以认为,关于最好事之一是,它是CQRS的诞生地并有相关的技术:事件溯源。

就算这样,CQRS+ES本身并没有什么很新的东西。

正如Greg Young将会告诉你的,这是由一堆40年历史原料为我们重新打包并更名的。

对于大型代码库我有些非常严重的问题,当我5年前使用CQRS+ES的时候,它完全释放了我的域。

CQRS+ES现在是命名模式的并且其成长是显而易见的。

这可能是因为已经能够和其他的开发平台交互共享的原因。

除了这个之外,大多数的创新是从外部来的。

缺点优点先放在一边,让我们看看什么出错了和我为什么不再用框架。

关于我最近开发平台的迁移,最能激励我的事是我可以利用许多最好的部分而丢下不好的部分(如下文所说)。

Windows正如前文所述,当面对基于网络的服务器软件时,Windows并不是一个好的选手。

在我看来,Windows的另一个真正的大问题是传统的Windows开发者是通常仅仅擅长于Windows,当他们离开安乐窝之后就会很快迷失,这对于Linux开发者来说却不是问题。

计算远不止是Windows。

开发者仅仅能操作单一的操作系统的一个问题是它不可避免得导致Windows的激增。

换句话说,Windows生了Windows。

没办法打破这个循环。

另一方面,*NIX的开发者通常熟悉多操作系统(Linux,Unix,OSX,Windows等等),一个操作系统的内部工作原理,不同的分布(基于Debian和基于Fedora),窗口管理器,桌面管理器,文件系统,包管理,编译,重新编译,重新打包,命令行“fu”等等。

我的一个心病是文件系统。

NTFS并不是系统唯一的文件系统,对于任何给予的任务它几乎都不是最好的选择。

ZFS,BTRFS,ReiserFs,ext*等等,有一些很酷的特性。

我也很喜欢为了各种高速/透明的磁盘操作,能从BASH创建回路设备或者创建RAM设备。

这在Windows中不会发生—如果没有第三方软件的话。

在AWS云服务中,启动一个Windows机器要花掉足足10多分钟。

我大约15-20秒就能启动一个简单的Linux机器。

当涉及到云计算规模,它能够迅速扩展是很重要的,因为当扩展很重要时,10-15分钟就像是永恒的。

Visual Studio在我这另一根刺,当属Visual Studio。

我需要一个大大超出预期的 IDE 去做任何开发,这个想法困扰着我。

它只是如Windows一样庞大的资源猪。

我有一个内核i7 3770K 3.5GHZ的台式机,以16GB的内存和最大4512GB的固态硬盘去编译。

它差不多刷爆了Windows体验指数,但Windows+VS仍然很慢。

(是的,ReSharper使得它更慢了,但是ReSharper对这来说是值得的。

)现在我在MacBook Pro上开发,它比起我的强大的台式机来说只有更少的CPU马力,但运行明显更快,在一个短小的学习曲线之后,UX(用户体验)变得无限美好了。

事实上,我甚至不再用鼠标了—我的双手一直在键盘或触控板上,我可以用手势操作我的电脑并让它回应—不像在Windows。

关于VS很酷的一个事是调试器。

它的查看和使用,令人难以置信得方便。

每隔一段时间会在监视窗口报告错误的值,导致花费更多时间去调试。

同时,这也是很大的负面,因为CLR默认的,多线程的世界使得我一开始就需要一个调试器。

没有调试器是一个解脱的体验,因为它迫使你以另一种方式编程。

VS同样也有创建“csproj”和“sln”文件的坏毛病。

我恨这些。

当然,C#必须知道编译什么和何时编译。

我理解这点。

在Golang中,引用在代码中使用了很重要的语句。

如果它不是中用到的工程文件,我可能使用简单的文本编辑器编码C#,并且对这门语言更流畅。

使用git rebase操作时,这些文件也有导致合并冲突。

别让我开始说换行符的差异。

我不能相信直到今天我们还在处理这样的事。

如果VS解决方案文件以Linux行结束符结束,通过双击它并不能载入该解决方案,因为VS解决方案文件分析器读不出它来。

源代码管理幸运的是,我早就跳出了微软阵营的源代码管理(版本控制系统VSS)。

我早在2000年初,在VSS无数次丢失了我的提交之后,就使用了Subversion(译者注:Subversion是开源的版本控制系统)。

之后git(译者注:git是开源的版本控制系统,内容管理系统等)出现了,我又迷上了它。

不幸的是,没有Windows的接口—对我来说是典型的遭遇。

最终有人创建了一个接口,我就用了那个并且没有回头。

Git是一把非常锋利的刀,但当你正确运用它的时候,它是一个强大而高效的工具。

我曾经在一个小工程中用过TFS(译者注:Team Foundation Server,工作流协作引擎),它是一个怪物—和所有来自Redmond(译者注:美国微软总部)的产品一样。

它感染了我的项目文件并且污染了我的源代码目录。

真可恶。

不,还是谢谢你。

给了我任意一天用命令行git…或者可能是SourceTree,如果你需要从GUI得到一点关爱。

Mono是的,这是第二次提及Mono。

正如Mono本身如此惊艳一样。

在的世界,它仍然二等公民。

无论什么时候我尝试在Mono上运行任何重要的东西,我通常都在和漏洞作斗争。

幸运的是,对下载代码,查找问题,发送请求和在Linux上编译代码我没有感到不舒服。

但是这件事我都记不清做了多少遍了。

是的,CLR是个巨大的怪物,并且对一个非官方的应用在不同的操作系统都有相同的行为,简直是个类似于分开红海的奇迹。

但事实是,我不得不花费如此多的时间来填补漏洞以使我的代码能够正确运行,实在是很难为其辩护。

Mono的特定区域也慢。

也许它不是在慢在过载,但对我来说Web服务器是关键所在。

并且它非常慢,最后,慢到了最底下—即使是微不足道的东西。

我想好消息是它只能从这儿得到更好的。

我也应该提及Mono的开发者可能忘了Linux,比起我可能知道的还多,所以我不能太挑剔。

IIS也许IIS在尝试着为太多的应用程序做太多的事情。

它从作为一个web服务器变为像J2EE应用程序容器一样的应用程序宿主。

它也站在慢速这一边。

我猜如果我需要更高的性能,我应该编写我自己的web服务器,但我真的很想只关注我应用程序的代码。

可能利用Windows事件服务器将是好的,但nginx(译者注:一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器)和其他服务器只是不喜欢在Windows中生产。

虚拟的以JVM为基础的实现,例如Netty(译者注:JBOSS提供的一个java开源框架),很容易处理每秒650K+/的请求量。

IIS在运行一个简单的CLR应用程序“Hello,World!”,处理大约每秒50K的请求量时就会壅塞。

(有趣的题外话,参考基准开发者通过TCP套接字创建了一个简单的C#的web服务器,它能处理大约每秒120K的请求量。

)狭隘的心理前些年有个运动叫做。

该运动是全部是关于寻找我们自身之外的更广阔的开发社区以作为一个整体,并汇聚不同的部分。

有趣的是,那是StructureMap、Autofac、NuGet、 MVC和许多其它工具的灵感来源。

在传统的的圈子里,这个运动受到了很多的不屑和鄙视。

我把这看作是,作为一个整体的社区普遍的狭隘心理和怠惰的一个极大的例证。

(的确,它们中的一些可能会消失,进而以包括Redis,MongoBD还有其它的不同的技术而出现。

)有这么多很棒的方案在那里。

假定微软已注定是唯一正确之路的想法是荒谬的。

如果是这样的话,我们就都还在使用Visual Studio的设计工具去拖放按钮和链接元素到一个WebForm的界面上,我们会设定了该按钮并且依赖ViewState以帮助我们与可怕的HTTP所带来的恐惧隔开。

我从我的一个部署的代码库中最后一个WebForm中摆脱的那一天,是个光荣的值得庆贺的日子。

谁又曾想过“网络控制”是个好主意?很显然我考虑过因为我喝了Kool-Aid(译者注:卡夫公司出品的饮料,这里意指明知是注定的或有危险的仍然去做,有负面涵义)并且完全接受它。

它狠咬了我。

见过2MB的ViewState吗?[注:当我写这篇文章的时候,原来的标题,“为什么我不再用”,意味着整个生态系统。

标题感觉有点短于是我更新为“为什么我不再用框架”。

我想作为一个生态系统,包括了所有的工具,工程,平台,组织还有很多开发者。

这就是为什么有些更广泛的社区的元素在我的这篇文章中受到抨击原因。

]性能杀手C,Java和C#中典型的多线程范例都强烈推荐使用锁和互斥。

对于锁来说有个隐藏的开销:它们慢得难以忍受。

使用Disruptor(JVM中的无锁的环形缓存[译者注:实际上就是拥有一个序号指向下一个可用元素的数组]),你可以很容易得每秒处理20M以上的事件。

在中使用规定的“最佳实践”等任何超过每秒十几次的传输,都被认为是体面又好的性能表现,在这一点上来说你仅仅需要更大/更好/更多的硬件设备。

事实上,我见过第三方客户端库(Rabbit,Couch,Mongo等等)中锁语句遍布整个代码。

即使在我的代码中没有任何的并发,默认的和首选的方法都用了锁。

无锁的、事件驱动的方法允许你大幅降低硬件和资金支出。

大部分应用程序可以轻易地运行在两台机器上,第二台机器仅仅在冗余和失效备援时是必须的,以防因为硬件相关的问题导致第一台机器不可用的时候起作用。

这个问题的另一个方面是调用网络和磁盘子系统的传统方式:同步,阻塞代码。

如果你需要多个并发的HTTP请求,你需要更多的线程。

大多数人不知道的是,为维持线程多出的1-2MB和上下文切换线程的需求,使得CPU内核消耗所有的时间颠簸在上下文切换上而不是做真正的工作。

所以现在我们得到了在一个应用程序中数百或数千的线程,占用了RAM,并造成CPU停滞不前。

还有个更好的方式。

Netty/NIO (JVM),Erlang,Node,Gevent (Python)和Go都支持使用事件驱动的子系统操作(选择/epoll[译者注:Linux内核中的一种可扩展IO事件处理机制]/kqueue[译者注:FreeBSD的可扩展的事件通知接口])。

这就意味着当等待数据包被tx/rx跨网络的时候,CPU可以自由地去做其它,重要的工作。

因为JVM的成熟,Netty可以认为是做这项工作最快的,但我喜欢Go用Goroutines操作这个的方式—它简单,优雅,很容易推理,没有像意大利面条一样的回调。

SQL Server作为一开发者,当你开始一个新的工程时,有一些事是你通常会去做的:创建一个新的solution将其部署到Team Foundation Server(译者注:Microsoft 应用程序生命周期管理 (ALM) 解决方案的核心协作平台)IIS中建立相应的网站入口创建一个新的SQL Server数据库在solution中关联Entity Framework(通常是2010年之后创建的工程)开始设计你的数据库和ActiveRecord实体在大多数情况下这不是编写代码的正确方式。

当然它可能在某些情况下有效,但是作为一个“默认的架构”它并不是你想要的。

为什么在我们甚至还没理解问题领域之前已经做了任何技术上的选择?这简直是本末倒置了。

微软的生态系统鼓励每个人使用SQL Server。

在Visual Studio中和SQL Service进行交互或者使用SQL Management Studio(和它的前身,SQL查询分析器)是如此令人难以置信的容易。

这种以数据库为中心的重点,是钦定的或唯一正确的方式的一部分。

它使你更加迷恋微软。

厂商锁定始终对厂商来说是好的。

为什么我们要如此开发?为什么我们不更多地考虑应用程序的行为而不是它如何存储的?现在我所有的项目都使用基于JSON的键/值存储。

有了这种功能,我可以选择任何我想要的存储引擎,包括SQL Server,Oracle,PostgreSQL,MySQL,Cassandra, CouchDB, CouchBase, Dynamo, SimpleDB, S3, Riak, BerkeleyDB, Firebird, Hypertable, RavenDB, Redis, Tokyo Cabinet/Tyrant, Azure Blobs,文件系统中的明文JSON文件等等等等。

突然之间,我们能够开始根据其优点而不是仅仅对其熟悉来选择存储引擎了。

题外话:在AWS RDS的云上运行过SQL Server吗?别这么做。

当然它会工作,但是一些例如复制这样最简单的事是不存在的。

文章充斥着对SQL Server不能在AWS RDS上工作的引用。

结论也许我在软件开发中学到的两件最重要的教训是:边界和封装的重要性(以多种形式)付出代价以得到正确的模型和抽象许多年前我恨“模型”这个词。

每个人都会把它到处扔,它是一个如此过载的术语,很难理解它的含义和它为什么这么重要。

就这点来说,我仅仅会说模型是对你想要封装的现实的一个有限的表示。

也许最简单的例子就是地球仪的墨卡托投影了。

这很确切得说明了一件事:导航。

如果你在其他的事情上使用它,它并不毫无价值。

如果你不专注于付出代价去使模型正确,去封装商业现实,那么没有任何技术能够拯救你。

我对最大的抱怨是,“唯一正确的方式”引导你远离理想的模型并把你推向关注实现细节和技术缺陷的方向。

这样的关注导致技术实施渗血并且感染模型,最终导致它腐烂变质,因为它不能适应不断变化的商业需求。

当这发生的时候,开发者挣扎着并蹬踢着,如同吸毒者一样,他们从一个新技术转向另一个,以期望下一个强大的技术能够治愈他们的病痛。

技术本身并不是灵丹妙药,相反地,它是关于取舍和选择。

只有正确地理解了商业行为并把它们封装进结构良好的,易于理解的模型中,以帮助保持技术堆栈在属于它的地方—作为一个实现细节。

这就是我为什么不再用 框架,因为它不断地重申自己(的主张),不断地想要比它的本身更多的:一个实现细节。

DotNetNuke网站性能的10个技巧

以下的这些配置是目前为止我所发现的最佳基准配置 依据不同的主机运行环境 更新频率 访问量 以及用户数量 网站的优化配置会有些不同 经过优化的DNN也是可以运行得很快的 以下我将使用DNN 中文版示范 这些技巧同样适用于DNN x

主机管理 > 主机设置中的基本优化

首先我们来优化主机设置 我仅在这里指出关键的设置

外观

显示版权信息 禁用此项

◆高级设置 > 身份验证设置 (只适用于DNN x DNN 设置方法见下) 禁用不需要的身份验证方式 通常我会禁用LiveID和OpenId以增加用户登陆的速度

◆高级设置 > 性能设置

◆网页状态保存方式 页面 这里是指viewstate的存储方式

◆模块缓存方式 重量级缓存 这里使用的是页面输出缓存

◆客户端缓存 Public 这样浏览器就会缓存js css 图片这些资源文件

◆压缩设置 GZip方式压缩 注意这里只是Gzip压缩只是压缩aspx动态页面 javascript css等资源文件请在IIS中设置压缩 压缩后页面大小一般会减少 %以上 速度提高也节省带宽

◆高级设置 > 其它设置

◆任务调度模式: 计时器模式 HTTP请求模式对访问率低的网站会造成初次访问加载过重的现象 启用事件记录缓存? 选中此项 是否自动同步文件? 禁用此项

卸载不需要的模块和Provider

卸载不需要的模块可以提高加载网站的速度 卸载模块后模块对应的程序集(dll)也会从bin文件夹中移除 这样会减少初次读取网站时加载程序集到内存的数量 以提高网站读取速度 DNN安装向导中默认模式只会安装基本的模块和Provider 但如果安装时选择了全部模块及Provider请按以下方式卸载 当需要时再安装

DNN x 主机管理 > 模块定义 中删除不需要的模块

DNN x 主机管理 > 功能扩展 中删除不需要的扩展 例如不需要论坛时就不要安装 网站不提供OpenId验证方式就卸载掉

禁用不需要的身份验证方式

此设置只适用于DNN 在DNN 中如果安装了多种身份验证方式 例如OpenID LiveID Active Directory在站点管理中可以针对不同的站点关闭开启需要的验证方式 这点比DNN x要灵活 在这里我们要禁用不需要的身份验证方式已提升登陆页面速度 在 站点管理 > 功能扩展中 选择扩展类型 Authentication System(身份验证系统) 然后编辑不需要的身份验证系统并禁用 通常我会只开启Default Authentication(默认的DNN验证方式) 禁用

DNN_OpenIDAuthentication

DNN_LiveIDAuthentication

DotNetNuke Active Directory Authentication Project

调度管理的设置

在 主机设置 > 调度管理中 根据需要延长或关闭不需要的调度任务 以防止频繁执行调度任务增加服务器压力

如果网站不提供站内搜索 则禁用DotNetNuke Services Search SearchEngineScheduler

如果网站提供站内搜索 则把DotNetNuke Services Search SearchEngineScheduler任务频率设置为 天重试频率设为 小时 这将会极大的减缓服务器压力

同样把DotNetNuke Services Scheduling PurgeScheduleHistory任务频率设置为 天

以上 就是最基本的通过网站配置实现的优化 总的来说以上的改变会带来显著的性能提升 但大多时间仍然不能足够的保正网站平滑的运行 因此依据不同情况我会进行以下的优化

定期清除事件记录

很多用过DotNetNuke的朋友会发现数据库中[EventLog] 表(记录站点 事件记录 的表)可能会成为导致性能下降的罪魁祸首因为DNN网站中的很多操作都会被记录到事件记录(EventLog)中 开启事件记录缓存会减缓尺寸过大的[EventLog]表对网站带来的副作用 但是最佳的优化方法莫过于定期清除 事件记录 方法有很多种

如果只有一个站点 用主机管理员(host)帐号登陆在站 点管理 > 事件记录 中选择清除所有记录 如果有很多站点一个一个清除很麻烦 直接到 主机管理 > SQL查询 里运行 TRUNCATE TABLE eventlog 则可一次清除[eventlog]的所有记录 如果对数据库有管理权限则可设置数据库调度任务定期自动执行 TRUNCATE TABLE eventlog

另外也可以使用Scheduled SQL Jobs这个免费模块来定期清空事件记录

请记住 我们必须保持 事件记录 (eventlog表)的记录数在一个很小的范围内 这样才能保证网站的运行效率 很多国外收费很贵的DNN专用主机空间所作的主要优化就是定期清除事件记录 当然在 站点管理 > 事件记录 > 编辑记录设置 中关闭不需要的记录 例如APPLICATION_START APPLICATION_END也是个不错的方法

皮肤优化

皮肤优化也是很重要的 购买或制作皮肤时一定要选用支持XHTML的使用DIV+CSS制作的皮肤 这会增加网页读取的流畅度 css也可以被浏览器缓存也可以增加页面读取速度 另外选择一个支持CSS的菜单控件 例如House Menu皮肤控件来替换默认的皮肤控件可以减少页面尺寸 %甚至更多 优化后的皮肤可令页面读取速度减少 %以上

另外关于客户端优化Yahoo的网站优化最佳实践是个很好的指南 我们也可以下载Firefox中的YSlow插件来查看优化的效果

防止网站重新加载编译

很多人对DNN速度慢的印象大多来自于初次访问速度过慢 这其实是因为Asp Net网站初次加载到程序池需要进行动态编译导致感觉速度很慢 其实加载之后速度就会很快了 另外对于访问量不多的网站

网站在静止一段时间后会被从程序池中踢出 当有用户访问时网站会重新加载编译 所以对于访问量少的网站用户总是觉得网站很慢 解决这个问题的关键是保持网站在程序池中活跃 以防网站重新加载 这方面的工具不少 原理一般就是定时ping网站保持网站活跃

我比较推荐的是一个免费工具Smarter Ping 之前有个客户的网站访问量很小导致每次访问网站都会重新加载 一般要等 秒 在使用了Smarter Ping之后每次都是一下就打开了不超过 秒 Smart Ping是一个Windows Service它会定时ping你预设的网站 这里建议时间间隔设为 分钟一次 另外DNN也有提供一个专门响应这类工具的网页在网站根目录下 KeepAlive aspx 添加要ping的网址时则可设为x

DNN优化模块

在这里不得不提Snapsis PageBlaster这个优化模块 它可以提供全方位的优化 例如页面压缩 缓存 合并静态文件减少请求 大大提升页面读取速度 如果前面优化效果不理想可以试试这个模块

服务器优化建议

在不同运行环境下的优化配置

云平台 类似于Mosso这种云服务平台也是可以支持DNN的 但是在这种环境下模块缓存到内存是不工作的 所以在主机设置里我们要把 模块缓存方式 设为硬盘 这样会提升 %的性能 其它的设置基于以上优化不用变动

共享主机 共享主机中 模块缓存方式 设置为内存没什么问题 因为内存比磁盘要快很多 但是对于很繁忙的Web服务器 例如存放上百个网站的Web服务器使用共享的应用程序池 每个网站分配到的内存可能都会很少 这种情况下缓存到内存的命中率会很低 大部分时间会从服务器重新请求 这时设置 模块缓存方式设 为硬盘的效果会好些

虚拟主机 情况和共享主机类似 模块缓存方式 默认设置为内存 根据具体情况如果网站很多觉得速度慢改为硬盘试试看

对于在本地测试使用debug模式在Visual Studio中运行的朋友 不要期待在这种环境下速度会很快 这种模式下运行DNN这种大型网站会很吃力 在IIS中设置网站速度会提高不少

修复反复发生的错误

反复发生的错误异常是所有网站的性能杀手 每当有不能处理的异常抛出都会的进程造成一些影响 并且DNN系统会捕捉并记录异常到数据库的[EventLog]表 对于高访问量的网站这种代价是很难承受的 经常查看 站点管理 > 事件记录 确定没有反复发生的错误是保证网站正常工作的前提 如果发现此类异常要及早处理 异常可能是由第三方模块造成 也可能是系统本身的bug

对于不熟悉 Net除错和DotNetNuke系统的朋友 可能会比较麻烦 这时最好利用社区的帮助或者咨询专业公司

总结

lishixinzhi/Article/program/net//

赞(0)
未经允许不得转载:优乐评测网 » 云服务器安全基准测试:云上安全管理的最佳实践 (云服务器安全吗)

优乐评测网 找服务器 更专业 更方便 更快捷!

专注IDC行业资源共享发布,给大家带来方便快捷的资源查找平台!

联系我们