记录服务器被挖矿处理总结

偶然发现CPU一直占用100%,开始还不太在意,后来想想我的程序也没这么多啊

导致机器登录ssh的时候都有点卡了。

开始检查机器,发现原来是被入侵了,有个木马一直占用

这才知道是被别人用来挖矿了,真是无语了

搞了好久没搞定,哎,能力有限,一生气直接保存资料重装系统了,由于比较着急,导致还是有些东西漏了备份,有点后悔。。。

以后安全防范一定要做到位。

希望不要再被入侵了,烦死了

这次算是体会到主机安全的重要性了,公司最近也在说这个问题,看来还是要多多重视。

总结一下:

  1. 我之前密码设置得太简单了,导致直接被暴力破解

  2. 安全防护做得不够,防火墙也没有打开

  3. 22端口一直开放,很容易被人访问到,现在换成别的端口了

CentOS 防火墙快速开放端口配置方法

# 开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent

# 查看端口是否开启
firewall-cmd --query-port=80/tcp

# 重启防火墙
firewall-cmd --reload

# 查询有哪些端口是开启的:
firewall-cmd --list-port

# 关闭firewall:
systemctl stop firewalld.service #停止firewall

# 禁止firewall开机启动
systemctl disable firewalld.service 

# 开启开机启动
systemctl enable firewalld.service 

命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

CentOs 防火墙开启关闭方法

关于开启关闭防火墙、开机启动等。
我的系统是CentOs7,重装换了CentOs8

  1. 查看防火墙状态
systemctl |grep firewalld.service
  1. 关闭防火墙
systemctl stop firewalld.service
  1. 开启防火墙
systemctl start firewalld.service
systemctl restart firewalld.service
  1. 自启动
# 关闭自启动
systemctl disable firewalld.service

# 打开自启动
systemctl enable firewalld.service

# 查询自启动服务
systemctl list-unit-files|grep firewalld.service

扩展知识:
systemctl is-enabled iptables.service
#查询服务是否开机启动
systemctl is-enabled servicename.service

#开机运行服务
systemctl enable *.service

#取消开机运行
systemctl disable *.service

#启动服务
systemctl start *.service

#停止服务
systemctl stop *.service

#重启服务
systemctl restart *.service

#重新加载服务配置文件
systemctl reload *.service

#查询服务运行状态
systemctl status *.service

#显示启动失败的服务
systemctl --failed

CentOs8 新增ssh自定义端口与屏蔽默认22端口

  1. 修改SSH配置文件
vim /etc/ssh/sshd_config

增加
Port 22
Port 22022

SSH默认监听端口是22,如果你不强制说明别的端口,”Port 22”注不注释都是开放22访问端口。上面我保留了22端口,防止之后因为各种权限和配置问题,导致连22端口都不能访问了,那就尴尬了。等一切都ok了,再关闭22端口。

修改端口时候最好挑10000~65535之间的端口号,10000以下容易被系统或一些特殊软件占用,或是以后新应用准备占用该端口的时候,却被你先占用了,导致软件无法运行。

  1. 打开 SELinux

SELinux是关闭的,可以忽略这一步

查看SELinux的状态
/usr/sbin/sestatus -v     
也可以用
getenforce

# 查看SELinux开放给ssh使用的端口
semanage port -l|grep ssh

# 开放端口
semanage port -a -t ssh_port_t -p tcp 22022
  1. 防火墙

防火墙最好不要关闭,最好设置为开机启动

# 查看防火墙是否开启了22022端口
firewall-cmd --permanent --query-port=22022/tcp


# 打印no表示没有开放该端口,那么添加下该端口
firewall-cmd --permanent --add-port=22022/tcp


# 重新加载防火墙策略:
firewall-cmd --reload

设置完成后,重启防火墙和ssh服务,最好也重启服务器

systemctl restart sshd
systemctl restart firewalld.service

开启完成后还需要在腾讯云控制台安全组策略中打开对应的端口,不然也不能访问。如果可以访问了就将22的策略也删除掉,使之不能访问。

  1. 尝试登陆后,关闭默认的22端口
#关闭默认 22端口
firewall-cmd --permanent --zone=public --remove-port=8080/tcp

# 重启防火墙
systemctl reload firewalld

# 查看防火墙端口
 firewall-cmd --list-ports

版权声明:本文为CodeLixj原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。