Linux入侵问题排查
1.深入分析,查找入侵原因
1.1 检查隐藏账户及弱口令
1.1.1、检查服务器系统及应用账户是否存在弱口令
- 检查说明:检查管理员账户、数据库账户、MySQL账户、tomcat账户、网站后台管理员账户等密码设置是否较为简单,简单的密码很容易被黑客破解
- 解决方法:以管理员权限登录系统或应用程序后台,修改为复杂的密码
- 风险性:高
1.1.2、使用 last 命令查看下服务器近期登录的账户记录,确认是否有可疑IP登录过机器;
- 检查说明:攻击者或者恶意软件往往会往系统中注入隐藏的系统账户实施提权或其他破坏性的攻击
- 解决方法:检查发现有可疑用户时,可使用命令“usermod -L 用户名”禁用用户或者使用命令“userdel -r 用户名”删除用户。
- 风险性:高
1.1.3、通过 less /var/log/secure|grep 'Accepted' 命令,查看是否有可疑IP登录机器成功;
- 检查说明:攻击者或者恶意软件往往会往系统中注入隐藏的系统账户实施提权或其他破坏性的攻击
- 解决方法: 使用命令“usermod -L 用户名”禁用用户或者使用命令“userdel -r 用户名”删除用户。
- 风险性:高
1.1.4、检查系统是否采用默认管理端口
- 解决方法:
1)、在服务器内编辑 /etc/ssh/sshd_config 文件中的 Port 22 将 22 修改为非默认端口,修改之后需要重启 ssh 服务;
2)、运行 /etc/init.d/sshd restart 命令重启是配置生效;
3)、修改FTP、MySQL、Reids等的程序配置文件的默认监听端口21、3306、6379为其他端口;
4)、限制远程登录的IP,编辑/etc/hosts.deny 、/etc/hosts.allow 两个文件来限制IP - 风险性:高
1.1.5、检查下 /etc/passwd 这个文件,看是否有非授权账户登录;
- 检查说明:攻击者或者恶意软件往往会往系统中注入隐藏的系统账户实施提权或其他破坏性的攻击
- 解决方法: 使用命令“usermod -L 用户名”禁用用户或者使用命令“userdel -r 用户名”删除用户。
- 风险性:中
1.2 检查恶意进程及非法端口
1、运行 netstat –antlp 查看下服务器是否有未被授权的端口被监听,查看下对应的pid。
- 检查服务器是否存在恶意进程,恶意进程往往会开启监听端口,与外部控制机器进行连接
- 解决方法:
1)若发先有非授权进程,运行ls -l /proc/$PID/exe或file /proc/$PID/exe ($PID为对应的pid号) ,查看下pid所对应的进程文件路径
2)如果为恶意进程,删除下对应的文件即可。 - 风险性:高
2、使用 ps -ef 和 top 命令查看是否有异常进程
- 检查说明:运行以上命令,当发现有名称不断变化的非授权进程占用大量系统CPU或内存资源时,则可能为恶意程序
- 解决方法:确认该进程为恶意进程后,可以使用 “kill -9 进程名”命令结束进程,或使用防火墙限制进程外联
- 风险性:高
1.3 检查恶意程序和可疑启动项
1、使用 chkconfig --list 和 cat /etc/rc.local 命令查看下开机启动项中是否有异常的启动服务
- 检查说明:恶意程序往往会添加在系统的启动项,在用户关机重启后再次运行
- 解决方法:如发现有恶意进程,可使用 “chkconfig 服务名 off” 命令关闭,同时检查 /etc/rc.local 中是否有异常项目,如有请注释掉。
- 风险性:高
2、进入cron文件目录,查看是否存在非法定时任务脚本
- 检查说明:查看/etc/crontab,/etc/cron.d,/etc/cron.daily,cron.hourly/,cron.monthly,cron.weekly/是否存在可以脚本或程序
- 解决方法:如发现有不认识的计划任务,可定位脚本确认是否正常业务脚本,如果非业务脚本呢,可直接注释掉任务内容或删除脚本。
- 风险性:高
1.4 检查第三方软件漏洞
1、如果您服务器内有运行 Web、数据库等应用服务,请您限制应用程序账户对文件系统的写权限,同时尽量使用非root账户运行。
- 检查说明:使用非root账户运行可以保障在应用程序被攻陷后攻击者无法立即远程控制服务器,减少攻击损失
- 解决方法:
1)进入web服务根目录或数据库配置目录;
2)运行“chown -R apache:apache /var/www/xxxx”、“chmod -R 750 file1.txt”命令配置网站访问权限。
-风险性:中
如下简单介绍网站目录文件权限的参考举例:
场景:我们假设http服务器运行的用户和用户组是www,网站用户为centos,网站根目录是/home/centos/web。
方法/步骤:
我们首先设定网站目录和文件的所有者和所有组为centos,www,如下命令:
chown -R centos:www /home/centos/web
设置网站目录权限为750,750是centos用户对目录拥有读写执行的权限,设置后, centos用户可以在任何目录下创建文件,用户组有有读执行权限,这样才能进入目录,其它用户没有任何权限。
find -type d -exec chmod 750 {} \;
设置网站文件权限为640,640指只有centos用户对网站文件有更改的权限,http服务器只有读取文件的权限,无法更改文件,其它用户无任何权限。
find -not -type d -exec chmod 640 {} \;
针对个别目录设置可写权限。比如网站的一些缓存目录就需要给http服务有写入权限。例如discuz x2的/data/目录就必须要写入权限。
find data -type d -exec chmod 770 {} \;
2、升级修复应用程序漏洞
- 检查说明:机器被入侵,部分原因是系统使用的应用程序软件版本较老,存在较多的漏洞而没有修复,导致可以被入侵利用 解决方法:比较典型的漏洞如ImageMagick、openssl、glibc等,用户可以根据腾讯云已发布安全通告指导通过apt-get/yum等方式进行直接升级修复
- 风险性:高
2. 被入侵后的安全优化建议
1、尽量使用SSH密钥进行登录,减少暴力破解的风险
2、在服务器内编辑 /etc/ssh/sshd_config 文件中的 Port 22 将 22 修改为其他非默认端口,修改之后重启 ssh 服务。可使用 /etc/init.d/sshd restart 命令重启
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,在发生攻击后,可以了解自身风险情况
转自腾讯云:https://cloud.tencent.com/document/product/296/9604
Linux入侵问题排查的更多相关文章
- Linux入侵类问题排查思路
深入分析,查找入侵原因 一.检查隐藏帐户及弱口令 检查服务器系统及应用帐户是否存在 弱口令: 检查说明:检查管理员帐户.数据库帐户.MySQL 帐户.tomcat 帐户.网站后台管理员帐户等密码设置是 ...
- Linux 入侵检测小结
Linux 入侵检测小结 0x00 审计命令 在linux中有5个用于审计的命令: last:这个命令可用于查看我们系统的成功登录.关机.重启等情况:这个命令就是将/var/log/wtmp文件格式 ...
- Linux 性能优化排查工具
下图1为 Linux 性能优化排查工具的总结 图1 诊断 CPU 工具 查看 CPU 核数 总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU ...
- 6.【应急响应】Linux入侵排查思路
0x01 入侵排查思路 一.账号安全 基本使用: 1.用户信息文件/etc/passwd root:x:0:0:root:/root:/bin/bash account:password:UID:GI ...
- 一些关于Linux入侵应急响应的碎碎念
近半年做了很多应急响应项目,针对黑客入侵.但疲于没有时间来总结一些常用的东西,寄希望用这篇博文分享一些安全工程师在处理应急响应时常见的套路,因为方面众多可能有些杂碎. 个人认为入侵响应的核心无外乎四个 ...
- Linux入侵检查思路及其命令 转自https://yq.aliyun.com/articles/24250?spm=5176.100239.blogcont24249.12.rbBrIh
摘要: 若Linux操作系统被非法入侵,那么有哪些思路和系统命令用于检查系统当前的状态呢?主要包括对关键进程.关键服务.关键文件的检测,同时及时备份硬盘数据用于持续分析.详细的检查思路和Linux命令 ...
- Linux入侵检测工具 - RKHunter
RKHunter是Linux系统平台下的一款开源入侵检测工具 特点 (1)安装便捷,运行快速 (2)扫描范围全,能够检测各种已知的rootkit特征码.端口扫描.常用程序文件的变动情况检查 主要功能 ...
- linux 入侵检查转载
转载 本文给大家收集整理了一些审查Linux系统是否被入侵的方法,这些方法可以添加到你运维例行巡检中. 1. 检查帐户 代码如下: # less /etc/passwd # grep :0: /etc ...
- linux入侵控制与痕迹清理
后门 (1)开机自动反弹shell (2)linux后门 Rookit 目前常用的有:t0rn /mafix/enyelkm 等 mafix rootkit Mafix是一款常用的轻量应用级别Root ...
随机推荐
- web框架-Struts开始
问题: 为什么有structs 作为一种框架(frameset)可以与传统的mvc进行比较? MVC是一种模式数据处理.显示和数据输入分开,来规范开发,但是却又并不规范.可以这样想:有三家公司,他们对 ...
- Controller Plane
Toward Highly Available and Scalable Software Defined Networks for Service Providers IEEE Communicat ...
- 人生第一次JAVA编程,电梯(并不算完成版),以及IDEA里使用git
首先先说说Intellij IDEA与git的互联,首先在任意(我是在coding)gitlab里新建一个工程. 然后新建一个工程记得注明url和地址.名称等 如果无法创建,则需要指定git地址 创建 ...
- mysql存储过程学习第一天
摘要:存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句.存储过程和函数可以避免开发人员重复的编写相同的SQL语句.而且,存储过程和函数是在 ...
- BZOJ1050 HAOI2006旅行(最小生成树+LCT)
暴力枚举路径中权值最小边是哪个,然后求出边权不小于它的边的最小生成树,即可保证该路径上最大值最小.暴力当然可以过,这里使用LCT维护.注意数据中有自环. #include<iostream> ...
- King's Quest POJ - 1904(强连通分量)
建图:王子u喜欢女孩v,则u到v连一条边.对于给出的初始完美匹配,王子u与女孩v匹配,则v到u连一条边.然后求SCC. 显然对于同一个SCC中王子数目和女孩数目是相等的,并且从某个王子出发能够到达所有 ...
- 【刷题】LOJ 6225 「网络流 24 题」火星探险问题
题目描述 火星探险队的登陆舱将在火星表面着陆,登陆舱内有多部障碍物探测车. 登陆舱着陆后,探测车将离开登陆舱向先期到达的传送器方向移动. 探测车在移动中还必须采集岩石标本. 每一块岩石标本由最先遇到它 ...
- 【BZOJ3489】A simple rmq problem(KD-Tree)
[BZOJ3489]A simple rmq problem(KD-Tree) 题面 BZOJ 题解 直接做肯定不好做,首先我们知道我们是一个二维平面数点,但是限制区间只能出现一次很不好办,那么我们给 ...
- 洛谷 P2527 [SHOI2001]Panda的烦恼 解题报告
P2527 [SHOI2001]Panda的烦恼 题目描述 panda是个数学怪人,他非常喜欢研究跟别人相反的事情.最近他正在研究筛法,众所周知,对一个范围内的整数,经过筛法处理以后,剩下的全部都是质 ...
- bzoj 1824: [JSOI2010]下棋问题
考虑每次新放一个棋子会产生多少新的矩形,以及减掉多少旧的矩形. 用第$i$个点的坐标把坐标轴分成4个象限. 显然第一问的答案用四个单调栈就能解决. 而且第二问每个矩形的两个端点一定在1,3或2,4象限 ...