本文概述
- 1.下载ssh-audit
- 2.运行测试
1.下载ssh-auditSSH-Audit是用Python编写的开源CLI工具, 可让你轻松地通过不同的准则来验证目标服务器的SSH协议中的漏洞:
- SSH1和SSH2协议服务器支持;
- 抓住标语, 识别设备或软件和操作系统, 检测压缩;
- 收集密钥交换, 主机密钥, 加密和消息认证代码算法;
- 输出算法信息(此后可用, 已删除/禁用, 不安全/弱/旧版等);
- 输出算法建议(根据公认的软件版本追加或删除);
- 输出安全信息(相关问题, 分配的CVE列表等);
- 根据算法信息分析SSH版本兼容性;
- 来自OpenSSH, Dropbear SSH和libssh的历史信息;
- 无依赖性, 与Python 2.6 +, Python 3.x和PyPy兼容;
要下载最新版本的ssh-audit, 你可以使用git克隆Github上官方仓库的源代码:
git clone https://github.com/arthepsy/ssh-audit.git
克隆后, 将目录更改为克隆的目录:
cd ssh-audit
并继续本教程的其余部分。有关ssh-audit的更多信息, 请访问Github上的官方存储库。
2.运行测试运行脚本和测试服务器的最快方法是直接使用python运行它, 并提供服务器的域或IP作为位置参数:
python ssh-audit.py domain.com
【如何在Ubuntu 18.04中使用带Python的ssh-audit审核(检查漏洞)服务器上的SSH】有关更详细的CLI用法, 可以使用以下选项为该工具指定一些参数:
- -1, – ssh1:仅强制ssh版本1
- -2, -ssh2:仅强制使用ssh版本2
- -4, -ipv4:启用IPv4(优先级)
- -6, – ipv6:启用IPv6(优先级)
- -p, – port = < 端口> :要连接的端口
- -b, – batch:批量输出
- -n, – no-colors:禁用颜色
- -v, – verbose:详细输出
- -l, – level = < 级别> :最小输出级别(信息|警告|失败)
# general(gen) banner: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.8(gen) software: OpenSSH 7.2p2(gen) compatibility: OpenSSH 7.2+, Dropbear SSH 2013.62+(gen) compression: enabled (zlib@openssh.com)# key exchange algorithms(kex) curve25519-sha256@libssh.org-- [info] available since OpenSSH 6.5, Dropbear SSH 2013.62(kex) ecdh-sha2-nistp256-- [fail] using weak elliptic curves`- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62(kex) ecdh-sha2-nistp384-- [fail] using weak elliptic curves`- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62(kex) ecdh-sha2-nistp521-- [fail] using weak elliptic curves`- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62(kex) diffie-hellman-group-exchange-sha256-- [warn] using custom size modulus (possibly weak)`- [info] available since OpenSSH 4.4(kex) diffie-hellman-group14-sha1-- [warn] using weak hashing algorithm`- [info] available since OpenSSH 3.9, Dropbear SSH 0.53# host-key algorithms(key) ssh-rsa-- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28(key) rsa-sha2-512-- [info] available since OpenSSH 7.2(key) rsa-sha2-256-- [info] available since OpenSSH 7.2(key) ecdsa-sha2-nistp256-- [fail] using weak elliptic curves`- [warn] using weak random number generator could reveal the key`- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62(key) ssh-ed25519-- [info] available since OpenSSH 6.5# encryption algorithms (ciphers)(enc) chacha20-poly1305@openssh.com-- [info] available since OpenSSH 6.5`- [info] default cipher since OpenSSH 6.9.(enc) aes128-ctr-- [info] available since OpenSSH 3.7, Dropbear SSH 0.52(enc) aes192-ctr-- [info] available since OpenSSH 3.7(enc) aes256-ctr-- [info] available since OpenSSH 3.7, Dropbear SSH 0.52(enc) aes128-gcm@openssh.com-- [info] available since OpenSSH 6.2(enc) aes256-gcm@openssh.com-- [info] available since OpenSSH 6.2# message authentication code algorithms(mac) umac-64-etm@openssh.com-- [warn] using small 64-bit tag size`- [info] available since OpenSSH 6.2(mac) umac-128-etm@openssh.com-- [info] available since OpenSSH 6.2(mac) hmac-sha2-256-etm@openssh.com-- [info] available since OpenSSH 6.2(mac) hmac-sha2-512-etm@openssh.com-- [info] available since OpenSSH 6.2(mac) hmac-sha1-etm@openssh.com-- [warn] using weak hashing algorithm`- [info] available since OpenSSH 6.2(mac) umac-64@openssh.com-- [warn] using encrypt-and-MAC mode`- [warn] using small 64-bit tag size`- [info] available since OpenSSH 4.7(mac) umac-128@openssh.com-- [warn] using encrypt-and-MAC mode`- [info] available since OpenSSH 6.2(mac) hmac-sha2-256-- [warn] using encrypt-and-MAC mode`- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56(mac) hmac-sha2-512-- [warn] using encrypt-and-MAC mode`- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56(mac) hmac-sha1-- [warn] using encrypt-and-MAC mode`- [warn] using weak hashing algorithm`- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28# algorithm recommendations (for OpenSSH 7.2)(rec) -ecdh-sha2-nistp521-- kex algorithm to remove (rec) -ecdh-sha2-nistp384-- kex algorithm to remove (rec) -ecdh-sha2-nistp256-- kex algorithm to remove (rec) -diffie-hellman-group14-sha1-- kex algorithm to remove (rec) -ecdsa-sha2-nistp256-- key algorithm to remove (rec) -hmac-sha2-512-- mac algorithm to remove (rec) -umac-128@openssh.com-- mac algorithm to remove (rec) -hmac-sha2-256-- mac algorithm to remove (rec) -umac-64@openssh.com-- mac algorithm to remove (rec) -hmac-sha1-- mac algorithm to remove (rec) -hmac-sha1-etm@openssh.com-- mac algorithm to remove (rec) -umac-64-etm@openssh.com-- mac algorithm to remove
例如, 在我们的交换算法中, KEX ecdh-sha2-nistp256引发有关弱椭圆曲线的错误。 SSH开发人员社区在此实现方式上存在分歧, 因为通常实施椭圆曲线Diffie-Hellman(ECDH), 基本上是因为它们比使用大型DFC-质询与传统Diffie-Hellman(DH)时要小且快, 因此该曲线可能不会在处理某些应用程序的” 最高机密” 信息时, 它具有所需的有用性和强大性。 SSH开发社区对此有不同的看法, 并且确实存在许多实现。
与每个审核工具一样, 你应始终确保删除某些功能仅仅是因为该工具告诉你可能不是最明智的选择, 因为在这种情况下, 如果实现了任何传统的ECDH密钥交换方法, 则此方法应当然要实施。
审核愉快!
推荐阅读
- 如何在Ubuntu 19.04开发服务器上的特定域上设置自签名SSL/TLS证书
- 如何解决ubuntu cli错误”exec”less”(在$ PATH中找不到可执行文件”)
- 如何解决Ubuntu 18.04 CLI错误(无法获取锁/var/lib/dpkg/lock-frontend-打开(11:资源暂时不可用))
- 如何在Ubuntu中以root身份运行Visual Studio Code(VSCode)
- 使用jarsigner签名APK时出错(无法签名jar无效条目压缩大小)
- 如何在Ubuntu 18.04中安装和设置自己的Vanilla Minecraft Server
- 如何使用Java以编程方式打开Android设置
- 如何修复SSH主机密钥验证失败,警告(Ubuntu 18.04中的远程主机标识已更改)
- Boostnote(适用于台式机和移动设备的开源笔记记录应用)