自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

网络安全研究

网络安全产品、技术、想法(纸上得来终觉浅,绝知此事要躬行)

  • 博客(150)
  • 收藏
  • 关注

原创 SSL/VPN远程接入技术架构

SSL VPN (Secure Sockets Layer Virtual Private Network) 通过SSL协议进行加密传输的VPN即可称之为SSL VPN,可通过Web浏览器或重型客户端(OpenVPN,AnyConnect)访问。

2024-02-18 17:59:29 2666 2

原创 大数据技术笔记

大数据技术是一系列的工具和方法,它们可以帮助我们收集、存储和分析大量的数据,并将结果呈现给我们。

2023-11-02 16:20:27 347

原创 让chatgpt解读自己--(GPT1/2/3/4)论文解读

用chatgpt解释chagpt自己的实现原理和机制,是一种什么体验?

2023-04-09 11:59:30 5487 2

原创 零信任和SASE深入理解--概念,架构和实现方案

零信任:新的思路,新的架构,新的实现方案

2022-12-21 17:32:12 2228

原创 SASE和零信任--傻傻分不清楚

随着企业网络架构的演进,相应的安全架构随之演进是很自然的事情。零信任和SASE概念正是反应了网络架构和安全架构伴生演变的过程。

2022-12-06 00:03:05 1140

原创 Java Netty NIO网络编程入门

Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,它极大地简化和流线了网络编程,例如 TCP 和 UDP 套接字服务器。对比于BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提高。

2022-10-27 16:58:07 259

原创 一文搞懂消息队列

消息队列(Message Queue),简称为MQ,是一种跨进程的通信机制,用于上下游传递消息。常见消息队列中间件如:Kafka、ActiveMQ、RabbitMQ、RocketMQ等。

2022-05-06 14:00:46 1666

原创 深入理解密码学基本概念和应用

现代密码学已经发展为包括随机数、Hash 函数、加解密、身份认证等多个课题的庞大领域,相关成果为联网奠定了坚实的安全基础。每个程序员都应该懂一些现代密码学。

2022-04-06 16:14:21 6026

原创 Linux系统安全

在 Linux 中,用户层的所有操作,都可以抽象为“主体 -> 请求 -> 客体”这么一个流程。在这个过程中,Linux 内核安全提供了基于权限的访问控制,确保数据不被其他操作获取。

2021-11-05 15:47:15 6514

原创 深入理解 gRPC 协议--理解protobuf/.proto/http2

RPC 无非是做两件事情:一是数据编码,二是请求映射。

2021-09-27 10:57:23 4080

原创 新一代云原生监控系统Prometheus--理解数据模型/指标/标签/PromQL/Exporter

Promethues与Kubernetes有着十分相似的历程,均是源自Google内部多年的运维经验。Prometheus 于 2016 年 5 月加入 CNCF 基金会,成为继 Kubernetes 之后的第二个 CNCF 托管项目。Kubernetes和Promethues分别代表了云原生模式下容器编排以及监控的事实标准。

2021-07-22 12:04:38 789 1

原创 从运维的角度理解云原生

云原生的发展,其实就是应用开发与交付的发展。

2021-07-14 14:13:48 836 1

原创 java服务端开发笔记

大概有六七年没接触java了,因为工作需要,重新拾起java。

2021-06-14 16:09:27 1746

原创 Envoy架构理解--理解xDS/Listener/Cluster/Router/Filter

Envoy 是一个开源的边缘服务代理,也是 Istio Service Mesh 默认的数据平面,专为云原生应用程序设计。

2021-06-01 19:09:35 3430

原创 深入Istio架构和功能--理解数据面/控制面/流量管理/安全/可观察性

Istio提供了服务网络(ServiceMesh)基础环境。解决了开发人员和运维人员所面临的从单体应用向分布式微服务架构转变的挑战。

2021-05-28 18:36:16 3821 1

原创 k8s访问控制--理解RBAC和OPA

Kubernetes API的设计与大多数现代API不同。它是基于意图的,这意味着使用API的人考虑的是他们想要Kubernetes做什么,而不是如何实现。其结果是一个令人难以置信的可扩展性、弹性,和一个强大而流行的系统。同时,其基于意图的API给安全带来了挑战。标准的访问控制解决方案(基于角色的访问控制、基于属性的访问控制、访问控制列表或IAM策略)都不够强大,无法强制执行基本的策略,比如谁可以更改pod上的标签,或者哪些镜像存储库是安全的。

2021-05-28 16:43:10 1246

原创 docker和k8s发展史--理解oci/cri/cni/docker swarm/containerd/runc/dockershim

从 2013 年 Docker 项目发布开始算起,容器技术这样一个新生事物,完全重塑了整个云计算市场的形态。docker和k8s的发展历史,也见证了技术巨擘们相互厮杀和爱恨情仇。

2021-05-25 16:41:09 1458

原创 云原生和ServiceMesh主要组件--理解K8s/Istio/Envoy

Kubernetes 作为一种容器编排调度工具,解决了分布式应用程序的部署和调度问题。Istio通过透明代理(sidecar)将流量管理从K8S中解耦,满足了ServiceMesh对细粒度流量管理的需求。Envoy是 Istio 中默认的 sidecar 代理。

2021-05-24 12:23:24 3123 2

原创 Rust FFI 编程--理解不同语言的数据类型转换

"FFI"是" Foreign Function Interface"的缩写,大意为不同编程语言所写程序间的相互调用。鉴于C语言事实上是编程语言界的万国通,世界通用语。对于其它语言(比如python/go),如果将 Rust 库的公共接口转换为应用程序二进制接口( C ABI),则在其它编程语言(比如python/go)中可以相对容易地使用它们。

2021-05-06 16:21:24 1218 1

原创 go-plugin入门

go-plugin是基于RPC的Go(golang)插件系统(Go Plugin System over RPC)。这是HashiCorp工具使用超过4年的插件系统。

2021-04-20 17:06:46 1659

原创 rust异步编程--理解并发/多线程/回调/异步/future/promise/async/await/tokio

通常我们将消息通信分成同步和异步两种:- 同步就是消息的发送方要等待消息返回才能继续处理其它事情- 异步就是消息的发送方不需要等待消息返回就可以处理其它事情很显然异步允许我们同时做更多事情,往往也能获得更高的性能。异步编程,是一种被越来越多编程语言支持的并发编程模型。异步和协程类似,相比多线程来说,异步运行时可以使用少量线程来处理大量任务。

2021-04-12 20:56:46 5855 1

原创 Istio安全架构--理解身份/认证/授权

Istio 安全的目标是:- 默认安全:应用程序代码和基础设施无需更改- 深度防御:与现有安全系统集成以提供多层防御- 零信任网络:在不受信任的网络上构建安全解决方案

2021-04-08 21:02:35 2473

原创 理解K8S的编排和网络

Kubernetes是未来云计算系统的操作系统,而Docker 容器其实是未来云计算系统中的进程。

2021-03-12 23:01:38 932 3

原创 理解SDP软件定义边界--概念、架构、流程

目前,虚拟专用网络(VPN)是很多公司远程访问的解决方案之一。但是,VPN用户一旦获得授权就可以广泛访问公司网络上的资源。这种广泛访问的方法使潜在的敏感资源和信息暴露给VPN用户和攻击者。因此,围绕软件定义的边界解决方案(SDP)成为安全远程访问的一个更具吸引力的替代方案。

2021-03-09 14:49:27 4631 1

原创 go并发编程-理解不同并发场景下的go原语

虽然在 go 中,并发编程十分简单,我们只需要使用 go func() 就能启动一个 goroutine 去做一些事情,但是正是由于这种简单我们要十分当心,不然很容易出现一些莫名其妙的 bug。

2021-02-24 18:46:20 631

原创 安全的本质--理解CIA和AAA

任何应用最本质的东西其实都是数据,安全的本质就是保护数据被合法地使用。

2021-02-16 20:15:00 3661 4

原创 理解云原生--开发模型、架构原则、主要技术

云原生架构旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。

2021-02-16 14:16:27 665 1

原创 传统企业安全vs互联网企业安全vs云安全

使用基于传统的资产威胁脆弱性的风险管理方法论加上购买和部署商业安全产品(解决方案)通常可以搞定。大型互联网企业安全不需要堆硬件盒子式的解决方案了,就算堆也不再是原来的堆法。

2021-02-15 12:09:08 425

原创 互联网公司的安全风险

互联网公司的特点是业务技术以Web和App为主。按照风险区域,可以分为在线业务和企业内部。

2021-02-14 17:34:13 2619 2

原创 CTF入门--题目介绍

CTF 题目类型一般分为 Web 渗透、RE 逆向、Misc 杂项、PWN 二进制漏洞利用、Crypto 密码破译。

2021-02-04 16:10:46 4554 2

原创 常见web攻击方式与防御方法

跨站脚本攻击(XSS)跨站点请求伪造(CSRF)点击劫持ClickJackingSQL注入文件上传认证与会话管理

2021-02-01 10:28:57 1122

原创 什么是零信任--用户/应用/设备--识别/认证/权限/信任

零信任对访问控制进行了范式上的颠覆,引导安全体系架构从“网络中心化”走向“身份中心化”,其本质诉求是以身份为中心进行访问控制。

2021-01-28 18:16:51 3942 1

原创 dpdk报文收发流程--理解dma控制器、UIO驱动、描述符空间、mbuf空间、KNI

传统方式接收报文时,当网卡接收到报文后会产生硬件中断,进而报文会通过协议栈,最后到达应用层,这个过程需要内核协议栈的处理。和传统报文接收不同,当应用层想要接收来自网卡的报文时, 应用层通过while死循环的方式,调用rte_eth_rx_burst接口轮询接收来自网卡的报文,相当于绕过了内核协议栈,将内核旁路了。通过轮询的方式,报文不经过内核,提高了网络转发性能,同时也降低了内核与用户态系统调用的开销。

2021-01-13 13:12:02 4037

原创 linux内核数据结构实现--链表、队列和哈希

C是面向过程的语言,但是linux内核却用C实现了一套面向对象的设计模式,linux内核中处处体现着面向对象的思想。

2021-01-09 22:18:44 827

原创 go语言特性理解--变量/函数/面向对象/并发编程/错误处理

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

2021-01-08 15:16:11 298

原创 调试器工作原理--CPU软件断点/硬件断点/单步执行标识

断点和单步执行是两个经常使用的调试功能,也是调试器的核心功能。断点是调试器的最常用技术之一。其基本思想是在某一个位置设置一个陷阱,当CPU执行到此位置时,中断到调试器中,让调试者分析和调试,之后恢复执行。单步执行是最早的调试方式之一。就是让应用程序按照某一个步骤单位一步一步执行。一般的做法是,先使用断点功能将程序中断到感兴趣的位置,然后再单步执行关键的代码。

2020-12-30 14:09:05 5124

原创 二进制漏洞利用原理--栈溢出

函数的局部变量在栈中一个挨着一个排列。如果这些局部变量中有数组之类的缓冲区,并且程序中存在数组越界的缺陷,那么越界的数组元素就有可能破坏栈中相邻变量的值,甚至破坏栈帧中所保存的EBP值、返回地址等重要数据。

2020-12-28 14:32:06 749 1

原创 图算法--深度优先/广度优先/最小生成树/最短路径

1. 深度优先搜索1.1 标记法探索迷宫探索迷宫而不迷路的一种古老办法叫做Tremaux搜索(标记法),要探索迷宫中的所有通道,我们需要:选择一条没有标记过的通道,在你走过的路上铺一条绳子;标记所有你第一次路过的路口和通道;当来到一个标记过的路口时(用绳子)回退到上个路口;当回退到的路口已没有可走的通道时继续回退。绳子可以保证你总能找到一条出路,标记则能保证你不会两次经过同一条通道或者同一个路口。1.2 深度优先搜索算法和Tremaux搜索类似,深度优先搜索,只需用一个递归方法来遍历所

2020-12-27 22:05:21 2782

原创 在线内存泄露定位--memleak工具

1. top + ps用 top 或 ps 来观察进程的内存使用情况,然后找出内存使用一直增长的进程2. memleak使用专门用来检测内存泄漏的工具,memleak。memleak 可以跟踪系统或指定进程的内存分配、释放请求,然后定期输出一个未释放内存和相应调用栈的汇总情况(默认 5 秒)。$ /usr/share/bcc/tools/memleak -p $(pidof app) -aAttaching to pid 12512, Ctrl+C to quit.[03:00:41] Top

2020-12-24 18:48:42 3260 1

原创 方便好用的在线CPU性能调优工具--perf的常见用法

perf 是 Linux 2.6.31 以后内置的性能分析工具。它是一款综合性分析工具,以性能事件采样为基础,可以分析从内核级别,到进程线程级别,甚至到函数及汇编级别的性能问题。

2020-12-24 18:22:43 757 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除