行业新闻
你的位置:首页 > 新闻动态 > 行业新闻

谈谈.ssh目录的系统灾难恢复技术

来源:网易企业邮箱      2020-02-03 18:20:02      点击:

今,云已经成为制定灾难恢复方案的一个合理选择,那么对基于本地环境的方案来说,它是否仍然有存在的必要?

云灾难恢复有很多好处,但这并不意味着它适合每个组织。不可否认的是,本地灾难恢复更容易受到自然灾害或火灾等数据中心级的威胁,但在某些方面,它比云更安全。

本地复制通常在接近实时的情况下进行,而到云的复制通常是异步的,而且是在几分钟内分批复制。从表面上看,这似乎不是什么大问题,但是丢失几分钟的数据对您的组织来说可能是一个重大损失。虽然采用云技术似乎是一件明摆着的事,但是如果你的本地环境已经在提供相关服务,那么就需要再认真考虑一下了。

灾难恢复编排

2020年,灾难恢复编排可能将是一个不断发展的领域。灾难恢复编排将复杂冗长的备份和恢复过程自动化,降低了出现人为错误的可能。当您在虚拟机上发生大规模故障时,编排也能提供很大的帮助,因为它接管了管理员在虚拟机故障转移中通常需要手动执行的任务。

然而,即使是很小的基础架构更改,也会对自动化功能造成很大的影响,如果在备份过程中发生故障,自动化功能也会将人员排除在循环之外。所以灾难恢复编排也有“成长的烦恼”,但基于其可见的优势,我们可以期待在未来的一年看到更多的产品。

2019年备受关注的5个IT系统灾难恢复技术趋势

灾难恢复中的区块链技术

区块链是一种创建和管理事务数据记录的技术,它在金融行业中得到了很好的应用,但也可以应用于灾难恢复场景。

您的组织可以使用区块链作为一种工具来验证您备份或复制到恢复站点的数据完整性,并检测数据是否被篡改或是否出现数据损坏。

您还可以在类似于错误纠正代码(ECC)内存的进程中使用区块链。ECC内存使用特定的代码来检测和修复内存错误,因此您可以生成一个修正代码,然后将该代码存储在区块链中。

勒索软件在不断进化

在可预见的未来,勒索软件将是主要的一个灾难恢复问题,所以您应该知道勒索软件是如何变化的,并找到解决的方法。

虽然组织今年能够采取更复杂的方法来应对勒索软件,但攻击者已经适应了。勒索软件攻击循环是一种网络攻击策略,它以使用备份进行恢复的组织为目标。攻击循环首先感染备份系统,然后休眠,对备份数据感染数月。

网络攻击是不可能预测的,但多层次的数据保护方法是防止勒索软件破坏组织系统的最佳方法。

随着勒索软件攻击变得越来越复杂,勒索软件的预防和恢复方案也变得越来越复杂。尽管勒索软件的威胁不会很快消失,但相对的保护性技术应该会继续发展。


谈谈.ssh目录的安全性

~/.ssh的是一个非常重要的目录,也是安全隐患点,处理不好该目录安全设置,对导致严重安全问题,让主机被轻而易举的被人黑掉。据虫虫所知,一些木马、自动挖矿脚本就借助该目录信息自动扩散传播。本文就给大家介绍~/.ssh/的安全性。


熟悉ssh的同学应该都知道.ssh目录,这个目录用来保存ssh一些客户端一些ssh配置、公钥,公钥认证的文件。~/.ssh的是一个非常重要的目录,也是安全隐患点,处理不好该目录安全设置,对导致严重安全问题,让主机被轻而易举的被人黑掉。据虫虫所知,一些木马、自动挖矿脚本就借助该目录信息自动扩散传播。本文就给大家介绍~/.ssh/的安全性。

谈谈.ssh目录的安全性

.ssh目录介绍

目录~/.ssh/是用来存储SSH客户端和服务器一些配置文件的位置,这些文件包括:

  • authorized_keys,SSH服务器默认的公钥认证文件,企业邮箱服务器通过该文件配置可以使用该用户认证的用户证书。SSH证书认证就是客户端生成证书(私钥和公钥对),将公钥复制到该文件,每行一个证书。复制公钥时候可以使用ssh-copy-id命令或者直接手动配置authorized_keys文件即可。
  • id_*,包括id_rsa,id_dsa,id_ed25519,id_ecdsa等是保存在该用户下的证书私钥,用户通过SSH证书认证时候会自动搜索这些私钥进行认证。
  • id_*.pub 上述私钥对应的公钥,以.pub为后缀。
  • known_hosts 保存该主机连接过的远程服务器及其对应的主机公钥(用来对主机认证),再次连接到远程服务器如果公钥相同,则直接连接认证。如果没有,或者远程服务器有变化,会提示:

谈谈.ssh目录的安全性

需要输入yes,确认才行。

  • config 文件用来配置本地ssh连接的一些项目,比如配置主机别名的,可以解决同一主机或者多台主机使用多个证书,就可以用config配置,比如下面的配置:

谈谈.ssh目录的安全性

		
  1. Host github.com  
  2. HostName github.com  
  3. User git  
  4. IdentityFile ~/.ssh/git/github_id_rsa  
  5.  
  6.  
  7. Host gitee.com  
  8. HostName gitee.com  
  9. User git  
  10. IdentityFile ~/.ssh/git/gitee_id_rsa  
  11.  
  12.  
  13. Host chongchong.com  
  14. HostName 112.34.6.71  
  15. Port 2222  
  16. User chongchong  
  17. IdentityFile ~/.ssh/id_ecdsa  
  18. ForwardX11 yes  
  19. Compression yes  
  20. TCPKeepAlive yes 

前两个Host配置对github和马云使用不同的证书,后面一个Host对一台主机配置使用非默认的ssh端口、非默认当前用户以及一些启用一些ssh配置项目。

.ssh目录安全性问题

主要的安全隐患,还是由于对.ssh目录的安全性认识不够或者由于管理疏忽,导致该目录的权限设置有问题。或者将目录暴露在Web目录或者git公开仓库。比如有些Web服务器中的www用户可以直接访问该目录。由于直接将用户目录设置成了Web根目录,而.ssh目录又是用户目录的子目录所以可以直接访问。

现在,绝大多数的管理员和开发都知道使用密码登陆服务是不安全的,因此都会用证书登陆。如果。ssh目录泄露意味着:

  • 可以直接获得/.ssh/id_rsa等私钥;
  • 可以直接知道authorized_keys、known_hosts和config的内容。

证书泄露

id_*文件是最重要级别的个人文件,该文件不允许泄露给第三人,根据不同的证书类型,私钥文件名可能为了id_dsa(DSA证书已经不是安全,请避免使用),id_rsa(RSA证书,请保证2048位以上),id_ecdsa和id_ed25519,一般来说私钥文件都会PRIVATE KEY的注释行,比如:

谈谈.ssh目录的安全性

为了避免证书泄露后也能保持安全,建议私钥都设置证书密码:

谈谈.ssh目录的安全性

以下密钥没有密码,ssh-keygen -y -f id_ecdsa可以直接显示公钥

		
  1. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBmGXiNwudm3JaGNVERkl013/9OQVR0tfgvcmapONuecVl4EXNE4w0VyZA1ZD2s3hj02x/Y294IwfhExiaDhTyY

如果设置密码保护,则会提示输入密码:

		
  1. Enter passphrase: 
  2.  
  3. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBmGXiNwudm3JaGNVERkl013/9OQVR0tfgvcmapONuecVl4EXNE4w0VyZA1ZD2s3hj02x/Y294IwfhExiaDhTyY

authorized_keys泄露

就算是私钥泄露来,如果没有其他信息,黑客也不知道私钥能用来连接到哪里,这就是为啥要把关键主机、一般主机以及用于管理git的证书都分别独立使用的,防止私钥泄露后导致的问题。但是黑客可以借助.ssh目录下的其他文件来获取更多的信息来精准的利用窃取的私钥。其中有个文件authorized_keys,前面我提到了,是用来配置可以连接到该主机用户下的所有的证书公钥。文件一行一个公钥,公钥以ssh-rsa,ssh-dss,ssh-ed25519,ssh-ecdsa开头,表示不同的证书类型。如果黑客获取了这些密钥,可以通过对比证书方式,验证对应私钥,然后可以利用私钥最终攻陷主机。如果攻击者成功,将会有完整SSH访问权限,能够运行任何命令。

本文由网易企业邮箱原创编辑,转发请注明来源及版权归属。