Relay

网站漏洞渗透测试项目复检分析

拥有回忆 提交于 2019-11-30 12:52:48
最近我们Sinesafe参加的几家机构的渗透测试防守方防护方案评估复查,部分防守方缺乏对攻击者的正确认知,攻击者的手法已经比较高超了,不扫描,不落地,污染日志等都很普及了。同时也要正确认知对手:攻防演练中,攻击者并非无所不能,他们面临着和防御方一样的问题:时间紧,任务重。所以攻击者的攻击目标,攻击手法也是有迹可循的,知己知彼才能百战百胜。 渗透测试 一、知彼 攻击者也是讲成本的,因此防守方最好的策略是:做的比其他防守方好一点点即可。好一点的含义:不在低级问题上犯错(弱密码、互联网应用远程RCE、管理后台暴露、重要服务器未打补丁等)。对于“时间紧、任务重”的防守方来说,修建固若金汤的防线显然意味着大成本投入,以及最紧缺的时间,因此本文不会面面俱到,只选择性价比高值得快速投入的安全措施和大家分享。 攻击者一般: 目标明确、步骤清晰、控制成本、反检测,反清理、三流分立。 目标明确: 攻击者只攻击得分项,和必要路径(外网入口,内网立足点),对这些目标采取高等级手段,会隐蔽操作;对非必要路径顺路控制下来的服务器,并不怕被发现,用起来比较随意,甚至主动制造噪音,干扰防守方。 步骤清晰:信息收集-控制入口-横向移动-维持权限-攻击目标系统。每一步都是经典操作和教科书式手法。 控制成本: 优先攻击高权限账号,如管理员,目标系统负责人账号; 优先攻击运维/安全人员账号和终端

网站漏洞渗透测试项目复检分析

谁说胖子不能爱 提交于 2019-11-30 12:51:32
最近我们Sinesafe参加的几家机构的渗透测试防守方防护方案评估复查,部分防守方缺乏对攻击者的正确认知,攻击者的手法已经比较高超了,不扫描,不落地,污染日志等都很普及了。同时也要正确认知对手:攻防演练中,攻击者并非无所不能,他们面临着和防御方一样的问题:时间紧,任务重。所以攻击者的攻击目标,攻击手法也是有迹可循的,知己知彼才能百战百胜。 渗透测试 一、知彼 攻击者也是讲成本的,因此防守方最好的策略是:做的比其他防守方好一点点即可。好一点的含义:不在低级问题上犯错(弱密码、互联网应用远程RCE、管理后台暴露、重要服务器未打补丁等)。对于“时间紧、任务重”的防守方来说,修建固若金汤的防线显然意味着大成本投入,以及最紧缺的时间,因此本文不会面面俱到,只选择性价比高值得快速投入的安全措施和大家分享。 攻击者一般: 目标明确、步骤清晰、控制成本、反检测,反清理、三流分立。 目标明确: 攻击者只攻击得分项,和必要路径(外网入口,内网立足点),对这些目标采取高等级手段,会隐蔽操作;对非必要路径顺路控制下来的服务器,并不怕被发现,用起来比较随意,甚至主动制造噪音,干扰防守方。 步骤清晰:信息收集-控制入口-横向移动-维持权限-攻击目标系统。每一步都是经典操作和教科书式手法。 控制成本: 优先攻击高权限账号,如管理员,目标系统负责人账号; 优先攻击运维/安全人员账号和终端

X030-XB-AAAAXXX

隐身守侯 提交于 2019-11-30 12:13:53
martens STL50-1-1R-5 24VDC Martens STL50-1-1R-5-00 ODU 080-000-051-000-000 ODU 080-000-051-101-000 fandid FPF20KGU230B-110 风扇 Fandis FPF20KGU230B-110 MTS RFM600MD601A01 FUCHS MKF MPF7 jungmichel SIZ30P3SE+24VDC=1/O1=2/GRD=3/O2=4/PIN=5 双张检测器 E+H RN221N-A3 信号隔离器 KEB G43ADM71G4 SELISKO RK200/310-110 Coaxial-RELAY CX540D LUMBERG RSC 4/7 Hydrower SHY-E4-W2 AUTOMATIC VALVE L2003CBADA-V AUTOMATIC VALVE L2003CBADA ABL Sursum Multifunktionsrelais STU2W ABL Sursum Multifunktionsrelais MRU1W ELECTRONICON E62.C58-471E10 Electronicon 1030064 0,47F 1200Vac 30x58 A ELECTRONICON E50.N13-424N50/P Electronicon

ES6 Fat Arrow and Parentheses `(…) => ({…})` [duplicate]

瘦欲@ 提交于 2019-11-30 10:04:38
This question already has an answer here: ECMAScript 6 arrow function that returns an object 5 answers I've been working through some Graph QL/React/Relay examples and I ran into some strange syntax. When defining the fields in Graph QL Objects the following syntax is used: const xType = new GraphQLObjectType({ name: 'X', description: 'A made up type for example.', fields: () => ({ field: {/*etc.*/} }) }); From what I gather this is just defining an anonymous function and assigning it to xType.fields. That anonymous function returns the object containing the field definitions. I'm assuming

mysql5.7.26 基于GTID的主从复制环境搭建

别等时光非礼了梦想. 提交于 2019-11-29 08:17:47
mysql5.7.26 基于GTID的主从复制环境搭建 时间:2019-09-06 16:10:21 阅读:20 评论:0 收藏:0 [点我收藏+] 标签: connect user dump eve linu 安装mysql 基于 logs io线程 简单工作原理: (1)从库执行 change master to 语句,会立即将主库信息记录到master.info中 (2)从库执行 start slave语句,会立即生成IO_T和SQL_T (3)IO_T 读取master.info文件,获取到主库信息 (4)IO_T 连接主库,主库会立即分配一个DUMP_T,进行交互 (5)IO_T 根据master.info binlog信息,向DUMP_T请求最新的binlog (6)主库DUMP_T,经过查询,如果发现有新的,截取并反回给从库IO_T (7)从库IO_T会收到binlog,存储在TCP/IP缓存中,在网络底层返回ACK (8)从库IO_T会更新master.info ,重置binlog位置点信息 (9)从库IO_T会将binlog,写入到relay-log中 (10)从库SQL_T 读取Relay-log.info 文件,获取上次执行过的位置点 (11)SQL_T按照位置点往下执行relaylog日志 (12)SQL_T执行完成后,重新更新relay-log.info

Mysql-复制概述(一)

风流意气都作罢 提交于 2019-11-29 07:04:29
1.复制的概述 Mysql支持两种复制方式,基于行的复制和基于语句的复制。 这两种方式都是通过在主库上记录二进制日志、在备库重放日志的方式来实现异步的数据复制。 在同一时间点备库上的数据可能与主库存在不一致,并且无法保证主备之间的延迟。 复制通常不会增加主库的开销,主要是启用二进制日志带来的开销,但是出于备份或及时从崩溃中回复的目的,这点开销是必要的。 通过复制可以将读操作指向备库来获得更好读读扩展。写操作一般都是在主库上写。在一主库多备库读架构中,写操作会被执行多次,这时候整个系统读性能取决于写入最慢读那部分。 常见读复制方案: 主 -备 -备:一个备库从主库copy数据,其余读备库从备库中copy数据。 主- 备 :所有读备库从主库中copy数据。 2.复制解决读问题 数据分布:将数据分布在不同读数据中心中。 负载均衡:通过Mysql复制可以将读操作分布到多个服务器上,实现对密集型应用对优化,并且实现很方便,通过简单对代码修改就能实现基本对负载均衡。 备份:复制是备份对补充,但复制不是备份也不能取消备份。 高可用性和故障切换:避免单点失败,设计良好但故障切换 MySql 升级测试:保证读写的按预期实现。 3.复制如何工作 3.1 在主库上把数据更改记录到二进制日志(Binary Log)中。 3.2 备库将主库的日志复制到自己的中继日志(Relay Log)中。 3.3

Switching Masters During Failover

孤街浪徒 提交于 2019-11-29 06:03:16
#### 目的 复制环境中 master 宕机,提升一台 slave(slave1) 作为新的 master ####演示环境 master slave1 slave2 slave3 #### 前提条件 所有 slave 都具备如下配置 开启 --log-bin 关闭 --log-slave-updates (如果 slave 开启了这个参数,会导致在它成为 master 之后,将他收到的 binlog 传给其他 slave ) #### 切换流程 1. 在所有 slave 上执行 1.1 stop slave io_thread; 然后查看 SHOW PROCESSLIST 输出,确保提示 Has read all relay log,这时候就可以选新 master 了。 2. 在新主 slave1 上执行 2.1 stop slave ; 2.2 reset master ; 3. 在其他从库 slave2 和 slave3 上执行 3.1 stop slave ; 3.2 change master to master_host='slave1'(还有 user,password,port,不需要指定 MASTER_LOG_FILE 和 MASTER_LOG_POS ); 3.3 start slave ; 4. 老 master 恢复后 4.1. 将老 master

MySQL Replication 梳理详解

早过忘川 提交于 2019-11-29 04:41:16
MySQL Replication 1 MySQL5.5以前的复制 异步、SQL线程串行化回放 MySQL内建的复制功能是构建大型,高性能应用程序的基础。主服务器将更新写入二进制日志文件,从服务器重新执行一遍来实现的 1.1 MySQL支持的复制类型   基于语句的复制: 在主服务器上执行的SQL语句,在从服务器上执行同样的语句。MySQL默认采用基于语句的复制,效率比较高。 MySQL 5.0及之前的版本仅支持基于语句的复制(也叫做逻辑复制,logical replication),这在数据库并不常见。master记录下改变数据的查询,然后,slave从中继日志中读取事件,并执行它,这些SQL语句与master执行的语句一样。 这种方式的优点就是实现简单。此外,基于语句的复制的二进制日志可以很好的进行压缩,而且日志的数据量也较小,占用带宽少——例如,一个更新GB的数据的查询仅需要几十个字节的二进制日志。而mysqlbinlog对于基于语句的日志处理十分方便。 但是,基于语句的复制并不是像它看起来那么简单,因为一些查询语句依赖于master的特定条件,例如,master与slave可能有不同的时间。所以,MySQL的二进制日志的格式不仅仅是查询语句,还包括一些元数据信息,例如,当前的时间戳。即使如此,还是有一些语句,比如,CURRENT USER函数,不能正确的进行复制。此外

DM 源码阅读系列文章(六)relay log 的实现

被刻印的时光 ゝ 提交于 2019-11-29 04:04:57
作者:张学程 本文为 DM 源码阅读系列文章的第六篇,在 上篇文章 中我们介绍了 binlog replication 处理单元的实现,对在增量复制过程中 binlog event 的读取、过滤、路由、转换以及执行等逻辑进行了分析。 本篇文章我们将会对 relay 数据处理单元的实现进行详细的讲解。这个单元的作用是从上游 MySQL/MariaDB 读取 binlog event 并写入到本地的 relay log file 中;当执行增量复制任务时,binlog replication 处理单元将读取 relay log file 中的 event 并在进行解析后复制到下游的 TiDB 中。本篇文章的内容包括 relay log 目录结构定义、relay log 数据的处理流程、主从切换支持、relay log 的读取等逻辑。 值得注意的是,由于我们近期正在对 relay 处理单元进行重构,因此源码中会同时包含重构前后的相关代码实现。 relay log 目录结构 一个已经进行过一次主从切换的 relay log 目录结构大致如下: <deploy_dir>/relay_log/ |-- 7e427cc0-091c-11e9-9e45-72b7c59d52d7.000001 | |-- mysql-bin.000001 | |-- mysql-bin.000002 | |--

DM 源码阅读系列文章(十)测试框架的实现

一笑奈何 提交于 2019-11-29 04:04:29
作者:杨非 本文为 DM 源码阅读系列文章的第十篇,之前的文章已经详细介绍过 DM 数据同步各组件的实现原理和代码解析,相信大家对 DM 的实现细节已经有了深入的了解。本篇文章将从质量保证的角度来介绍 DM 测试框架的设计和实现,探讨如何通过多维度的测试方法保证 DM 的正确性和稳定性。 测试体系 DM 完整的测试体系包括以下四个部分: 1. 单元测试 主要用于测试每个 go 模块和具体函数实现的正确性,测试用例编写和测试运行方式依照 go 单元测试的标准,测试代码跟随项目源代码一起发布。具体测试用例编写使用 pingcap/check 工具包,该工具包是在 go 原生测试工具基础上进行的扩展, 按照 suite 分组进行测试 ,提供包括更丰富的检测语法糖、并行测试、序列化测试在内的一些扩展特性。单元测试的设计出发点是白盒测试,测试用例中通过尽可能明确的测试输入得到期望的测试输出。 2. 集成测试 用于测试各个组件之间交互的正确性和完整数据同步流程的正确性,完整的 测试用例集合和测试工具在项目代码的 tests 目录 发布。集成测试首先自定义了一些 DM 基础测试工具集 ,包括启动 DM 组件,生成、导入测试数据,检测同步状态、上下游数据一致性等 bash 脚本,每个测试用例是一个完整的数据同步场景,通过脚本实现数据准备、启动 DM 集群、模拟上游数据输入、特定异常和恢复