使用动态跟踪技术来确保网关的安全性

outputo-20210607-150927-973-jgmn.png

Gateway保障了业务的安全性,但怎样保障Gateway本身的安全性?以下咱们将讲解某些保障网关安全的技术。数据流量深入分析,HIDS服务器监控代理,蜜罐系统等多种公司监控信息安全的方式 ,互相及时补充,互为补充,全方位保障信息安全。工作中,我们经常会遇到各种各样奇怪的服务异常。试运行(测试环境)中没有这些问题,但是在实际的生产环境中会遇到它们。其中最重要的就是难以治愈,一些疾病在数月后才会复发。初次见面可能会有些紧张。要解决这一问题,就得放下机器,开始进行专家咨询。但如果没有真实的在线流量,一些问题可能会难以解决。这种方式不太合适。

怎样发现原因。

实际上,在大多数情况下,我们都可以通过命令如top和pidstat来发现特定的服务问题。自然地,headService能够解决超过60%的异常服务问题,但重启后站点将丢失。

重启后,一直重启都不好。还需要确定具体的问题。我仍然想知道根源在哪里,最好告诉我哪个函数是具体的,哪个语句会直接导致问题或错误。更糟的是,知道什么类型的失败大致是什么节点。

很多人都会想到GDB。尽管这些工具都很棒,但是当服务出现问题时,sre不应该使用它们,因为在线服务不会被暂停。在调试期间,GDB设置了断点,并发出SIGSTOP信号,这样被调试的进程就进入了T(TASK_STOPPED或TASK_TRACED)暂停状态或跟踪状态。同时,基于GDB的古老系统ptrace也有很多缺陷和问题。

例如,ptrace需要更改目标调试进程的父进程,并且不允许多个调试器同时分析同一进程。另外,不熟悉GDB的人也可以挂起程序调试。这一交互跟踪过程通常没有考虑到生产安全性和性能损失。此外,strace还基于ptrace,因此strace也不利于性能。

因此,有必要提到动态跟踪技术,该技术通常通过探测机制启动查询。一般而言,动态跟踪无需应用目标匹配,可在任何时间、任何地点、任何地点进行数据采集,其最大优点是性能消耗非常小(通常为5%或更少)。

动力跟踪

有很多用于动态跟踪的工具,如sysymp,perf,ftrace,sysysyg,dtrace,eBPF等等。由于我们的在线服务器是Linux系统,内核版本也不像最新版本那样激进,所以我倾向于使用perf或slemp。我相信perf无疑是我的最爱。

动态跟踪的事件源根据事件类型主要分为三大类。静态的,动态的,以及硬件事件的探测。

分享: