如何提高服务器的安全性?

如何提高服务器的安全性?,第1张

1、系统漏洞的修复
安装好的系统都会有系统漏洞需要进行补丁,一些高危漏洞是需要我们及时补丁的, 否则黑客容易利用漏洞进行服务器攻击。
2、系统账号优化
我们服务器的密码需要使用强口令,同时有一些来宾账户例如guest一定要禁用掉。
3、目录权限优化
对于不需要执行与写入权限的服务器我们要进行权限修改,确保不把不该出现的的权限暴露给攻击者让攻击者有机可趁。
例如我们的windows文件夹权限,我们给的就应该尽可能的少,对于用户配置信息文件夹,不要给予everyone权限。
4、数据库优化
针对数据密码和数据库端口访问都要进行优化,不要将数据库暴露在公网访问环境。
5、系统服务优化
去除一些不必要的系统服务,可以优化我们系统性能,同时优化系统服务可以提升系统安全性。
6、注册表优化
注册表优化可以提升网络并发能力,去除不必要的端口,帮助抵御snmp攻击,优化网络,是我们优化服务器不可缺少的环节。
7、扫描垃圾文件
垃圾文件冗余可能会造成我们的服务器卡顿,硬盘空间不足,需要我们定期进行清理。

什么是身份验证和授权

根据RFC2828(Internet Security Glossary,May2000),验证是“校验被或向某系统实体声明的身份的过程”。此处的关键字是校验,而正确的术语是“验证系统校验身份”。

验证可以提供保证,确保用户(或系统)是他们所说的身份。应用程序获取用户的凭据(各种形式的标识,如用户名和密码)并通过某些授权机构验证那些凭据。如果这些凭据有效,则提交这些凭据的实体被视为经过身份验证的标识。授权指用户访问网络资源的能力,通过对已验证身份授予或拒绝特定权限来限制访问权限。

验证可以直接在用户试图访问的计算机上执行,但在分布式环境中,用户帐户和安全信息通常由特殊的安全服务器存储和管理。当用户登录时,用户名和密码靠安全服务器进行校验。如果校验正确,密码将不会再通过电缆发送。用户密码保持秘密并从不通过网络是至关重要的,尤其是当密码为可读文本时,窃听者可以轻易捕获这些信息并使用它假装成该用户访问安全系统。相反,独特的握手式方案如此处所述以安全方式验证用户身份。

尽管单独的安全服务器提供许多好处(集中的安全和安全管理),但在分布式环境中对用户进行身份验证呈现出许多有趣的挑战。

例如,假设某用户希望访问称为DOCS的安全服务器,当该用户登录时,其登录信息直接或间接地用于验证其身份。现在该用户试图访问DOCS服务器,假设DOCS“信任”该安全服务器,并假设它可正确地验证该用户。安全服务器已经验证了该用户的身份,因此DOCS也尝试验证该用户的身份就没有意。所需要的是“一次注册”验证方案,该方案可在无需进一步的登录请求的情况下使该用户访问信托网络环境中的任何系统,假设该用户具有整个网络的一个用户帐户。这可以按如下所示完成。

该用户的登录信息可以被缓存。当该用户访问另一台服务器时,该服务器获取登录信息,并用安全服务器校验登录信息。

当该用户第一次登录时,安全服务器可以发出登录凭证。该用户在登录会话的期间访问其他系统时将使用这些凭证。根据RFC l704 (On Internet Authentication, October 1994)释义,一个安全验证方案必须提供如下所示的“强相互验证”:

相互验证 交换中的双方使用可靠的方法了解对方身份的真实性。

强验证 双方都不获取可用于在另一会话中假冒对方的信息。

密码可用于相互验证,但不用于强验证。如果一方将其密码直接交给另一方,则会将有关自身的某些内容暴露出来,而其他系统可以使用这些信息冒充它。本质上,第一个“说话者”放弃了密码,并且变得易受攻击。窃听者也可以捕获密码并在以后使用(除非密码为一次性密码)。

强验证方案允许双方显示它们知道秘密而不展现实际秘密。再看前面的示例,假设某用户具有一个机密密码,他必须向安全服务器证明他知道密码,但不将密码通过网络传输。下面的四路握手方案是一个示例:

1、当该用户登录时,他的计算机生成随机数,并使用密钥对其加密。请注意,此密钥是从密码中导出的,或者是从本地加密文件获取的,而该加密文件只有在输入了正确的密码后才可访问。

2、结果发送到安全服务器,后者使用共享的密钥进行解密。

3、现在安全服务器具有该用户的服务器生成的随机数。它将该数字加1,然后生成自己的随机数,并用共享密钥为两者分别加密。

4、该用户的计算机接收该消息并解密。消息的第一部分应该是此计算机原来发送到安全服务器并加1的随机数,它证明此计算机与知道共享密钥的系统有联系。

5、下一步,该用户的计算机将从安全服务器接收的随机数加1,进行加密,然后将它返回到服务器。

6、当服务器接收此消息时,其随机数已经加1,服务器知道客户端一定是可信的。

经过验证后,客户端和服务器建立新密钥,在会话的剩余时间内该新密钥用于加密。这使登录密钥的使用变得最小。当然,共享的秘密必须保持秘密。如果有人获得它,这个人即可伪装成客户端或服务器。

经过这么多年,已经开发了许多验证协议和技术。CHAP(挑战握手验证协议)是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令,其中包括会话ID和一个任意生成的挑战字串。远程客户必须使用MD5单向哈希算法(one-way hashing algorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。

另一个协议是EAP(可扩展验证协议)。EAP是一种框架,支持可选择的多重PPP验证机制,包括纯文本密码,挑战-响应和任意对话顺序。

下面概述其他几种更先进的方案:

双因子验证 在此方法中,使用令牌设备(如智能卡)生成一个附加登录代码。此登录代码与服务器知道的代码在时间上同步。用户在登录时输入此代码、用户名及密码。因而需要两项才能登录:用户知道的某些内容(用户密码)以及用户具有的某些内容(令牌)。此方案要求所有用户都要有智能卡,并且此方案通常是为远程用户实现的。

Kerberos Kerberos是一个根据票证执行验证的制定得很好的协议。其命名是根据希腊神话中守卫冥王大门的长有三头的看门狗做的。定名是贴切的,因为Kerberos是一个三路处理方法,根据称为密匙分配中心(KDC)的第三方服务来验证计算机相互的身份,并建立密匙以保证计算机间安全连接。

票证是由称为KDC(密钥分发中心)的专用安全服务器发放的加密数据分组。KDC通常在企业网的内部进行维护,而企业网是KDC的授权区或管辖区。当用户登录时,由KDC处理验证。如果用户验证正确,则KDC向该用户颁发票证(称为“票证授权票”或TGT)。当此用户希望访问某个网络服务器时,KDC检查自己先前提供给用户的TGT(以校验票证依然可信),然后向用户颁发服务票证,以允许用户访问目标服务器。目标服务器具有自己的校验票证以确认用户可信的方法,并根据预定义的访问控制授予用户访问权限。

Kerberos协议基本上是可行的,因为每台计算机分享KDC一个秘密,KDC有两个部件:一个Kerberos认证服务器和一个授票服务器。如果KDC不知请求的目标服务器,则求助于另一个KDC完成认证交易。Kerberos是一种网络认证协议,允许一台计算机通过交换加密消息在整个非安全网络上与另一台计算机互相证明身份。一旦身份得到验证,Kerberos协议给这两台计算机提供密匙,以进行安全通讯对话。Kerberos协议认证试图等录上网用户的身份,并通过使用密匙密码为用户间的通信加密。

证书、公钥和PKI(公共密钥基础结构) 如果要求安全登录到因特网服务器或其他公共服务器,则证书方案是适当的。证书基本上是数字ID,它受众所周知的证书颁发机构(如VeriSign)保护。它可以证明在连接另一端的人是其所说的身份。此方案使用公钥加密,并为用户提供一种方法,以向您提供其用于身份验证的公钥,以及在客户端和服务器之间加密会话。此方案与Kerberos的区别是Kerberos要求联机安全服务器对用户进行验证。证书是自包含的数据分组,其中包括对用户进行验证所需的所有内容。但是,它要求某实体颁发证书。这可以通过公共服务(如VeriSign)完成,可通过内部证书服务器完成(当公司希望颁发自己的证书给雇员时)。

圣杯一次注册

SSO(一次注册)的概念很简单。用户只需要一次键入其用户名和密码(第一次登录时),以访问任何网络资源。在某些情况下,SSO甚至无需用户进一步提供证书即允许访问外部网络系统和因特网Web服务器。

Windows 2000网络通过使用Kerberos和Secure Sockets Layer (安全套接字层)协议可提高一次注册功能。这两种协议的优点是它们在混合网络环境中允许一次注册,而混合环境中的一些服务器可能是UNIX、Linux或也支持这两种协议的NetWare服务器。Microsoft SNA Server将SSO功能扩展到大型机环境。Microsoft声称Windows 2000是在异类网络中用作SSO集线器的最佳选择,原因是Windows 2000的SSO可以与其他供应商如此多的 *** 作系统具有互 *** 作性。在Windows 2000中,每个域控制器都是一个Kerberos密钥分发中心,该中心具有对应于该域的辖区。

SSL是由Netscape设计的一种开放协议;它指定了一种在应用程序协议(例如>

对于编程开发程序员来说,除了需要完成软件编程工作以外,同时也需要增加一些基础的信息安全措施。今天我们就一起来了解一下,提高服务器安全等级的安全措施都有哪些类型。



深度防范

深度防范原则是安全专业人员人人皆知的原则,它说明了冗余安全措施的价值,这是被历史所证明的。

深度防范原则可以延伸到其它领域,不仅仅是局限于编程领域。使用过备份伞的跳伞队员可以证明有冗余安全措施是多么的有价值,尽管大家永远不希望主伞失效。一个冗余的安全措施可以在主安全措施失效的潜在的起到重大作用。

回到编程领域,坚持深度防范原则要求您时刻有一个备份方案。如果一个安全措施失效了,必须有另外一个提供一些保护。例如,在用户进行重要 *** 作前进行重新用户认证就是一个很好的习惯,尽管你的用户认证逻辑里面没有已知缺陷。如果一个未认证用户通过某种方法伪装成另一个用户,提示录入密码可以潜在地避免未认证(未验证)用户进行一些关键 *** 作。

尽管深度防范是一个合理的原则,但是过度地增加安全措施只能增加成本和降低价值。

小权限

我过去有一辆汽车有一个佣人钥匙。这个钥匙只能用来点火,所以它不能打开车门、控制台、后备箱,它只能用来启动汽车。我可以把它给泊车员(或把它留在点火器上),我确认这个钥匙不能用于其它目的。

把一个不能打开控制台或后备箱的钥匙给泊车员是有道理的,毕竟,你可能想在这些地方保存贵重物品。但我觉得没有道理的是为什么它不能开车门。当然,这是因为我的观点是在于权限的收回。我是在想为什么泊车员被取消了开车门的权限。在编程中,这是一个很不好的观点。相反地,你应该考虑什么权限是必须的,只能给予每个人完成他本职工作所必须的尽量少的权限。

一个为什么佣人钥匙不能打开车门的理由是这个钥匙可以被复制,而这个复制的钥匙在将来可能被用于偷车。这个情况听起来不太可能发生,但这个例子说明了不必要的授权会加大你的风险,即使是增加了很小权限也会如此。风险小化是安全程序开发的主要组成部分。

你无需去考虑一项权限被滥用的所有方法。事实上,你要预测每一个潜在攻击者的动作是几乎不可能的。

简单就是美

复杂滋生错误,错误能导致安全漏洞。这个简单的事实说明了为什么简单对于一个安全的应用来说是多么重要。没有必要的复杂与没有必要的风险一样糟糕。

暴露小化

PHP应用程序需要在PHP与外部数据源间进行频繁通信。主要的外部数据源是客户端浏览器和数据库。如果你正确的跟踪数据,你可以确定哪些数据被暴露了。Internet是主要的暴露源,这是因为它是一个非常公共的网络,您必须时刻小心防止数据被暴露在Internet上。

数据暴露不一定就意味着安全风险。可是数据暴露必须尽量小化。例如,一个用户进入支付系统,在向你的服务器传输他的xyk数据时,你应该用SSL去保护它。如果你想要在一个确认页面上显示他的xyk号时,由于该卡号信息是由服务器发向他的客户端的,你同样要用SSL去保护它。

比如前面的例子,显示xyk号显然增加了暴露的机率。SSL确实可以降低风险,但是佳的解决方案是通过只显示后四位数,从而达到彻底杜绝风险的目的。

为了降低对敏感数据的暴露率,回龙观电脑培训认为你必须确认什么数据是敏感的,同时跟踪它,并消除所有不必要的数据暴露。在本书中,我会展示一些技巧,用以帮助你实现对很多常见敏感数据的保护。

1这两种服务器证书的最主要差别在于各自所能激活的 SSL 阶段作业的加密强度不一样。SSL对信息的加密强度分为两种,分别为40位及128位;这两者的区别主要在于每次进行加密过程时所产生的""会话密钥""长度不同。加密密钥的长度越长,要破解加密就越困难。
据RSA 实验室表示,128位的SSL 加密是全 球最坚实的技术;以现今的技术要破解 128 位加密必须耗费好几兆年的时间。Microsoft 与 Netscape 两家企业在其网页浏览器程序中各提供两种不同的版本;分别为输出版本 (export) 以及本地版本 (domestic),依浏览器程序与正在通讯中的服务器证书而定,这两种不同版本的网页浏览器各可以激活不同层次的加密等级。
240位SSL安全服务器证书包含在Secure Site与Commerce Site服务中,可以在与输出版本的Netscape及Microsoft Internet Explorer浏览器 (为全 球大多数用户所使用) 进行通讯时激活 40位SSL机制;而当与本地版本的 Microsoft 及 Netscape 浏览器通讯时则可以激活128位的SSL加密。
128位 SSL全 球服务器证书包含在 Secure Site Pro 与 Commerce Site Pro 服务中,可以激活128 位的 SSL 加密,它是目前全 球最坚强的加密等级,Microsoft[TM] 与 Netscape[TM]浏览器的本地及输出版本皆适用。
3128位的 SSL 全 球服务器证书与 40-位的 SSL 安全服务器证书还有一个主要的差异点,即各自所支持的服务器平台数目不同。
4如果不确定需要安装什么类型的证书,建议找天威诚信的技术人员进行安装。天威诚信证书智能管理系统简单易用的自动化部署功能,支持一键安装SSL/TLS证书。

锐讯网络总结了7个点1、做好服务器的初始安全防护,2、修改服务器远程端口。3、设置复杂密码。4、修补已知的漏洞5、多服务器保护。6、防火墙技术。7、定时为数据进行备份。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10603034.html

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

发表评论

登录后才能评论

评论列表(0条)

保存