检查端口开放与恶意进程
- 运行
netstat -pantu
,查看是否存在异常的IP 端口建联,同时可以查看对应的pid
-
检查服务器是否存在异常的IP建联,通常恶意进程会与外部控制机器建联用于控制服务器。
-
解决方案:
- 若发现存在异常的进程,使用
ls -al /proc/xxxx(恶意PID)/exe
查看pid对应的进程文件路径。 - 如果确定为恶意进程,删除对应的文件
- 若发现存在异常的进程,使用
-
- 使用
top
命令,或者使用ps -ef
查看异常进程。
-
查看有无异常占用高cpu等的进程,恶意文件可能会使用大量系统 CPU 或内存资源
-
查看有无非授权进程
-
解决方案:
- 确定为恶意进程之后,使用
kill -9 进程id
或者pkill -9 进程名
结束进程。
- 确定为恶意进程之后,使用
-
检查弱口令与异常用户
- 检查ssh,redis,mysql,hadoop,网站后台管理员等应用是否存在未授权访问,弱密码等,导致被外部攻击者暴力破解后控制机器。
-
解决方案:
- 修改应用密码为复杂的密码
- 在云安全组对相应的端口进行来源限制,限制为固定的IP或IP段可以访问。
- 查看近期登陆机器账户的记录,确定是否有异常登陆
-
Centos
cat /var/log/secure | grep 'Accepted'
Ubuntucat /var/log/auth.log | grep 'Accepted'
查看有无异常IP登陆,可以将 grep 后面的修改为异常IP,查看是否存在多次登陆失败,存在即为恶意用户。 -
使用
last -x -F
查看近期是否存在异常IP登陆机器 -
使用
cat /etc/passwd
查看有无创建的异常账号-
解决方案:
- 修改机器对应用户的密码,使用命令
usermod -L 用户名
禁用用户或者使用命令userdel -r 用户名
删除用户
- 修改机器对应用户的密码,使用命令
-
检查启动项和定时任务
- 检查机器的启动项,查看开机启动项中是否有异常的启动服务。
-
使用 Centos
chkconfig --list
Ubuntusystemctl list-unit-files --type=service --state=enabled
查看是否存在异常的启动服务。- 解决方案:如发现有恶意进程,可使用 Centos :
chkconfig 服务名 off
关闭 或者使用Ubuntusystemctl disable/stop 服务名
来禁用/停止,同时检查/etc/rc.local
中是否有异常项目,如有可以进行删除或注释。
- 解决方案:如发现有恶意进程,可使用 Centos :
-
使用
ls -l /var/spool/cron
每个文件对应一个用户的定时任务,查看是否存在异常的定时任务。- 解决方案:如果发现异常的定时任务,可以对相应任务进行删除或注释。
第三方软件
建议定时对第三方软件进行升级,同时建议使用非root账户运行服务,同时限制写权限。
被入侵后加固建议
- 建议对被入侵的机器进行重装处理。
- 使用ssh密钥登陆服务器。
- 定期备份云服务器业务数据。
- 及时更新软件到最新版本。
- 可以在安全组对相关端口对入向进行限制。
- 购买云安全中心等安全产品,在攻击发生之后,及时了解自身风险和入侵点。