在当今数字化时代,保障 Linux 系统的安全性显得尤为重要。安全登录操作作为系统防护的第一道防线,其重要性不言而喻。本文将详细介绍如何通过一系列措施来加固 Linux 系统的安全登录操作,确保系统免受未授权访问的威胁。
一 账号和口令管理
1 禁用或删除无用账号
减少系统中不必要的账号可以降低安全风险。使用 userdel < 用户名 > 命令删除无用的账号,或使用 passwd -l < 用户名 > 锁定不必要的账号。例如,如果系统中有一个名为 “guest” 的账号长期未被使用,可以通过 userdel guest 命令将其删除。
2 检查特殊账号
确保系统中不存在空口令和 root 权限的账号。使用 awk -F: '($2==")' /etc/shadow 查看空口令账号,使用 awk -F: '($3==0)' /etc/passwd 查看 UID 为零的账号,并为空口令账号设置密码。例如,发现账号 “temp” 的口令为空,应立即为其设置一个复杂的密码。
3 添加口令策略
加强口令的复杂度等,降低被猜解的可能性。编辑 /etc/login.defs 文件,设置密码的最长使用天数、最短使用天数等策略。例如:
PASS_MAX_DAYS 90
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
某公司为了加强口令管理,规定密码长度不得少于 8 位,必须包含大写字母、小写字母、数字和特殊字符。通过在 /etc/login.defs 文件中添加相应的策略,实现了这一要求。
4 限制用户 su 权限
通过编辑 /etc/pam.d/su 文件,限制能 su 到 root 的用户。例如,只允许 test 组用户 su 到 root,则添加 auth required pam_wheel.so group=test。
二 SSH 服务安全加固
1 修改默认 SSH 端口
修改 SSH 默认的 22 端口为其他端口,以减少被扫描和攻击的风险。编辑 /etc/ssh/sshd_config 文件,将 Port 22 修改为其他端口,如 Port 11235,并重启 SSH 服务。某企业为了提高服务器的安全性,将 SSH 端口修改为 50022,有效降低了被黑客攻击的可能性。
2 禁止 root 用户远程登录
编辑 /etc/ssh/sshd_config 文件,将 PermitRootLogin 设置为 no,禁止 root 用户远程登录。
3 设置 SSH 多次登录失败后锁定用户
编辑 /etc/pam.d/sshd 文件,添加 auth required pam_tally2.so deny=5 unlock_time=300,设置 SSH 多次登录失败后锁定用户。
4 使用密钥认证
启用密钥认证,禁用密码认证,提高 SSH 登录的安全性。编辑 /etc/ssh/sshd_config 文件,将 PasswordAuthentication 设置为 no,并生成和配置公钥和私钥。
三 其他安全措施
1 设置用户登录的时间段
通过编辑 /etc/pam.d/sshd 文件,限制用户只能在特定的时间段内登录系统。例如:
account required pam_time.so
并在 /etc/security/time.conf 中添加允许登录的时间段。
2 防暴力破解
使用如 Fail2Ban 等工具,监控登录失败次数,并自动封禁恶意 IP。
3 记录所有的登录和操作日志
通过配置 /etc/rsyslog.conf 文件,记录所有用户的登录和操作日志,以便追踪和分析安全事件。
4 设置终端超时退出
编辑 /etc/profile 文件,设置用户登录后无操作自动退出的时间。例如:
TMOUT=300
export TMOUT
四 总结
通过上述措施,可以有效地加固 Linux 系统的安全登录操作,提高系统的安全性。然而,安全是一个持续的过程,需要定期更新和审查安全策略,以应对不断变化的




