本章要点
- 掌握用户账号安全管理与加固策略
- 学会系统引导与登录安全控制方法
- 能够使用工具进行弱口令风险检测
- 熟练使用端口扫描工具识别系统开放服务
前言
在服务器运维工作中,系统安全是保障业务稳定运行的第一道防线。随着网络攻击手段日益复杂,仅仅依靠防火墙远远不够,还必须从账号权限、系统启动、登录控制、密码强度、开放端口等多个层面进行全面加固。
本章将围绕 Linux 系统安全展开,重点讲解如何规范管理用户账号、加强系统引导与终端登录安全、使用专业工具检测弱口令隐患,以及扫描服务器端口以发现风险服务。通过一系列安全措施,能够显著提升系统抗攻击能力,减少未授权访问、暴力破解、越权操作等安全威胁。
一、用户账号安全管控
用户账号是系统安全的第一道关口,不合理的账号配置极易成为攻击突破口。因此,必须对系统内的账号进行严格规范、清理与加固。
1. 系统账号优化与清理
Linux 系统中包含大量预装的系统账号,多数用于服务运行,禁止登录终端。
(1)锁定非登录账号
确保系统账号的 Shell 为 /sbin/nologin,禁止登录:
bash
运行
grep "/sbin/nologin$" /etc/passwd
(2)锁定长期不使用的账号
暂时锁定无用账号,避免被暴力破解:
bash
运行
usermod -L username # 锁定账号
passwd -S username # 查看状态
usermod -U username # 解锁账号
(3)锁定账号配置文件
使用 chattr 防止关键文件被篡改:
bash
运行
chattr +i /etc/passwd /etc/shadow # 锁定
lsattr /etc/passwd /etc/shadow # 查看状态
chattr -i /etc/passwd /etc/shadow # 解锁
锁定后无法新增、删除用户或修改密码。
2. 密码安全策略加固
弱口令是系统最常见的风险,必须通过策略强制提升密码强度。
(1)设置密码有效期
编辑登录配置文件,控制新用户密码最长使用天数:
bash
运行
vim /etc/login.defs
PASS_MAX_DAYS 30
对已有用户单独设置:
bash
运行
chage -M 30 username
(2)强制用户下次登录修改密码
bash
运行
chage -d 0 username
用户登录后会被强制重设密码。
3. 命令历史与超时自动注销
减少操作泄露与未退出终端带来的风险。
(1)缩减历史命令条数
bash
运行
vim /etc/profile
HISTSIZE=200
export HISTSIZE=200
(2)设置登录闲置自动注销
bash
运行
vim /etc/profile
export TMOUT=600 # 600秒无操作自动断开
执行 unset TMOUT 可临时取消。
二、用户身份切换与权限控制
为避免直接使用 root 登录带来的高风险,Linux 提供了用户切换与权限提升机制。
1. su 用户切换命令
su 用于快速切换用户身份,但默认安全性较低。
加固 su 命令
通过 pam_wheel 模块限制仅允许指定组使用 su:
bash
运行
gpasswd -a username wheel
vim /etc/pam.d/su
auth required pam_wheel.so use_uid
未加入 wheel 组的用户无法使用 su。
2. sudo 权限提升
sudo 可以给普通用户分配部分管理员权限,无需共享 root 密码。
(1)编辑 sudo 授权文件
bash
运行
visudo
(2)授权格式
plaintext
用户 主机=(角色) 命令
示例:
bash
运行
jerry localhost=/sbin/ifconfig
%wheel ALL=(ALL) NOPASSWD: ALL
(3)批量授权(别名)
bash
运行
User_Alias ADMINS = tom, jerry
Cmnd_Alias CMDS = /usr/bin/yum, /bin/systemctl
ADMINS ALL=CMDS
(4)查看与使用 sudo
bash
运行
sudo -l # 查看自己的授权
sudo ifconfig ens33:0 # 执行特权命令
三、系统引导与登录安全
加强开机引导与终端登录控制,可以防止物理接触带来的安全风险。
1. BIOS 与开机安全
- 设置开机密码,禁止 U 盘 / 光盘引导
- 调整启动顺序为硬盘优先
- 防止未授权进入单用户模式
2. GRUB 引导菜单加密
防止他人通过修改 GRUB 进入系统或重置密码。
bash
运行
grub2-mkpasswd-pbkdf2
生成加密密码串,写入 GRUB 配置并生成新配置:
bash
运行
grub2-mkconfig -o /boot/grub2/grub.cfg
设置后,修改引导参数必须输入密码。
3. 终端登录控制
禁止普通用户登录
维护时可临时禁止普通用户登录:
bash
运行
touch /etc/nologin
删除文件即可恢复。
四、弱口令检测工具
弱口令是暴力破解的主要目标,必须定期扫描。
John the Ripper 密码破解工具
用于检测 Linux 账号密码强度,发现弱口令。
1. 安装步骤
bash
运行
tar zxf john-1.8.0.tar.gz
cd john-1.8.0/src
make clean linux-x86-64
2. 开始检测弱口令
bash
运行
cp /etc/shadow /root/shadow.txt
cd ../run
./john /root/shadow.txt
3. 查看已破解账号
bash
运行
./john --show /root/shadow.txt
4. 使用字典破解
bash
运行
./john --wordlist=password.lst /root/shadow.txt
五、端口扫描与风险识别
NMAP 是最流行的端口扫描工具,用于发现主机开放端口与风险服务。
1. 安装 NMAP
bash
运行
yum install -y nmap
2. 常用扫描命令
扫描本机开放端口
bash
运行
nmap 127.0.0.1
扫描指定端口
bash
运行
nmap -p 21,22,80 192.168.1.10
扫描网段内存活主机
bash
运行
nmap -n -sP 192.168.1.0/24
UDP 端口扫描
bash
运行
nmap -sU 127.0.0.1
3. 典型扫描场景
- 检查服务器是否开放不必要端口
- 确认防火墙规则是否生效
- 发现内网中非法运行的服务
- 定位对外暴露的风险端口
本章总结
本章系统介绍了 Linux 服务器安全加固的核心内容,从账号、登录、引导、密码、端口五个维度构建安全体系:
-
账号安全清理无用账号、锁定关键文件、设置密码有效期、限制历史命令与超时注销,从根源降低账号泄露风险。
-
权限控制 使用
su与sudo实现最小权限原则,避免滥用 root 权限,提升系统操作安全性。 -
引导与登录安全通过 BIOS 密码、GRUB 加密、终端登录限制,防止物理接触与未授权启动。
-
弱口令检测使用 John the Ripper 工具定期扫描系统弱口令,及时提醒用户升级密码强度。
-
端口扫描利用 NMAP 识别系统开放端口与服务,关闭无用端口,减少攻击面。
通过本章学习,你能够完成一套完整的 Linux 系统安全加固方案,有效防范暴力破解、越权访问、信息泄露等常见威胁,为服务器稳定运行提供坚实保障