Linux被挖矿可采取以下措施:定期更新系统和软件,安装可靠的防干扰软件,关闭不必要的端口和服务,
以下是关于Linux如何防止被挖矿的详细内容:
系统安全基础设置
措施 |
具体操作 |
作用 |
更新系统和软件 |
定期使用包管理工具(如apt、yum等)执行更新命令,如sudo apt update && sudo apt upgrade (适用于Debian/Ubuntu系统),sudo yum update (适用于CentOS/RHEL系统)。 |
修复已知的安全破绽,减少被利用的风险,因为很多挖矿程序会利用系统或软件的破绽进行载入。 |
强密码策略 |
为系统用户(包括root用户和其他普通用户)设置复杂的密码,包含大写字母、小写字母、数字和特殊字符,且定期更换密码,密码可以是Abc@1234 这样的组合。 |
防止暴力破解密码,降低未经授权的用户获取系统访问权限的可能性。 |
限制远程访问 |
禁用root用户远程登录,创建普通用户并通过sudo 提升权限,修改SSH配置文件(通常是/etc/ssh/sshd_config ),将PermitRootLogin 设置为no ,还可以限制SSH登录IP,只允许特定IP地址段的主机进行远程登录。 |
减少攻击面,即使密码被破解,攻击者也难以直接以root身份登录系统。 |
防火墙配置
工具 |
配置示例 |
说明 |
iptables |
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT (允许来自192.168.1.0/24网段的主机通过SSH登录),sudo iptables -A INPUT -m state --state NEW,RELATED -j ACCEPT (允许新的和相关的连接),sudo iptables -P INPUT DROP (默认拒绝其他所有入站连接)。 |
强大的防火墙工具,可根据具体需求灵活配置规则,阻止不必要的网络连接,防止外部反面程序访问服务器。 |
ufw |
sudo ufw allow from 192.168.1.0/24 to any port 22 (允许特定网段的SSH访问),sudo ufw enable (启用防火墙),sudo ufw default deny incoming (默认拒绝入站连接),sudo ufw default allow outgoing (默认允许出站连接)。 |
相对简单的防火墙配置工具,适合快速设置基本的防火墙规则,提高系统安全性。 |
进程监控与管理
工具 |
使用方法 |
功能 |
top/htop |
在终端中直接输入top 或htop 命令,可查看系统中正在运行的进程及其资源占用情况,如CPU、内存等,按CPU使用率排序,可快速发现占用资源异常的进程。 |
实时监控系统进程,及时发现可能的挖矿进程,但需要注意的是,一些挖矿进程可能会隐藏,无法直接通过这两个工具查看。 |
sysdig |
安装命令(以Debian/Ubuntu系统为例):sudo apt install sysdig ,查看CPU占用排行:sudo sysdig -c topprocs_cpu 。 |
可以捕获隐藏进程的CPU占用情况,帮助发现那些通过常规工具难以察觉的挖矿进程。 |
unhide |
安装命令(Debian/Ubuntu系统):sudo apt install unhide ,(CentOS/RHEL系统):sudo yum install unhide ,扫描命令:sudo unhide proc 。 |
专门用于检测隐藏进程的工具,能够列出所有实际运行但未被常规工具显示的进程ID(PID)。 |
安全软件安装与使用
软件 |
安装方法 |
功能 |
ClamAV |
Debian/Ubuntu系统:sudo apt-get install clamav clamav-daemon ,CentOS/RHEL系统:先启用EPEL源(sudo yum install epel-release ),然后sudo yum install clamav clamav-update ,更新干扰库:sudo freshclam ,扫描命令:clamscan -r /path/to/directory (递归扫描指定目录),clamscan --remove -r /path/to/directory (自动删除检测到的干扰文件),clamscan -r /path/to/directory > scan_report.txt (生成扫描报告)。 |
开源防干扰引擎,可深度扫描系统文件中的反面程序,包括挖矿干扰,及时发现并处理潜在的安全威胁。 |
服务器安全狗 |
参考官网指引进行安装(不同版本和操作系统可能有不同的安装步骤),核心功能包括防火墙规则配置、异常进程拦截、登录审计等。 |
针对Linux服务器的综合防护工具,提供实时监控和载入检测等功能,增强服务器的安全性。 |
日志分析与审计
日志文件 |
查看方法 |
作用 |
/var/log/auth.log |
使用cat 、less 或tail -f 等命令查看,如tail -f /var/log/auth.log 可实时查看日志内容。 |
记录系统认证相关的信息,如用户登录、登录失败等,通过分析该日志可以发现是否有异常的登录尝试,可能是挖矿攻击的前兆。 |
/var/log/syslog |
同样使用相关命令查看,可结合grep 等工具进行筛选,如grep "mine" /var/log/syslog (查找包含“mine”关键词的日志行,可能与挖矿有关)。 |
包含系统各种服务的日志信息,有助于全面了解系统的运行状态,发现可能与挖矿相关的异常行为或错误信息。 |
网络连接监控
命令 |
功能 |
netstat -natp |
查看所有网络连接及其对应的进程,可发现与陌生IP的持续连接,尤其是境外挖矿节点的连接,从而判断系统是否可能被用于挖矿。 |
lsof -i |
查看哪些进程打开了网络连接,进一步分析网络连接的详细信息,帮助确定是否存在可疑的网络活动。 |
权限管理与目录保护
措施 |
操作方法 |
意义 |
最小权限原则 |
根据用户的工作需求,为用户分配最小的权限,对于普通用户,只给予其完成日常工作所需的文件和目录的读写权限,避免赋予过高的系统权限。 |
即使用户账号被攻击者获取,由于权限受限,也能减少对系统的破坏程度,降低被挖矿的风险。 |
锁定关键目录 |
使用chattr 命令为关键目录添加保护属性,如sudo chattr +i /etc (为/etc 目录设置不可更改属性),这样只有root用户才能修改该目录的内容。 |
防止关键目录被反面改动,保护系统的重要配置文件和程序,确保系统的正常运行,避免被挖矿程序利用。 |
定期备份与恢复测试
操作 |
频率 |
重要性 |
定期备份数据 |
根据数据的重要性和更新频率,制定合适的备份计划,如每天、每周或每月备份一次,可以使用tar 、rsync 等工具进行备份,将数据备份到外部存储设备或远程服务器。 |
在系统遭受挖矿攻击或其他灾难导致数据丢失时,能够快速恢复数据,减少损失,确保业务的连续性。 |
恢复测试 |
定期进行恢复测试,验证备份数据的完整性和可用性,模拟数据丢失的情况,从备份中恢复数据,检查恢复后的数据是否正常。 |
确保备份策略的有效性,在实际需要恢复数据时能够顺利进行,避免因备份数据不可用而导致更大的损失。 |
防止Linux被挖矿需要综合运用多种安全措施,从系统基础安全设置、防火墙配置、进程监控、安全软件使用、日志分析、网络连接监控、权限管理到定期备份等方面进行全面防护,同时保持安全意识,定期检查和更新安全策略,以确保Linux系统的安全。

FAQs
问题1:如果已经发现Linux系统被挖矿,应该如何彻底清除挖矿干扰?
答:立即断开网络连接,防止干扰继续与外部通信或扩散,使用工具如sysdig和unhide查找隐藏的挖矿进程,找到进程ID(PID)后,使用kill -9 [PID]
命令强制结束进程,通过systemctl status [PID]
查看进程关联的系统服务,使用sudo systemctl stop [干扰服务名].service
和sudo systemctl disable [干扰服务名].service
终止并禁用启动服务,之后,查找并删除与挖矿相关的文件,可使用find / -name <file_name>
命令查找文件名包含指定字符的文件,然后手动删除,检查系统日志文件,如/var/log/auth.log
、/var/log/syslog
等,分析载入的来源和方式,使用安全软件如ClamAV对系统进行全面扫描,确保没有遗漏的反面文件。
问题2:如何预防Linux系统再次被挖矿干扰感染?
答:要继续保持系统和软件的及时更新,修复可能出现的新破绽,加强防火墙配置,严格限制网络访问,只允许必要的服务和端口对外开放,强化用户权限管理,遵循最小权限原则,避免用户因误操作或被攻击而获得过高权限,定期进行系统扫描和安全审计,使用安全软件如载入检测系统(IDS)、反干扰软件等,及时发现并处理潜在的安全威胁。