家用主机一键Linux安全加固防挖矿入侵
不少朋友把家里淘汰的笔记本或树莓派改装成Linux服务器,跑跑个人网站或下载任务。
但这类设备如果直接暴露在公网,非常容易被扫描并植入挖矿程序,导致CPU满载、网速变慢甚至被远程控制。
本文提供一套可一键执行的加固方案,帮你快速封堵常见入侵入口,尤其适合没有专业运维经验的小白用户。
执行前的准备工作
确保你的Linux主机满足三个条件:第一,拥有root权限(普通用户需能sudo提权);
第二,系统已连接网络,且已更新软件源(Ubuntu/Debian执行 sudo apt update,CentOS执行 sudo yum check-update);
第三,确认SSH端口默认是22(如果你改过端口,先记下来)。
建议先使用 sudo whoami 确认当前用户是否有sudo权限。
一键加固命令及步骤
将以下整个代码块复制到终端中,一次性粘贴并回车执行。
这条命令会自动完成:禁用root远程登录、安装并启动Fail2Ban防暴力破解、配置UFW防火墙只保留必要端口、启用自动安全更新、安装ClamAV杀毒和RKHunter rootkit检测工具。
sudo apt update && sudo apt install -y fail2ban ufw clamav rkhunter unattended-upgrades && sudo systemctl enable --now fail2ban && sudo ufw --force enable && sudo ufw default deny incoming && sudo ufw allow ssh && sudo ufw allow http && sudo ufw allow https && sudo sed -i 's/^PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config && sudo systemctl restart sshd && sudo freshclam && sudo clamscan -r --quiet /home && sudo rkhunter --propupd && echo "加固完成!建议退出当前SSH连接后使用普通用户重新登录。"
命令解释:sudo apt install 安装所有防护软件;--now 让Fail2Ban立即生效;ufw 默认禁止入站,仅放行SSH、HTTP和HTTPS;sed 修改SSH配置禁用root登录;freshclam 更新ClamAV病毒库;rkhunter --propupd 更新校验库。
整个过程约5-10分钟,取决于网络速度。
常见踩坑与避坑说明
执行时可能遇到三种常见问题:
- 命令粘贴不完整:部分SSH客户端对长命令有长度限制,建议将代码保存为
secure.sh然后sudo bash secure.sh执行。 - UFW导致SSH断连:如果放行了其他端口但漏掉SSH(例如你修改了SSH端口),执行
sudo ufw allow 你的SSH端口/tcp后再启用防火墙。 - ClamAV卡住:
freshclam首次更新病毒库可能较慢,耐心等待即可;如果超时,稍后运行sudo freshclam重试。
特别提醒:加固后务必用普通账号重新登录验证SSH连接正常,再关闭当前root会话。
如何验证加固效果
执行完上述步骤后,可做三件事确认防护生效:
- 检查SSH配置:
sudo grep PermitRootLogin /etc/ssh/sshd_config,输出应为PermitRootLogin no。 - 检查Fail2Ban状态:
sudo fail2ban-client status sshd,显示Status且有Currently banned: 0表示正常运行。 - 检查防火墙规则:
sudo ufw status numbered,应看到22/tcp(或你的SSH端口)允许,其他入站默认拒绝。
如果想进一步排查是否有已植入的挖矿进程,可用 top 观察CPU占用,或 sudo clamscan -r / 全盘扫描。
常见疑问与后续建议
Q:一键命令会不会影响现有网站或服务?
A:防火墙只放行了SSH、HTTP和HTTPS,如果你的服务用了其他端口(如数据库3306),需要手动添加 sudo ufw allow 端口号/tcp。
Q:加固后还想远程SSH怎么办?
A:先用普通用户登录,然后使用 su - 切换root,或者配置sudo权限即可,不影响日常管理。
Q:树莓派或OpenWrt也能用吗?
A:Debian/Ubuntu系完全适用;OpenWrt使用opkg包管理器,需要替换安装命令,但防火墙和SSH加固思路相同。
这套方案能大幅提升家用主机的安全基线,但要长期防挖矿,还需定期更新系统、检查异常进程,并避免使用弱密码。如果你发现CPU长期跑满,可以进一步配合 netstat 或 clush 排查可疑连接。