在修复了此项警告之后,你应该再次运行审计。后续的审计就不会再对此产生警告了,当然新的警告也可能会出现在他处。因此你不得不重复进行此步骤以解决所有的警告。
至此,你已经知道了如何读懂并修复Lynis所生成的警告,让我们来看看如何去实施那些Lynis所提供的建议吧。
步骤4 实现Lynis的审计建议
在警告部分的后面,你将会看到一系列的建议,如果实施它们,则会让你的服务器少受到恶意软件的攻击。在这个步骤中,Lynis在审计完成之后,对装有Ubuntu 16.04系统的服务器产生了一些建议,你将了解到如何去实施它们。此过程与前面一节中的步骤基本一致。
一条具体建议是由其建议本身和紧随其后的测试ID所组成。根据测试,其下一行会告诉你如何修改影响服务的配置文件。而最后一行是一个安全控制的URL,你可以通过它找到更多关于此主题的信息。
下面的例子是一个源自Lynis审计的建议部分,它显示了与SSH服务相关的建议:
Output
Suggestions (36):
----------------------------
* Consider hardening SSH configuration [SSH-7408]
- Details : ClientAliveCountMax (3 --> 2)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : PermitRootLogin (YES --> NO)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : Port (22 --> )
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : TCPKeepAlive (YES --> NO)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : UsePrivilegeSeparation (YES --> SANDBOX)
https://cisofy.com/controls/SSH-7408/
...
根据你的运行环境,实施所有这些建议都是比较安全可靠的。但是,为了能做出决断,你必须知道每一个建议的具体意思。因为这些都隶属于SSH服务器,因此所有的更改必须体现在SSH守护进程的配置文件/etc/SSH/sshd_config中。如果你对Lynis给出的关于SSH的建议有任何疑问,请用man sshd_config指令来查看。当然这些信息在网上可以找到。
其中的一条建议是要求更改SSH的默认22号端口。如果你要更改它,请相应地在防火墙上添加一条规则,让对于SSH的访问能从新的端口上通过。
和警告部分一样,你可以使用sudo lynis show details test-id来查询Lynis的测试ID,以获得更多有关建议的详细信息。
其他的建议则是要求你在服务器上安装额外的软件。如下例所示:
Output
* Harden the system by installing at least one malware scanner, to perform periodic file system scans [HRDN-7230]
- Solution : Install a tool like rkhunter, chkrootkit, OSSEC
https://cisofy.com/controls/HRDN-7230/
该建议是安装rkhunter、chkrootkit或OSSEC来满足加固测试(HRDN-7230)的要求。OSSEC是一个基于主机的入侵检测系统,它可以生成并发送警告。这是一个能够协助Lynis执行测试的一个很好的安全应用程序。关于此工具,你可以通过DigitalOcean的各个教程(https://www.digitalocean.com/community/tutorials?q=ossec)来进行更多的了解。但是,仅仅安装OSSEC并不能顺利地通过此测试,你还需要安装chkrootkit。这就是为什么有时候除了Lynis所给出的建议,你还要做更多的研究的原因。
让我们来看另一个例子。这是一个在文件完整性测试后显示的一个结果建议。
Output