|
让FreeBSD更安全(3) accounting_enable="YES"
这将打开系统审计功能,如果你不熟悉他们,那么请阅读 man sa 和 man lastcomm 。
最后,下面的选项可能非常有用: clear_tmp_enable="YES"
因为它在系统启动时将清空 /tmp ,这永远是一件值得去做的事情。
让我们来研究一下其他能够加强安全的设置。我比较喜欢把默认的口令加密算法改为Blowfish,因为它在提供最佳安全性的前提下,也提供了最快的速度。这里有一份 comparison of algorithms[几种密码学算法的比较]。
当然,如果你对这类东西感兴趣的话,看看 Cryptogram newsletter ,它是Blowfish作者写的。
为了启用 Blowfish 散列,编辑 /etc/login.conf 并把 passwd_format 一行改成下面这样: :passwd_format=blf:\
保存设置,重新创建登录数据库: cap_mkdb /etc/login.conf
随后需要修改每一个用户的口令,以便让这些口令都使用 Blowfish 散列值。以超级用户的身份执行下面的命令: passwd username
需要修改所有用户的口令,包括root自己。
完成了这些操作之后,重新检查一下确认自己没有遗漏什么: more /etc/master.passwd
所有用户的口令应该以$2.开始
最后,重新配置 adduser 程序,让它在以后使用Blowfish。修改 /etc/auth.conf,找到 crypt_default 一行,改为: crypt_default=blf
你可能已经注意到,每次登录的时候FreeBSD都会提示你,你在用的那个系统是FreeBSD,以及它的版权信息,包括内核的编译时间,等等。这些信息可能有用,但相当烦人,特别是当别人可以登录的时候,它可能会暴露一些你不希望暴露的信息。
可以通过编辑 /etc/motd 来阻止计算机说出一些不该说的东西,或者宣扬你的一些想法,包括你喜欢看的 sci-fi 文摘,或者其他一些——总之你想写什么就写什么。
随后,删除版权信息: toUCh /etc/COPYRIGHT
随后,还可以修改登录提示,编辑 /etc/gettytab. 找到 default:\ 小节,它以下面的文字开头: :cb:ce:ck:lc
小心地修改 \r\n\ \r\n\r\nr\n: 之间的文字来适应自己的需要。请仔细检查 \r 和 \n 的数量,并保存修改。例如,我的登录提示是这样的: I'm a node in cyberspace. Who are you? login:
可以在其他终端上尝试登录,以确认正确性。
最后,即使你已经修改了motd并从中删除了内核版本信息,默认情况下FreeBSD仍然会在启动之后把这些东西加入 /etc/motd 。因此需要修改 /etc/rc.conf 并加入下面的设置: update_motd="NO"
这个设置需要重新启动才会生效。
此外,限制登录也是非常重要的。因为这些变动会改变 login 程序的行为,因此需要非常谨慎。比较好的习惯是保持一个以root身份登录的终端,用其他终端尝试。这样如果由于某种原因造成问题,你仍然可以改正。
包括你自己在内的任何人都不应该直接以root身份登录。修改 /etc/ttys。你将注意到 ttyv0 到 ttyv8的一系列设置。把后面的 secure 改为 insecure。注意,这个文件肯定是你不希望有任何错误的一个文件,因此请仔细地进行测试。如果设置正确,root登录将收到 "Login incorrect" 。
我个人倾向于使用所有的9个终端。如果你不打算这样,请把对应的 "on" 改为 "off" ,当然,只是一部分 ttys 。切记保持至少1个 "on," 否则你会无法登录,这将导致系统无法使用。ttyv8 默认情况下是 "off" ,这意味着你需要手动打开X,如果希望自动启动,那么把它改为"on."。
最后一个我想说的限制是阻止从其他地方登录,这是通过编辑 /etc/login.Access 实现的。
你可能希望禁止一切远程登录(这意味着你必须物理地坐在机器前面),删除下面这一行前面的#号:
|