深入分析,查找入侵原因

一、检查隐藏帐户及弱口令

检查服务器系统及应用帐户是否存在 弱口令:

检查说明:检查管理员帐户、数据库帐户、MySQL 帐户、tomcat 帐户、网站后台管理员帐户等密码设置是否较为简单,简单的密码很容易被黑客破解。

解决方法:以管理员权限登录系统或应用程序后台,修改为复杂的密码。

风险性:高。

使用 last 命令查看下服务器近期登录的帐户记录,确认是否有可疑 IP 登录过机器:

检查说明:攻击者或者恶意软件往往会往系统中注入隐藏的系统帐户实施提权或其他破坏性的攻击。

解决方法:检查发现有可疑用户时,可使用命令 usermod -L 用户名禁用用户或者使用命令 userdel -r 用户名删除用户。

风险性:高。

通过 less /var/log/secure|grep 'Accepted' 命令,查看是否有可疑 IP 成功登录机器:

检查说明:攻击者或者恶意软件往往会往系统中注入隐藏的系统帐户实施提权或其他破坏性的攻击。

解决方法: 使用命令 usermod -L 用户名禁用用户或者使用命令 userdel -r 用户名删除用户。

风险性:高。

检查系统是否采用 默认管理端口:

检查系统所用的管理端口(SSH、FTP、MySQL、Redis 等)是否为默认端口,这些默认端口往往被容易自动化的工具进行爆破成功。

解决方法:

在服务器内编辑 /etc/ssh/sshd_config 文件中的 Port 22,将22修改为非默认端口,修改之后需要重启 ssh 服务。

运行 /etc/init.d/sshd restart(CentOS)或 /etc/init.d/ssh restart(Debian / Ubuntu)命令重启是配置生效。

修改 FTP、MySQL、Redis 等的程序配置文件的默认监听端口21、3306、6379为其他端口。

限制远程登录的 IP,编辑 /etc/hosts.deny 、/etc/hosts.allow 两个文件来限制 IP。

风险性:高。

检查 /etc/passwd 文件,看是否有非授权帐户登录:

检查说明:攻击者或者恶意软件往往会往系统中注入隐藏的系统帐户实施提权或其他破坏性的攻击。

解决方法: 使用命令 usermod -L 用户名禁用用户或者使用命令 userdel -r 用户名删除用户。

风险性:中。

二、检查恶意进程及非法端口

运行 netstat –antlp 查看下服务器是否有未被授权的端口被监听,查看下对应的 pid。

检查服务器是否存在恶意进程,恶意进程往往会开启监听端口,与外部控制机器进行连接。

解决方法:

若发现有非授权进程,运行 ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的 pid 号),查看下 pid 所对应的进程文件路径。

如果为恶意进程,删除下对应的文件即可。

风险性:高。

使用 ps -ef 和 top 命令查看是否有异常进程

检查说明:运行以上命令,当发现有名称不断变化的非授权进程占用大量系统 CPU 或内存资源时,则可能为恶意程序。

解决方法:确认该进程为恶意进程后,可以使用 kill -9 进程名 命令结束进程,或使用防火墙限制进程外联。

风险性:高。

三、检查恶意程序和可疑启动项

使用 chkconfig --list 和 cat /etc/rc.local 命令查看下开机启动项中是否有异常的启动服务。

检查说明:恶意程序往往会添加在系统的启动项,在用户关机重启后再次运行。

解决方法:如发现有恶意进程,可使用 chkconfig 服务名 off 命令关闭,同时检查 /etc/rc.local 中是否有异常项目,如有请注释掉。

风险性:高。

进入 cron 文件目录,查看是否存在非法定时任务脚本。

检查说明:查看 /etc/crontab,/etc/cron.d,/etc/cron.daily,/etc/cron.hourly/,/etc/cron.monthly,/etc/cron.weekly/ 是否存在可疑脚本或程序。

解决方法:如发现有不认识的计划任务,可定位脚本确认是否正常业务脚本,如果非正常业务脚本,可直接注释掉任务内容或删除脚本。

风险性:高。

四、检查第三方软件漏洞

如果您服务器内有运行 Web、数据库等应用服务,请您限制应用程序帐户对文件系统的写权限,同时尽量使用非 root 帐户运行。

检查说明:使用非 root 帐户运行可以保障在应用程序被攻陷后攻击者无法立即远程控制服务器,减少攻击损失

解决方法:

进入 web 服务根目录或数据库配置目录;

运行 chown -R apache:apache /var/www/xxxx、chmod -R 750 file1.txt 命令配置网站访问权限。

风险性:中。

参考示例

升级修复应用程序漏洞

检查说明:机器被入侵,部分原因是系统使用的应用程序软件版本较老,存在较多的漏洞而没有修复,导致可以被入侵利用。

解决方法:比较典型的漏洞例如 ImageMagick、openssl、glibc 等,用户可以根据腾讯云已发布安全通告指导通过 apt-get/yum 等方式进行直接升级修复。

风险性:高。

网站目录文件权限的参考示例如下:

场景:

我们假设 HTTP 服务器运行的用户和用户组是 www,网站用户为 centos,网站根目录是 /home/centos/web。

方法/步骤:

1、我们首先设定网站目录和文件的所有者和所有组为 centos,www,如下命令:

chown -R centos:www /home/centos/web

2、设置网站目录权限为750,750是 centos 用户对目录拥有读写执行的权限,设置后,centos 用户可以在任何目录下创建文件,用户组有有读执行权限,这样才能进入目录,其它用户没有任何权限。

find -type d -exec chmod 750 {} \;

3、设置网站文件权限为640,640指只有 centos 用户对网站文件有更改的权限,HTTP 服务器只有读取文件的权限,无法更改文件,其它用户无任何权限。

find -not -type d -exec chmod 640 {} \;

4、针对个别目录设置可写权限。例如,网站的一些缓存目录就需要给 HTTP 服务有写入权限、discuz x2 的/data/目录就必须要写入权限。

find data -type d -exec chmod 770 {} \;

被入侵后的安全优化建议

1、尽量使用 SSH 密钥进行登录,减少暴力破解的风险。

2、在服务器内编辑 /etc/ssh/sshd_config 文件中的 Port 22,将 22 修改为其他非默认端口,修改之后重启 SSH 服务。可使用命令重启

/etc/init.d/sshd restart(CentOS)或 /etc/init.d/ssh restart(Debian/Ubuntu)

3、如果必须使用 SSH 密码进行管理,选择一个好密码。

无论应用程序管理后台(网站、中间件、tomcat 等)、远程 SSH、远程桌面、数据库,都建议设置复杂且不一样的密码。

下面是一些好密码的实例(可以使用空格):

1qtwo-threeMiles3c45jia

caser, lanqiu streets

下面是一些弱口令的示例,可能是您在公开的工作中常用的词或者是您生活中常用的词:

公司名+日期(coca-cola2016xxxx)

常用口语(Iamagoodboy)

4、使用以下命令检查主机有哪些端口开放,关闭非业务端口。

netstat -anltp

5、通过腾讯云-安全组防火墙限制仅允许制定 IP 访问管理或通过编辑 /etc/hosts.deny、/etc/hosts.allow 两个文件来限制 IP。

6、应用程序尽量不使用 root 权限。

例如 Apache、Redis、MySQL、Nginx 等程序,尽量不要以 root 权限的方式运行。

7、修复系统提权漏洞与运行在 root 权限下的程序漏洞,以免恶意软件通过漏洞提权获得 root 权限传播后门。

及时更新系统或所用应用程序的版本,如 Struts2、Nginx,ImageMagick、Java 等。

关闭应用程序的远程管理功能,如 Redis、NTP 等,如果无远程管理需要,可关闭对外监听端口或配置。

8、定期备份云服务器业务数据。

对重要的业务数据进行异地备份或云备份,避免主机被入侵后无法恢复。

除了您的 home,root 目录外,您还应当备份 /etc 和可用于取证的 /var/log 目录。

9、安装腾讯云主机安全(云镜) Agent,在发生攻击后,可以了解自身风险情况。

本文来自腾讯云,文档中心>主机安全>故障排除>Linux入侵类问题排查思路:https://cloud.tencent.com/document/product/296/9604

转载于:https://www.cnblogs.com/opsprobe/p/11519287.html

Linux入侵类问题排查思路相关推荐

  1. Linux丢包问题排查思路

    Linux丢包问题排查思路 判断问题与网络丢包有关 通过抓tcpdump,通过wireshark提示查看数据包状态.比如客户端重传多次失败,服务端提示丢包等错误,均是可能由于丢包导致的异常. 丢包可能 ...

  2. 51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程(高俊峰)

    51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程 第一课 Linux运维经验分享与思路 1.一般把主机名,写到hosts下    127.0.0.1    hostname,因为 ...

  3. Linux服务器被入侵后的排查思路(应急响应思路)

    目录 Linux-暴力破解.替换ps命令并留存后门事件复现 一.事件背景 二.应急响应过程 排查crontab后门 排查是否有命令被替换 响应过程回顾 三.事件还原 查看后门 排查安全日志 Linux ...

  4. linux和windows木马排查思路

    一般常见的黑客入侵途径 1.主机远程连接端口暴露在互联网并存在弱口令,被黑客暴力破解后获取主机权限. 2.主机部署数据库后连接端口暴露互联网,数据库账号弱口令,被黑客入侵数据后提权获取主机权限. 3. ...

  5. 【干货】Linux 运维故障排查思路,有这篇文章就够了

    关注我,你的眼睛会怀孕 1. 背景 有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源.这时候就需要登录服务器进一步深入分析问题的根源.那么分析问题需要有一定的技术经验积累,并且有些问 ...

  6. linux 丢包多少正常_干货总结!Linux运维故障排查思路

    1. 背景 有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源.这时候就需要登录服务器进一步深入分析问题的根源.那么分析问题需要有一定的技术经验积累,并且有些问题涉及到的领域非常广,才 ...

  7. Linux进程僵死原因排查思路

    正常情况下脚本执行时间几秒完成,如果超过很长时间执行完成,可能是进程等待某些资源引起阻塞(假死状态). 场景:xx.perl读取文件并发送邮件 现象:执行脚本的进程僵死(卡住) 排查:ps -ef | ...

  8. Linux 运维故障排查思路,有这篇文章就够了

    1. 背景 有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源.这时候就需要登录服务器进一步深入分析问题的根源.那么分析问题需要有一定的技术经验积累,并且有些问题涉及到的领域非常广,才 ...

  9. 【应急响应】windows入侵排查思路

    海峡信息白帽子id:Bypass 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过 ...

最新文章

  1. 当final作用于变量、参数、方法和类时该如何处理
  2. Matplotlib实例教程(九)热力图
  3. 从零点五开始,做半个不能玩的小游戏(二)
  4. VScode 汉化以及侧栏npm脚本显示
  5. YbtOJ-变量观测【鸽笼原理】
  6. Spring Boot自动化配置的利弊及解决之道
  7. 手机java做贪吃蛇_如何用Java写一个贪吃蛇游戏
  8. web.xml中 /和/*的区别
  9. Python画图实战之画K线图【附带自动下载股票数据】
  10. Less 官方文档学习笔记
  11. NDS程序开发可行性分析报告
  12. J2EE配置文件加密
  13. 蜂鸣器干扰通讯_提高蜂鸣器响度和降低蜂鸣器及驱动电路干扰电源的电路的制作方法...
  14. 微信小程序Audio音频(有关歌曲和图片的路径)
  15. JS根据屏幕分辨率自动调整字体大小
  16. SDN:mininet交换机流表操作
  17. 苹果cms重名视频怎么合并
  18. cf #823 Div.2(A~C)
  19. 生吃素食健康驻颜5大注意
  20. 2021京东Java面试真题:c和java哪个更适合开发游戏

热门文章

  1. 使用JNDI+连接池
  2. JavaFX 之窗口大小自由拉伸(四)
  3. jsp+mysql+servlet的登录
  4. _​_​i​n​t​6​4​ ​与​l​o​n​g​ ​l​o​n​g​ ​i​n​t
  5. hdu 4289 Control
  6. 基于Lucene/XML的站内全文检索解决方案:WebLucene 【转】
  7. 奇异值分解(SVD) --- 几何意义
  8. 终于找到程序员无休止加班的原因了
  9. CentOS7下搭建Nginx+PHP7的安装配置
  10. 使用tomcat搭建Jenkins环境(centos7.3)