首页 文章 精选 留言 我的

精选列表

搜索[驱动分发],共10000篇文章
优秀的个人博客,低调大师

当开发者驱动开源时如何保证安全性?

原文:How security keeps up when developers drive open source 作者:John Walsh,编译:御坂弟弟 随着开发人员越来越多地使用开源软件,强有力的安全措施也已经提上日程。 技术转型正日益成为竞争差异化的手段,各行业的企业都在新的平台、工具和框架上大量投资。结果是,开源已经成为最可行、最具成本效益和最前沿的解决方案,使企业在创新中获得优势。 企业不再需要购买或在内部构建所有他们需要的软件。取而代之的是,开发人员现在可以从整个开发社区的工作中受益,在其基础上利用他们的集体力量,而不必从头开始。这使得无数新的创新链得以实现,并提高了新产品的上市速度。根据研究,69% 的 IT 领导者认为开源对企业的整体企业基础软件计划非常重要。但软件开发并不总是这样做的。 改变企业软件的采购模式:从专有软件、免费软件到开源软件 在过去的三十年里,软件的选择、采购和使用都发生了巨大的变化。20 世纪 80 年代,MS-DOS 投放市场,并迅速成为计算机技术的企业标准。不久之后,微软发布了 Windows 1.0,Oracle 和 SAP 等软件公司的数据库产品开始掀起波澜。 当时 CIO 们完全负责他们公司将使用的工具和软件,企业内部的技术用户很少被咨询他们所喜欢的平台。选择一个特定的专有工具的过程也很广泛。每一个工具都有一个高昂的价格标签,这意味着购买的决定是经过仔细考虑的,工具要经过测试和再测试,而且上岗通常需要几个月甚至更长的时间。 随着 2000 年代初免费增值模式的引入,这一切都发生了变化,因为软件变得更加开放、易于使用和易于实现。CIO 仍然参与采购决策,但整体决策权却转移到了运营领导手中。因此,组织开始采用新的应用程序,承诺简化流程、提高生产力和增强体验。 又过了 10 年,自下而上的决策模式已经司空见惯。企业正在应对越来越大的压力,通过让开发人员和其他技术用户自己动手,更好更快地构建和交付软件和服务。为了满足不断增长的期望,他们需要获得能够帮助他们自动化 CI/CD 管道、大规模构建和部署应用程序并快速解决新挑战的工具。 自由、开源软件为这种情况提供了 "完美 "的解决方案。由于它不需要授权,开发人员可以在不涉及高级 IT 领导层的情况下快速部署它,而且往往在他们完全不知情的情况下部署。鉴于开发人员的影响力越来越大,开源使用越来越成为一种公认的规范,DevOps 团队现在经常被授权推动创新的边界,并推动数字化转型计划。 保护开源的秘密 安全团队意识到了这种决策的转变,但更多的时候仍只能看到表面。为了更快地生产代码,DevOps 团队在采用最新、最好的开源工具之前,往往没有与安全团队协商。这可能会导致不安全的做法,包括在应用程序和配置文件中嵌入秘密,例如敏感数据库的凭证或云访问密钥。 随着围绕开发人员工作的社区意识的增强,在组织外共享代码的推动下,与这些嵌入的秘密相关的风险也随之增加。共享代码带来了重要的好处,但也会暴露代码中嵌入的秘密和其他机密信息,使企业容易受到攻击。当开发人员在没有足够的审查或关注更新的情况下重新使用第三方代码时,也可能出现这种情况。事实上,31% 的组织在去年怀疑或已经核实了与开源组件相关的漏洞。当选择和使用一个开源工具时,开发人员必须评估它的潜在安全问题,特别是工具安全处理机密的能力。 不幸的是,大多数传统的安全管理解决方案和实践都是为了支持传统的软件应用和开发方法而设计的。对于开源软件、微服务、容器、协调器和无服务器技术的快节奏世界来说,它们太慢、太复杂了。DevOps 需要一种全新的安全方法,在不影响速度的情况下降低风险和不确定性。安全领导者必须寻找方法,授权开发人员更安全地使用开源工具。 赋予开发者开源秘密管理的四种方法 许多安全团队正在将开源秘密管理引入其开发同行,以帮助确保 DevOps 管道的安全,并且该技术在三个关键用例中获得了特别的助力: 确保容器的安全和认证。容器通过提高应用的可移植性和速度,为 DevOps 和工程团队解决了很多问题。但它们的短暂性使其难以识别和确定访问权限。在审查容器的秘密请求时,零信任方法是必不可少的,其中容器与其关键属性进行匹配以进行身份验证。然后可以在需要知道的基础上与它们共享信息。 管理弹性和自动扩展环境秘密。云提供商提供自动扩展功能,以支持弹性和按增长付费的经济效益。但云自动伸缩的动态特性为组织带来了安全管理挑战。通常,当一台新主机上线时,主机的所有者可以手动设置权限,但这种人为的互动并不能扩展。但是,如果有合适的认证措施,新主机的身份注册就可以自动完成。 消除多云、多工具的安全岛。秘密通常是单独维护和管理的,使用不同的系统或 "安全岛",这使得共享秘密和建立统一的安全策略变得困难。在这种情况下,可以使用中央身份验证系统来控制和审计跨领先工具堆栈、容器平台和云环境的非人类访问。这可以作为一个强大的秘密管理系统,帮助简化操作和提高合规性。 开源秘密管理允许开发人员继续做他们喜欢的事情,而不用担心安全问题。对于企业需求不断扩大的组织来说,它代表了一个全面的解决方案,可以在现有的工作流程中确保 DevOps 环境中的机密和其他凭证的安全。

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

时序数据库 TDengined 的 .Net Core 驱动 1.0.90 发布

经过一段时间的努力, 使得Maikebing.EntityFrameworkCore.Taos 支持和兼容了EF Core 3.1 版本!由于EF Core 本身的重构,想要重新调整代码确实不易, 最主要的难点在于理解透彻EF Core 的工作原理和机制。 使得尽可能巧妙的支持TDengine ! 主要修改内容如下: 1. 重写 EF.Taos 部分, 采用了最新EF Core 的基础版本。 2.调整了对Taos.dll 的32位和64位支持的兼容性。 这里牵扯最多的是 指针长度问题。改写了一些基础写法。 3. 支持查询服务器版本号 4. 支持ILMerge,便于其整合程序集 5. 支持了 Parameters , 但是目前只是语句中替换值的方式, 下一步计划将开始使用 taos_stmt_init 以实现真正的参数方式! 如何安装: Install-Package Maikebing.Data.Taos 或者 nuget 管理器 代码地址为: https://gitee.com/maikebing/Maikebing.EntityFrameworkCore.Taos

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

在Play with Kubernetes平台上以测试驱动的方式部署Istio

Kubernetes and Istio 翻译一篇 Istio 部署教程,原文链接:test-drive-your-first-istio-deployment-using-play-with-kubernetes-platform-cloud-computing 作为一名全栈开发,假如最近花了不少时间开发应用,肯定已经理解了微服务架构下要面临的一系列全新挑战。尽管应用已经从庞大的单体应用转变成了开发更快、弹性更好、更小也更聚焦的微服务,但现实是,开发者需要开始操心将这些服务集成到分布式系统中的问题了,包括服务发现、负载均衡、注册、容错、监控、路由、兼容和安全等。 让我们更详细的拆解微服务架构下开发和运维面临的挑战吧。先来看看第一代简单的 Service Mesh 场景,如下图所示,服务 A 要和 服务 B 通信,没有采用直接通信的方式,请求是通过 NGINX 路由的。NGINX 从 Consul(服务发现工具)查找路由,并在收到 HTTP 502 响应时,自动重试。 图 1.0 - 一代 Service Mesh 图 1.1 - 服务增多时,级联失败演示 但随着微服务架构的到来,服务数量的增长一发不可收拾,下面列出的是开发和运维团队遇到的问题: 如何让日益增长的微服务们互联? 如何为微服务提供负载均衡? 为微服务提供基于角色的路由; 如何控制微服务的出口流量,如何实现灰度发布? 如何控制不断增长的微服务的复杂度? 如何用富路由规则实现细粒度的流量控制? 实现流量加密、服务到服务的鉴权和强身份声明的挑战 简而言之,虽然你可以在应用和网络中间件中开启服务发现和重试机制,但实际上,想让服务发现正常工作是非常困难的。 初试 Istio Service Mesh Service Mesh 是 2018 年度最火热的流行词之一,它是微服务的可配置基础架构层,负责微服务应用间的交互,service mesh 让微服务实例间的交互更灵活、可靠和快速。Mesh 层提供了服务发现、负载均衡、加密、鉴权和验证,支持熔断机制等其他能力。 Istio 是完全开源的,可透明的部署在已有的分布式应用上。Istio 1.0 版本在上个月发布,已经生产环境可用。Istio 完全由 Go 语言编写,提供成熟的 API 接口可以接入到任何日志平台、遥测和策略系统中。Istio 在 GitHub 上发布,对系统的性能影响很小,丰富的特性让你可以顺利、高效的运行分布式微服务架构,并提供统一的保护、连接和监控方法。 图 1.2 Istio 功能 Istio 对系统的影响很小,它在 GitHub 上发布,上个月,Istio 1.0 版本已经发布,并且生产环境可用。 Istio 能带来什么好处呢? Istio 提供服务的连接、保护、控制和观测能力。 减少服务部署的复杂度,减轻部署团队的压力。 在无需修改应用代码的前提下,为开发和开发运维提供了细粒度的流量可视化和控制。 为 CIO 提供了帮助全企业安全实施和合规型需求的必要工具。 在 service mesh 层提供了统一的行为监测和运营控制。 Istio 让为服务网络提供 HTTP、gRPC、Web Socket 和 TCP 流量的自动负载均衡变的轻松。 提供了细粒度的流量行为控制,包括:富路由规则、重试、故障转移和失败注入。 支持插件化的策略控制层和配置 API,支持访问控制、流量限制和配额。 Istio 为集群内的全部流量提供自动的度量、日志、追踪,包括进群的入口和出口。 以强身份验证和鉴权的方式,提供了集群内安全的服务间通信。 如何想深入 Istio 架构,我强烈推荐 Istio 官方网站(https://istio.io/zh)。 image 开始演示!!! 在这篇文章中,我将展示如何在 Play with Kubernetes(PWK)中免费部署 Istio,这是个由 Docker 提供的实验网站,是让用户在几秒钟内跑起来 Kubernetes 集群的试验环境。PWK 提供了在浏览器中使用免费 CentOS Linux 虚拟机的体验,实际上是 Docker-in-Docker(DinD)技术模拟了多虚拟机/PC 的效果。 打开 https://labs.play-with-k8s.com/,访问 Kubernetes Playground。 image 点击 "Login" 按钮,以 Docker Hub 或 GitHub ID 登陆。 image 完成本教程,你将获得自己的实验环境。 添加第一个 Kubernetes 节点 点击左侧的 "Add New Instance" 来构建你的第一个 Kubernetes 集群节点,自动命名为 "node1",每个节点都预装来 Docker 社区版(CE)和 Kubeadm。这个节点将成为集群的主节点。 image 启动主节点 用如下脚本初始化主节点(node1)来启动 Kubernetes 集群,复制该脚本内容到文件 bootstrap.sh,并执行命令添加可执行权限:chmod +x bootstrap.sh image 执行脚本时,作为初始化的一部分,kubeadm 会写入几个必要的配置文件、设置 RBAC 并部署 Kubernetes 控制平面组件(例如 kube-apiserver、kube-dns、kube-proxy、etcd 等)。控制平面组件以 docker 容器形式部署。 image 复制上面的 kubeadm join token 命令,留作下步使用,此命令用来在集群中加入其他节点。 添加从节点 点击 "Add New Node" 添加新的从节点 image 验证集群状态 image 验证运行的 Pods image 安装 Istio 1.0.0 Istio 部署在单独的 Kubernetes 命名空间里:istio-system,我们过后再来验证。现在,复制如下内容到文件,命名为 install_istio.sh,并保存。添加可执行权限,运行以安装 Istio 和相关工具。 image 屏幕上应显示如下内容: image 如上所示,默认会安装 Prometheus、ServiceGraph、Jaeger、Grafana 和 Zipkin。 请注意:运行该脚本时,可能会报如下错误: unable to recognize "install/kubernetes/istio-demo.yaml": no matches for admissionregistration.k8s.io/, Kind=MutatingWebhookConfiguration 这是正常的,命令一执行完,可在页面的中央看到一长串展示的端口。 image image 验证服务 image 暴露服务 要暴露 Prometheus、Grafana 和 服务图标服务,需要先删除已有的服务,用 NodePort 替换 ClusterIP,用实例页顶端展示的端口访问服务(如下所示)。 image image 点击 "30004" 访问 Grafana 页,点击 "30003" 访问 Prometheus 页。 image image 可以如下图所示,选择必要配置查看 Prometheus 度量: image 在 Grafana 页,添加 Prometheus 数据源,并确认 Dashboard 已经运行。 image 恭喜!你已经将 Istio 部署在 Kubernetes 集群上了,K8S playgroud 上已经安装的服务包括: Istio Controllers,以及相关 RBAC 规则 Istio 定制资源定义 Prometheus 和 Grafana 监控系统 Jeager 分布式追踪系统 Istio Sidecar 注入程序(下一节我们再来仔细看看) 安装 Istioctl Istioctl 是 Istio 的命令行配置工具,可以用来创建、查询、修改和删除 Istio 系统的配置资源。 image 部署 BookInfo 应用示例 Istio 已经安装并验证过了,可以在上面部署示例应用 BookInfo 了,这是一个简单的书店模拟应用,由四个服务组成:网站首页、书籍信息、评论(几个特定的版本有评论服务)和评分,全部由 Isito 管理。 部署 BookInfo 服务 image 定义入口网关 image 验证 BookInfo 应用 image image 通过 URL 访问 image 现在应该可以看到 BookInfo 示例了: image 希望本部程能帮你顺利的在 Kubernetes 上部署 Istio。下一篇博客,我将深入 Isito 的内部架构、流量控制、权限和遥测等细节。

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

NLPIR语义分词技术给自然语言处理带来新驱动

随着信息的快速速增长,让搜索引擎成了人们查找信息的首要工具。如今在中文搜索引擎领域,国内搜索引擎已经同国外搜索引擎效果上相差不大了。能形成现在这样的局面,是有一个重要的原因:英文和中文两种语言自身的书写方式不相同,其中在计算机涉及的技术就是中文分词技术。 分词技术发展至今,也已经有十几年的历史。目前在中文分词领域,已经有很多成熟的分词技术。中文是由连续文字组成,缺乏有效的间隔,虽然有句、段分隔,但在进行机器语言学习、文本语义理解分析过程中都需以词组为最小单位的。因此实现中文分词相对英语来讲,更加的复杂、困难。这其中对于计算机涉及的技术就是中文分词技术。 中文分词不仅是各种中文信息处理技术中使用最广泛的手段,也是信息检索和搜索引擎必不可少的基础性工作。现有的中文分词方法有很多,它们以字符串匹配、统计模型、理解、路径以及语义等

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

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

Nacos

Nacos

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

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册