分类目录: 生活札记

困扰了快1个月的家用宽带网络卡顿问题-Linux病毒实战手记

最近一段时间家里领导反馈网络经常慢,之前还没太在意,上周反馈给电信,电信小哥直接给换了光猫。观察了几天,仍然间歇性的卡顿。尝试换路由器,换光猫拨号,都没有彻底解决。今天发现homenas流量异常,经常跑出大于电信宽带规格的带宽,家里宽带规格是300Mb的,上行更是只有50Mb的,怎么能跑出1000Mb带宽的数据量,很像是局域网的访问行为,这个带宽看起来很像家用磁盘的规格。压根没往外网流量上面想。查各种监控,都只有带宽和流出数据量的统计,找不到哪个进程或者业务。尝试atop,ntop,iftop,netdata,nethogs各种监控,都看不到流量哪里来的,更别说netstat了。最后只能tcpdump持续抓包,找到了一些线索。

​大量从本机发出去的syn包,syn flood攻击,只是我的nas是攻击方,被拿来做“肉鸡”了。只发出了syn包,netstat看不到连接,还是我敲命令的时候,攻击已经停了,应该是前者,攻击的时候,登录在控制台界面也看不到连接。发现所有的网络统计工具都不显示只发了syn包的连接。syn攻击在工作中经常听到,但是很少有机会去实地解决,前端的防护设备帮挡住了,没想到在家用设备上面遇到了。

​进一步找系统日志,有提示被攻击,应该是对端回应syn的包被系统识别为攻击请求直接拒绝了。
mmexport1713540039729

mmexport1713540042770

mmexport1713540047007

mmexport1713540048592
​第一天就先查到这里了,担心NAS上面的数据被破坏,也先保家里的网络,关机收工。留下了几个疑点:
​1,能跑出80MB上行带宽,远大于5MB,说明电信在这种攻击报文的带宽统计有缺陷,拦不住。当然syn包是否都出了光猫,发到了目标端,还是存疑的;
​2,操作系统能拦截外面进来的攻击行为,不知道有没有拦截本机外发攻击包的行为;
​3,根因应该是nas上面docker滥装,没有考证安全性,被留了后门,或者某个软件有已知的漏洞,被利用了。空了再找吧。

​第二天上午,小心翼翼的开启NAS,继续分析头一天的抓包和系统日志。

试图从日志搜索攻击目标端的IP地址是什么时候注入的,无果。然后逐行分析日志,将重复的UFW日志过滤掉。可以发现有两条Cron的日志一直在打印:

image

这条 /.mod的日志特别显眼,之前就看到过这个日志,没有联想到系统的异常流量,因此觉得就是系统的例行任务。现在仔细看这个文件,是放在根目录的,之前没去分析过这条记录的含义,没注意放在根目录。一般可执行的命令怎么会放在根目录?赶紧去根目录找这个文件,使用ls命令,居然是返回的空,没见过这种,大概率是修改了文件属性之类的,继续使用stat命令,就发现异常了。文件是3月30号创建的。考虑这个文件每分钟都在执行,那我手动执行一次也无妨。使用strace跟踪执行过程,发现这个可执行文件会去打开/usr/lib/libgdi.so.0.8.2这个文件,然后看起来是直接执行这个文件。这是so文件,怎么会可执行呢?病毒无疑了。后面去打开这个文件,才发现是一个脚本。比我想象的简单多了,相当于分析了一下shell脚本执行时的strace,:-(

看到这里震惊了,Linux系统出现病毒文件,并且还能对外发起syn flood攻击。一下子就明了了。这个so文件也是3月30号创建的,然后也尝试执行了一下,strace日志比较复杂,有大量的网络操作。剩下的就没细看了,直接Google,找到了非常接近的介绍:Linux.Siggen.5802,按照这里给的列表,逐一确认是否病毒文件,逐一删除,并清理掉病毒生成的Cron任务。

最后还想找到3月30号系统是如何安装上这个病毒的,找了系统日志,没有发现太大的异常,不知道跟下面这个是否有关系,好像早先折腾过UI界面的桌面环境,不知道是不是当时下载了非标的安装包带入的:

image

不管了,这个也一并卸载了。

最后网络终于恢复宁静了。总结一下,就是syn flood包把光猫或者路由器的带宽和连接资源耗尽,然后NAS自己的网络也占满,最终导致终端上网异常。我是在NAS上面部署了dnsmasq作为局域网的解析,因此有时候还表现为终端能用聊天软件,而不能打开网页。

其实中途,一度怀疑新买的Wifi6路由器不稳定,考虑弄一个二手的企业路由器拨号看看,找到了tplink r473g,还打开了调试模式,登录到路由器的shell里面,尝试用top+nc,把实时的top命令结果传出来,最终也确实有所发现,就是当网络异常时,路由器的CPU是满的,然后CPU用在soft irq上面,就是在不停的响应网络中断,看到这里也没什么头绪。当时就想在路由器上面抓包,但是busybox系统没有默认带这个,也没有curl等命令能把抓包数据传出去,难度有点大,就先放弃了,直到这周五发现HomeNAS经常有流量尖峰,才朝着HomeNAS上面去定位流量异常的这个方向走。最早是考虑局域网内的终端访问NAS带来的,逐个排查是哪个终端导致的,甚至二分法逐一关闭容器,都无果。最终还是抓包+系统日志找到了问题。HomeNAS上面,一般是用docker,很少安装不明二进制包,偶尔安装不明的来源的docker镜像。docker里面搞破坏应该很少能破坏宿主机。目前看来,这个病毒做得还不算绝,没有动系统文件,估计也怕jc抓。计算机世界的病毒跟自然界一样,都是希望跟宿主和谐共处,薅一点资源生存。以前只听说黑客利用系统漏洞,做一些攻击,也一直认为Linux很安全,没什么病毒。第一次经历Linux系统被植入病毒木马,上了重要的一课。

附:一些定位过程中的命令
接收远端日志:(nc -l 12599 -k >> router_log.txt &)
路由器跟踪top:(top –n 1 –d 3 |nc –v 22.22.22.3 12599 &),具体的循环任务忘记了,路由器的top没有打印时间,需要定时增加时间信息输出。
持续抓包:(tcpdump -i eno1  ‘not port 6870 and not port 22 and not port 443’ -s 96 -w all.cap -C 300 &)
iftop持续跟踪系统连接:(while :; do echo `date`>>iftop_all.txt; iftop -t -BNPn -s 10 -o 10s -i eno1 2>/dev/null >> iftop_all.txt; done &)
使用ntopng监控系统网络事件,使用iftop命令监控,跟Prometheus+Grafana的结果差不多,仅仅多了基于连接的统计结果。但是这种半连接过程的数据没有统计。

| 1 分2 分3 分4 分5 分 (5.00- 1票) Loading ... Loading ... | 同时归档在:WEB网络, 奇趣见闻, 数码硬件, 移动互联 | 标签: , , , |

我的2022

对大多数人而言,22年可以说是非常难熬的一年。3年疫情把大家的韧性和忍耐力耗尽,也掏空了实体经济。各行各业的寒冬都来临,终于在年末以所有人都快速阳一次收场。对我来说,除了反复居家办公、核酸检测、极少出远门外,感受到经济社会的寒气外,也还没有太大的影响。最后还是赶在新年到来之前阳康了。没有哪一年像23年跨年这样充满期待,对公司业务、对社会经济、对自由出行的期待。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 同时归档在:职业发展 | 标签: , |

乔布斯2005年斯坦福毕业典礼演讲

中英文文字实录如下。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 1票) Loading ... Loading ... | 同时归档在:文字网摘, 职业发展 | 标签: , , , |

『冲上云霄2』观后

周五看到这个高清版出来了,第一时间下载观看。剧情简单,场面宏大,战机的各种镜头堪称同类电影的天花板。总之,如果国内上映,去影院巨幕观看,应该是一场视听盛宴。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 1票) Loading ... Loading ... | 同时归档在:观影随想 | 标签: , |

整理了一个程序员必读书籍和文档清单

所有电子书籍都是从网络收集的,参考自己的阅读习惯和技术论坛的推荐,主要是近10年来的经典书籍。重点在3个方向:计算机系统基本原理(操作系统、编译原理、算法)、计算机网络和分布式架构。还有少量的数据库介绍。

收录的书都是比较早期的经典书籍,更多聚焦在基础知识上面。对于最新的云原生、微服务和低代码等技术涉及较少。

下载链接:必读书单

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 1票) Loading ... Loading ... | 同时归档在:IO编程, Linux内核, 架构设计, 算法数据结构, 编程基础, 职业发展 | 标签: , |

记录一下今天看的这部电影『天城峡疑案』

看到《每个人都是年少的奴隶》这个影评,颇有感触,记录一下。

| 1 分2 分3 分4 分5 分 (5.00- 1票) Loading ... Loading ... | 同时归档在:观影随想 | 标签: , |

我的2020

2020年于我,可能是以后回忆里记忆最深刻年份之一。就像2002年的焦灼的高考录取、2008年坎坷的毕业和华为入职、2012年差点变成我人生真实的世界末日,之后来到成都,继续华为的工作,后面几年并没有大风大浪,似乎平静了许多。直到2020年,突然发现时光流逝得如此之快,让人猝不及防,都已经快走到个人职业尽头了。经过几次外部接洽,终于下定决心,不能再这样下去,离开华为,重新开始。

华为带给我的东西,除了劳动所得,其他并不多,有用的积累都是自己工作之余完成的。如果说华为工作的优点,我觉得最重要的是规范、责任和质量意识。对于自我约束力强的人,用强大的制度帮助个人形成这些习惯并不太需要。现在跟人聊起华为时,一般都会说,华为不适合久待,除非能在华为的制度与灰度之间游刃有余,并且进入利益核心里面去,否则应该越早离开越好。

华为只关注公司的发展,不关注个人,为了达到目的,可以不择手段,因此培养出来了很多一方面严格遵守规则,一方面又在规则照顾不到的地方肆意妄为。一个简单的例子,你很难想象,这样一个绝大部分员工都来自重点高校毕业的公司的洗手间,无论什么时候总有轻量级代谢产物越界到蹲位前,尽管清洁工频繁清理,总能遇到。心声社区都看到过多次批判这种行为的。

所谓的狼性,其实就是只关注食物,只要能抢到食物就行,与人性是对立的。有人解读狼性是群体行动,讲究合作,其实还是只关注目标,最终还会出现狼之间互咬。 任老板无时无刻不在宣扬一种悲情观(危机意识?),让大家始终绷紧弦。公司不断积累,所有员工都在尽最大努力工作,于国家民族当然是好的,现在正是需要奋斗的时候。但是对于更希望实现自我发展和抱负的同学就未必是好事了。公司的文化决定了管理方式,而华为的管理方式正是让每个人都全身心投入,一刻不停地工作,没有任何时间思考,一旦有同学有想法,有更好的方向,管理者就会利用内部环境封闭,内外部信息差,来说服员工,非常容易奏效。听的最多的是现在外面环境差,出去不好;你看某某,他去年收入还不如你,现在多高了;屡试不爽。

看透这些的同学总结出了三个字的华为定律,忍狠滚,确实如此,每个人都在这三个状态之间挣扎。甚至陷入循环。在华为时想的最多的就是这样的日子什么时候是个尽头。终于,我也走出了这一步。现在想的最多的是,只要出来了,就还有机会!:-)

本来想写一下2020年的总结,结果成了华为吐槽贴,也算是给十二年的华为职业画上一个句号。作为成功的公司,成功的事业,必须要有人为此付出,甚至牺牲,但是能否找到更好的平衡点呢?希望自己在逐步接近这种理想状态。

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 同时归档在:职业发展 | 标签: , , |

分享AWS博客的两个RSS源

为了第一时间获取AWS的几百个云服务的最新资讯,做了一个自动抓取AWS博客标题,生成RSS Feeds的服务,分别提供中英文版本:
中文:https://photo.codefine.site:12524/rssfactory/awsblogcn
英文:https://photo.codefine.site:12524/rssfactory/awsblog (过滤标题中包含存储相关关键词的博客。)
AWS存储:https://photo.codefine.site:12524/rssfactory/awsblog-storage (订阅存储、大数据和数据库类别的博客。)

| 1 分2 分3 分4 分5 分 (5.00- 1票) Loading ... Loading ... | 同时归档在:Amazon S3, Java, 云计算/云存储, 文字网摘, 软件应用 | 标签: , , |

Stay hungry, Stay young (转载自网络)

1983年出生的张一鸣 ,在2005年从南开大学毕业后,至今参与创办了5家公司,今日头条、抖音、内涵段子等知名APP之父,2013年,他先后入选《福布斯》“中国30位30岁以下的创业者”和《财富》“中国40位40岁以下的商业精英”,是目前国内互联网行业最受关注的青年领袖之一。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 同时归档在:移动互联, 职业发展 | 标签: , , |

印度出差记

大概有一年多没有更新博客了。这一年多时间里,可能经历了职业生涯里面最繁忙的一段时间,不知道还会持续多久,慢慢的都习惯了。

带着艰巨的任务,到印度班加罗尔出差40多天,每天仍然像在国内一样的“战时”状态。今天是国内的中秋小长假,国内无人加班,也可以安静的在这边休息一天。有幸在这个据称为亚洲硅谷的地方工作一段时间,感受一些异国风情,还是很不错的。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 3票) Loading ... Loading ... | 同时归档在:奇趣见闻 | 标签: , , |
返回顶部