Linux下varlogbtmp过大的解决方案

Linux下varlogbtmp过大的解决方案,第1张

因为云服务器老是被植入挖矿木马,所以多少学习了如何发现异常的一些知识点。整理如下:

异常:发现/var/log/btmp文件逐渐增大,且文件占据空间较大。

/var/log/btmp用于记录错误的登录尝试

可能存在暴力破解,即使用密码字典登录ssh服务,此日志需使用 lastb 打开

(1)查看登录次数>100的IP

(2)防火墙屏蔽单个恶意登录的IP

添加完成后,用 service iptables status 可以查看iptables服务的当前状态。

(3)防火墙屏蔽大量恶意登录的IP

使用 ipset 命令。

①创建IP集IPlimit,增加IP限制为10万条

②为IP黑名单添加前缀参数

这些IP我抽查了几个,有来自英国、德国、美国、印度,甚至我国某些省市。

③ 使用ipset 命令加载这个文件到IP集

④创建iptables规则来屏蔽IP集中的IP

⑤查看iptables防护墙的filter表是否添加成功

⑥清理/var/log/btmp文件

iptables只是三种ip段,

封110.0.0.0—110.255.255.255 ip段的方法是在源ip里输入,110.0.0.0/8;

封110.110.0.0—110.110.255.255 ip段的方法是在源ip里输入,110.110.0.0/16;

封110.110.110.0—110.110.110.255 ip段的方法是在源ip里输入,110.110.110.0/24;

(1)加入开机自启动

chkconfig iptables on

(2)重启服务

service iptables restart

查看如下 两个日志对我们了解系统当时做了什么 *** 作有帮助。

/var/log/messages

记录系统整体信息,一般来讲各类报错信息都会在这个日志中记录。

/var/log/cron

记录系统定制任务的日志。

首先我要定位系统异常的时间点,很简单,我打开我的程序的目录,找到运行日志打开一看

可以直接看出来到7:20就没有了,这说明程序运行到这个时间点之后就没有在运行,基本上就是这个时间点异常了。

那么系统日志我们就按着这个时间点去看。

首先打开cron日志找到对应的时间点,看了下似乎没什么异常之处。

接下来看messages日志,找到对应的时间点之后发现了异常。

从7:20开始系统发生异常,然后桌面终端的情况被记录到/var/spool/abrt/ccp-2017-11-09-07:20:02-5142.new/coredump

然后被程序调用的网卡被卸载掉,紧接着系统写了一个mail。

上面的日志中有一个error,根据这个报错百度了下(这里我要吐槽百度,怀念google),大概意思是error 4的意思是用户态程序内存访问越界

error number是由三个字位组成的,从高到底分别为bit2 bit1和bit0,所以它的取值范围是0~7。

bit2: 值为1表示是用户态程序内存访问越界,值为0表示是内核态程序内存访问越界

bit1: 值为1表示是写 *** 作导致内存访问越界,值为0表示是读 *** 作导致内存访问越界

bit0: 值为1表示没有足够的权限访问非法地址的内容,值为0表示访问的非法地址根本没有对应的页面,也就是无效地址

error number是4, 转成二进制就是100, 即bit2=1, bit1=0, bit0=0, 按照上面的解释,我们可以得出这条信息是由于用户态程序读 *** 作访问越界造成的。

但是具体是什么程序造成的我还没弄清楚,但是用户态程序也就是我运行的程序也就那么几个,逐个排查后应该可以得到结论。后续在慢慢弄。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8950966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存