用户账户的上锁(锁定)和解锁:
- 作用:
- 锁定: 临时或永久禁止某个用户账户登录系统。常用于:
- 员工离职或休假期间。
- 怀疑账户被盗用或存在异常活动。
- 作为安全策略的一部分(例如,连续多次登录失败后自动锁定)。
- 解锁: 恢复被锁定账户的正常登录权限。通常由管理员在确认安全后操作。
- 锁定: 临时或永久禁止某个用户账户登录系统。常用于:
- 常用命令(Linux):
passwd -l <username>:锁定用户<username>的账户。passwd -u <username>:解锁用户<username>的账户。usermod --expiredate 1 <username>:设置账户过期时间为过去(一种锁定方式)。usermod --expiredate "" <username>:清除过期时间(解锁)。
服务端口的开启(启用)和关闭(禁用):
- 作用:
- 开启端口: 允许外部网络通过该端口访问运行在系统上的特定服务(如 Web 服务器、数据库、远程登录等)。是服务正常运行的必要条件。
- 关闭端口: 阻止外部网络通过该端口访问系统上的服务。这是网络安全中最小化攻击面 的重要原则:
- 减少暴露风险: 关闭不必要的端口,意味着黑客可以利用的潜在入口点减少。
- 降低被攻击概率: 许多攻击(如漏洞利用、暴力破解)都针对特定端口上的服务。关闭未使用的服务端口能有效防御此类攻击。
- 合规要求: 很多安全审计标准要求仅开放业务必需的服务端口。
- 实现方式:
- 防火墙配置: 这是最常用、最推荐的方式。使用防火墙(如
iptables,nftables,firewalld,ufw)规则来明确允许(ACCEPT)或拒绝(DROP/REJECT)特定端口上的流量。例如:- 开启 80 端口 (HTTP):
sudo ufw allow 80/tcp - 关闭 23 端口 (Telnet):
sudo ufw deny 23/tcp
- 开启 80 端口 (HTTP):
- 停止服务: 直接停止监听该端口的服务进程。但这通常不是最佳实践,因为服务可能会在系统重启后自动启动。防火墙控制更灵活可靠。例如停止 SSH 服务:
sudo systemctl stop sshd(但端口可能仍被防火墙规则允许)。
- 防火墙配置: 这是最常用、最推荐的方式。使用防火墙(如
密码安全配置:
- 作用: 确保用户账户密码具有足够的强度,难以被猜测或破解,是防御未授权访问的第一道防线。
- 关键配置项:
- 密码强度策略:
- 最小长度: 要求密码至少包含一定数量的字符(如 12 位)。越长通常越安全。
- 复杂度要求: 强制密码包含大写字母、小写字母、数字和特殊符号中的几种组合。
- 禁止常见弱密码: 防止使用
password,123456等容易被猜中的密码。
- 密码有效期策略:
- 最大使用天数: 强制用户定期(如每 90 天)更换密码。
- 最小使用天数: 防止用户过于频繁地改回旧密码。
- 过期前警告天数: 提前提醒用户密码即将过期。
- 密码历史策略: 禁止用户重复使用最近用过的若干次(如 5 次)密码。
- 登录失败锁定: 在连续多次(如 5 次)登录失败后,临时锁定账户一段时间或需要管理员解锁,防止暴力破解。
- 密码强度策略:
- 配置文件(Linux - PAM 和
login.defs): 这些策略通常在/etc/pam.d/system-auth(或类似文件,取决于发行版) 和/etc/login.defs中配置,也可能通过专门的工具如pam_cracklib或pam_pwquality模块来实施。修改这些文件需要管理员权限。
su 命令的用法:
- 作用:
su(Switch User) 命令用于在终端会话中切换到另一个用户账户的身份。最常用的是切换到root(超级管理员) 用户以执行需要特权的操作。 - 基本语法:
su -或su - root:切换到root用户,并加载root用户的环境变量(如PATH,HOME)。这是推荐的做法。su <username>:切换到指定的<username>用户,但可能不会完全加载该用户的环境变量。
- 关键点:
- 执行
su后,系统会提示输入目标用户 的密码(例如,要切换到root,就需要输入root的密码)。 - 安全风险: 直接使用
su切换到root并长期停留在rootshell 下是危险的,因为任何操作失误都可能导致严重后果。更安全的做法是使用sudo来临时提升权限执行特定命令。 suvssudo:su要求你知道目标用户(尤其是root)的密码。sudo允许配置好的普通用户使用自己的密码来临时以root(或其他用户) 身份执行命令。它提供了更细粒度的控制(通过/etc/sudoers文件配置哪些用户能在哪些主机上以谁的身份运行哪些命令)和操作审计(记录谁在何时执行了什么sudo命令)。现代最佳实践更倾向于使用sudo而非频繁使用su。
- 退出: 完成需要目标用户权限的操作后,使用
exit命令或按Ctrl+D返回原来的用户身份。
- 执行
- 总结: 用户锁定/解锁管理账户访问权限;端口管理控制网络服务的暴露范围;密码策略是账户安全的基础;
su提供了切换用户身份的能力,但需谨慎使用,尤其是在切换到root时。结合使用这些措施,并遵循最小权限原则(用户和服务只拥有完成其任务所必需的最小权限),是构建安全系统环境的关键。