ssh_scan
是一个面向 Linux 和 UNIX 服务器的易用的 SSH 服务参数配置和策略的扫描器程序,其思路来自Mozilla OpenSSH 安全指南,这个指南为 SSH 服务参数配置提供了一个可靠的安全策略基线的建议,如加密算法(Ciphers),报文认证信息码算法(MAC),密钥交换算法(KexAlgos)和其它。
ssh_scan
有如下好处:
- 它的依赖是最小化的,
ssh_scan
只引入了本地 Ruby 和 BinData 来进行它的工作,没有太多的依赖。 - 它是可移植的,你可以在其它的项目中使用
ssh_scan
或者将它用在自动化任务上。 - 它是易于使用的,只需要简单的将它指向一个 SSH 服务就可以获得一个该服务所支持的选项和策略状态的 JSON 格式报告。
- 它同时也是易于配置的,你可以创建适合你策略需求的策略。
建议阅读: 如何在 Linux 上安装配置 OpenSSH 服务
如何在 Linux 上安装 ssh_scan
有如下三种安装 ssh_scan
的方式:
使用 Ruby gem 来安装运行,如下:
1 | ----------- 在 Debian/Ubuntu ----------- |
使用docker 容器来运行,如下:
1 | # docker pull mozilla/ssh_scan |
使用源码安装运行,如下:
1 | # git clone https://github.com/mozilla/ssh_scan.git |
如何在 Linux 上使用 ssh_scan
使用 ssh_scan
的语法如下:
1 | $ ssh_scan -t ip地址 |
举个例子来扫描 192.168.43.198 这台服务器的 SSH 配置和策略,键入:
1 | $ ssh_scan -t 192.168.43.198 |
注意你同时也可以像下方展示的给 -t
选项传入一个[IP地址/地址段/主机名]:
1 | $ ssh_scan -t 192.168.43.198,200,205 |
输出示例:
1 | I, [2017-05-09T10:36:17.913644 #7145] INFO -- : You're using the latest version of ssh_scan 0.0.19 |
你可以使用 -p
选项来指定不同的端口,-L
选项来开启日志记录配合 -V
选项来指定日志级别:
1 | $ ssh_scan -t 192.168.43.198 -p 22222 -L ssh-scan.log -V INFO |
另外,可以使用 -P
或 --policy
选项来指定一个策略文件(默认是 Mozilla Modern)(LCTT 译注:这里的 Modern 可能指的是 https://wiki.mozilla.org/Security/Server_Side_TLS 中提到的 Modern compatibility ):
1 | $ ssh_scan -t 192.168.43.198 -L ssh-scan.log -V INFO -P /path/to/custom/policy/file |
ssh_scan 使用帮助与其它示例:
1 | $ ssh_scan -h |
输出示例:
1 | ssh_scan v0.0.17 (https://github.com/mozilla/ssh_scan) |
SSH 服务器相关参考阅读:
- 使用 SSH Keygen(ssh-keygen)五步实现 SSH 免密登录
- 安全 SSH 服务器的 5 个最佳实践
- 使用 Chroot 来限制 SSH 用户进入某些目录
- 如何配置 SSH 连接来简化远程登录
如果需要更详细的信息可以访问 ssh_scan
的 Github 仓库:https://github.com/mozilla/ssh_scan
作者简介:
Aaron Kili 是 Linux 与 F.O.S.S (自由及开源软件)爱好者,一位将来的 Linux 系统管理员,网站开发者,现在是一个热爱与计算机一起工作并且拥有强烈知识分信念的 TecMint 内容贡献者。
via: https://www.tecmint.com/ssh_scan-ssh-configuration-and-policy-scanner-for-linux/
作者:Aaron Kili 译者:wcnnbdk1 校对:wxy