Linux工作站加固的6个方法
正如千人所说,安全好比是在公路上开车---------比你开得慢的人都是白痴,比你开得快的人都是疯子。本文介绍的这些准则只是一系列基本的核心安全规则,它们并不全面,也代替不了经验、谨慎和常识。你应该稍稍调整这些建议,以适合本企业的环境。
总则
- 01
对每个系统管理员来说,以下是应该采取的一些必要步骤: 1.一律禁用Firewire和Thunderbolt模块。 2.检查防火墙,确保所有入站端口已被过滤。 3.确保root邮件转发到你核查的帐户。 4.设立操作系统自动更新时间表,或者更新提醒内容。 此外,你还应该考虑其中一些最好采取的步骤,进一步加固系统: 1.核查以确保sshd服务在默认情况下已被禁用。 2.设置屏幕保护程序,在闲置一段时间后自动锁定。 3.安装logwatch。 4.安装和使用rkhunter 5.安装入侵检测系统
6个方法
- 01
把相关模块列入黑名单 想把Firewire和Thunderbolt模块列入黑名单,将下列几行添加到/etc/modprobe.d/blacklist-dma.conf中的文件: blacklist firewire-core blacklist thunderbolt 一旦系统重启,上述模块就会被列入黑名单。即便你没有这些端口,这么做也没有什么危害。
- 02
root邮件 默认情况下,root邮件完全保存在系统上,往往从不被读取。确保你设置了/etc/aliases,将root邮件转发到你实际读取的邮箱,不然就有可能错过重要的系统通知和报告: # Person who should get root’s mail root: bob@example.com 这番编辑后运行newaliases,对它测试一番,确保邮件确实已送达,因为一些电子邮件提供商会拒绝从根本不存在的域名或无法路由的域名发来的电子邮件。如果是这种情况,你需要调整邮件转发配置,直到这确实可行。
- 03
防火墙、sshd和侦听守护进程 默认的防火墙设置将依赖你的发行版,但是许多允许入站sshd端口。除非你有一个充足而正当的理由允许入站ssh,否则应该将这个过滤掉,禁用sshd守护进程。 systemctl disable sshd.service systemctl stop sshd.service 如果你需要使用它,总是可以暂时启动它。 通常来说,你的系统除了响应ping外,应该没有任何侦听端口。这将有助于你防范网络层面的零日漏洞。
- 04
自动更新或通知 建议开启自动更新,除非你有非常充足的理由不这么做,比如担心自动更新会导致你的系统无法使用(这种事之前发生过,所以这种担心并非毫无根据)。起码,你应该启用自动通知可用更新的机制。大多数发行版已经让这项服务自动为你运行,所以你很可能没必要进行任何操作。查阅发行版的说明文档,了解更多内容。
- 05
查看日志 你应该密切关注系统上发生的所有活动。由于这个原因,应该安装logwatch,并对它进行配置,以便每晚发送活动报告,表明系统上发生的一切活动。这防止不了全身心投入的攻击者,却是一项很好的安全网功能,有必要部署。 请注意:许多systemd发行版不再自动安装logwatch需要的syslog服务器(那是由于systemd依赖自己的日志),所以你需要安装和启用rsyslog,确保/var/log在logwatch具有任何用途之前不是空的。
- 06
rkhunter和IDS 除非你切实了解工作原理,并且采取了必要的步骤进行合理的设置(比如将数据库放在外部介质上,从可信任的环境运行检查,执行系统更新和配置变更后记得更新哈希数据库,等等),否则安装rkhunter以及aide或tripwire之类的入侵检测系统(IDS)不是很有用。如果你不愿意采取这些步骤、调整在自己的工作站上执行任务的方式,这些工具只会带来麻烦,没有任何实际的安全好处。 我们确实建议你应当安装rkhunter、在晚上运行它。它学习和使用起来相当容易;虽然它发现不了狡猾的攻击者,但是可帮助你发现自己的错误。