Linux运维笔记:服务器安全加固
文章目录
- 背景
- 加固措施
- 1. 修改用户密码
- 2. 使用公钥认证替代密码登录
- 3. 强化系统安全
- 4. 扫描与清理残留威胁
- 5. 规范软件管理(重点)
- 注意事项
- 总结
提示:本文总结了大学实验室 Linux 电脑感染挖矿病毒后的安全加固措施,重点介绍用户密码管理、系统安全强化、威胁清理及软件管理规范化,特别强调防止不正规软件引入威胁的策略。适合实验室用户和系统管理员参考。
背景
我们的实验室电脑(Ubuntu 系统,内网 IP 10.101.100.37
)近期感染了疑似挖矿病毒,涉及恶意脚本 /bin/tDLzoNS7
和隐藏进程 /dev/shm/netools
,通过 Cron 任务持久运行并连接外部服务器(美国加州) 45.154.1.156:80
。清理后,病毒脚本已移除,半小时内未再出现挖矿行为,其他机器未受感染。初步判断,感染源自不正规的应用软件包,而非外部攻击,因访问需通过大学 VPN。
实验室电脑通过 VPN 访问,外部攻击可能性低。VPN 提供加密隧道和认证机制,大学防火墙限制入站流量,私有 IP 地址(10.101.100.37
)不可直接从公网访问。感染更可能是内部引入的恶意软件主动发起出站连接,凸显规范软件管理的重要性。
本文聚焦加固措施,特别强调“规范软件管理”,以确保实验室电脑安全。
加固措施
1. 修改用户密码
目标:增强账户安全性,防止未经授权访问。
步骤:
- 修改
root
密码:sudo passwd root
- 使用强密码(至少 12 位,包含大小写字母、数字、符号,如
X7$kPq9#mW2n
)。
- 使用强密码(至少 12 位,包含大小写字母、数字、符号,如
- 修改用户密码(如
ccccs
):passwd ccccs
- 检查用户账户:
cat /etc/passwd # 列出所有用户 sudo last # 查看登录历史
- 删除一年以上未使用的账户:
sudo userdel -r <username>
- 删除一年以上未使用的账户:
说明:恶意软件可能利用弱密码或默认账户入侵。定期更换密码并限制用户权限还是有必要的,尤其在实验室多人共用电脑的场景下。
2. 使用公钥认证替代密码登录
目标:通过 SSH 公钥认证禁用密码登录,提高账户安全性,降低暴力破解风险。
流程:
-
生成密钥对(在用户本地设备,如个人电脑):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 按提示保存密钥(默认
~/.ssh/id_rsa
),可设置密码保护私钥。 - 输出公钥文件
~/.ssh/id_rsa.pub
。
- 按提示保存密钥(默认
-
将公钥上传到服务器(目标实验室电脑):
- 复制公钥到服务器用户(如
ccccs
)的~/.ssh/authorized_keys
:
或手动复制:ssh-copy-id ccccs@10.101.100.37
cat ~/.ssh/id_rsa.pub | ssh ccccs@10.101.100.37 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
- 确保权限正确:
ssh ccccs@10.101.100.37 chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
- 复制公钥到服务器用户(如
-
禁用密码登录:
- 编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
- 修改或添加以下行:
PasswordAuthentication no PubkeyAuthentication yes
- 重启 SSH 服务:
sudo systemctl restart sshd
- 编辑 SSH 配置文件:
-
测试公钥登录:
- 从本地设备尝试 SSH:
ssh ccccs@10.101.100.37
- 应无需密码即可登录(若设置了私钥密码,需输入)。
- 从本地设备尝试 SSH:
说明:公钥认证使用非对称加密,私钥存储在用户设备,公钥存于服务器,安全性远高于密码。禁用密码登录可有效防止暴力破解,尤其适合通过 VPN 访问的实验室环境。需确保私钥安全,避免泄露。
3. 强化系统安全
目标:修复漏洞,限制不必要访问。
步骤:
- 更新系统:
sudo apt update && sudo apt upgrade sudo apt dist-upgrade
- 配置防火墙(系统已经默认配置,重启即可):
sudo apt install ufw sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 22/tcp # 允许 SSH sudo ufw enable sudo ufw status # 验证状态
说明:之前恶意脚本禁用了防火墙(ufw disable
和 iptables -P ACCEPT
),重新配置 UFW 可防止类似攻击。
4. 扫描与清理残留威胁
目标:确保无隐藏恶意软件。
步骤:
- 扫描隐藏进程:
sudo unhide proc sudo unhide brute -d sudo unhide-tcp
5. 规范软件管理(重点)
目标:杜绝不正规软件引入病毒,保障实验室电脑安全。
步骤:
- 仅从正规软件源安装软件:
sudo apt install <package> # 使用 Ubuntu 官方仓库 或 阿里云镜像仓库
- 检查已安装软件:
dpkg -l | grep <suspicious_name> sudo apt remove <package> # 移除可疑软件
- 验证软件包签名:
sudo apt-key list # 检查 GPG 密钥
- 使用容器隔离实验软件:
sudo apt install docker.io sudo docker run -it <image> # 在隔离环境中运行
- 建立严格的政策:
- 禁止下载未经验证的
.deb
、.sh
或二进制文件。 - 实施软件白名单,需经管理员审核。
- 记录软件安装日志:
sudo nano /var/log/software_install.log
- 禁止下载未经验证的
说明:本次病毒感染疑似因不正规软件包引入,凸显规范软件管理的重要性。实验室常需安装实验软件,容器化(如 Docker)可隔离潜在威胁,避免直接影响系统。严格的政策和培训能从源头降低风险。
注意事项
- VPN 依赖性:实验室电脑通过 VPN 访问,外部攻击可能性低,但需关注出站流量(如挖矿连接)。
- 重装考虑:尽管病毒已清理,系统可能存在隐藏威胁。建议备份数据后重装:
- 持续监控:定期检查防火墙和进程:
sudo ufw status ps -aux | grep netools
总结
通过修改密码、强化系统安全、清理威胁和规范软件管理,我们显著提升了实验室电脑的安全性。特别地,规范软件管理是防止不正规软件引入病毒的核心措施,结合容器化和严格政策,能有效降低未来风险。