CIDRAM

流量安全管控工具
授权协议 GPL
开发语言 PHP
所属分类 管理和监控、 DevOps/运维工具
软件类型 开源软件
地区 国产
投 递 者 师冥夜
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

1. 前言

CIDRAM (无类别域间路由访问管理器)是一个PHP脚本,旨在保护网站途经阻止请求该从始发IP地址视为不良的流量来源,包括(但不限于)流量该从非人类的访问端点,云服务,垃圾邮件发送者,网站铲运机,等等。它通过计算CIDR的提供的IP地址从入站请求和试图匹配这些CIDR反对它的签名文件(这些签名文件包含CIDR的IP地址视为不良的流量来源);如果找到匹配,请求被阻止。

CIDRAM COPYRIGHT 2013 and beyond GNU/GPLv2 by Caleb M (Maikuolan)。

本脚本是基于GNU通用许可V2.0版许可协议发布的,您可以在许可协议的允许范围内自行修改和发布,但请遵守GNU通用许可协议。使用脚本的过程中,作者不提供任何担保和任何隐含担保。更多的细节请参见GNU通用公共许可证,下的LICENSE.txt文件也可从访问:

现在CIDRAM的代码文件和关联包可以从以下地址免费下载GitHub

2. 如何安装

我可能在将来会创建一个安装程序来简化安装过程,但在之前,按照下面的这些安装说明能在大多数的系统和CMS上成功安装:

1) 在阅读到这里之前,我假设您已经下载脚本的一个副本,已解压缩其内容并保存在您的机器的某个地方。现在,您要决定将脚本放在您服务器上的哪些文件夹中,例如/public_html/cidram/或其他任何您觉得满意和安全的地方。上传完成后,继续阅读。。

2) 重命名config.ini.RenameMeconfig.ini(位于内vault),和如果您想(强烈推荐高级用户,但不推荐业余用户或者新手使用这个方法),打开它(这个文件包含所有CIDRAM的可用配置选项;以上的每一个配置选项应有一个简介来说明它是做什么的和它的具有的功能)。按照您认为合适的参数来调整这些选项,然后保存文件,关闭。

3) 上传(CIDRAM和它的文件)到您选定的文件夹(不需要包括*.txt/*.md文件,但大多数情况下,您应上传所有的文件)。

4) 修改的vault文件夹权限为“755”。注意,主文件夹也应该是该权限,如果遇上其他权限问题,请修改对应文件夹和文件的权限。

5) 接下来,您需要为您的系统或CMS设定启动CIDRAM的钩子。有几种不同的方式为您的系统或CMS设定钩子,最简单的是在您的系统或CMS的核心文件的开头中使用requireinclude命令直接包含脚本(这个方法通常会导致在有人访问时每次都加载)。平时,这些都是存储的在文件夹中,例如/includes/assets/functions等文件夹,和将经常被命名的某物例如init.phpcommon_functions.phpfunctions.php。这是根据您自己的情况决定的,并不需要完全遵守;如果您遇到困难,访问CIDRAM支持论坛和发送问题;可能其他用户或者我自己也有这个问题并且解决了(您需要让我们您在使用哪些CMS)。为了使用requireinclude,插入下面的代码行到最开始的该核心文件,更换里面的数据引号以确切的地址的loader.php文件(本地地址,不是HTTP地址;它会类似于前面提到的vault地址)。(注意,本人不是PHP程序员,关于这一段仅仅是直译,如有错误,请在对应项目上提交问题更正)。

保存文件,关闭,重新上传。

-- 或替换 --

如果您使用Apache网络服务器并且您可以访问php.ini,您可以使用该auto_prepend_file指令为任何PHP请求创建附上的CIDRAM。就像是:

auto_prepend_file = "/user_name/public_html/cidram/loader.php"

或在该.htaccess文件:

php_value auto_prepend_file "/user_name/public_html/cidram/loader.php"

6) 这就是一切! :-)

3. 如何使用

CIDRAM 应自动阻止不良的请求至您的网站,没有任何需求除了初始安装。

更新是手工完成,和您可以定制您的配置和您可以定制什么CIDR被阻止通过修改您的配置文件和/或您的签名文件.

如果您遇到任何假阳性,请联系我让我知道这件事。

 相关资料
  • 缺省情况下,启用了Istio的服务是无法访问外部URL的,这是因为Pod中的iptables把所有外发传输都转向到了Sidecar代理,而这一代理只处理集群内的访问目标。 本节内容会描述如何把外部服务提供给启用了Istio的客户端服务使用,你会学到如何使用Egress规则访问外部服务,或者如何简单的让特定IP范围穿透Istio代理。 开始之前 遵循安装指南设置Istio 启动sleep示例,用于测

  • 如控制Egress流量告诉我们可以从服务网格内部应用访问外部(指在Kubernetes外的服务)的 HTTP 和 HTTPS 服务。默认情况下,支持 istio 的应用程序无法直接访问集群外部的 URL 。要启用这种访问,必须先定义 Egress 规则或者配置直接调用外部服务规则。 此任务描述如何配置 Istio 内应用如何访问 Istio 外部的应用。 开始之前 遵循安装指南设置Istio 启动

  • 此任务将演示如何通过配置Istio将服务发布到service mesh集群外部。在Kubernetes环境中,Kubernetes Ingress Resources 允许用户指定某个服务是否要公开到集群外部。然而,Ingress Resource规范非常精简,只允许用户设置主机,路径,以及后端服务。下面是Istio ingress已知的局限: Istio支持不使用annotation的标准Kub

  • 这一任务演示istio对流量进行镜像复制的能力。流量镜像是一个有力的工具,在业务团队对生产系统进行变更的过程中,这一能力能够有效的降低风险。流量镜像功能可以对实时流量进行复制,将这一副本发送给镜像服务,并把主服务的关键请求路径放到带外。 Mirroring brings a copy of live traffic to a mirrored service and happens out of

  • 本任务将演示如何将应用流量逐渐从旧版本的服务迁移到新版本。通过Istio,可以使用一系列不同权重的规则(10%,20%,··· 100%)将流量平缓地从旧版本服务迁移到新版本服务。为简单起见,本任务将采用两步将流量从reviews:v1 迁移到 reviews:v3,权重分别为50%,100%。 开始之前 参照文档安装指南中的步骤安装Istio。 部署BookInfo示例应用程序。 请注意:本文档

  • 面试总结: 面试岗位:测试工程师 面试日期:2022.11.1 面试时间:约30分钟 面试流程: 一、自我介绍 二、根据项目内容提问了一个相关问题 三、怎么理解软件测试工作?为从事测试行业做了哪些准备? 从开发流程、测试流程上说了软件测试的重要性;简要说明了不同测试阶段的测试用例设计方法(白盒 黑盒等); 准备:学习了测试环境的搭建和一些常用测试工具与测试框架的使用等 四、在linux系统中,如果