《记一次Linux被入侵全过程》阅读笔记
此前从未了解过关于网络安全相关方面的内容,仅仅知道安全性是软件必不可少的质量属性之一,而由于自己所做项目对安全性需求基本为无,所以很少对此进行关注。今天看到作者系统被入侵的经验,于是点开来读,以积累他人的经验,对此进行防范。
他们的服务器于某日早上发现被阿里云冻结,理由是:对外恶意发包,默认的22端口被封掉,通过其它端口直接连了上去,登录名为root,不足8位的小白密码,显然被黑了。
服务器所装的系统是CentOS 6.X,部署了nginx,tomcat,redis等,为减少损失,先把数据库全部备份到了本地,使用top命令查看发现有2个99%的同名进程正在运行:gpg-agentd。
Google 结果表明GPG 提供的 gpg-agent 提供对 SSH 协议的支持,是一个很正常的进程。然而服务器上运行的程序叫gpg-agentd,多了一个d,真是不错的伪装。找到可以程序之后,还有两个疑问是,文件是怎们传上来的?这个文件的目的又是什么?
在history中,历史记录全被清空,使用more messages命令来看,发现在半夜12点的时候,服务器上装了许多软件。crontab -e在计划任务中,找到了一些线索。在计划任务中,每隔15分钟都去下载一个脚本并执行达到黑客想要的目的。
通过这次经验,我认识到了服务器安全防护的重要,千万不要抱有侥幸心理。对服务器的安全建议有:
- 禁用ROOT用户
- 密码尽量复杂
- 修改ssh默认的22端口
- 安装DenyHosts防暴力破解软件
- 禁用密码登录,使用RSA公钥
《记一次Linux被入侵全过程》阅读笔记的更多相关文章
- 阅读《RobHess的SIFT源码分析:综述》笔记
今天总算是机缘巧合的找到了照样一篇纲要性质的文章. 如是能早一些找到就好了.不过“在你认为为时已晚的时候,其实还为时未晚”倒是也能聊以自慰,不过不能经常这样迷惑自己,毕竟我需要开始跑了! 就照着这个大 ...
- RobHess的SIFT源码分析:imgfeatures.h和imgfeatures.c文件
SIFT源码分析系列文章的索引在这里:RobHess的SIFT源码分析:综述 imgfeatures.h中有SIFT特征点结构struct feature的定义,除此之外还有一些特征点的导入导出以及特 ...
- RobHess的SIFT源码分析:综述
最初的目的是想做全景图像拼接,一开始找了OpenCV中自带的全景拼接的样例,用的是Stitcher类,可以很方便的实现全景拼接,而且效果很好,但是不利于做深入研究. 使用OpenCV中自带的Stitc ...
- 阅读《RobHess的SIFT源码分析:综述》笔记2
今天开始磕代码部分. part1: 1. sift特征提取. img1_Feat = cvCloneImage(img1);//复制图1,深拷贝,用来画特征点 img2_Feat = cvCloneI ...
- element-ui button组件 radio组件源码分析整理笔记(一)
Button组件 button.vue <template> <button class="el-button" @click="handleClick ...
- element-ui 组件源码分析整理笔记目录
element-ui button组件 radio组件源码分析整理笔记(一) element-ui switch组件源码分析整理笔记(二) element-ui inputNumber.Card .B ...
- element-ui Carousel 走马灯源码分析整理笔记(十一)
Carousel 走马灯源码分析整理笔记,这篇写的不详细,后面有空补充 main.vue <template> <!--走马灯的最外层包裹div--> <div clas ...
- STL源码分析读书笔记--第二章--空间配置器(allocator)
声明:侯捷先生的STL源码剖析第二章个人感觉讲得蛮乱的,而且跟第三章有关,建议看完第三章再看第二章,网上有人上传了一篇读书笔记,觉得这个读书笔记的内容和编排还不错,我的这篇总结基本就延续了该读书笔记的 ...
- element-ui MessageBox组件源码分析整理笔记(十二)
MessageBox组件源码,有添加部分注释 main.vue <template> <transition name="msgbox-fade"> < ...
- element-ui switch组件源码分析整理笔记(二)
源码如下: <template> <div class="el-switch" :class="{ 'is-disabled': switchDisab ...
随机推荐
- 剑指offer 面试题. 数据流中的中位数
题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值.我们 ...
- 部署项目到jetty
一.打包项目 1.在pom.xml中添加以下依赖 <dependency> <groupId>org.mortbay.jetty</groupId> <art ...
- jdk之java.lang.Integer源码理解
基本数据类型的包装类java.lang.Integer是我们频繁使用的一个系统类,那么通过一个示例反应出的几个问题来深入理解一下此类的源码. 需求:实现Integer类型的两个数值交换. packag ...
- Django_类视图
1. View 2. tamplate view 3. ListView
- 转载:声音分贝的概念,dBSPL.dBFS
转自:https://www.cnblogs.com/wangguchangqing/p/5947659.html 分贝 Decibel 分贝(dB)是一个对数单位(logarithmic unit) ...
- BLUE引擎检查放入装备的名称全名脚本
格式:CHECKDLGITEMNAME 名称 检查条件需要配合QUERYITEMDLG命令 ;========================================== [@main]#AC ...
- python-调用自己写的函数
在同一个目录下的话,直接在代码里添加即可,下面的例子. 同一个目录下有以下: aaa.py ccc.py ddd.py 想在ddd.py里用aaa.py里的函数,就在ddd.py里面开关位置添加 ...
- php商城数据库的设计 之无限分类
商品分类,使用无限分类 即: -------如何创建数据表 pid---父级分类id,如果是顶级分类则为0 path---1,用户分类的排序 . 排序示例: 实现逻辑:获取type表的所有分类,ord ...
- springboot12(rabbitmq)
RabbitAutoConfiguration @Configuration @ConditionalOnClass({ RabbitTemplate.class, Channel.class }) ...
- JSON--WEB SERVICE
Query ajax webservice:get 和 post 一.GET 方式 客户端 复制代码代码如下: var data = { classCode: "0001"}; / ...