XieJava's blog

记录最好的自己


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于

英语学渣的我是如何撸完一本英文原著的

发表于 2020-04-07 | 更新于: 2025-08-10 | 分类于 读书 | | 阅读次数:
字数统计: 2.2k | 阅读时长 ≈ 7

英语原著
2020年初立的flag就有要看完十本英文原著。看英文原著对于英语学渣的我来说几乎是很难想像的事情。说英语烂那只有自己知道,读书的时候从来就没有学好过,工作这么多年更是忘得一干二净了。与英语相爱相杀若干年,经历了无数次从开始到放弃……

非常羡慕别人能够很顺畅的看懂英文原著,能够丢开字幕看懂英语大片,能够飚一口的英文。有人说学好了英文就给自己多开了一扇了解世界的窗户,比别人多一半的人生经历。英语对于生活在全球化信息时代的我们来说有多么的重要,不用多说,道理啥的咱都知道,可是经历了这么多年还是学不会啊。买了N多的英语学习资料,下了N多的视频教程,查找了各种学习英语的方法。单词书永远都是翻了前面几页,英语学习资料屯了一堆从来没有开封过,市面上吹捧的各种英语学习方法感觉都很不错,尝试了很多种还是在尝试……

虽然有过无数次失败的经历,但也越来越认识到英语的重要性,也看到越来越多的人将英语学得很溜,让我清醒的认识到英语很重要,英语很难学,英语是一定是可以学好的,但是妄想速成是不可能的。如何才能最终习得英语的技能呢?

前新东方英语老师李笑来在他的《财富自由之路》中指出在智力上、知识上、经验上,复利效应对每个人来说都是存在的。知识和能力的习得与积累是有复利效应的。所以,大多数的人应该要相信自己能够通过知识和能力的积累和复利获得成功和成长。经过多年教训,所有什么打着21天搞定单词,一个月看懂原著啥的口号都是骗人的。在英语技能的习得上,我笃信只有坚持积累和复利才能最终成功。我坚信经过自己的努力和坚持,我在英语习得上投入的精力和时间超过成本线以后,我的英语水平将会有突破性的提高。

在英语学习的过程中有过《坚持了330天,我终于放弃了背单词》的经历,让我认识到只有“用”英语,才能够真正的掌握英语。目前我最朴素的需求就是想能够看懂英文文档,能够流畅的阅读英文书籍。而目前所处的语言环境”说”英语的需求不是很迫切。对于我来说能够流利阅读英语已经足够了。既然开始“用”英语,那就从大量开始阅读英语原版书开始吧!英语这么菜,我为什么敢挑战英文原版书呢?因为我看到了李笑来老师提到掌握一门外语的最少必要知识。
1、认识字母
2、认识音标
3、会查字典
4、懂点基本语法
5、会用百度或google等搜索引擎。
如果掌握了这些最小必要的知识,你就已经“入门”了,接下了就只剩下所谓“执行”了,也就是要用起来。
我想,这些最小必要的知识我基本都已经具备了。在正式准备看英语原著之前,我看完了全套149本《书虫》(见《看完全套149本《书虫》是种什么样的体验》)。对于英语的阅读相对来说没有那么怵了。
虽然我看完了全套149本《书虫》,但是《书虫》毕竟只是入门级的英语简写读物,与英语原版的原著还是有很大的距离的。

作为英语原著初读者来说,真正看完一本书,完成从0到1的过程,比深刻理解一本书更重要。而对于初读者来说如何撸完一本英文原著还是比较有挑战的。

首先要找到一本自己非常感兴趣并且适合自己难度的书籍。自己不感兴趣或者难度太难了,就会容易放弃。
对于挑选原版书的阅读材料来说,我也是花的一些功夫。网上有人建议刚开始接触英语原著建议是比较浅的原著如儿童读物《夏洛的网》、《格林童话》、《小王子》之类的。对于我这种成年人来说这类读物实在是提不起我的兴趣。还有人推荐《哈利波特》系列,我不是哈迷所以也没有选择《哈利波特》系列。我选择的是《奇迹男孩》。《奇迹男孩》的电影在2018年上映的时候我就想看,但是一直没有时间去看。正好买了这本英文原著来看看。《奇迹男孩》英文原著豆瓣评分9.1分,属于儿童成长类的书籍,老少皆宜,300来页长短适中不是那种大部头。因为是面向青少年的书籍所以单词不难,而且是近几年出的新书畅销书,比较口语化没有太多的长句子,非常通俗。事实证明《奇迹男孩》非常适合像我这样的英语原著初读者。
奇迹男孩

选择了阅读目标的原版书籍后,就要开始读并坚持下来
作为英语原著初读者,即使是最通俗的原版书,单词也会是一个拦路虎。单词没有办法,那就是勤查字典。《奇迹男孩》是面向青少年的书籍,单词不难,但对我来说也是充斥着各种生词。不过还好每页大概是在6、7个左右。如果按照伍君仪的《把你的词汇用起来》中的透析法,隔一个生词查一个,只查一半的生词,剩下的靠猜,那每页只要查2-3个单词左右,这个查词量已经很小了。因为这本书对我来说生词量6、7个不算多,而且作为原著初读者,猜单词的意思往往猜不准,所以我就索性看到不懂的单词每个都会查字典。为了尽快的撸完这本书,我也是给自己定了个目标,每天看30页。看少了不记得前后的情节,看多了怕自己看不下去。别看只有区区的30页,看中文也就半个小时的事情,但是看英文又要查字典,平均要花掉2-3个小时才能看完。所以对于英语原著初读者来说30页是个比较适中的量,后续如果熟练的可以慢慢的增加。这本《奇迹男孩》300多页,大概花了我一周半的时间。

对于英语原版书是看电子版的还是纸质版的,建议还是先看纸质版的
作为英语原著初读者,我自己认为还是先看纸质版。看电子版的有个好处就是可以随时查字典,尤其是用kindle看,开启生词提示,并且长按生词就会调出字典查词,非常方便。正是因为太方便了,会让我们产生依赖,有时很容易的单词还会忍不住去查一下字典。而且有时候要往回看情节翻起来也不太方便。虽然有进度显示但是没有纸质书那么直观。纸质书看起来更加有感觉,可以前后翻,有时不记得前面的情节了可以方便的随时翻看,每天看了多少页插个书签就是。看着书签慢慢的插到了最后心里还是满满的成就感。

对于英语原著初读者来说,撸完一本英文原著,完成从0到1的过程。这种小小的成就感,更加坚定了学习英语的信心。相信经过自己的努力和坚持,看完数十本英文原著以后,英语水平将会有突破性的提高。

学习外语没有其他任何捷径,唯有“结硬寨,打呆仗;日拱一卒,功不唐捐!”

我读过的英文读本豆列: https://www.douban.com/doulist/118432400/

爱分享读书豆瓣小组: https://www.douban.com/group/655112/


关注:“爱分享读书”微信公众号

“爱分享读书”微信公众号

读书我们是认真的

忘掉10000小时,如何快速获得某项技能

发表于 2020-03-28 | 更新于: 2025-08-10 | 分类于 读书 | | 阅读次数:
字数统计: 1.2k | 阅读时长 ≈ 4

一万小时定律

几乎每个人都知道1万小时定律,这个定律被人奉为圭臬。给每个渴望成功的同学们指明了方向,只要在某个领域付出不断的努力,达到10000个小时,就可以成为这方面的专家领袖。

所谓“一万小时定律”,最早出现于作家格拉德威尔《异类》一书。在书中,格拉德威尔举出了例如比尔盖茨这样的例子,言之凿凿的声称:那些天才和专家之所以卓越非凡,并非他们的天赋超人一等,而是他们付出了持续不断的努力。而任何普通人都可以达到这样的目标,只需要付出10000小时的训练即可。

这个定律非常符合大家的胃口,也有一定的道理,不怀疑在一个方向上持续不断的努力肯定会有所成功。在智力上、知识上、经验上,复利效应对每个人来说都是存在的。知识和能力的习得与积累是有复利效应的。所以,大多数的人应该要相信自己能够通过知识和能力的积累和复利获得成功和成长。

但是10000小时不是个很短的时间,如果每天投入2个半小时,那要10年才能成为专家。大多数人不用说坚持10000个小时,坚持100个小时还没有入门,就已经倒下放弃了。而对正常人现实需求来说,一万小时是成为顶尖高手的门槛,可遇而不可求。想要获得比较好的收入,能够做出较好的事情,基本上只需要超过平均水平即可。不必凡事都跟行业内最顶尖的几个人相比,但是能够超过一个行业的平均水平,也足够获取比较好的利润、回报和成绩。

对于任何一件事情、一个行业领域或者是一个学习任务而言也只有先入门了,取得了比较好的利润、回报和成绩,才会有兴趣持续的做下去,才可能有10000小时精进的努力。所以忘掉10000小时,先快速的入门达到超过行业平均水准,才能继续后面的牛逼。

那么问题来了,如何才能快速的入门呢?
李笑来的《财富自由之路》里,指出了两个关键字“最少必要知识”、”用“
当需要进入某个行业、获得某项技能的时候,一定要想办法在最短的时间里弄清楚都有哪些最小必要知识,然后迅速的掌握它们。任何人都可以完成快速入门。例如掌握一门外语的最少必要知识有哪些呢?
1、认识字母
2、认识音标
3、会查字典
4、懂点基本语法
5、会用百度或google等搜索引擎。
如果掌握了这些最小必要的知识,你就已经“入门”了,接下了就只剩下所谓“执行”了,也就是要用起来。通过用起来才能从入门到熟练。然后就要专注于改进了。
所以快速学习或快速掌握一门技能进入某个行业。无外乎就是快速的掌握最小必要的知识迅速入门,然后通过不断的用起来,在用的过程中不断的实践。逐步从入门到熟练,熟练后就可以专注创新改进而达到精进。

道理就是这么个道理,但是为什么有些人学什么东西入门就是比你快呢?
就是他已有的背景知识掌握得比你广、比你好,比如同样是学机器学习,数学系的大概率的要比计算机系的要入门快,计算机系的大概率的要比文科类专业的入门要快。因为学机器学习需要比较强的数学知识背景,虽然入门同样是要掌握那几种常用的算法,数学系的理解起来要比非数学系统理解起来要快得多。

所以要想快速进入某个行业、获得某项技能,先弄清楚这个行业都需要哪些最小必要知识,评估一下自己的背景知识的匹配度,迅速补齐掌握最小的必要知识,持续的用,不断的改进。实际上当你进入到某个行业实际上就已经补齐完善了你的背景知识。通过不断的学习,背景知识框架体系会越来越广,那你学东西会越来越快。形成一个正向循环。让你越来越牛逼!


关注:“爱分享读书”微信公众号

“爱分享读书”微信公众号

读书我们是认真的

《暗时间》读书笔记

发表于 2020-03-28 | 更新于: 2025-08-10 | 分类于 读书 | | 阅读次数:
字数统计: 2k | 阅读时长 ≈ 6

刘未鹏说——

写博客这件事情给我最大的体会就是,一件事情如果你能够坚持做8年,那么不管效率和频率多低,最终总能取得一些很可观的收益。而另一个体会就是,一件事情只要你坚持得足够久,“坚持”就会慢慢变成“习惯”。原本需要费力去驱动的事情便成了家常便饭,云淡风轻。

这本书便是从刘未鹏8年的博客文章中精选出来的,主要关于心智模式、学习方法和时间利用,《暗时间》的书名便来自于此。

《暗时间》

第一章 暗时间

善于利用思维时间的人,可以无形中比别人多出很多时间,从而实际意义上能比别人多活很多年。
学习一门专业应该是投入之间和效率的乘积。
你可以“投入”很多时间在一件事情上面,却发现毫无进展,因为你没有整天把你要做的事情,要学习的东西常驻在你的大脑中,时刻给予它最高的优先级。
如果你有做总结的习惯,你在度过一段时间之后总结自己在某某领域投入了多少时间,建议千万不要粗略地去计算有多少天下班后拿起书来翻看过,因为这样你也许会发现书倒是常翻,但领悟却不见得多深,表面上花的时间不少,收益却不见得那么大。因为看书并记住书中的东西只是记忆,并没有涉及推理,只有靠推理才能深入理解一个事物,看到别人看都不到的地方,这部分推理的过程就是你的思维时间,也是人一生中占据一个显著比例的“暗时间”,你走路、买菜、洗脸洗手、坐公车、逛街、出游、吃饭、睡觉,所有这些时间都可以成为“暗时间”,你可以充分利用这些时间进行思考,反刍和消化平时看和读的东西,让你的认识能够脱离照本宣科的层面。

第二章 设计你自己的进度条

如果没有进度提示,我们无法判断这个等待什么时候才是个尽头。如果有不断增长的进度条,那么我们对于什么时候会达到100%就会有一个粗略的估计。做事情也是同样的道理,善于规划的人,会将目标分割成一个个的里程碑,再将里程碑分割成TODO列表。
过早退出是一切失败的根源。
兴趣遍地都是,专注和持之以恒才是真正稀缺的。
靠专业技能的成功是最具可复制性的。它需要的只是你在一个领域坚持不懈地专注下午,只需要选择一个不算太靠谱的方向,然后专心致志的专下去,最后必然能成为高手或绝顶高手。
反思是让人得以改进自己的最重要的思维品质。
一生的知识积累,自学的起码占90%

第三章 如何有效地记忆与学习

你所拥有的知识并不取决于你记得多少,而在于它们能否在恰当的时候被回忆起来。
如何有效的总结知识,学以致用
1)养成习惯,经常主动回顾一段时间学到的东西。
2)创造回忆的机会
2.1)经常与别人讨论,或者讲给别人听。“教是最好的学”
2.2)整理笔记。
2.3)书写。“书写是更好的思考”
3)设身处地的“虚拟经历”别人经历过的事情。
4)抽象和推广
5)联系/比较自身的经历

第五章 学习习惯

一、学习与思考

1、Google&Wiki 遇到问题先上网搜索,自己找答案。
2、看书只看经典。
3、做读书笔记。便于回顾、加深理解
a.将自己阅读时候的思考总结下来。
b.将书中的好例子摘抄下来。
4、无时不可不思考。思考可以避免焦虑。
5、要事优先
6、重要的事情营造比较大的时间块来完成。
7、多看心理学与思维的书。
8、学习一项知识三问(a.它的本质是什么。b.它的第一原则是什么。c.它的知识结构是怎样的)
9、获得的多少并不取决于读了多少,而取决于思考了多少,多深。
10、善于利用小块时间。
11、养成好习惯。

二、时间管理

1、学习和思考过程中常问自己几个问题
a.你的问题到底是什么?(提醒自己思考不要偏离问题)
b.到现在为止,我到底有了什么收获呢?(提醒自己时不时去总结,整理学习的东西)
c.设想自己正在将东西讲给别人听。
d.时常反省和注意自己的思维过程。(将思维的大致脉络写下来是个很好的习惯)
e.养成反驳自己的想法的习惯。
f.人的思维天生就是极易流于表面来理解事物的。觉得自己理解了一个问题了吗?条件反射的问自己:你真的理解了吗?你真的理解了问题的本质吗?问题的本质到底是什么?目前我的理解是什么?我对这个理解感到满意吗?这样的理解到底有什么建设性呢?等等。
2、重视知识的本质
3、重视积累的强大力量,万事提前准备。
4、抬起头来:时不时抬起头来审视一下自己正在做的事情,自问一下有什么价值,是不是你真正希望做的。它们重要吗?你需要在这个时候学这些吗?你的时间就是你的资源,你投入这些资源来掌握知识,所以到底用来掌握哪些知识是一个很重要的问题。

三 知识结构

抓住不变量
知识分为essential(必要)和non-essential(非必要)的。对于前者提前深入掌握牢靠,对于后者采取待用到的时刻RTM(Read the manual)方法。

第八章 书写是为了更好的思考

1、书写是对思维的备忘
2、书写是对思维的缓存
3、书写是与自己的对话
4、书写是与别人的交流
如果你着自己将一些不成熟的想法写下来,看着自己写的内容,试着进一步拓展它们,就有可能在理性的道路上走得很远,很远。

第九章 为什么你从现在开始就应该写博客

用博客的形式来记录下你有价值的思考,会带来很多好处,却没有任何明显的坏处。
价值博客的几点好处
1、能交到很多志同道合的朋友。
2、书写是为了更好的思考
3、教是最好的学
4、讨论是绝佳的反思
5、激励你去持续学习和思考
6、学会持之以恒地做一件事情。
7、一个长期的价值博客是一份很好的简历。

第十二章 什么才是你的不可替代性&核心竞争力

1、专业领域技能:成为一个专业领域的专家,你的专业技能越强,在这个领域的不可替代性就越高。
2、跨领域的技能:解决问题的能力,创新思维,判断与决策能力,批判性思维能力,表达沟通能力等等。
3、学习能力:持续学习和思考
4、性格要素:专注、持之以恒、自信、自省、好奇心。等等。


关注:“爱分享读书”微信公众号

“爱分享读书”微信公众号

读书我们是认真的

你所谓的财富自由是什么?

发表于 2020-03-27 | 更新于: 2025-08-10 | 分类于 读书 | | 阅读次数:
字数统计: 1.8k | 阅读时长 ≈ 6

财富自由

实现财富自由是现如今大部分人的理想。不管是加班工作赚钱也好,搞刚需副业也好,还是创业做投资也好都是为了一个目的实现财富自由。有些人早早的就已经实现了财富自由,有些人一辈子也没有实现财富自由,更多的人则是在追求财富自由的路上。

看过《穷爸爸富爸爸》的人都知道财富自由是指你无须为生活开销而努力为钱工作的状态。简单地说,你的资产生的被动收入必须至少等于或超过你的日常开资–这是我们大多数人向往的状态。这个定义非常清晰,大多数的人都认同这种说法。但是对我来说感触最深的还是李笑来老师在他的《财富自由之路》里面的定义:“个人财富自由,是指某个人再也不用为了满足生活必须而出售自己的时间了”。这是多么深刻的认识啊,你加班工作也好,副业也好不都是在出售自己的时间获得财富吗?即使是创业做投资本质上也是在出售自己的时间,是在购买别人的时间再出售出去,只是有可能这样出售自己时间的效率更高而已。

李笑来老师在对时间的理解、对心智的认识,对学习的认识、对成长的认识,我觉得都非常的深刻。有人说他的书是鸡汤,但是他总是可以用非常浅显深刻的道理让你心甘情愿的干了这碗鸡汤还回味无穷。他的《财富自由之路》就是这么一本书。

《财富自由之路》

我们要的自由,其本质不是财富,财富只是工具:我们要的自由,本质上是时间的自主权。所以个人财富自由,是指某个人再也不用为了满足生活必须而出售自己的时间了。

如何才能让自己财富自由呢?一个世人皆知的道理就是积累和复利。

爱因斯坦曾经说过:复利是“世界第八大奇迹”。知之者赚,不知之者被赚。但是复利并不是凭空来的,你得现有成本的积累,积累越大复利的效果随着时间的推移效果会越来越显著。

对于资产投资者来说,如果你的投资收益如果是正的话,你不断的积累复投,若干年后你的财富增长将相当的可观。如果天生有个好爹可以继承财富,那么你起点就比别人高,可以通过财富的复利实现自由。但是大多数人没有爹可以拼,没有大笔财富可以继承。不过万幸并且公平的是,在智力上、知识上、经验上,复利效应对每个人来说都是存在的。知识和能力的习得与积累是有复利效应的。所以,大多数的人应该要相信自己能够通过知识和能力的积累和复利获得成功和成长。

复利曲线

一切有意义的成长过程都符合那个“复利曲线”。起初看来斜率突然发生变化的“点”,叫做“拐点”。如果作为一个投资者,你的投资是正利率,那么你的资产变化情况也符合这个有拐点、突破了成本线的、后端急速上扬的“复利曲线”。

如果没有资产可以继承,那就持续积累知识和能力吧。这是大多数人可以成功实现财富自由并且一定能成功的可靠路径。关注成长,而不是成功,因为当你的成长线终于穿越成本线时,你事实上已经成功了,可那肯定不是终点。因为如果你不成长了,有可能这个成长线还会往下掉,将你的成功的成果吞噬。

既然”复利曲线”那么有效,那为什么还有那么多人在成本线下苦苦挣扎,没有碰到所谓的拐点,更不用说什么财富自由了。这里要注意几个被容易忽视的东西,那就是“投入方向”、“沉没成本”、“利润”,“贬值”。

  • 投入方向

如果方向有问题,那么你的努力就是南辕北辙,越努力离成功距离越远,那就谈不上什么积累和复利了。比如现在一个行业已经日落西山了要消亡,你还在这个行业傻傻的坚持努力。基本上是不可能成功的。

  • 沉没成本

当你选择了一个正确的方向,经过了一段时间的努力,取得了一点小小的成绩,但是你停止了放弃了。在积累和复利之前就投降放弃了,以前的努力付出就成了沉没成本。

一个切身体会的例子,就是学英语。比如我通过一段时间的努力,看完了149本书虫,但是最近我放松了自己没有看英语了。如果还经过一段时间不坚持不努力,那我以前积累的这些单词什么的又会忘了。以前的努力将会白费了变成了“沉没成本”。

今天搞搞这个、明天搞搞那个,很多的努力就变成了沉没成本。回头一看,啥都没有积累更谈不上有复利了。所以如果要实现“复利曲线”。坚持和积累非常重要。

  • 利润

复利复利,没有利润怎么能复利呢。利润高的复利效果更加明显,这个道理傻瓜都知道。所以说坚持做一件事情要考虑利润,也就是投入产出比。

比如花大量的时间放在看肥皂剧、刷社交软件上,这些事情不能让你成长或让你的能力提升有限,那对你能力成长产生复利的效果当然有限啊。

  • 贬值

作为资本投资来说要考虑货币贬值,作为知识和能力的习得者来说要考虑知识的贬值。大家都知道计算机技术发展速度迅速,很多技术很快随着科技发展迅速的淘汰贬值。比如以前的CGI 、ASP、VB 等开发语言和技术现在都很少用了。那以前花精力学的这些知识都大幅度贬值了。当然有些知识和技能的贬值速度慢一些,比如通识知识、英语、驾驶、写作等。你赚钱的速度要大于你花钱的速度,你的资本才会有所以积累,有积累才有复利的可能。所以你的学习新知识的速度应该要大于知识贬值速度,你的知识和能力才会有积累和复利的可能。

用正确的方式做正确的事情,你一定会变得更好!

若长期持续用正确的方法做正确的事情,你的未来一定会很伟大!


博客:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

syslog日志接口调试方法

发表于 2020-03-18 | 更新于: 2025-08-10 | 分类于 技术 , 开发 | | 阅读次数:
字数统计: 538 | 阅读时长 ≈ 1

日志数据采集,比较方便常用的就是通过syslog来进行数据采集,syslog可以通过udp协议来进行高效的数据传输。一般来说在工程实施的过程中需要对接对端系统的数据采集源可以通过以下步骤来进行syslog日志接口的调试。主要是验证syslog日志是否能正常送到指定的日志服务器的指定端口,日志服务器的指定端口是否能正常收到对端发过来的日志。

1、检查双方网络是否通畅

网络通畅是所有网络连接的前提条件,可以先通过ping的方式,先确认一下对端数据源是不是可以ping通这边的日志接收服务器地址,看网络是否是通的。
一般来说只到对端能够ping通日志服务器地址就可以了,单向ping通就OK。
如果ping不通,那就要检查日志服务器的网络设置,如是否开启了防火墙,禁ping了。根据网络实际情况调整网络策略,确保网络是通的。

2、检查端口是否通畅

通过数据源服务器telnet一下日志服务器地址和端口,看端口是不是通的。
有很多服务器上可能没有装telnet,也可以用ssh ip 端口 来验证一下。

3、发送简单的报文测试

在对端通过发送udp报文来进行简单的测试
如日志接收服务器地址是172.28.65.32,端口514 则可以通过echo “hello” > /dev/udp/172.28.65.32/514 来发送测试报文
在日志接收服务器用tcpdump收下有没有监听到报文过来。

1
tcpdump udp port 514 -A -i any

如果有就会有相应的显示
tcpdump

4、进行正式接口对接

如果tcpdump可以收到日志,那就说明syslog的通信是没有问题的,接下来就可以进行具体的syslog的配置的调测了。


作者博客:http://xiejava.ishareread.com


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

logstash集成kafka,mysql实现数据采集

发表于 2020-03-16 | 更新于: 2025-08-10 | 分类于 技术 , 开发 | | 阅读次数:
字数统计: 1.3k | 阅读时长 ≈ 5

logstash是一个非常灵活好用的数据采集框架工具,可以通过简单的配置满足绝大多数数据采集场景的需求。
采集数据一个非常典型的场景就是将数据先放到kafka队列里削峰,然后从kafka队列里读取数据到mysql或其他存储系统中进行保存。
从syslog采集日志到kafka然后在从kafka写到mysql数据库中
本文通过一个简单的示例来演示从syslog采集日志到kafka然后在从kafka写到mysql数据库中。
默认已经安装好了kafka、mysql、logstash,并已经经过简单的验证。

准备logstash的环境

一、下载mysql的jdbc驱动包

下载地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.15
下载后放到logstash的安装目录的/vendor/jar/目录下

二、安装logstash插件

logstash默认安装了kafka插件,但是mysql插件没有默认安装需要自己安装。
具体安装方法 /bin/logstash-plugin install logstash-output-jdbc ,这里应为要用到logstash写入mysql数据库,所以安装的插件是logstash-output-jdbc,如果要用到从mysql读数据,那么就要安装logstash-input-jdbc。安装方法类似。
因为安装时需要访问国外的源,安装进度很慢很慢,还经常安装不成功,所以需要更改国内的源。
也就是给 Ruby 换成国内的镜像站:https://gems.ruby-china.com/,替代https://rubygems.org。*请注意:国内的镜像站从https://gems.ruby-china.org 换成了 https://gems.ruby-china.com !!!* 现在很多网上的资料就都是写的https://gems.ruby-china.org,导致很多人换了镜像源也装不上。
具体方法如下:

1. 安装Gem并更新

1
2
3
4
5
6
# yum install -y gem
# gem -v
2.0.14.1
# gem update --system
# gem -v
2.7.7

2. 检查并修改镜像源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# gem sources -l
*** CURRENT SOURCES ***

https://rubygems.org/

# gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
https://gems.ruby-china.org/ added to sources
https://rubygems.org/ removed from sources

# cat ~/.gemrc
---
:backtrace: false
:bulk_threshold: 1000
:sources:
- https://gems.ruby-china.org/
:update_sources: true
:verbose: true

请注意:国内的镜像站从https://gems.ruby-china.org 换成了 https://gems.ruby-china.com !!!现在很多网上的资料就都是写的https://gems.ruby-china.org,导致很多人换了镜像源也装不上。

3. 修改 logstash的 gem 镜像源

cd到logstach的安装目录,可以看到Gemfile文件

1
2
3
4
5
6
7
# vi Gemfile
# This is a Logstash generated Gemfile.
# If you modify this file manually all comments and formatting will be lost.

source "https://rubygems.org"
gem "logstash-core", :path => "./logstash-core"
......

更改默认的 https://rubygems.org 为https://gems.ruby-china.com
更换国内镜像源地址

4. 安装 logstash-output-jdbc

1
2
3
4
#/bin/logstash-plugin install logstash-output-jdbc
Validating logstash-output-jdbc
Installing logstash-output-jdbc
Installation successful

5.查看插件是否安装成功

在logstash的bin目录下执行./logstash-plugin list 可以查看已经安装的插件,可以看到logstash-output-jdbc的插件已经装好。
检查插件安装

配置logstash

新建一个pipline.conf的配置文件

1
vi test-pipeline.conf

文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
input {
stdin{ #用于测试标准控制台输入的数据
type => "test-log"
}
syslog{ #用于接收来自syslog的日志
type => "test-log"
port => 514
}
kafka {
bootstrap_servers => "172.28.65.26:9092" #kafka服务器地址
topics => "test1" #kafka订阅的topic主题
codec => "json" #写入的时候使用json编码,因为logstash收集后会转换成json格式
consumer_threads => 1
decorate_events => true
add_field => {
"logsource" => "kafkalog"
}
}
}
output
{
if ([type]=="test-log" and "kafkalog" not in [logsource]) {
kafka {
codec => json
topic_id => "test1"
bootstrap_servers => "172.28.65.26:9092"
batch_size => 1
}
}
if ([type] == "test-log" and "kafkalog" in [logsource]) {
jdbc {
driver_jar_path => "/opt/elk/logstash-7.6.0/vendor/jar/jdbc/mysql-connector-java-8.0.15.jar"
driver_class => "com.mysql.jdbc.Driver"
connection_string => "jdbc:mysql://172.28.65.32:3306/testdb?user=yourdbuser&password=yourpassword"
statement => [ "INSERT INTO test_nginx_log (message) VALUES(?)", "message"]
}
}
stdout {
codec => rubydebug
}
}

这个逻辑就是从stdin或syslog接收数据output到kafka,然后从kafka中取出数据加入了一个logsource的字标识是从kafka过来的数据,然后又output到 jdbc写到mysql中去。
如果没有这几个if的逻辑判断,那么就会是个死循环。从kafka读同样的数据又写到kafka中。如果在两台机器上装有logstash一台取数据放到kafka,一台从kafka中取数据放到mysql中就可以不用加这样的判断逻辑会单纯简单一些。

执行logstash并查看效果

通过在logstash安装目录下执行 bin/logstash -f test-pipeline.conf –config.test_and_exit 检查配置文件是否有问题,没有问题以后执行bin/logstash -f test-pipeline.conf –config.reload.automatic 运行logstash。
在控制台输入

1
this is a test!

效果:
从控制台输入信息,可以看到从stdin输入output到stdout的没有logsource标识,input从kafka订阅过来的信息加了一个logsource=>kafkalog的标识。
logsource=>kafkalog的标识
用kafka tool工具看到kafka收到了从stdin发过来的信息。
用kafka tool工具看到kafka收到了从stdin发过来的信息
在看MySQL表里的数据,已经通过logstash从kafka中将数据采集到了MySQL的表中。
MySQL的表的信息数据
再来看从syslog采集日志的效果
从控制台看到的信息效果
控制台看到的信息效果
从kafka tool看到的效果
kafka tool看到的效果
从mysql 表中看到的效果。
mysql 表中看到的效果
可以看到,logstash是一个非常灵活好用的数据采集框架工具,可以通过简单的配置就能满足绝大多数数据采集场景的需求。


作者博客:http://xiejava.ishareread.com


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

解决Hexo博客模板hexo-theme-next的翻页按钮不正常显示问题

发表于 2020-03-10 | 更新于: 2025-08-10 | 分类于 技术 , 开发 | | 阅读次数:
字数统计: 347 | 阅读时长 ≈ 1

用Hexo搭了个Gitpage的博客,兴冲冲的发了11篇博文后发现翻页按钮不正常显示,显示为<i class="fa fa-angle-right"></i>的HTML编码。如下图:
HTML编码
<i class="fa fa-angle-right"></i>这是个什么鬼?
这是一个Font Awesome的字体图标,按道理来说这个图标应该可以正常显示的,现在这个图标不能显示了显示成了html源码。
Font Awesone图标
解决办法:
最简单的办法就是将<i class="fa fa-angle-right"></i>这个不能正常显示的字体图标改成一般的字符,我这里就是改成正常的一般左右键字符“>”,“<”。
在 themes\hexo-theme-next\layout_partials 下找到hexo-theme-next的翻页组件,就是pagination.swig
将

1
2
3
4
5
6
7
8
9
10
11
{% if page.prev or page.next %}
<nav class="pagination">
{{
paginator({
prev_text: '<i class="fa fa-angle-left"></i>',
next_text: '<i class="fa fa-angle-right"></i>',
mid_size: 1
})
}}
</nav>
{% endif %}

改成

1
2
3
4
5
6
7
8
9
10
11
{% if page.prev or page.next %}
<nav class="pagination">
{{
paginator({
prev_text: '<',
next_text: '>',
mid_size: 1
})
}}
</nav>
{% endif %}

重新发布以后可以看到翻页按钮可以正常显示了
正常显示箭头


作者博客:http://xiejava.ishareread.com

通过filebeat、logstash、rsyslog采集nginx日志的几种方式

发表于 2020-03-09 | 更新于: 2025-08-10 | 分类于 技术 , 开发 | | 阅读次数:
字数统计: 1.7k | 阅读时长 ≈ 6

由于nginx功能强大,性能突出,越来越多的web应用采用nginx作为http和反向代理的web服务器。而nginx的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一。如何有效便捷的采集nginx的日志进行有效的分析成为大家关注的问题。本文通过几个实例来介绍如何通过filebeat、logstash、rsyslog采集nginx的访问日志和错误日志。

大家都知道ELK技术栈是采集、分析日志的利器。所以这里介绍的是从nginx采集日志到ES。当然至于日志采集以后存到看大家的需要。通过logstash可以方便的配置日志输出存储的方式。

一般来说nginx默认安装后,日志文件在 /usr/local/nginx/logs 目录下。分别有 access.log和error.log 访问日志和错误日志。
这次示例Elasitcsearch是三个节点组成的集群172.28.65.22、172.28.65.23、172.28.65.24,172.28.65.30 是kibana的地址,172.28.65.32是数据采集服务器,上面装有logstash、nginx、 filebeat。一般来说采集服务器上有logstash,而nginx、 filebeat应该是装在采集目标上。

一、直接通过filebeat采集日志到ES

filebeat到ES
在filebeat的安装目录找到filebeat.yml 配置获取日志文件的路径及输出到ES的配置。
具体:

1
2
3
4
5
6
7
8
- type: log
# Change to true to enable this input configuration.
enabled: true
# Paths that should be crawled and fetched. Glob based paths.
paths:
#- /var/log/*.log
- /usr/local/nginx/logs/*.log
#- c:\programdata\elasticsearch\logs\*

filebeat.yml配置
如果需要在kibana中友好显示的化,可进行kibana配置
kibana配置
输出到es中,在hosts中配置好你的ES服务地址。如果单机只有一个节点,就可以只配一个ip和端口。
filebeat.yml配置中配置es
启动filebeat 进行日志数据采集

1
./filebeat -e -c filebeat.yml -d "publish"

通过elasticsearch-head插件查看es索引中的日志信息
elasticsearch-head插件查看es索引
可以看到nginx中的access.log和error.log的日志都已经上来了。
在kibana中通过filebeat-*过滤看filebeat的索引,可以看到通过filebeat采过来的数据。

kibana中通过filebeat-*过滤看filebeat的索引
这种直接通过filebeat直接对接ES采日志的方式简单直接,但是无法对采集的日志进行预处理和其他一些操作,也不够灵活。
可以在filebeat 和 ES之间加一层Logstash,可以将filebeat于ES解耦,通过Logstash可以做一些预处理,也可以通过Logstash采集到除ES以外的其他数据存储上。

二、通过filebeat采集日志到logstash再送到ES

通过filebeat采集日志到logstash再送到ES
首先得安装 logstash ,安装完后在logstash的安装目录下新建vi filebeat-pipeline.conf
filebeat-pipeline.conf的具体配置如下:

1
2
3
4
5
6
7
8
9
input {
beats {
port => "5044"
}
}
output {
elasticsearch { hosts => ["172.28.65.24:9200"] }
stdout { codec => rubydebug}
}

input配置表示通过5044端口接收beats的数据
output配置表示输出到elasticsearch,并且同时输出到标准输出也就是控制台。
然后通过命令

1
bin/logstash -f filebeat-pipeline.conf --config.reload.automatic

应用filebeat-pipeline.conf启动logstash。
应用filebeat-pipeline.conf启动logstash
启动以后可以看到logstash的启动日志5044端口的服务已经起了,可以接受通过filebeat通过5044端口传过来的数据了。
接下来配置filebeat
在filebeat的安装目录找到filebeat.yml 配置获取日志文件的路径及输出到logstash的配置。不直接输出到ES了。
具体配置如下:
将output.elasticsearch的配置屏蔽
配置output.logstash,配置正确的logstash的服务主机和端口
配置output.logstash
启动filebeat 进行日志数据采集

1
./filebeat -e -c filebeat.yml -d "publish"

我们访问nginx服务提供的web服务http://172.28.65.32/
在logstash的控制台 可以看到相应的访问access.log 日志
logstash的控制台 可以看到相应的访问access.log 日志
同时在ES 中也可以看到有相应的日志数据
在ES 中也可以看到有相应的日志数据

三、直接通过rsyslog采集日志到logstash在送到ES

在很多情况下你需要采集的web服务器并不是自己能够控制的,不是说你想装filebeat就可以让你装的,这时候就可以要求目标数据源通过 syslog 的方式将日志发出来。我们可以再通过 logstash送到ES或其他的日志存储处理平台。
直接通过rsyslog采集日志到logstash在送到ES
通过syslog往日志服务器上发nginx的日志有两种方式,一种就是利用nginx的配置往外发日志,一种就是通过配置linux的rsyslog的配置往外发日志。

通过nginx配置发送syslog到logstash

参考见nginx官方文档:http://nginx.org/en/docs/syslog.html
具体配置如下:
在nginx的配置文件nginx.conf中
在server下配置access_log和error_log的输出方式

1
2
access_log syslog:server=172.28.65.32:514,facility=local7,tag=nginx_access_log,severity=info;
error_log syslog:server=172.28.65.32:514,facility=local7,tag=nginx_error_log,severity=info;

nginx.conf配置
配置完成后执行 ./nginx -s reload 使配置生效。这样就通过linux的rsyslog服务将nginx的日志往外发了。
接着来配置logstash的syslog的服务接收配置 。在logstash的安装目录下新建vi syslog-pipeline.conf
syslog-pipeline.conf的具体配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
input {
syslog{
type => "system-syslog"
port => 514
}
}
output {
elasticsearch {
hosts => ["172.28.65.24:9200"]
index => "system-syslog-%{+YYYY.MM}"
}
stdout { codec => rubydebug}
}

input配置表示通过514端口接收syslog的数据
output配置表示输出到elasticsearch,并且同时输出到标准输出也就是控制台。
通过执行 bin/logstash -f syslog-pipeline.conf --config.reload.automatic 启动logstash
可以看到logstash启动以后开启了514端口的tcp和upd协议的侦听
可以看到logstash启动以后开启了514端口的tcp和upd协议的侦听。
我们访问nginx服务提供的web服务http://172.28.65.32/
在logstash的控制台 可以看到相应的nginx访问access和error的日志
logstash的控制台可以看到相应的nginx访问access和error的日志
同样通过Elasticsearch-head在ES 中也可以看到有相应的日志数据
通过Elasticsearch-head在ES 中也可以看到有相应的日志

通过配置rsyslog发送syslog日志到logstash

有些老版本的nginx不支持配置syslog输出日志,或者说我想输出其他不是nginx的日志该怎么办呢?可以通过直接配置rsyslog的方式来往外发送日志。
在/etc/rsyslog.conf 中配置

1
$IncludeConfig /etc/rsyslog.d/*.conf

/etc/rsyslog.conf
意思是可以引用外部的配置文件,引用外部的配置文件一方面可以不影响主配置文件,另一方面也比较好管理
在/etc/rsyslog.d目录下新建nginx-log.conf
配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ModLoad imfile
$InputFilePollInterval 1
$WorkDirectory /var/spool/rsyslog
$PrivDropToGroup adm

##Nginx访问日志文件路径,根据实际情况修改:
$InputFileName /usr/local/nginx/logs/access.log
$InputFileTag nginx-access:
$InputFileStateFile stat-nginx-access
$InputFileSeverity info
$InputFilePersistStateInterval 25000
$InputRunFileMonitor

##Nginx错误日志文件路径,根据实际情况修改:
$InputFileName /usr/local/nginx/logs/error.log
$InputFileTag nginx-error:
$InputFileStateFile stat-nginx-error
$InputFileSeverity error
$InputFilePersistStateInterval 25000
$InputRunFileMonitor

*.* @172.28.65:514

配置好了以后,重启rsyslog服务

1
systemctl restart rsyslog

我们访问nginx服务提供的web服务http://172.28.65.32/
在logstash的控制台 可以看到同样的效果。
logstash的控制台

本文介绍了如何通过filebeat、logstash、rsyslog采集nginx的访问日志和错误日志的几种方式,具体需要根据实际情况灵活的运用。


作者博客:http://xiejava.ishareread.com


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

浅析SIEM、态势感知平台、安全运营中心

发表于 2020-03-02 | 更新于: 2025-08-10 | 分类于 技术 , 网络安全 | | 阅读次数:
字数统计: 3.6k | 阅读时长 ≈ 12

近年来SIEM、态势感知平台、安全运营中心等概念炒的火热,有的人认为这都是安全管理产品,这些产品就是一回事,有人认为还是有所区分。那么到底什么是SIEM、什么是态势感知平台、什么是安全运营中心,他们之间有什么联系和区别呢?

一、SIEM

SIEM英文是security information and event managemen安全信息和事件管理
SIEM是一个由多个监视和分析组件组成的安全系统,旨在帮助组织检测和减轻威胁
一款典型的SIEM产品是将许多其他安全规则和工具结合在一个综合的框架下形成的一个合集。
典型的包括以下模块
日志管理(LMS)——用于传统日志收集和存储的工具。
安全信息管理(SIM)——集中于从多个数据源收集和管理与安全相关的数据的工具或系统。例如,这些数据源可以是防火墙、DNS服务器、路由器和防病毒应用程序。
安全事件管理(SEM)——基于主动监视和分析的系统,包括数据可视化、事件相关性和警报
大多数的SIEM包括以下元素
1、安全数据采集
主要是基于安全日志数据,日志表示在数字环境中运行的进程的原始输出,是提供实时发生的事情的准确图像的最佳来源,因此是SIEM系统的主要数据源。无论是防火墙日志、服务器日志、数据库日志,还是在实际网络环境中生成的任何其他类型的日志,SIEM系统都能够收集这些数据并将其存储在一个中心位置以进行扩展的保留。此采集过程通常由代理或应用程序执行,部署在监视的系统上,并配置为将数据转发到SIEM系统的中央数据存储。
2、安全数据解析处理和标准化
为了能够跨不同源和事件相关性高效地解释数据,SIEM系统能够规范化日志。这个规范化过程包括将日志处理为可读的结构化格式,从日志中提取重要数据,并映射日志中包含的不同字段。
3、安全数据集中存储
安全信息数据存储的目地当然是为了利用数据进行管理分析发现安全事件。
4、安全数据分析
一旦收集、解析和存储,SIEM系统中的下一步将负责连接这些点并关联来自不同数据源的事件。这种关联工作基于各种SIEM工具提供的规则、为不同的攻击场景预定义的规则,或者由分析人员创建和调整的规则。大多数SIEM系统还提供生成报告的内置机制。这些报告可以用于管理、审计或合规性原因。例如,可以将详细描述触发警报或规则的每日报告嵌入到仪表板中。
5、安全数据呈现
可视化数据和事件的能力是SIEM系统中的另一个关键组件,因为它允许分析人员方便地查看数据。包含多个可视化或视图的仪表板有助于识别趋势、异常情况,并监控环境的总体健康或安全状态。一些SIEM工具将附带预先制作的仪表板,而另一些工具将允许用户创建和调整自己的仪表板。
基于目前海量的安全信息数据,大数据架构已经成为主流。并不是说SIEM必须使用大数据架构,因为这是一个应用场景问题而非技术问题。但面对大量数据需要处理的场景时,基于大数据架构的SIEM则必不可少。所以有些厂商提出了SDC(security data center)安全大数据中心的概念就是把所有的安全数据集中管理起来,在SDC的基础上构建安全数据分析和展现能力,形成SIEM平台。

目前成熟的SIEM产品有很多,开源的有OSSIM、Elastic SIEM、Opensoc
OSSIM是SIEM的代表性产品,在产品形式上和Kali类似是一个基于Debain进行二次开发的Linux发行版,当前5.6.5版本基于Dibian 8(jessie)。
OSSIM使用Nmap等实现资产发现、使用Nessus等实现漏洞扫描、使用Snort等实现入侵检测、使用MySQL等进行数据存储,自己实现的部分主要是工具、数据整合和可视化展示。ossim存储架构是mysql,支持多种日志格式,包括鼎鼎大名的Snort、Nmap、 Nessus以及Ntop等,对于数据规模不大的情况是个不错的选择,新版界面很酷炫
从架构上来看,OSSIM系统是一个开放的框架,它的核心价值在于创新的集成各开源软件之所长,它里面的模块既有C/S架构,又有B/S架构,但作为最终用户主要掌握OSSIM WebUI主要采用B/S架构,Web服务器使用Apache。OSSIM系统结构示意图如下图所示。
在这里插入图片描述
第1层,属于数据采集层,使用各种采集技术采集流量信息、日志、各种资产信息,经过归一化处理后传入核心层。改层体现安全事件来源,入侵检测、防火墙、重要主机发出的日志都是安全事件来源,它们按发出机制分为两类:模式侦查器和异常监控(两者都采集警告信息,功能互补)由它们采集的安全事件,再被Agent转换为统一的格式发到OSSIM服务器,这一层就是Sensor要完成的内容。
第2层,属于核心处理层,主要实现对各种数据的深入加工处理,包括运行监控、安全分析、策略管理、风险评估、关联分析、安全对象管理、脆弱性管理、事件管理、报表管理等。该层中OSSIM Server是主角,OSSIM服务器,主要功能是安全事件的集中并对集中后的事件进行关联分析、风险评估及严重性标注等。所谓的集中就是以一种统一格式组织所有系统产生的安全事件告警信息(Alarms)并将所有的网络安全事件告警存储到数据库,这样就完成了对网络中所产生事件的一个庞大视图。系统通过事件序列关联和启发式算法关联来更好的识别误报和侦查攻击的能力。
OSSIM本质上通过对各种探测器和监控产生的告警进行格式化处理,再进行关联分析,通过后期这些处理能提高检测性能,即减少告警数量,减小关联引擎的压力,从整体上提高告警质量。
第3层,属于数据展现层,主要负责完成与用户之间的交互,达到安全预警和事件监控、安全运行监控、综合分析的统一展示,形式上以图形化方式展示给用户。Web框架(Framework)控制台界面即OSSIM的Web UI(Web User Interface,Web用户界面),其实就是OSSIM系统对外的门户站点,它主要由仪表盘、SIEM控制台、Alarm控制台、资产漏洞扫描管理、可靠性监控、报表及系统策略等部分组成。
OSSIM主要模块的关系
OSSIM系统主要使用了PHP、Python、Perl和C等四种编程语言,从软件层面上看OSSIM框架系统包括五大模块:Agent模块、Server模块、Database数据库模块、Frameworkd模块以及Framework模块,逻辑结构如图所示。
在这里插入图片描述
Elastic SIEM 的核心是全新的 SIEM 应用,此应用是安全团队的交互式工作空间,可允许他们对事件进行分类并开展初期调查。其中包括的时间线事件查看器 (Timeline Event Viewer) 能够允许分析师收集和存储攻击证据,固定相关活动并添加注释,以及添加评论并分享他们的发现,而且这一切在 Kibana 中即可完成;这样一来,您便能够轻松处理符合 ECS 格式的任何数据了。
在这里插入图片描述Opensoc是思科2014年在BroCon大会上公布的开源项目,但是没有真正开源其源代码,只是发布了其技术框架。可以参考Opensoc发布的架构,结合实际落地SIEM的方案。Opensoc完全基于开源的大数据框架kafka、storm、spark和es等,天生具有强大的横向扩展能力
在这里插入图片描述
所以从SIEM的定义和功能来看有两个核心能力,一个是安全信息数据的采集汇聚能力,一个就是安全事件的分析能力。

二、安全态势感知平台

“态势感知”早在 20 世纪 80 年代由美国空军提出,其包含感知、理解和预测三个层次。截止目前,业界对网络安全态势感知还没有一个统一全面的定义,基于美国Endsley 博士的理论对网络安全态势感知做出的定义:“网络安全态势感知是综合分析网络安全要素,评估网络安全状况,预测其发展趋势,并以可视化的方式展现给用户,并给出相应的报表和应对措施。”
什么是态势感知平台,大家都认为应该是利用大数据、机器学习等技术对态势感知态势海量数据进行提取,进行多维度的关联分析。能够提供对安全风险保持报警、趋势预测等,海量数据、关联分析、大屏展示和趋势预测是四个重点。而趋势预测最核心,目前做起来也比较难。
个人理解,SIEM重点在于对安全事件的感知和理解,态势感知重点在于通过大数据、机器学习等技术加深了对安全趋势的预测。国外一般不提态势感知系统,而国内,很多厂商都推出了态势感知系统。
目前国内安全厂商提供的“态势感知产品”包含的功能模块有:资产管理、漏洞管理、大数据平台、日志分析平台、威胁情报、沙箱、用户行为分析、网络流量分析、取证溯源、威胁捕捉等能力。
几个关键点:
1、 大数据平台。随着监测范围的扩大,数据量也在扩大,需要一个具备大数据处理和计算能力的平台,这是整个态势感知平台建设很重要的基础。
2、 基于威胁情报的监测。威胁情报对于降低大量数据和报警中的垃圾数据或者报警噪声,帮助更快速、更高效的发现攻击行为和攻击者非常关键,威胁情报的质量是检验态势感知平台能力的很重要的方面。
3、 全要素数据的采集。利用态势感知这样的平台能力的核心目的,是要监测到复杂的、高级的攻击,就需要态势感知平台首先要捕获到微观的状态,低成本、高效率的全要素数据采集能力是基础。
4、 基于攻击场景的分析研判。攻击不再是基于特征的监测,需要运用威胁情报、运用一些专家的经验,来构建基于场景的分析系统,它不是一个静态的东西,是一个与时俱进的攻防对抗过程中不断学习、学习参考的过程,需要持续运营这样的分析管理,需要更多的专家的经验和安全运营人员的参与。

三、安全运营中心

SOC(安全运营中心)来源于NOC(网络运营中心)。
随着信息安全问题的日益突出,安全管理理论与技术的不断发展,需要从安全的角度去管理整个网络和系统,而传统的NOC在这方面缺少技术支撑,于是,出现了SOC的概念。
以前大家所说的SOC是SOC 1.0阶段,只是在SOC的核心部件SIEM的买卖,国外所说的SOC是一个复杂的系统,它使用SIEM产品进行运维又以此向客户提供服务,也就是我们所说的SOC 2.0
SOC(安全运营中心)是以资产为核心,以安全事件管理为关键流程,采用安全域划分的思想,建立一套实时的资产风险模型,协助管理员进行事件及风险分析,预警管理,应急响应的集中安全管理系统。
SOC是一个复杂的系统,它既有产品,又有服务,还有运维,SOC是技术、流程和人的有机结合。
随着安全态势感知平台的兴起,安全运营中心将以态势感知平台作为智能安全运营的载体,在风险监测、分析研判、通知协作、响应处置、溯源取证等各方面进行了增强,同时融入了当前流行的技术和平台作为支撑,如大数据技术、东西向流量采集技术,EDR 终端检测响应技术、机器学习、欺骗攻击技术等。同时态势感知平台与 ITIL(Information Technology Infrastructure Library,ITIL)理念与信息安全管理标准相融合,将安全运营划分为不同角色,如安全管理人员、安全专家、安全运维、安全分析师、安全应急响应人员、安全研究人员等,在集成了安全事件管理全生命周期的流程中,通过工作流程将其串联起来,使安全运营流程更加规范和有序。

所以个人认为SDC<SIEM<态势感知<安全运营中心


博客文章:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

通过Git Pages+Hexo搭建自己的博客

发表于 2020-02-12 | 更新于: 2025-08-10 | 分类于 技术 , 开发 | | 阅读次数:
字数统计: 1.3k | 阅读时长 ≈ 4

一、申请并配置Github Pages

step1 在github上创建一个git库

用github账号登录https://github.com/ ,如没有github账号则申请一个github账号。登录后点击“New repository”新建一个名为username.github.io(username是你的github用户名)如我的是:xiejava1018.github.io ,如果库名以及存在则会报库名已经存在的错误。
新建库

step2 绑定自己的域名(如果没有自己的域名也可以不绑)

访问刚申请的git库,点击Settings
Settings
如果库名不是username.github.io(username是你的github用户名)在这里可以修改成username.github.io
修改库名
拖到下面可以看到GitHub Pages的信息,如果不绑定自己的域名实际可以通过https://username.github.io/来访问你的站点了。
站点地址
如果有申请自己的域名,可以将域名解析到你的GithubPages username.github.io 如我的是xiejava1018.github.io
解析自定义域名
在GitHub Pages的自定义域名Custom domain中输入刚解析的域名保存后就可以看到你的站点被发布到你的域名上了,如https://xiejavablog.ishareread.com/
绑定自定义域名
这时候你就可以用自己的域名来访问GitHub Pages的网站了,不过现在什么都没有,只有个空白页面。这就需要我们借助Hexo这个静态站点生成工具来生我们站点的内容了。

二、安装Hexo并生成站点

安装Hexo并生成站点可以参考官方的文档 https://hexo.io/zh-cn/docs/

1、安装前的准备

安装 Hexo 相当简单,只需要先安装下列应用程序即可:
Node.js (Node.js 版本需不低于 8.10,建议使用 Node.js 10.0 及以上版本)
Git

2、安装Hexo

所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo。

1
$ npm install -g hexo-cli

安装完了以后可以通过hexo version 查看相应的版本
版本信息

3、生成站点

安装 Hexo 完成后,执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。

1
2
3
$ hexo init <folder>
$ cd <folder>
$ npm install

新建完成后,指定文件夹的目录如下:
目录
其中_config.yml 文件是网站的配置文件
package.json 是应用程序的信息
scaffolds
模版文件夹。当新建文章时,Hexo 会根据 scaffold 来建立文件。
Hexo的模板是指在新建的文章文件中默认填充的内容。例如,如果您修改scaffold/post.md中的Front-matter内容,那么每次新建一篇文章时都会包含这个修改。
source
资源文件夹是存放用户资源的地方。除 _posts 文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。
themes
主题 文件夹。Hexo 会根据主题来生成静态页面。

4、安装主题

Hexo提供了很多主题,我用的是hexo-theme-next主题,大家可以直接克隆我的主题https://github.com/xiejava1018/hexo-theme-next.git 这里修复了一些bug如乱码问题等。
cd 切换到站点目录下

1
$ git clone https://github.com/xiejava1018/hexo-theme-next.git themes/hexo-theme-next

也可以用其他git客户端工具将主题拉取到themes目录下
修改_config.yml文件的theme改为

1
theme : hexo-theme-next

5、写作

可以执行下列命令来创建一篇新文章或者新的页面。

1
$ hexo new [layout] <title>

可以在命令中指定文章的布局(layout),默认为 post,可以通过修改 _config.yml 中的 default_layout 参数来指定默认布局。
如执行:

1
hexo new 2020-02-11-2020-02-11-看完全套149本《书虫》是种什么样的体验

执行该命令后就会在响应的站点目录的source_posts下生成2020-02-11-看完全套149本《书虫》是种什么样的体验.md文件。
文件
用任何喜欢的编辑器编辑这个.md文件即可,排版是支持MarkDown的。

6、生成和发布

编辑好需要发表的内容后。执行

1
$ hexo generate

就会生成相应的静态文件。改命令也可以简写成

1
$ hexo g

执行

1
$ hexo server

启动服务器。默认情况下,访问网址为: http://localhost:4000/ 就可以通过该地址访问本地的站点。
在本地检查没有问题以后就可以发布到Github Pages上通过互联网上访问了。
首先在配置_config.yml文件配置需要发布的地址。这个地址就是你在github上申请的Github Pages库的git地址
发布地址配置
然后就可以通过命令

1
$ hexo deploy

进行发布了。发布以后就可以通过https://xiejava1018.github.io 或者自定义的域名 https://xiejavablog.ishareread.com 来访问了。需要注意的是,每次重新发布以后,需要重新设置域名绑定才能正确访问,否则会报404的错误。

欢迎大家访问我的BLOG https://xiejavablog.ishareread.com/


博客文章:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

<1…192021>
XieJava

XieJava

208 日志
11 分类
27 标签
RSS
GitHub
友情链接
  • 爱分享读书
  • CSDN
  • 豆瓣
© 2025 XieJava | Site words total count: 426.6k

主题 — NexT.Muse
0%