一、SSH
SSH的配置文件中加密算法没有指定,默认支持所有加密算法,包括arcfour,arcfour128,arcfour256等弱加密算法。
修改SSH配置文件,添加加密算法:
vi /etc/ssh/sshd_config
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
最后面添加以下内容(去掉arcfour,arcfour128,arcfour256等弱加密算法):
ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。
保存文件后重启SSH服务:
service sshd restart or service ssh restart
验证
ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc <server>
ssh -vv -oMACs=hmac-md5 <server>
二、SSL
修改SSL配置文件中的的SSL Cipher参数
1、禁止apache服务器使用RC4加密算法
vi /etc/httpd/conf.d/ssl.conf
修改为如下配置
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4
重启apache服务
2、关于nginx加密算法
1.0.5及以后版本,默认SSL密码算法是HIGH:!aNULL:!MD5
0.7.65、0.8.20及以后版本,默认SSL密码算法是HIGH:!ADH:!MD5
0.8.19版本,默认SSL密码算法是 ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM
0.7.64、0.8.18及以前版本,默认SSL密码算法是ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
低版本的nginx或没注释的可以直接修改域名下ssl相关配置为
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES
256-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-GC
M-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;
需要nginx重新加载服务
㈡ SSH&SSL弱加密算法漏洞修复
SSH的配置文件中加密算法没有指定,默认支持所有加密算法,包括arcfour,arcfour128,arcfour256等弱加密算法。
修改SSH配置文件,添加加密算法:
vi /etc/ssh/sshd_config
最后面添加以下内容( 去掉arcfour,arcfour128,arcfour256等弱加密算法 ):
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
保存文件后重启SSH服务:
service sshd restart or service ssh restart
验证
ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc <server>
ssh -vv -oMACs=hmac-md5 <server>
使用Nmap验证:
nmap --script "ssh2*" 45.76.186.62
已不支持arcfour,arcfour128,arcfour256等弱加密算法。
SSH Weak MAC Algorithms Enabled 漏洞修复使用同样的方式,添加以下行:
MACs hmac-sha1,umac-64,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160
修改SSL配置文件尘闹中的的SSL Cipher参数
如凯信Apache修改以下内派孙罩容:
㈢ SSH支持弱算法 有什么危害吗
SSH是一种建立在应用层和传输层基础上的安全外壳协议。
在SSH的加密中使用到了RSA非对称加密算法,并不是什么弱算法。
RSA加密算法是一种典型的非对称加密算法,它基于大数的因式分解数学难题,它也是应用最广泛的非对称加密算法,于1978年由美国麻省理工学院(MIT)的三位学着:Ron Rivest、Adi Shamir 和 Leonard Adleman 共同提出。
它的原理较为简单,我们假设有消息发送方A和消息接收方B,通过下面的几个步骤,我们就可以完成消息的加密传递:
消息发送方A在本地构建密钥对,公钥和私钥;
消息发送方A将产生的公钥发送给消息接收方B;
B向A发送数据时,通过公钥进行加密,A接收到数据后通过私钥进行解密,完成一次通信;
反之,A向B发送数据时,通过私钥对数据进行加密,B接收到数据后通过公钥进行解密。
由于公钥是消息发送方A暴露给消息接收方B的,所以这种方式也存在一定的安全隐患,如果公钥在数据传输过程中泄漏,则A通过私钥加密的数据就可能被解密。
如果要建立更安全的加密消息传递模型,需要消息发送方和消息接收方各构建一套密钥对,并分别将各自的公钥暴露给对方,在进行消息传递时,A通过B的公钥对数据加密,B接收到消息通过B的私钥进行解密,反之,B通过A的公钥进行加密,A接收到消息后通过A的私钥进行解密。
当然,这种方式可能存在数据传递被模拟的隐患,我们可以通过数字签名等技术进行安全性的进一步提升。由于存在多次的非对称加解密,这种方式带来的效率问题也更加严重。
㈣ 如何禁用OpenSSH(CBC)加密模式防止信息泄露
OpenSSH是一种开放源码的SSH协议的实现,初始版本用于OpenBSD平台,现在已经被移植到多种Unix/Linux类操作系统下。如果配置为CBC模式的话,OpenSSH没有正确地处理分组密码算法加密的SSH会话中所出现的错误,导致可能泄露密文中任意块最多32位纯文本。在以标准配置使用OpenSSH时,攻击者恢复32位纯文本的成功概率为2^{-18}, 此外另一种攻击变种恢复14位纯文本的成功概率为2^{-14}。
编辑ssh配置文件
在 # Ciphers and keying 下或者 文件的末尾 添加下文
重启SSH服务使配置生效
使用SSH针对CBC分组类型的加密算法进行检查
屏幕打印的日志的最后一行:
出现 no matching cipher found: client aes128-cbc,3des-cbc … 说明配置生效。(此时的SSH登录并未成功)
查看默认SSH支持加密算法分组类型
㈤ SSH 实现免密登录
本文介绍如何通过 SSH 实现免密登录。
工作环境:
SSH 是一种网络协议,用于计算机之间的加密登录。SSH是英文Secure Shell的简写形式。
通过使用SSH,你可以把所有传输的数据进行加密更加安全可靠。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH 有很多功能,它既可以代替 Telnet,又可以为FTP、Pop、甚至为 PPP 提供一个安全的"通道"。
SSH 协议更多内容看最后附的链接,有兴趣的朋友可以了解一下。
什么是免密登录呢?
通常我们登录 SSH 是通过账号和免密来登录的,输入 ssh username@ip-server 然后输入密码。
如果每次都输入密码会很麻烦,而且要对多台游弊芦主机进行自动化管理,每次都要输入密码不现实。我们可以配置公钥和密钥进行免密登录。 免密登录做的事情其实就是通过 SSH 的公钥和密钥来校验身份信息。
首先你要知道每台主机有一份公钥和一份私钥。我们要做的事情可以用一张图来表示:
图片的操作依次为
1.生成密匙对
之后可以在 /root/.ssh 中看到生成的密匙对
2.拷贝一份 A 的公钥给 B
此时在 B 的 authorized_keys 中就会有一份 A 的 id_rsa.pub 公钥信息。
注:第二步操作的做的事情其实就是一个拷贝密钥的工作,也可以手动拷贝,但是用上面的命令更方便。
3.最后我们就可以免密登录,也就是不输入密码 A 就可以登录 B
192.168.0.10 为 B 的 ip 地址
如果要退出登录,输入 exit 即可。
192.168.0.10 是 ip 地址,也就是说卜蔽登录的时候我们还要输入一次 ip。我们可以给每个主机配置一个别名,用 ssh ip-server 的方式登录。
就像人有身份证也有名字一样,我们可以通过 ip 来辨识主机。给他一个别名就是给一个 hostname 。
可以用 hostname 来查看你的主机名,要改主机名改他的配置文件
重启生效
这样主机名已经改神带掉了,还差一步。我们要让主机名和我们的 ip 关联在一起,修改 /etc/hosts 文件
例如:
两边都配置完成可以用 ssh slave 直接连接 slave 。如果你想自己免密连接自己那就按照上面的步骤给自己配置一份密匙就行了,动手试试吧。
SSH 协议介绍
数字签名是什么
SSH原理与运用(一):远程登录
SSH原理与运用(二):远程操作与端口转发
如何在CentOS 7上修改主机名