架设的传奇使用SSL/TLS加密协议时,有哪些常见的安全漏洞需要防范?

来源: 作者: 点击:
在使用SSL/TLS加密协议保护传奇服务器时,需要防范一些常见的安全漏洞,以确保服务器和用户数据的安全。以下是一些需要注意的安全漏洞及其防范措施:

SSL剥离攻击:攻击者可能会尝试将安全的HTTPS连接降级为不安全的HTTP连接,以便截获和篡改传输中的数据。确保服务器和客户端始终使用HTTPS,并在服务器配置中禁止HTTP。

中间人攻击:攻击者可能试图插入自己于用户和服务器之间,截获或篡改通信。使用强证书和证书吊销列表检查来验证证书的有效性。

降级攻击:攻击者可能迫使通信使用较弱的加密算法或过时的SSL/TLS版本。在服务器上禁用旧版本的SSL/TLS协议,并使用强加密套件。

SSL重新协商攻击:攻击者可能利用SSL/TLS流量重新协商的缺陷来注入恶意代码。更新服务器软件以修复已知的重新协商漏洞,并禁用不必要的重新协商。

SSL注入攻击:攻击者可能尝试在SSL流量中注入恶意数据。确保服务器软件是最新的,并且配置为拒绝未经验证的会话重用。

会话劫持攻击:攻击者可能试图窃取用户的会话令牌以冒充用户。使用安全的会话管理实践,如会话固定保护和会话令牌的定期轮换。

信息泄露漏洞:如CVE-2016-2183,可能允许攻击者通过生日攻击泄露加密数据。更新服务器软件以修复已知漏洞,并避免使用已知弱点的加密算法。

RC4算法漏洞:RC4算法中的缺陷可能导致信息泄露。避免使用RC4,并切换到更安全的加密算法,如AES。

服务器端漏洞:服务器软件中的漏洞可能被攻击者利用。定期更新服务器软件,应用安全补丁,并进行安全审计。

配置错误:不正确的服务器配置可能导致安全漏洞。仔细检查和测试服务器配置,确保遵循最佳安全实践。

为了提高传奇服务器的安全性,应该采取以下措施:

使用最新的服务器软件和SSL/TLS库版本。
定期更新和打补丁以修复已知的安全漏洞。
使用强密码策略,定期更换密码,并实施多因素认证。
限制对服务器的物理和网络访问,只允许授权用户访问。
实施日志记录和监控,以便及时发现和响应安全事件。
定期进行安全审计和渗透测试,以评估服务器的安全性。
通过实施这些安全措施,可以显著提高传奇服务器的安全性,保护服务器免受各种威胁和攻击。

在架设传奇使用ssl/tls加密协议时,存在一些常见的安全漏洞需要防范。例如SSL/TLS受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)、SSL/TLSRC4信息泄露漏洞(CVE-2013-2566)、SSL/TLS服务器瞬时Diffie-Hellman公共密钥过弱等漏洞。对于这些漏洞,可以采揉种措施进行防范。如网上下载IISCrypto.exe,选择推荐设置并应用,在合适的时间重启服务器。也可以使用强大的工具testssl.sh进行测试,涵盖了TLS和SSL评估所需的所有测试。
对于SSL/TLS服务器瞬时Diffie-Hellman公共密钥过弱的漏洞,可查看nginx配置文件nginx.conf,重新配置SSL/TLS,使用大于1024位的Diffie-Hellman公共密钥。检查ssl支持的加密算法有没有des算法,若有需进行加固。如对nginx进行加固,在编译时注意ssl版本不能低,重启后再次检查,若还能测到漏洞,可在后面加!3DES。检查ssh时,在vim/etc/ssh/sshd_config末尾添加内容,取消注释并删除des算法,重启ssh。
对于SSL/TLS协议信息泄露漏洞(CVE-2016-2183),避免使用DES算法。可参考多种修复方法,如在win7操作系统中进行相应操作,下载最新版本的OpenSSL,对于nginx、apache、lighttpd等服务器禁止使用DES加密算法,Windows系统可参考特定链接进行处理。
此外,服务器中使用tomcat作为应用服务器检测出安全漏洞时,需要去禁用RC4加密算法,并且重新配置SSL/TLS,使用大于1024位的Diffie-Hellman公共密钥,在tomcat的conf目录下面的server.xml中增加特定配置。同时,若服务器端禁止使用RC4加密算法、客户端在浏览器TLS配置中禁止RC4,可作为临时修复方案禁止apache服务器使用RC4加密算法并修改配置后重启apache服务,根据SSL/TLS存在BarMitzvahAttack漏洞原理,通过跟目标站点进行SSL握手并根据目标站点返回的ServerHello消息中的加密算法进行漏洞验证。
SSL/TLS受诫礼攻击漏洞(CVE-2015-2808)如何防范
该漏洞是由功能较弱而且已经过时的RC4加密算法中一个问题所导致的,它能够在某些情况下泄露SSL/TLS加密流量中的密文,从而将账户用户名密码、信用卡数据和其他敏感信息泄露给黑客。
防范方法主要有以下几种:
服务器端禁止使用RC4加密算法。客户端也应在浏览器TLS配置中禁止RC4。验证方法可以根据SSL/TLS存在BarMitzvahAttack漏洞原理,通过跟目标站点进行SSL握手并根据目标站点返回的ServerHello消息中的加密算法进行漏洞验证。比如使用openssls_client-connect网站地址-cipherRC4或者使用nmap进行测试nmap-p443--script=ssl-enum-ciphersTARGET,确保服务器支持密码类型不使用RC4。如果能够查看到证书信息,那么就是存在风险漏洞;如果显示sslv3alerthandshakefailure,表示该服务器没有这个漏洞。
对于NGINX的修补,修改nginx配置文件中的ssl_ciphers项,如ssl_ciphers"ECDHE-RSA-AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"。
可以通过控制面板进行设置,具体为:控制面板--->系统和安全--->管理工具--->本地安全策略--->本地策略--->安全选项--->系统加密:将FIPS兼容算法用于加密、哈希和签名,右键--->属性--->点击“已启用”--->“确定”。或者按下'Win+R',进入“运行”,键入“gpedit.msc”,打开“本地组策略编辑器”,计算机配置>管理模板>网络>ssl配置设置,在SSL配置设置,打开SSL密码套件顺序设置,点击已启用,更换SSL密码套件。还可以打开注册表按下Win+R组合键打开“运行”对话框,在对话框中输入regedit,然后按下Enter键。在Protocols右键【新建】->【项】输入【TLS1.2】,添加同样在下面添加【Client】、【Server】,在Client和Server下【新建】->【DWORD(32)位值】,并禁用SSL2.0和RC4。
SSL/TLSRC4信息泄露漏洞(CVE-2013-2566)如何修复
直到2015年3月,还有约30%的网络通信是由RC4进行保护的。但通过“受戒礼”攻击,攻击者可以在特定环境下只通过嗅探监听就可以还原采用RC4保护的加密信息中的纯文本,导致账户、密码、信用卡信息等重要敏感信息暴露,并且可以通过中间人进行会话劫持。
修复方法如下:
对于apache,需要先安装openssl,使用yum-yinstallopenssl。然后使用命令探测openssls_client-connect127.0.0.1:443-cipherRC4,如果返回结果为证书,那么需要在apache配置文件关闭RC4。找到http.conf的配置文件,看是否有ssl的配置信息,大多数位置为/etc/httpd/conf.d/ssl.conf。如果没有可能未安装扩展,可以使用命令安装ssl扩展yum-yinstallmod_ssl,安装后这个文件自动生成。修改ssl.conf对RC4的支持,将SSLCipherSuite改为HIGH:MEDIUM:!aNULL:!MD5;!RC4,最后重启httpd或者apachectl。
对于lighttpd,在配置文件lighttpd.conf中禁用RC4算法,例如:ssl.cipher-list="EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"。
SSL/TLS服务器瞬时Diffie-Hellman公共密钥过弱如何处理
处理方法主要有以下几种:
增加密钥长度:为了提高密钥的安全性,可以增加密钥长度。一种简单的方法是将原始椭圆曲线参数扩展为n个点,每个点的离散距离为r=h/(2^n),其中h为大素数。另一种更复杂的方法是使用RSA加密算法中的大质数分解技术生成两个大质数p和q。这些大质数将成为Diffie-Hellman密钥交换的基础。
选择更好的证书:为了避免证书被伪造或篡改,可以选择更好的证书。首先选择可信任的证书颁发机构(CA),并确保其颁发的证书是真实有效的。然后,要求CA对证书进行强制性检查和验证,以确保其有效性和完整性。
使用Diffie-Hellman签名:为了保证通信双方交换的密钥是安全的,可以使用Diffie-Hellman签名来验证密钥交换过程中是否存在误差。首先计算出每个节点生成的随机数a和b,并使用公钥对它们进行加密生成公钥(e和d)。接着计算出私钥(d和c)并进行签名,即e和d”j。通信双方将这两个签名与发送方交换的私钥对比,如果相同则认为无误差发生;如果不相同,则存在误差存在需要进行重传。
本次采用增加密钥长度解决方案:生成大于1024的密钥文件dhparams.pem,如2048,使用openssldhparam-outdhparams.pem2048。在nginx.conf中加入ssl_dhparam/usr/local/nginx/conf/dhparams.pem;然后重启nginx,nginx-sreload。最后验证弱加密SSL套件,使用nmap-sV--scriptssl-certssl-enum-ciphers-p443localhost,如果没有nmap命令,先安装yuminstallnmap-y。
按下'Win+R',进入“运行”,键入“gpedit.msc”,打开“本地组策略编辑器”。打开计算机配置->管理模板->网络->SSL配置设置。在“SSL密码套件顺序”选项上,右键“编辑”->在“SSL密码套件顺序”选在“已启用(E)”。在“SSL密码套件”下修改SSL密码套件算法,仅保留TLS1.2SHA256和SHA384密码套件、TLS1.2ECCGCM密码套件(可先复制该选项原始数值并备份到记事本作回退备用,然后删除原有内容替换为TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521TLS_RSA_WITH_AES_128_CBC_SHA256TLS_RSA_WITH_AES_256_CBC_SHA256TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P521TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P521TLS_DHE_DSS_WITH_AES_128_CBC_SHA256TLS_DHE_DSS_WITH_AES_256_CBC_SHA256TLS_RSA_WITH_NULL_SHA256。点击“应用”、“确定”,并重启系统实现修复。最后重启服务器。
如何避免SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
TLS,SSH,IPSec协商及其他产品中使用的DES及TripleDES密码存在大约四十亿块的生日界,这可使远程攻击者通过Sweet32攻击,获取纯文本数据。
避免该漏洞的方法如下:
建议避免使用DES算法。可以在OpenSSLSecurityAdvisory(22Sep2016)链接:https://www.openssl.org/news/secadv/20160922.txt下载最新版本。对于nginx、apache、lighttpd等服务器禁止使用DES加密算法,主要是修改conf文件。Windows系统可以参考如下链接:https://social.technet.microsoft.com/Forums/en-US/31b3ba6f-d0e6-417a-b6f1-d0103f054f8d/ssl-medium-strength-cipher-suites-supported-sweet32cve20162183?forum=ws2016。win2012R2解决办法参考链接:https://gallery.technet.microsoft.com/scriptcenter/Solve-SWEET32-Birthday-d2df9cf1/view/Discussions#content,下载该ps1的文件。首先运行PowerShell后去文件夹中运行,或者直接输入D:\Solve-Sweet32.ps1即可。
对于Windows10和WindowsServer2016及以后的版本,可以通过策略修改来解决该漏洞,具体方法可参考https://docs.microsoft.com/zh-cn/windows-server/security/tls/manage-tls,这里有说明组策略设置中SSL密码套件顺序和ECC曲线顺序的相关性重要性。对于之前的版本,可以用封闭端口的方法应付。
日常工作中,经常会有漏洞扫描、等保测评、攻防演练等安全活动。对于CVE-2016-2183(SSL/TLS)在WINDOWS系统中出现的频率特别高,可以按住win+r,输入gpedit.msc,进入组策略界面。依次找到本地组策略编辑器-->计算机配置-->管理模板-->网络-->SSL配置设置。双击上图右侧的SSL密码套件顺序,选择已启用,并删除原有的SSL密码套件。将下列套件复制到SSL密码套件框内,应用并确定。最后一定要重启服务器操作系统,使其配置生效。
当架设传奇使用ssl/tls加密协议时,需要特别注意防范上述常见的安全漏洞。对于SSL/TLS受诫礼攻击漏洞(CVE-2015-2808),要及时禁止使用RC4加密算法,并通过多种方式对服务器和客户端进行配置,确保加密的安全性。对于SSL/TLSRC4信息泄露漏洞(CVE-2013-2566),要在不同的服务器环境中正确关闭RC4加密支持,防止敏感信息被窃取。对于SSL/TLS服务器瞬时Diffie-Hellman公共密钥过弱的情况,可通过增加密钥长度、选择更好的证书以及使用Diffie-Hellman签名等方法来提高安全性,同时也可以通过特定的配置修改来增强服务器的安全性。对于SSL/TLS协议信息泄露漏洞(CVE-2016-2183),应避免使用DES算法,并根据不同的系统版本采取相应的解决措施,确保加密协议的安全性,保护传奇游戏的用户数据和系统安全。
[顶部]