了解SSH协议提高安全性

我使用ssh也不是一天两天了,几年前我第一次使用ssh连接到服务器开始,就被告知服务器类似11:11:11…的一个数字串很重要,第一次连接会告知是否接受这个数字串,点击yes之后除非服务器重装否则不应该再看到这个提示,否则就是存在中间人攻击。那么这个东西是什么?它如何避免中间人攻击?我过去一直认为这东西是对服务器整个进行扫描生成的对服务器唯一的标识码,每台服务器都应该不同。那么这种说法是否正确?要说明白这件事,首先要从ssh协议的原理说起。

讨论ssh原理的文章很多,可以随便到网上找。我大致说明一下:ssh协议,以及https常用的ssl等等,很多现代加密协议,都基于“非对称金钥加密系统”。这个系统是什么?总的来说,就是通过随机算法,一次生成一对钥匙,一把称为公钥,一把称为私钥。公钥是可以告诉任何人的,私钥必须保密。这2把钥匙,都是长长的一串字母和数字。

1.通过一把钥匙加密的数据,只能通过另一把解密。
2.通过一把钥匙,无法反推去计算出另一把钥匙。

这2点是金钥系统的基础,至于为啥,这得去问该死的数学家,咱不懂。客户端发起ssh连接时,向服务器发送一个要开始连接的明文信号,服务器把公钥明文发送给客户端。客户端把自己的公钥,用服务器的公钥加密,再发送回去,服务器收到后,用自己的私钥解密,验证用户身份后建立连接。

你就明白了。在整个过程中,被传输的只有公钥,私钥是不传输的,中间即使有任何人拦截了数据包,因为他不知道私钥,所以无法对数据解密。那么ssh的中间人攻击又是怎么回事呢?假设有某个该死的如什么强想嗅探你的数据,夹在你和服务器之间,第一步,你向服务器发起连接,,服务器给你公钥,某强拦截了这个包,然后把自己的公钥冒充服务器的发给你,你用这个假的公钥加密后发出去,某强拦到包,就可以用自己的私钥解密。

所以就明白了。第一次连接到服务器问你对不对的那货,就是公钥。而不是什么服务器唯一标识,说到底这玩意儿根本不存在。公钥一点不神秘,他就是/etc/ssh下的一个文件,由ssh-keygen命令随机生成。所谓只有重装等等才会变更是不对的。正确的说法是,他是sshd用于验证身份的文件,如果删除它,重启sshd,就会生成新的公钥。重装会变更是因为重装删除了所有文件。

中间人攻击为何必须换自己的公钥发给你呢,因为他无法反推计算出解密用的私钥。如果用原公钥的话,整个过程他是无法解密的。所以就明白额,公钥的重要性。可以说整个ssh协议,或者网银用的ssl协议,都基于公钥的正确性。一般的建议做法是通过其他渠道,电话,甚至当面传递公钥。而网银或者说https则是在浏览器预先内置数字证书,确保公钥万无一失。当然,如果你或者服务器其中之一被攻陷,私钥泄露的话,那么任何协议都无安全可言。

那么如何查看公钥呢?

如果管理员公开了他的公钥,那自然好说。否则,/etc/ssh/sshd_host-ras_key.pub,类似文件,有三个,分别代表三种算法。这个文件,cat是长长一串字母数字,有2048位,可以认为是很难读的。ssh-keygen -lf file可以读出他的fingerprint,就是链接时让你确认那个。

连接过的服务器的公钥存放在~/.ssh/known_host类似一个名字下。如果echo ” > known_host 那么所有服务器连接时都会重新问

如何让你的数据更安全——三个方面对平台的数据安全进行保护

当一个商业的系统平台推出时,系统的安全性就尤为重要,为了保障平台的安全性,根据我这几年的经验,还有去年参加的网络安全培训,我认为需要从以下三个方面对平台的数据安全进行保护:

数据安全
数据安全

硬件技术

  1. 服务器采用磁盘阵列:服务器硬盘由4块600G的SAS硬盘采用RAID5组成一个容量为1.8T的磁盘阵列,任何一块硬盘损坏都可以采用热插拨的方式迅速替换硬盘来恢复数据,保证数据的完整性和一致性。
  2. 数据备份:每天自动进行一次完整性数据备份。
  3. 双机容错:配备主备两台服务器,当主服务器发生故障时,备份服务器可以实时启动主服务器镜像,继续提供平台的正常服务。
  4. 异地容灾:每天自动将数据实时备份在远程数据备份中心中,一旦发生火灾,地震等不可预科的灾难时,可以从远程数据备份中心即时恢复数据。
  5. 电信级机房:服务器放置于电信VIP中心机房,采用电信级防火墙保护,24小时网络实时监控,有效防止黑客入侵。

软件技术

  1. 敏感数据加密:用户数据采用MD5加密,MD5为不可逆加密,这种加密后的数据是无法被破解的,即使黑客拦截和获取了加密后的信息,也无法还原为明文。
  2. 加密的接口调用:接口调用采用验证MD5加密串,只有双方的加密串一致,校验才通过,可以有效禁止非法的第三方调用。
  3. 合理的权限管理:对不同的用户角色赋于不同的权限,每个角色只能查看自己拥有权限的模块和内容,无法查看没有权限的内容。
  4. 企业级杀毒软件与防火墙:采用企业级专业的杀毒软件和防火墙,防止服务器被病毒感染和黑客入侵。
  5. 口令的安全强度:采用大小写,数字,字母,特殊字符混合口令,使黑客无法通过简单的暴力破解来破解口令。
  6. 数据库禁止远程登录:数据库仅充许本地登录,使黑客无法从远程连接暴力破解数据库。
  7. 日志管理:软件将自动记录用户的操作记录,对于非法的访问与操作可以通过日志得到更全面的信息。
  8. 解决系统漏洞:定时更新操作系统补丁,关闭不安全服务和端口,删除默认共享,清除系统不安全的漏洞。

管理技术

  1. 系统安全策略:根据用户在组织内的角色和职责而为其分配不同级别的权限,把服务器配置为赋予各个用户仅能使用特定的程序并明确定义用户权限。
  2. 管理制度:公司内建立和实施严密的计算机网络安全制度与策略,制订《数据安全管理规定》

本文由:飞天不不 分享,转载请注明出处http://mtoou.info/shujuanquan/