我们经常听到安全漏洞事件,用户名和密码被获取并在网上公布。 大多数时候,被泄露的信息表明,大多数密码都非常简单,或者是之前版本的迭代 (例如,第一次更改是 12345,下次更改是 123456)。 实施密码要求可以帮助防止弱密码进入您的环境。 这些强制更改有利有弊,但归根结底,身份验证仍然存在缺陷。
管理 Linux 中与密码和安全相关的问题非常重要,但是您可以采取一些简单的步骤来使系统更加安全。 这里介绍一些可以考虑的选项。 让我们首先了解如何管理这些密码和帐户,然后了解人们尝试访问这些帐户的频率。 最后,我们将介绍一些可以限制这些尝试的方法。
Linux 密码管理
使用 passwd 命令更改用户密码非常简单,但它可以做更多的事情。 您知道您也可以使用它来锁定和解锁帐户吗? 通过 stdin 传递密码呢?
更改密码
passwd [用户名]
通过 stdin 更改密码
echo “Some_STRONG_PASSWORD” | passwd —stdin root
锁定和解锁密码
passwd -l [用户名]
passwd -u [用户名]
文件
当您处理密码时,/etc/passwd 和 /etc/shadow 文件都会更新。 passwd 文件包含很多信息,但具有讽刺意味的是,不包含实际的密码哈希值。 哈希值包含在 /etc/shadow 文件中。
为什么要有 /etc/shadow 文件?
早期,哈希密码存储在 /etc/password 文件中,但存在一个问题——这个文件需要能够被所有人读取。 您的密码哈希值对所有人可见不是一件好事。 因此,实际的哈希值被移动到 /etc/shadow 文件中,该文件只能由特权用户读取。
入侵尝试有多频繁?
有没有想过有多少人尝试登录您的公共可访问服务器? last 命令显示了成功尝试的次数。 lastb 命令显示了不成功尝试的次数。 例如,我的服务器在过去 12 小时内发生了 7,464 次不成功的尝试。
额外提示:last 和 lastb 命令分别写入 /var/log/wtmp 和 /var/log/btmp 文件。 如果您看到这些文件被清零,您可能遇到了问题。
我们还能做什么?
我们已经看到,可能有很多尝试登录公共可访问系统的行为。 那么,我们能做些什么呢? 我们可以做一些事情来限制或减少尝试次数。
更改端口
我们可以做的第一件事是更改 SSH 监听的端口。 这可以减少一些尝试,但也存在像 nmap 这样的工具可以扫描开放端口。
防火墙
防火墙(iptables、UFC 和 firewalld)非常棒。 它们的目标是将对 SSH 的访问限制为更少的一组服务器。 缺点是,如果您的 IP 发生更改,或者您尝试从新的位置登录,有时您可能会将自己锁定在外面。
Fail2Ban
了解了 lastb 命令的作用,我们可以使用像 Fail2Ban 这样的工具在一定次数的不成功尝试后自动阻止 IP。
我希望这有助于您深入了解服务器上的密码,并为您限制攻击媒介提供一些指导。
14 条评论