su
并输入 wheel
的密码。在完成需要管理权限的命令后,用户应该键入 exit
来退出用户共享。如需将一个用户添加到这个组中,请编辑 /etc/group 并将该用户添加到 wheel
条目的末尾。该用户必须用逗号字符隔开,不能有空格。visudo
来编辑 /usr/local/etc/sudoers。下面的示例是创建一个新的 webadmin
组,将 trhodes
账户加入该组,并配置该组的访问权限,以重新启动 apache24:crypt()
库中支持 DES、MD5、SHA256、SHA512 和 Blowfish 哈希算法。不应该将默认的 SHA512 改成安全性较低的散列算法,但可以改成安全性更高的 Blowfish 算法。$
。 对于 SHA256 和 SHA512, 符号是 6$
。对于 Blowfish,符号是 2a$
。在下面的例子中,dru 的密码是用默认的 SHA512 算法散列的,因为散列值以 $6$
开始。请注意,密码是以加密的哈希值的形式存储在密码数据库中。default
登录类别中,哈希算法是通过 /etc/login.conf 中的下面的配置进行配置的。cap_mkdb /etc/login.conf
。注意,此更改不会改变任何现有的密码哈希。这意味着所有密码都应通过要求用户运行 passwd 来更改他们的密码散列值。pam_passwdqc.so
的行的注释。然后,编辑该行以匹配密码策略:similar
设置拒绝与用户之前的密码相似的密码。retry
设置为用户提供了三次输入新密码的机会。passwordtime
。default
登录类包含一个示例:cap_mkdb /etc/login.conf
netstat
和 ps
,可以显示系统的大量信息。记下什么是正常的,当有什么东西看起来不对劲的时候要问清楚,并且要多疑。虽然防止入侵是理想的,但检测入侵是必须的。mtree
工具可以用来生成一个目录内容的规范。一个种子,或一个数字常数,被用来生成规范,并被要求检查规范是否已经改变。这使得确定一个文件或二进制文件是否被修改成为可能。由于种子值对攻击者来说是未知的,伪造或检查文件的校验值将很难甚至不可能。下面的例子生成了一组 SHA256 哈希值,为 /bin 中的每个系统二进制文件生成一个,并将这些值保存在 root 的主目录下的一个隐藏文件中,即 /root/.bin_chksum_mtree 。mtree
提供了管理员需要的功能。保持种子值和校验输出不被恶意用户发现是很重要的。关于 mtree
的更多信息可以在 mtree(8) 中找到。sysctl
进行调整 。本节将介绍一些可以调整以防止拒绝服务(DoS)攻击的安全功能。关于使用 sysctl
的更多信息,包括如何临时改变数值,以及如何在测试后使改变永久化,请参阅 "使用 sysctl(8) 进行调优"。sysctl
改变一个设置,都会增加造成不希望的伤害的机会,影响系统的可用性。所有的改变都应该被监控,如果可能的话,在生产系统上使用之前,应该在测试系统上试用。-1
。这被称为 "不安全模式"。因为不可变的文件标志可以被关闭,所有设备都可以被读出或写入。除非通过 sysctl
或启动脚本的设置来改变安全级别,否则安全级别将保持为 -1
。通过在 /etc/rc.conf 中设置 kern_securelevel_enable
为 YES
,并将 kern_securelevel
的值设为所需的安全级别,可以在系统启动时提高安全级别。参见 security(7) 和 init(8) 以了解更多关于这些设置和可用安全级别的信息。securelevel
可能会破坏 Xorg 并导致其他问题。应该准备好做一些调试工作。net.inet.tcp.blackhole
和 net.inet.udp.blackhole
设置可以用来在关闭的端口上丢弃传入的 SYN 数据包,而不发送返回的 RST 响应。默认行为是返回 RST 以显示一个端口已关闭。更改默认值提供了针对端口扫描的某种级别的保护,用于确定系统上运行的应用程序。将 net.inet.tcp.blackhole
设置为 2,将 net.inet.udp.blackhole
设置为 1。请参考 blackhole(4) 以了解关于这些设置的更多信息。et.inet.icmp.drop_redirect
和 net.inet.ip.redirect
设置有助于防止重定向攻击。重定向攻击是一种 DoS 类型,它发送大量的 ICMP 类型 5 数据包。由于这些数据包是不需要的,请将 net.inet.icmp.drop_redirect
设置为 1
,将 net.inet.ip.redirect
设置为 0
。net.inet.ip.sourceroute
和 net.inet.ip.accept_sourceroute
设置为 0
。net.inet.icmp.bmcastecho
设置为 0
。