首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

21条最佳实践,全面保障 GitHub 使用安全

GitHub 是开发人员工作流程中不可或缺的一部分。无论你去哪个企业或开发团队,GitHub 都以某种形式存在。它被超过8300万开发人员,400万个组织和托管超过2亿个存储库使用。...根据2019年发布的一项研究,在对公共 GitHub 存储库进行全面扫描后,该平台上共发现了超过57万个敏感数据实例,例如 API 密钥,私有密钥,OAuth ID,AWS 访问密钥 ID 和各种访问...对于没有安全概念的开发人员来说,很容易不小心更改代码库的可见性。如果代码存储库中存在敏感数据,有权访问此更改可见性功能的人员越多,则潜在的风险就越高。...轮换 SSH 密钥和个人访问令牌 SSH (Secure Shell) 密钥轮换可用作定期清除可能泄露的访问密钥。最好在安全要求策略中对所有 SSH 密钥和个人访问令牌设置到期日期。...GitHub 具有检测公共代码仓库中易受攻击的依赖项的功能,可以通过组织设置中的 “Security & analysis” 选项来启用警报。 ​ 17.

1.8K40

CDP私有云集群自动化部署

通过以这种方式自动化集群部署,您可以降低配置错误的风险,促进环境中跨多个集群的一致部署,并帮助更快地交付业务价值。 本博客将介绍如何以最少的人工交互部署具有安全性的私有云基础集群。...我们可以运行快速启动环境,它是一个 Docker 容器,我们可以在本地或管道中运行,或者我们可以在我们的数据中心基础设施中的 Linux 机器上安装依赖项。...Docker 容器包含本地执行所需的所有依赖项,可在 Linux、Windows 或 OSX 上运行。.../quickstart.sh 否则,如果我们在 Docker 之外运行,我们将克隆cloudera-deploy git 存储库,然后运行centos7-init.sh脚本,该脚本将安装 Ansible...2.10、Ansible Galaxy 集合及其依赖项: yum install git -y git clone https://github.com/cloudera-labs/cloudera-deploy.git

2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在 Traefik Proxy 2.5 中使用开发私有插件(Traefik 官方博客)

    目录 构建 Traefik Proxy 容器镜像并捆绑 demo 插件 使用您的自定义插件构建 Traefik Proxy 容器镜像 从公共存储库构建镜像 从私有 git 存储库构建镜像 使用 docker-compose...你可以肯定地测试一下,按 Ctrl-C 停止容器,然后重新运行将 moduleName= 更改为 github.com/something/different 的命令,你会得到一个错误,说它不存在并立即退出...从私有 git 存储库构建镜像 从私有 git 存储库构建镜像更具挑战性,因为您需要将 SSH 凭据传递到 Docker 构建过程,以便按照 Dockerfile 中的脚本从私有 git 存储库进行克隆...这将通过连接到运行 ssh-agent 的主机连接到构建过程,以便您可以在构建过程中使用 SSH 密钥,并克隆私有 git 存储库: docker build -f Dockerfile.private...注意:由于 docker-compose 中存在一个未解决的问题,您目前无法在 docker-compose 中使用 --ssh 参数(并且与 ssh-agent 的连接将失败),因此如果您想使用此修改后的

    1K10

    利用 GitHub Action 实现镜像存储库

    Github Action Github Action 是 Github 推出的一项持续集成服务, 我们可以利用 Github Action 来实现多平台测试代码, 多平台打包, 访问远程服务等等....当然, 这篇文章最主要的还是实现, 当我们push到Github时, 自动将更改同时推送至其他平台. 需求 首先了解一下, 为什么我们需要实现 镜像自己的存储库....其实很简单, 我们无法确保自己的Github或其他平台账户会不会突然有一天莫名其妙的消失, 或者 有些人会更喜欢去私有化自己的存储库, 想要同时备份到自己的私有服务器上. 但不希望手动push多次....如何实现 通过ssh-keygen或其他方式, 创建一个ssh密钥及公钥文件, 将公钥上传至需要同步到的Git托管平台....Tips Gitlab 可能需要在被同步仓库处取消对主分支对protect, 否则可能会失败 本文链接:https://blog.xsot.cn/archives/github-action-mirror.html

    76050

    你必须知道的 17 个 Composer 最佳实践(已更新至 22 个)

    或者可能在 PHP_CodeSniffer 中存在一个已修复的 bug ,代码就会检测出新的格式问题,这会再次导致错误的构建。 依赖的升级要慎之又慎,不能撞大运。...Tip 4: 对库依赖项使用版本范围 创建库时,应尽可能定义最大的可用版本范围。...千万别试图手动解决冲突,这是因为 composer.lock 文件包含了定义 composer.json 中依赖项的哈希值。所以即使你解决了冲突,这个最终合并结果的lock文件仍是错误的。...-with-dependencies (使用升级过的库替换 phpunit/phpunit) 检查 Github 上库的版本库中 CHANGELOG 文件,检查是否存在重大变化。...比如,从Github上添加一个 fork,使用它的 API 下载整个版本库的 .zip 文件,而不用克隆。 不过对一个私有的 Gitlab 安装来讲会更复杂。

    7.5K20

    Linux xz后门的破坏可能比想象的更大

    更令人担忧的是,这个库中可能还存在其他尚未发现的后门,或者已经植根于更多服务器仍在使用的库的早期版本中。 如果不是一个爱管闲事的工程师......他将延迟追溯到 SSH 对 liblzma 压缩库发出的系统调用,原因是该库包含在 Freund 的 Debian sid 安装中嵌入的 xz 实用程序 中。...出于安全考虑,GitHub 已禁用所有 xz 实用程序存储库,并暂停了 Tan 和 Collin 的帐户。 Linux 服务器上部署了 xz 僵尸网络后门吗?...如果您运行 Linux 或 macOS 系统,您很可能拥有 xz 和 liblzma 依赖项的某个版本,这些依赖项是解压缩软件包以进行安装和更新所必需的。...“其他系统此时可能存在漏洞,但我们不知道,”James 写道。

    39920

    如何在Ubuntu 14.04上使用Ansible部署基本PHP应用程序

    Ansible版本1.9.1中存在一个错误,它阻止了php5-fpm从我们在处理程序中使用的service模块中重新启动。...与步骤3中一样,我们将解释我们要添加到剧本中的所有部分,然后包含整个php.yml文件供您复制和粘贴。 在我们克隆我们的Git存储库之前,我们需要确保/var/www是存在的。...这个过程很简单,因为我们通常需要的一个git clone命令就是源存储库。在这种情况下,我们还将定义目标,并告知Ansible如果已存在则不通过设置更新存储库update=no。...注意: Ansible composer模块的某些版本似乎存在错误,它可能会输出OK而不是Changed,因为它忽略了即使没有安装依赖项也会执行脚本的情况。 打开php.yml文件进行编辑。...这意味着您需要使用您的私有存储库对步骤3中的 git clone进行身份验证。使用SSH密钥可以非常轻松地完成此操作。

    5.9K00

    PyTorch-Nightly 受到供应链攻击,导致数据和文件泄露

    供应链攻击源自一个恶意依赖项。该依赖项被推送到了 PyPi,它与 PyTorch 夜间构建附带的依赖项同名。 由于 PyPI 是索引优先的,所以安装的是这个恶意包,而不是官方存储库中的版本。...这种设计允许用户注册与第三方索引中存在重名的包,pip 将默认安装他们的版本。...不过,只有当用户显式地将triton包导入到他们的程序中时,信息才会被泄露,这降低了此次攻击的影响。 这种被称为依赖混淆的供应链攻击方案并不新颖。...根据 Plate 的说法,依赖项混淆攻击可以使用私有存储库来托管内部包和镜像外部包来解决。Python 生态系统有一个这样的解决方案是 devpi,但它并不简单。...通常,这样的解决方案允许对依赖项解析和包下载过程进行更多的控制。但是,它们的设置和操作需要付出不小的努力,并且只有在开发人员本地客户端配置正确时,它们才有效。

    37510

    教程|如何创建 CDP 私有云基础开发集群

    克隆我们的 GitHub 存储库 它提供了本教程和其他教程中使用的资产;按教程标题组织。 创建基础设施 在下载资产部分,提供了 bash 脚本create-iaas.sh。...选择CDP 私有云基地,立即试用 选择试用版 CDP 私有云,立即试用 按照页面上提供的试用安装说明进行操作。 注意:在上一步中,我们故意让主节点的ssh连接保持打开状态。...确保SSH 端口为22,选择“搜索”,然后选择“继续”。 重要提示:确保所有主机名都已成功扫描并选择所有 IP 地址。 选择存储库 选择Cloudera Repository作为存储库位置。...设置数据库 此步骤配置和测试数据库连接。 确保选择使用嵌入式数据库。 注意:您可能会收到一条警告,指出不支持在生产环境中使用 PostgreSQL 数据库。...注意:如果遇到错误,请选择Resume重试。这可能是并行运行步骤时的计时问题。

    3.1K20

    GitHub发布重大更新,关系到所有程序员!

    更甚者,我们正在从事的两个开发工作环境彼此之间存在冲突。Codespaces 为我们提供了一个集成在 GitHub 中,功能完全的云端开发环境,让我们能够即刻为一个项目贡献代码。 ?...2.2.2搬砖(写代码)不妥协 在浏览器中即可实现从写代码、编译、测试、调试到部署的完整开发体验。 ? 2.2.3简化工作流程 自动设置依赖环境和 SSH 秘钥。...3.Code scanning 和 Secret scanning 为了提高安全性,GitHub 还宣布了两项新功能,分别是 Code scanning 和 Secret scanning。...Code scanning,该功能对开源项目免费提供,可以检查用户的代码是否存在潜在的安全漏洞,并由 CodeQL 驱动。...而 Secret scanning 则是针对私有代码库,它可以观察私有代码库中是否存在已知的秘密格式,如果发现有秘密格式,就会对开发者进行识别。 ? 最后,GitHub 宣布为其企业客户推出私有实例。

    66210

    无惧中国开源托管平台竞争:GitHub发布2020年开发者报告

    GitHub根据标记有该语言的公共和私有存储库的唯一贡献者数量进行排名。 ? 其中,TypeScript的受欢迎程度急剧攀升。...2020 年,开发者做了更多的工作,存储库的创建数量比上一年增长了 35%。而疫情爆发的爆发刺激了用户每天GitHub上创建问题。...所有存储库中的问题创建率都有所增加,其中最大的增长出现在由免费开发人员和付费团队帐户的存储库中。...与此同时,报告还指出,开源软件中的大多数错误都不是恶意的。取而代之的是,GitHub发出的警报中有83%是由错误和人为错误引起的——尽管这些错误仍然有可能被出于恶意目的人员利用。...GitHub表示,项目开发人员、维护人员和用户应定期检查其依赖项是否存在漏洞,并应考虑实施自动警报以更有效,更快速地解决安全问题。

    47320

    使用GithubActions自动部署Hexo

    首先获取远程仓库地址,此处虽然 SSH 和 HTTPS 均可。SSH 在绑定过 ssh key 的设备上无需再输入密码,HTTPS 则需要输入密码,但是 SSH 偶尔会遇到端口占用的情况。...这里之所以是私有仓库,是因为在接下来的配置中会用到 Token,如果 Token 被盗用,别人可以肆意操作你的 github 仓库内容,为了避免这一风险,才选择的博客源码闭源。... }} 由Github操作更新" 重新设置远程仓库和分支 删除或者先把[Blogroot]/themes/butterfly/.git移动到非博客文件夹目录下,原因是主题文件夹下的.git 文件夹的存在会导致其被识别成子项目...(不禁怀疑真的有人会去用这个方式来升级吗) 添加屏蔽项 因为能够使用指令进行安装的内容不包括在需要提交的源码内,所有我们需要将这些内容添加到屏蔽项,表示不上传到 github 上。...若是遇到添加屏蔽项,但是还是无法正常上传主题文件夹的情况。请先将本地源码中的 themes 文件夹移动到别的目录下。然后 commit 一次。

    37130

    一文读懂jar上传至Maven中央仓库

    优点 全局可用性: 一旦你的Jar包被上传到Maven中央仓库,任何使用Maven、Gradle或其他兼容工具的开发者都可以轻松地添加你的库作为依赖项。这大大提高了软件包的可发现性和使用量。...意味着你必须非常谨慎地进行版本管理,因为一旦发布,错误的版本会永久存在。 隐私和版权问题: 所有发布到Maven中央仓库的库都是公开的。.../ScorpioAeolus/distribute-uid.git scm:git:ssh://git@github.com:...我们新建一个maven项目,在pom中添加依赖: io.github.scorpioaeolus ...: 五、总结 对于一些工具性的组件,发布到maven中央仓库,来解决私有仓库搭建和存储成本,实现随时随地随处使用,是一个不错的选择,然而万事有利有弊,如果项目中涉及到隐私和知识产权问题,甚至是公司或者团队内部的私有财产

    1.1K10

    GitHub发布重大更新,关系到所有程序员!

    更甚者,我们正在从事的两个开发工作环境彼此之间存在冲突。Codespaces 为我们提供了一个集成在 GitHub 中,功能完全的云端开发环境,让我们能够即刻为一个项目贡献代码。 ?...2.2.2搬砖(写代码)不妥协 在浏览器中即可实现从写代码、编译、测试、调试到部署的完整开发体验。 ? 2.2.3简化工作流程 自动设置依赖环境和 SSH 秘钥。...3.Code scanning 和 Secret scanning 为了提高安全性,GitHub 还宣布了两项新功能,分别是 Code scanning 和 Secret scanning。...而 Secret scanning 则是针对私有代码库,它可以观察私有代码库中是否存在已知的秘密格式,如果发现有秘密格式,就会对开发者进行识别。 ?...最后,GitHub 宣布为其企业客户推出私有实例。 私有实例提供了许多好处,包括增强的安全性、合规性和策略功能,以及自带密钥加密、备份存档和符合区域数据主权要求等。

    1.1K30

    大规模运行MPI应用

    每一个计算节点可能是一个CVM云服务器,一台黑石物理机,或者一个Docker容器。作业运行于计算环境中,由一个或多个具有前后依赖关系的任务组成。一个作业就是一个基本的工作流。...安装Linux MPI开发和运行相关的安装包、库和工具。 禁止SSH远程主机的公钥检查。 准备数据,并使用迁移工具上传至对象存储或文件存储(如图1第①步所示) 使用空密码短语生成SSH秘钥对。...调用Batch计算环境接口创建资源池(如图1第②步所示) 创建安全组,配置网络访问控制,允许SSH端口访问。 推荐使用私有网络,不同计算环境之间网络空间逻辑隔离。...如图1第④步所示,利用计算环境存储映射重定向MPI子任务标准输出和标准错误到“data”目录。...主任务完成后,如图1第⑦步所示,利用任务存储映射重定向MPI主任务标准输出和标准错误到第三方存储stdout和stderr目录。 如图1第⑨步所示,用户可登陆到任意计算节点,完成程序调试和性能诊断。

    2.2K60

    使用 NextCloud + COS 搭建个人网盘

    NextCloud 的服务端采用 PHP 编写,底层存储默认保存在服务器的本地硬盘中。...注意:将现有 NextCloud 服务端实例从本地存储更改为使用腾讯云对象存储可能导致已有的文件不可见。...此外,NextCloud 还依赖 PHP 的部分扩展模块,下文将详细介绍具体的扩展模块要求。 5. 腾讯云网络环境 腾讯云目前提供基础网络和私有网络(VPC)环境。...单击【加购对象存储 COS 资源包】,根据下表说明进行配置: 配置项 值 资源包类型 标准存储容量 地域类型 根据 CVM 所属地域选择 规格 根据预估在网盘中存储的数据量进行购买,COS 资源包可以叠加...展开【存储与数据库】,根据下表说明进行配置: 配置项 值 数据名录 /var/www/nextcloud/data(保持默认) 配置数据库 MySQL/MariaDB 数据库用户 root 数据库密码

    4.6K61

    2021 年 25 大 DevOps 工具(上)

    当存在主机依赖关系时,Chef 的表现非常出色。它能获取系统的状态(包、现有用户、目录等),并将它们与代理的实时实例进行比较,并确保对象保持同步。...如果有充足预算,且主要任务包括设置固定数量的构建代理,以便用存储库快照和工件依赖项轻松建立并行构建链,那TeamCity 将非常合适。TeamCity 也有非常可靠的文档。...GitHub 的主要优势包括:易操作的 UI、智能功能如意外删除的存储库恢复功能、 防止成品删除、集成多样化和安全性。GitHub 几乎没有中断或停机,这使得它非常可靠。...GitHub 让你能更好地控制 CI/CD 过程。 但是,GitHub 只为每个存储库最多3个协作者提供免费的私人存储库。...GitLab 免费且开源,并提供无限数量的免费私人存储库。 GitLab 还允许你安装私有实例,还提供容器注册服务。

    3.3K10

    利用 npm 的缺陷,他获得了 130,000 美元的赏金

    一些包管理工具,比如说 Python 的 pip,Node.js 的 npm,Java 的 maven,可以从开源的仓库下载软件包,同时自动管理依赖项。...上图中标红色的部分,是 PayPal 内部使用的 npm 软件包,由公司内部使用和存储。看到这一点,Birsan 想知道,这些软件包是私有的,如果在公共 npm 存储库中存在同名的软件包会怎么样?...为了检验这个假设,Birsan 开始寻找一些私有内部软件包的名称,这可以在 GitHub 仓库或知名公司的 CDN 中的清单文件中找到,这些软件包在公共开放源代码仓库中是不存在的。...然后,Birsan 在开源存储库(例如 npm,PyPI 和 RubyGems)上使用相同的名称创建伪造项目。...结果发现,这些包管理工具会优先下载公共存储库上的软件包,如果不指定软件包的版本号,则优先下载高版本的软件包。

    75120

    如何在CoreOS集群上使用CloudSlang清理Docker环境

    如果您的应用程序有许多新的Docker镜像版本,它们可以轻松地存储在服务器存储上;如果您不时清除旧的或未使用的镜像,则服务器可能会耗尽磁盘空间。...cslang/lib包含应用程序的必要依赖项。 content,其中包含现成的CloudSlang内容。...--i指定流输入:CoreOS主机和用户名,以及关联的私有SSH密钥。--cp当流依赖于其他操作和流时指定类路径。...因为这个流有许多不同的依赖关系,我们可以指定父文件夹content; 扫描是递归的,因此也扫描了子目录。 流逻辑首先从集群中检索机器的IP地址,然后遍历机器并清除未使用的镜像。...在我们的例子中,流结果将是SUCCESS(这意味着未在集群中清除了未使用的Docker镜像)或FAILURE(这意味着出现了错误)。

    1.1K00

    基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践和原则

    因为在 MongoDB 中,一个聚合对象(包括子集合)被保存在数据库中的一个集合中,而在关系型数据库中,它被分布在数据库中几个表中。...然而,实际却存在一个问题。在现实生活中,一个角色可能被分配给数以千计(甚至数以百万计)的用户,每当你从数据库中查询一个角色时,加载数以千计的数据项是一个重大的性能问题。...另一方面,例如:在MongoDB中,你根本不需要为子集合实体定义主键,因为它们是作为聚合根的一部分来存储的。 聚合根/实体构造函数 构造函数是实体的生命周期开始的地方。...实体中业务逻辑需要用到外部服务 当业务逻辑只使用该实体的属性时,在实体方法中实现业务规则是很简单的。如果业务逻辑需要查询数据库或使用任何应该从依赖注入系统中获取的外部服务时,该怎么办?...有两个方式实现: 在实体方法上实现业务逻辑,并将外部依赖项作为方法的参数。 创建领域服务(Domain Service) 领域服务在后面介绍,现在让我们看看如何在实体类中实现它。

    3.1K30
    领券