首页 文章 精选 留言 我的

精选列表

搜索[安全],共10000篇文章
优秀的个人博客,低调大师

老司机保驾护航,让你的网络安全之行多一层保障- 冯磊

XSS(跨站脚本攻击) 最常见的是cookie劫持,简单来说就是我们用浏览器登录一个网站,主要是用存在客户端浏览器里的cookie来保存客户唯一标识的令牌,在Java写就的网站里,是一个jsessionid,如果通过抓包获取了浏览器的jsessionid,那么在另一个地方,就可以模拟用户的登录,从而窃取用户的资料乃至进行一些登录后才可以做的操作,危害性很大。 SQL注入 在网站所有搜索输入框中,输入的内容,一般会通过在服务器端拼接SQL语句去向数据库发起查询请求,然后把结果展示在网页上,如果查询一个人'jack':期望的语句是:select * from user where username='jack';但如果被输入的内容为jack' or '1‘=’1,结果语句变为:select * from user where usernam

优秀的个人博客,低调大师

K8S集群中使用JDOS KMS服务对敏感数据安全加密 | 京东云技术团队

基本概念 KMS,Key Management Service,即密钥管理服务,在K8S集群中,以驱动和插件的形式启用对Secret,Configmap进行加密。以保护敏感数据, 驱动和插件需要使用者按照需求进行定制和实现自己的KMS插件,插件可以是gRPC服务器或者启用一个云服务商提供的KMS插件。 本文中演示使用的KMS 服务是京东云舰中的KMS加密服务。 目前KMS分为V1,V2,本文基于V1进行演示。 架构 内部可以利用kms加密实现自己的加密算法,甚至国密算法。 当用户新建secret资源时,kube-apiserver 会通过gRPC调用kms-plugin,而kms-plugin与加密服务器通信,进行数据加密。 此时如果通过直接获取etcd中的原始数据,内容为密文数据。 当用户获取secret资源内容时,kube-apiserver 会通过gRPC调用kms-plugin,而kms-plugin与加密服务器通信,进行数据解密,将明文展示给用户 操作步骤 需要一套已经运行的Kubernetes集群服务,如果是多台master节点,需要同时配置。 新建目录 /etc/kubernetes/kms/jdcloud 新建 EncryptionConfiguration 该配置是kms基本的加密配置,包括加密资源对象,socket地址等等。 apiVersion: apiserver.config.k8s.io/v1 kind: EncryptionConfiguration resources: - resources: - secrets # 这里表示,只加密secret providers: - kms: name: myKmsPlugin endpoint: unix:///var/run/k8s-kms-plugin/kms-plugin.sock # 如果不以pod(jdcloud-kms-plugin.yaml)启动,需要sock文件放到master节点。 cachesize: 100 timeout: 3s - identity: {} 以上内容保存在/etc/kubernetes/kms/jdcloud/apiserver-encryption.conf 新建 jdcloud kms plugin 配置 kms server的上联信息配置 { "AccessKey": "xxx", # 部署前,该参数需要预先知道, "SecretKey": "yyy", # 部署前,该参数需要预先知道。 "KmsEndpoint": "kms.internal.cn-north-1.jdcloud-api.com", # 部署前,该参数需要预先知道。 "KmsKeyId": "abcd", # 部署前,该参数需要预先知道。 "KmsSchema": "http", "GRPCSocketPath": "/var/run/k8s-kms-plugin/kms-plugin.sock" } 以上内容保存在/etc/kubernetes/kms/jdcloud/jdcloud-kms-plugin.json 新建 jdcloud kms plugin 服务 该服务是启动socket服务,并按照配置和上联的kms server进行通信,加密和解密数据,并通过socket服务和K8S APIServer交互。 该pod需要在kube-apiserver启动之前启动,否则与apiserver可能产生循环依赖。 apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: component: jdcloud-kms-plugin tier: control-plane name: jdcloud-kms-plugin-node-01 namespace: kube-system spec: containers: - command: - /k8s-kms-plugin - -f=/etc/kubernetes/kms/jdcloud/jdcloud-kms-plugin.json # 指定json image: hub-pub.jdcloud.com/k8s/jdcloudsec/k8s-kms-plugin:v1.0.1 imagePullPolicy: IfNotPresent name: jdcloud-kms-plugin resources: requests: cpu: 250m volumeMounts: - mountPath: /etc/kubernetes/kms/jdcloud/jdcloud-kms-plugin.json # 注意路径 name: jdcloud-kms-plugin-configfile readOnly: true - mountPath: /var/run/k8s-kms-plugin/ name: k8s-kms-plugin-unixsock-directory readOnly: false hostNetwork: true priorityClassName: system-cluster-critical volumes: - hostPath: path: /etc/kubernetes/kms/jdcloud/jdcloud-kms-plugin.json # 注意路径 type: File name: jdcloud-kms-plugin-configfile - hostPath: path: /var/run/k8s-kms-plugin/ type: DirectoryOrCreate name: k8s-kms-plugin-unixsock-directory status: {} 以上内容保存在/etc/kubernetes/manifests/jdcloud-kms-plugin.yaml 修改 kube apiserver配置 ... - --encryption-provider-config=/etc/kubernetes/kms/jdcloud/apiserver-encryption.conf image: hub-pub.jdcloud.com/k8s/kube-apiserver:v1.19.9-109 imagePullPolicy: IfNotPresent livenessProbe: ... - mountPath: /etc/kubernetes/kms/jdcloud/apiserver-encryption.conf name: apiserver-encryption-conf readOnly: true - mountPath: /var/run/k8s-kms-plugin/ name: k8s-kms-plugin-unixsock-directory readOnly: false ... - hostPath: path: /etc/kubernetes/kms/jdcloud/apiserver-encryption.conf type: File name: apiserver-encryption-conf - hostPath: path: /var/run/k8s-kms-plugin/ type: DirectoryOrCreate name: k8s-kms-plugin-unixsock-directory 修改后保存 验证 在默认的命名空间里创建一个名为 secret1 的 Secret: kubectl create secret generic secret1 -n default --from-literal=mykey=mydata 用 etcdctl 命令行,从 etcd 读取出 Secret: etcdctl.sh get /kubernetes.io/secrets/default/secret1 [...] | hexdump -C 结果为加密数据 验证 Secret 在被 API server 获取时已被正确解密: kubectl describe secret secret1 -n default 该结果为明文,mykey: mydata 产品能力 在K8S集群中,京东内部一直比较重视对敏感数据加密,特别是云舰面对越来越多的金融行业客户,加密服务基本是云舰中的标准配置。 经过产品能力打磨和内部实现,KMS 加密服务和K8S自动化集群以及一键配置创建都在云舰内实现了很好的产品化能力,可以随集群创建,一键启用KMS加密服务。  参考: 1. 使用 KMS 驱动进行数据加密 作者:京东科技 王晓飞 来源:京东云开发者社区 转载请注明来源

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册