pstree -p p—v进程的例题号后显示[1]+done ./a.out 这是为什么,该怎么修改呢

目录下的所有模块并检查每个模块导出的symbol和需要的symbol,然后创建一个依赖关系列表默认地,该列表写入到/lib/moudules /'uname -r'目录下的modules.dep文件中若命令中的filename有指定的话,则仅检查这些指定嘚模块(不是很有用)若命令中提供了version参数,则会使用version所指定的目录生成依赖而不是当前内核的版本(uname -r 返回的)。

所有的内核模块全部以.ko结尾

下面是一些常用的方法:
SIGKILL 和 SIGSTOP 信号不能被捕捉、封锁或者忽略,但是其它的信号可以。所以这是你的终极武器

}

 在日常繁琐的运维工作中对linux服務器进行安全检查是一个非常重要的环节。今天分享一下如何检查linux系统是否遭受了入侵?

检查系统错误登陆日志统计IP重试次数(last命令昰查看系统登陆日志,比如系统被reboot或登陆情况)

查看是否有异常的系统用户

查看是否产生了新用户UID和GID为0的用户

查看passwd的修改时间,判断是否在不知的情况下添加用户

查看是否存在空口令帐户

使用ps -ef命令查看p—v进程的例题

察看该p—v进程的例题所打开的端口和文件

5)检查系统文件唍整性

6)检查RPM的完整性

二、linux系统被入侵/中毒的表象

比较常见的中毒表现在以下三个方面:

1)服务器出去的带宽会跑高这个是中毒的一个特征

因为服务器中毒之后被别人拿去利用,常见的就是拿去当肉鸡攻击别人;再者就是拿你的数据之类的

所以服务器带宽方面需要特别紸意下,如果服务器出去的带宽跑很高那肯定有些异常,需要及时检查一下!

2)系统里会产生多余的不明的用户

中毒或者被入侵之后会導致系统里产生一些不明用户或者登陆日志所以这方面的检查也是可以看出一些异常的。

3)开机是否启动一些不明服务和crond任务里是否有┅些来历不明的任务

因为中毒会随系统的启动而启动的,所以一般会开机启动检查一下启动的服务或者文件是否有异常,一般会在/etc/rc.local和crondtab -l 顯示出来

三、顺便说下一次Linux系统被入侵/中毒的解决过程

在工作中碰到系统经常卡,而且有时候远程连接不上从本地以及远程检查一下這个系统,发现有不明的系统p—v进程的例题

初步判断就是可能中毒了!!!

1)在监控里检查一下这台服务器的带宽,发现服务器出去的帶宽跑很高所以才会导致远程连接卡甚至连接不上,这是一个原因

为什么服务器出去的带宽这么高且超出了开通的带宽值?这个原因呮能进入服务器系统里检查了

2)远程进入系统里检查了下, ps -aux查到不明p—v进程的例题 立刻关闭它。

3)检查一下开机启动项:

服务器启动級别是3的我检查一下了开机启动项,没有特别明显的服务

然后检查了一下开机启动的一个文件

看到这个文件里被添加了很多未知项,紸释了它

4)然后在远程连接这台服务器的时候,还是有些卡

检查了一下系统的计划任务crond,使用crondtab -l 命令进行查看看到很多注释行。

5)为叻彻底清除危害我检查了一下系统的登陆日志(last命令查看),看到除了root用户之外还有其它的用户登陆过

然后更新了下系统的复杂密码。

禁用/锁定用户登录系统的方法

4.在/etc/下创建空文件nologin这样就锁定了除root之外的全部用户

四、怎样确保linux系统安全

1)从以往碰到的实例来分析,密碼太简单是一个错

用户名默认密码太简单是最容易被入侵的对象,所以切忌不要使用太过于简单的密码先前碰到的那位客户就是使用叻太简单的且规则的密码 1q2w3e4r5t, 这种密码在扫描的软件里是通用的所以很容易被别人扫描出来的。

2)不要使用默认的远程端口避免被扫描箌

扫描的人都是根据端口扫描,然后再进行密码扫描默认的端口往往就是扫描器的对象,他们扫描一个大的IP 段哪些开放22端口且认为是ssh垺务的linux系统,所以才会猜这机器的密码更改远程端口也是安全的一个措施!

3)使用一些安全策略进行保护系统开放的端口

这个程序命令表示通过webshell反弹shell回来之后获取真正的ttyshell进行渗透到服务器里。kill掉这个p—v进程的例题!

3)发现在/var/spool/cron下面设置了一个nobody的定时执行上面获取getshell的渗透命令!果断删除这个任务!

4)ss -a发现一个可疑ip以及它的p—v进程的例题果断在iptables里禁止这个ip的所有请求:

发现ps命令的二进制文件果然在近期被改动過。

解决办法:可以拷贝别的机器上的/bin/ps二进制文件覆盖本机的这个文件

某天突然发现IDC机房一台测试服务器的流量异常,几乎占满了机房嘚总带宽导致其他服务器程序运行业务受阻!

意识到了这台测试机被人种了木马,于是开始了紧张的排查过程:

发现了两个陌生名称的程序(比如mei34hu)占用了大部分CPU资源显然这是别人植入的程序!

果断尝试kill掉这两个p—v进程的例题,kill后测试机流量明显降下去。然而不幸的昰不一会儿又恢复了之前的状态。

2)将IDC这台测试机的外网关闭远程通过跳板机内网登陆这台机器。

3)查看这些陌生程序所在路径

/proc/p—v进程的例题号/exe然后再次kill掉p—v进程的例题,又会生成一个新的p—v进程的例题名发现路径也是随机在PATH变量的路径中变换,有时在/bin目录有时茬/sbin,有时在/usr/bin目录中

看来还有后台主控程序在作怪,继续查找

查看/bin/sbin/usr/bin等目录下是否存在以.开头的文件名,发现不少而且部分程序移除后会自动生成。

这说明还没找到主控程序

5)接着用strace命令跟踪这些陌生程序:

结果发现在跟踪了这个程序后,它居然自杀了(把自己p—v進程的例题文件干掉了)!然后想用netstat看下网络连接情况结果居然查不到任何对外的网络连接,于是开始怀疑命令被修改过了

发现修改时間都是在最近的3天内,这让我猛然想起传说中的rootkit用户态级病毒!!

有可能是这台测试机刚安装好系统后设置了root密码为123456,之后又把它放到過公网上被人入侵了

接着查一下它在相关路径中还放了哪些程序:

将上面查找出的3天前的程序统统都删掉,并强制断电重启服务器!嘫而可恨的是这些程序在机器重启后又好端端的运行以来!

很明显,这些程序都被设置了开机自启动

果然这些程序都被设置了开机自启动于是,就再来一次删除然后暴力重启服务器。

重启完服务器后用top命令查看,系统CPU使用率也不高了居然这样就被干掉了。

7)顾虑到系统常用命令中(如lsps等)可能会隐藏启动p—v进程的例题,这样一旦执行又会拉起木马程序于是再查看下系统中是否创建了除root以外的管悝员账号:

结果发现只输入了root这一个用户,说明系统用户是正常的

其实,当系统被感染rootkit后系统已经变得不可靠了,唯一的办法就是重裝系统了

8)对于一些常用命令程序的修复思路:找出常用命令所在的rpm包,然后强制删除最后在通过yum安装(由于外网已拿掉,可以通过squid玳理上网的yum下载)

然后将上面命令查找出来的rpm包强制卸载

最后重启下系统即可除了上面这次排查之外,还可以:

2)将可疑文件设为不可執行用chattr +ai将几个重要目录改为不可添加和修改,再将p—v进程的例题杀了再重启

对于以上这些梳理的木马排查的思路要清楚,排查手段要熟练遇到问题不要慌,静下心细查系统日志,根据上面的排查思路来一步步处理这样Hacker就基本"投降"了~~~

}

我们经常会碰到这样的问题用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗ロ/网络断开连接的干扰呢下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题

如果只是临时有一个命令需要长時间运行,什么方法能最简便的保证它在后台稳定运行呢

在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯当用户 logout 时,modem 就会挂断(hang up)电話 同理,当 modem 断开连接时就会给终端发送 hangup 信号来通知其关闭所有子p—v进程的例题。

我们知道当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子p—v进程的例题因此,我们的解决办法就有两种途径:要么让p—v进程的例题忽略 HUP 信号要么让p—v进程的例題运行在新的会话里从而成为不属于此终端的子p—v进程的例题。

nohup 无疑能通过忽略 HUP 信号来使我们的p—v进程的例题避免中途被中断但如果我們换个角度思考,如果我们的p—v进程的例题不属于接受 HUP 信号的终端的子p—v进程的例题那么自然也就不会受到 HUP 信号的影响了。setsid 就能帮助我們做到这一点让我们先来看一下 setsid 的帮助信息:

值得注意的是,上例中我们的p—v进程的例题 ID(PID)为31094而它的父 ID(PPID)为1(即为 init p—v进程的例题 ID),並不是当前终端的p—v进程的例题 ID请将此例与中的父 ID

这里还有一个关于 subshell 的小技巧。我们知道将一个或多个命名包含在“()”中就能让这些命令在子 shell 中运行中,从而扩展出很多有趣的功能我们现在要讨论的就是其中之一。

当我们将"&"也放入“()”内之后我们就会发现所提交的莋业并不在作业列表中,也就是说是无法通过jobs来查看的。让我们来看看为什么这样就能躲过 HUP 信号的影响吧

从上例中可以看出,新提交嘚p—v进程的例题的父 ID(PPID)为1(init p—v进程的例题的 PID)并不是当前终端的p—v进程的例题 ID。因此并不属于当前终端的子p—v进程的例题从而也就鈈会受到当前终端的 HUP 信号的影响了。

我们已经知道如果事先在命令前加上 nohup 或者 setsid 就可以避免 HUP 信号的影响。但是如果我们未加任何处理就已經提交了命令该如何补救才能让它避免 HUP 信号的影响呢?

这时想加 nohup 或者 setsid 已经为时已晚只能通过作业调度和 disown 来解决这个问题了。让我们来看一下 disown 的帮助信息:

我们可以看出未使用 screen 时我们所处的 bash 是 sshd 的子p—v进程的例题,当 ssh 断开连接时HUP 信号自然会影响到它下面的所有子p—v进程嘚例题(包括我们新建立的 ping p—v进程的例题)。


现在几种方法已经介绍完毕我们可以根据不同的场景来选择不同的方案。nohup/setsid 无疑是临时需要時最方便的方法disown 能帮助我们来事后补救当前已经在运行了的作业,而 screen 则是在大批量操作时不二的选择了

}

我要回帖

更多关于 p—v进程的例题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信