pbx指标源码(pbx指标使用技巧)
ISMS
ISMS是组织开展并改进安全工作的系统的一套思路、方法。(PDCA)
项目准备
项目范围确定
- 组织部门
- 无理地点
- IT资源
初次做不建议做特别大,尽量周期比较快
项目的组织
- 高管
- 重点参与部门
- 协作部门
项目沟通机制
- 高层领导
- 各个部门
ISMS实施注意事项
现状调研
首先
- 业务特征、组织结构及职责
- 组织文化与管控模式
其次
- IT规划、IT制度文件、IT基础设施资料、IT应用系统资料、IT运维程序等
- 信息安全与相关的政策、策略、程序、记录及相关报告
现状
- 控制措施有没有
- 是否充分
- 是否有效
期望
调研方式
- 文档审查
- 问卷调查
-
人员访谈
- 覆盖面
- 访谈提纲
- 现场走查必要性
- 技术评估
调研的范围不宜过大,时间跨度不宜过长
调研内容不仅14个域和114个控制项
把握访谈时间
访谈纪要
是否有补偿控制
调研报告的内容与形式:先写总结。领导一般就看看总结
风险管理
风险管理是信息安全的基础
基于资产的风险评估
资产评估与资产价值
- 分类的意义
- 关于人员、服务、无形资产
- 资产相对价值的确定
资产的意义
资产价值不同不能划为同一资产组
评估的不同层次与方法
层次
- 战略与治理
- 组织与管理
- 项目执行
- 日常运行方面
方法
- 基于详细资产
- 基于合规标准
- 基于应用系统
- 基于IT流程
- 基于数据分析
风险评估建议由客户主导,机构为辅
不要期望一次发现所有风险
前几次风险评估效果不佳是正常的
风险是动态的:需要风险监控
风险评估不是目的:需要进行风险处置
风险处置与安全规划
体系建立
SOA适用性声明
- 根据业务需求选择试用项
- 适用项最好映射到文件框架
文件框架
- 按照27001各个域来组织
- 按照企业的各个部门来组织
体系融合
- ISO2W
- CMMI
- ISO9001
- 等保
- 其他规范
制度文件最好自己写,乙方协助
并非越复杂越好,言简意赅最好
不要追求太完美
策略
- 方针、策略、政策
- 四级文件体系
- 正式发布
- 传达相关人
- 更新与评审
安全组织
- 没有最好的,只有适合的安全组织
- 安全处(部)≠安全组织
- 通常的安全组织形态
- 安全自责落实到部门和岗位(最好与考核指标相关联)
- 关注职责分离与补偿控制
- 与外部机构建立联系(政府机构、监管机构、安全厂商、服务商、协会、论坛)
密码管理
- 分析针对哪些信息在什么环节采用密码保护
- 选择密码算法要考虑合规性(对称、非对称、哈希)
- 选择第三方或自建CA中心
- 针对密钥管理
人力资源安全
任用前
- 安全职责包含在岗位说明中
- 背景调查的必要性及成本控制
- 劳动合同中的条款与保密协议
任用中
- 入职培训时强调安全政策
-
制定一个提升人员安全意识和能力的计划
- 针对安全从业人员提供专业培训
- 针对安全联络员开展必要的技能培训
- 针对全员开展安全意识宣教工作
- 处理好全体员工开展安全意识宣教工作
开展网络安全意识和教育工作
网络安全法案
人是最薄弱的环节——社会工程学
安全培训≠意识宣教工作
安全意识宣教是安全投入性价比最高的
要系统、生动、持之以恒
任用变更与离职
- 违规处理的必要性
- 违规处理需要结合具体情况而定
- 注意权限蔓延问题
- 信息资产回收
- 账号与权限及时清除
- 强调保密责任,竞业限制协议
访问控制
原则
- 访问控制的申请与授权
- 知所必须
- 最小特权
- 职责分离
- 针对管理员实施安全控制
- 阶段性进行检查
内容
- 身份识别
- 身份验证(鉴别)
- 授权管理
- 审计
范围
- 网络
- 应用、中间件、数据库
- 主机
- 终端、移动智能设备
- 物理
综合信息资产分类分级、在不同层面上建立访问控制策略
删除或禁用不必要的实用工具软件
对于源代码的控制
通过技术手段落实口令策略!!!!!!
身份管理解决方案的难点(4A)
通信安全
网络管理安全性
- 网络协议
- 网络流量
- 网络设备
- 人员管理
网络服务安全性
- 接入服务
- 网络运维服务
- 安全服务
网络隔离
- 内外网隔离
- WLAN划分
- 准入控制
信息传输安全
- site to site VPN
- SSL VPN
- 信息交换
网络安全控制
- 下一代防火墙、WAF
- 网闸、信息交换系统
- 防垃圾邮件、病毒网关、UTM
- 网络沙箱、防APT攻击
- 上网行为管理、非法外联检测
- IDS/IPS、攻击诱捕(蜜罐)
- 抗DDOS
无限安全
- 安全配置
- 热点检测
- IDS/IPS
传统通信
- PBX
- 电话
- 传真
操作安全
文件操作规程
- 三四级文件
变更流程
- 有变更走流程
容量管理
开发、测试和运行环境分离
防恶意代码
- 终端、移动设备、服务器
安全配置
- 建立安全配置基线
备份
- 与灾难恢复一起考虑
日志
- 日志保护
时钟同步
- 设置时钟服务器
限制软件安装
- 建立软件白名单
安全检查审计
- 基线配置
- 权限
- 违规操作
- 后续处理
管理漏洞
- 漏扫工具
- 漏洞挖掘
- 补丁流程
监控
- 威胁情报
- 态势感知
- 事件处理
物理安全
物理安全范畴
- 物理位置选择
- 建造安全
- 场所周边安全
- 内部区域划分与控制
- 线缆安全
-
设备安全
- 场内设备
- 场外设备
- 无人值守设备
-
环境安全
- 雷击
- 火灾预防与扑灭
- 温湿度
- 通风
- 电力供应
- 防干扰
物理计划要素
- 通过威慑预防犯罪和破坏
- 通过使用延迟机制减少损失(多重控制措施)
- 犯罪或破坏检测
- 安全事故评估
- 物理安全事件响应
常见的控制措施
- 门
- 锁
- 玻璃
- 栅栏
- 照明
- 文件柜
- 保安
- 门禁系统
- CCTV
- 屏蔽线缆和机房
- 入侵检测系统
- 防雷击
- HVAC(暖通空调)
- 水灾、火灾探测器
- 灭火系统
- UPS和发电机(偶尔启动确定可用性)
- 场所撤离计划(需进行演练)
- 物理安全审计
信息系统获取,开发和运维
漏洞的成因
- 只关注功能实现,忽略安全需求
- 团队的安全开发经验欠缺
- 缺乏安全开发流程,或项目管理流程未包含安全机制
- 缺乏安全部署标准或部署
- 缺乏安全开发规范或安全开发规范没有融入项目
- 缺乏评审环节,没有人对交质量把关
- 缺乏上线、发布流程,未执行安全部署,验收审核
- 安全上缺少投入,寄希望于后期补救
安全开发过程SDL
- 安全需求
- 安全设计
- 安全编码
- 安全测试
- 安全上限
识别安全需求
-
业务特点
- 交易安全
- 防欺诈
- 合规需求
- 通用需求
-
威胁设计
- 威胁建模
- 攻击面缩减
-
安全开发
- 编码规范
-
安全测试
- 代码审核
- 模糊测试
-
安全发布
- 上线安全检查
- 渗透测试、众测
建立基本安全设计原则
建立安全开发环境
人
过程
技术
管理及监视外包开发
严格管理变更
保护测试数据
资产管理和供应关系
信息资产识别
建立信息资产分类分级标准
- 分类与分级的意义
- 简单性原则
- 是否与保密、商业秘密保护相结合
通过建立资产清单识别信息资产
- 明确所有者
建立信息资产管理流程
信息资产标记
- 物理资产贴标签
- 非结构化数据、结构化数据标记的问题
信息资产权限梳理
- 实施DLP的前提
介质管理
- 技术控制方法
- 管理的难点
- 介质在传输中的安全控制
- 介质的销毁
识别供应商
-
供应商服务
- ISP提供商
- 网络提供商
- 网络安全服务
- IT维护
- 支持服务
- IT设备外包和运行外包
- 管理与业务咨询顾问及审计师
- 开发人员和测试人员
- 清洁工、餐饮人员及其他外包服务支持人员
- 临时人员、学生实习及其他人员
供应商管理
- 针对供应商工作场景建立安全策略
-
其他注意事项
- 供应商分类与筛选
- 招投标管理、供应商协议
- 人员管理、变更管理、风险管理、应急管理
- 管理供应商服务交付
- 供应商评价
信息安全事件管理
事件响应是一种能力
-
事件响应的重要性
- 安全模型的演进
- 自适应的安全机构
-
事件响应能力的要素
- 最关键:人
- 技术、工具、流程、写作
事件管理
- 信息安全事件分类分级
- 应鼓励人员报告可疑事件
-
建立安全事件处理流程
- 预案-检测-评估-响应-恢复-总结
- 注意事件升级与汇报渠道
- 注意证据收集
- 注意多方协作
业务连续性
在业务连续性中考虑安全问题
管理恢复过程
- 确定灾难恢复时的安全服务需求和级别
- 确定信息安全服务恢复方案并落实
- 开发恢复计划并纳入到BCP/DRP中
- 在演练过程中检验信息安全服务恢复
符合性
- 法律法规、行业监管、组织要求、相关合同
- 符合性清单建立与维护
- 理解符合性要求落实到ISMS制度要求
- 针对相关记录、表单、电子日志等提供必要的保护
保护知识产权
- 识别组织相关版权、商标、专利
- 文件、邮件等增加声明或水印等
- 防止盗版软件、建立软件白名单
- 建立组织商业秘密规范
-
落实商业秘密保护
- DRM、DLP、云桌面≠DLP
- 数据安全、商业秘密保护项目成功的关键
保护隐私
- 确定负责人、识别隐私范围
- 建立组织内的隐私声明
- 落实隐私保护控制
- 内外部环境变化时开展隐私评估
- 大数据平台带来的新问题
符合性检查
- 多标准合规体系的必要性
- 针对集团行组织、建立信息安全管理工作平台的必要性
-
组织定期的安全检查
- 技术性检查(渗透测试、众测)
- 第三方审核
体系运行
试运行启动
- 制定详细的试运行计划
-
召开试运行启动会
- 组织级领导、各部门领导、及信息安全联络员
落实相关工作
- 基于前期现状调研发现的问题和风险评估的结果,落实处置计划
- 相关任务落实到部门和责任人
-
对于整改任务进行跟踪
- 配置基线、资产标签、物理安全区域
- 定期向管理小组汇报整改进展
- 各部门按照文件体系要求执行
- 反馈文件执行结果进行修订
体系测量
-
指定适合的测量指标
- 年度、季度、月、周
- 整体、部门、个人
- 指标的多或少
- 不能照搬别人的指标体系
- 指标不是一成不变的
- 指标必须要有数据来源
全员安全意识宣教
- 如何选择安全意识服务商
- 确定本年度安全意识宣教的内容与形式
- 针对管理层进行开展意识培训
- 开展安全意识宣传周
- 发放安全手册、安全台历
- 动画、宣传片、微电影、课件、电子期刊、知识图片
- 海报、易拉宝、展板、现场培训、测试系统
内审
内审的目的
- 验证安全控制的有效性,发现问题
- 确保ISMS体系正常运转
内审过程
- 计划
- 准备
- 实施
- 报告
- 跟踪
确定内审范围与时间
根据被审对象制定内审检查表
组件内审团队、进行内审培训、交叉审核
管理评审
- 纳入安全组织决策层职责中
- 评审的评率
- 评审的内容
- 管理评审报告
评审的内容
- 内部审核或外部审核的结果
- 以往管理评审的跟踪措施
- 有效性测量的结果
- 合规与隐私符合情况
- 安全任务完成的情况
- 重大安全事件及处理情况
- 风险评估结果及整改落实状况
- 信息安全管理体系的变更
- 业务变化引出新的安全需求
- 安全架构变化
- 安全预算及资源需求
认证
- 认证机构的选择(国际,国内)
- 认证的范围与证书
- 认证的费用
- 认证审核阶段
- 审核前的准备
现场审核注意事项
- 首末次会议
- 时间安排
- 审核陪同
- 后勤保障
- 面对不满足项
- 与审核员的关系
- 年度复审
环境拓扑:
Jenkins -192.168.1.30
Gitlab -192.168.1.31
LB -192.168.1.32
Web1 -192.168.1.33
Web2 -192.168.1.34
SonarQube -192.168.1.35
1.SonarQube基本概述
SonarQube官网:
https://www.sonarqube.org/
SonarQube是一个开源的代码质量管理系统,用于检测代码中的错误,漏洞和代码规范。它可以现有的Gitlab、Jenkins集成,以便在项目拉取后进行连续的代码检查。
2.使用SonarQube前提
- 1.SonarQube基于Java开发,所以需要安装open JDK8版本。
- 2.SonarQube需要依赖MySQL数据库,至少5.6版本以上。
- 3.SonarQube的小型实例至少需要4GB内存,如果是大型实例需要16GB。
3.SonarQube服务安装
-基础环境配置
[
] [ ] --永久关闭防火墙和Selinux [ ] [ ] [ ] [ ] [ ]
-安装下载SonarQube依赖工具
[root@SonarQube ~]# yum -y install net-tools git java unzip vim wget [root@SonarQube ~]# wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.0.zip [root@SonarQube ~]# wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.1.0.1829-linux.zip [root@SonarQube ~]# wget https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.6-community-el7-x86_64/mysql-community-client-5.6.45-2.el7.x86_64.rpm [root@SonarQube ~]# wget https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.6-community-el7-x86_64/mysql-community-common-5.6.45-2.el7.x86_64.rpm [root@SonarQube ~]# wget https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.6-community-el7-x86_64/mysql-community-libs-5.6.45-2.el7.x86_64.rpm [root@SonarQube ~]# wget https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.6-community-el7-x86_64/mysql-community-server-5.6.45-2.el7.x86_64.rpm [root@SonarQube ~]# ll 总用量 276940 -rw-r--r--. 1 root root 20515804 3月 15 11:12 mysql-community-client-5.6.45-2.el7.x86_64.rpm -rw-r--r--. 1 root root 263300 3月 15 11:12 mysql-community-common-5.6.45-2.el7.x86_64.rpm -rw-r--r--. 1 root root 2130748 3月 15 11:12 mysql-community-libs-5.6.45-2.el7.x86_64.rpm -rw-r--r--. 1 root root 62561972 3月 15 11:12 mysql-community-server-5.6.45-2.el7.x86_64.rpm -rw-r--r--. 1 root root 155709573 3月 15 11:12 sonarqube-7.0.zip -rw-r--r--. 1 root root 42392440 3月 15 11:12 sonar-scanner-cli-4.1.0.1829-linux.zip [root@SonarQube ~]# yum -y localinstall mysql-community-* #安装数据库相关软件包并解决依赖
sonarqube-7.0.zip下载
sonar-scanner-cli-4.1.0.1829-linux.zip下载
mysql-community-client-5.6.45-2.el7.x86_64.rpm下载
mysql-community-common-5.6.45-2.el7.x86_64.rpm下载
mysql-community-libs-5.6.45-2.el7.x86_64.rpm下载
mysql-community-server-5.6.45-2.el7.x86_64.rpm下载
-启动数据库,配置数据库连接密码并创建sonar库
[root@SonarQube ~]# systemctl start mysqld #启动mysql数据库 [root@SonarQube ~]# mysqladmin password 123qqq...A #配置mysql连接密码 [root@SonarQube ~]# mysql -uroot -p123qqq...A -e "create database sonar default character set utf8;" #创建sonar数据库并配置字符集为utf8 [root@SonarQube ~]# mysql -uroot -p123qqq...A -e "show databases;" #查看mysql数据库中所有的库 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sonar | +--------------------+
-解压安装SonarQube
[root@SonarQube ~]# ll sonarqube-7.0.zip -rw-r--r--. 1 root root 155709573 3月 15 11:12 sonarqube-7.0.zip [root@SonarQube ~]# unzip sonarqube-7.0.zip -d /usr/local/ #将sonarqube解压至/usr/local下 [root@SonarQube ~]# ln -s /usr/local/sonarqube-7.0/ /usr/local/sonarqube #配置sonarqube软链接 [root@SonarQube ~]# ll /usr/local/ #查看sonarqube目录 总用量 0 drwxr-xr-x. 2 root root 6 4月 11 2018 bin drwxr-xr-x. 2 root root 6 4月 11 2018 etc drwxr-xr-x. 2 root root 6 4月 11 2018 games drwxr-xr-x. 2 root root 6 4月 11 2018 include drwxr-xr-x. 2 root root 6 4月 11 2018 lib drwxr-xr-x. 2 root root 6 4月 11 2018 lib64 drwxr-xr-x. 2 root root 6 4月 11 2018 libexec drwxr-xr-x. 2 root root 6 4月 11 2018 sbin drwxr-xr-x. 5 root root 49 12月 3 19:51 share lrwxrwxrwx. 1 root root 25 3月 15 11:30 sonarqube -> /usr/local/sonarqube-7.0/ drwxr-xr-x. 11 root root 141 2月 2 2018 sonarqube-7.0 drwxr-xr-x. 2 root root 6 4月 11 2018 src
-修改SonarQube连接数据库配置文件
[root@SonarQube ~]# vim /usr/local/sonarqube/conf/sonar.properties ... 15 # The schema must be created first. 16 sonar.jdbc.username=root #连接数据库的username 17 sonar.jdbc.password=123qqq...A #连接数据库的密码 ... 23 #----- MySQL 5.6 or greater 24 # Only InnoDB storage engine is supported (not myISAM). 25 # Only the bundled driver is supported. It can not be changed. 26 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedSt atements=true&useConfigs=maxPerformance&useSSL=false #打开连接mysql数据库驱动,数据库在本机不做修改(即localhost:3306) ...
-启动SonarQube(必须使用普通用户才能正常启动)
[root@SonarQube ~]# useradd sonar #创建sonar普通用户 [root@SonarQube ~]# chown -R sonar:sonar /usr/local/sonarqube #给sonarqube程序目录授权 [root@SonarQube ~]# chown -R sonar:sonar /usr/local/sonarqube-7.0/ [root@SonarQube ~]# ll /usr/local/sonarqube-7.0/ 总用量 12 drwxr-xr-x. 8 sonar sonar 136 2月 2 2018 bin drwxr-xr-x. 2 sonar sonar 50 2月 2 2018 conf -rw-r--r--. 1 sonar sonar 7651 2月 2 2018 COPYING drwxr-xr-x. 2 sonar sonar 24 2月 2 2018 data drwxr-xr-x. 7 sonar sonar 150 2月 2 2018 elasticsearch drwxr-xr-x. 4 sonar sonar 40 2月 2 2018 extensions drwxr-xr-x. 9 sonar sonar 138 2月 2 2018 lib drwxr-xr-x. 2 sonar sonar 6 2月 2 2018 logs drwxr-xr-x. 2 sonar sonar 24 2月 2 2018 temp drwxr-xr-x. 9 sonar sonar 4096 2月 2 2018 web [root@SonarQube ~]# su - sonar -c "/usr/local/sonarqube/bin/linux-x86-64/sonar.sh start" #使用普通用户sonar启动sonarqube [root@SonarQube ~]# ss -antulp | grep :9000 #查看sonarqube运行端口 tcp LISTEN 0 25 :::9000 :::* users:(("java",pid=12784,fd=119))
-访问SonarQube并生成连接SonarQube的令牌(密码)
Windows访问时需配置域名解析(假域名)
4.Sonarqube插件管理
-安装SonarQube中文汉化插件
1.页面上找到Administration > Marketplace -->搜索框chinese,出现一个Chinese Pack,然后点击install。
2.界面会提示reset重启SonarQube,重启再次打开则为汉化。
手动安装中文汉化插件:
1.下载要安装的插件,该版本需要与您的 SonarQube 版本兼容。
2.将下载的插件jar包放入$
SONARQUBE_HOME/extensions/plugins中,并删除相同插件的其他版本。
3.重新启动您的 SonarQube 服务器。
[root@SonarQube ~]# wget https://github.com/xuhuisheng/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.20/sonar-l10n-zh-plugin-1.20.jar [root@SonarQube ~]# ll sonar-l10n-zh-plugin-1.20.jar -rw-r--r--. 1 root root 39062 12月 8 13:20 sonar-l10n-zh-plugin-1.20.jar [root@SonarQube ~]# mv sonar-l10n-zh-plugin-1.20.jar /usr/local/sonarqube/extensions/plugins/ [root@SonarQube ~]# chown -R sonar:sonar /usr/local/sonarqube/extensions/plugins/sonar-l10n-zh-plugin-1.20.jar [root@SonarQube ~]# ll /usr/local/sonarqube/extensions/plugins/ 总用量 36088 -rw-r--r--. 1 sonar sonar 92 2月 2 2018 README.txt -rw-r--r--. 1 sonar sonar 1460815 1月 29 2018 sonar-csharp-plugin-6.7.1.4347.jar -rw-r--r--. 1 sonar sonar 1618672 1月 29 2018 sonar-flex-plugin-2.3.jar -rw-r--r--. 1 sonar sonar 6813805 2月 2 2018 sonar-java-plugin-5.1.0.13090.jar -rw-r--r--. 1 sonar sonar 3373769 1月 29 2018 sonar-javascript-plugin-4.0.0.5862.jar -rw-r--r--. 1 sonar sonar 39062 12月 8 13:20 sonar-l10n-zh-plugin-1.20.jar -rw-r--r--. 1 sonar sonar 2774137 2月 2 2018 sonar-php-plugin-2.12.1.3018.jar -rw-r--r--. 1 sonar sonar 1509434 2月 2 2018 sonar-python-plugin-1.9.0.2010.jar -rw-r--r--. 1 sonar sonar 3625962 1月 29 2018 sonar-scm-git-plugin-1.3.0.869.jar -rw-r--r--. 1 sonar sonar 6680471 1月 29 2018 sonar-scm-svn-plugin-1.6.0.860.jar -rw-r--r--. 1 sonar sonar 1663416 2月 2 2018 sonar-typescript-plugin-1.5.0.2122.jar -rw-r--r--. 1 sonar sonar 7368250 1月 29 2018 sonar-xml-plugin-1.4.3.1027.jar [root@SonarQube ~]# su - sonar -c "/usr/local/sonarqube/bin/linux-x86-64/sonar.sh restart" Stopping SonarQube... Waiting for SonarQube to exit... Stopped SonarQube. Starting SonarQube... Started SonarQube.
-安装代码检查插件
系统界面安装不了的插件可以去Github找SonarQube版本对应的插件版本jar包下载下来手动安装
默认已经安装了C、Java、Python、Php、Js等代码的质量分析工具,可以根据项目自行安装html、css、go这些代码的质量分析工具。
注意:
一个项目如果使用了java、css、js、html等语言,那么默认情况下仅会检测java、js等代码的漏洞和bug,因为未安装另外2个语言的代码质量分析插件,所以不分析这2个语言的质量。
如果安装了html、css等插件,那么则会检查该项目代码中java、js、html、css等代码的漏洞和bug。
5.SonarQube项目分析实践
1.分析Html语言的项目
-安装sonar-scanner
项目依赖于sonar-scanner命令,所以需要安装sonar-scanner工具,SonarQube服务端只需要提供服务,代码质量分析需要在Jenkins上做,所以sonar-scanner工具安装在Jenkins服务器上。
[root@Jenkins ~]# ll sonar-scanner-cli-4.1.0.1829-linux.zip -rw-r--r-- 1 root root 42392440 3月 15 13:58 sonar-scanner-cli-4.1.0.1829-linux.zip [root@Jenkins ~]# unzip sonar-scanner-cli-4.1.0.1829-linux.zip -d /usr/local/ [root@Jenkins ~]# ln -s /usr/local/sonar-scanner-4.1.0.1829-linux/ /usr/local/sonar-scanner [root@Jenkins sonar-scanner]# ll 总用量 0 drwxr-xr-x 2 root root 54 9月 8 2019 bin drwxr-xr-x 2 root root 38 9月 8 2019 conf drwxr-xr-x 6 root root 68 9月 8 2019 jre drwxr-xr-x 2 root root 46 9月 8 2019 lib
-配置sonar-scanner客户端指向SonarQube服务端,以及认证的Token
[root@Jenkins sonar-scanner]# vim conf/sonar-scanner.properties #----- Default SonarQube server sonar.host.url=http://192.168.1.35:9000 #指明SonarQube的服务端 sonar.login=c47b75a7472252f85c5da08428b85e4d575219cf #添加刚才在SonarQube系统界面生成的Jenkins的token令牌(开启用户验证需要提前在SonarQube系统界面权限出开启“强制使用身份验证”,后面进行代码质量分析时可以不用在命令行添加token命令,因为配置文件已经写好了) #----- Default source code encoding sonar.sourceEncoding=UTF-8 #SonarQube字符集
-手动从Gitlab仓库获取代码,进入项目目录.使用sonar-scanner迸行代码扫描
[root@Jenkins sonar-scanner]# cd /var/lib/jenkins/workspace/freestyle-nongye #进入项目目录(html语言静态项目) [root@Jenkins freestyle-nongye]# /usr/local/sonar-scanner/bin/sonar-scanner -Dsonar.projectKey=html -Dsonar.sources=. -X #手动对项目代码进行质量分析扫描,项目代码路径为.当前路径下 17:03:30.633 INFO: Scanner configuration file: /usr/local/sonar-scanner-4.1.0.1829-linux/conf/sonar-scanner.properties 17:03:30.634 INFO: Project root configuration file: NONE 17:03:30.658 INFO: SonarQube Scanner 4.1.0.1829 17:03:30.658 INFO: Java 11.0.3 AdoptOpenJDK (64-bit) 17:03:30.658 INFO: Linux 3.10.0-862.el7.x86_64 amd64 17:03:30.802 DEBUG: keyStore is : 17:03:30.802 DEBUG: keyStore type is : pkcs12 17:03:30.802 DEBUG: keyStore provider is : 17:03:30.802 DEBUG: init keystore ... ... 17:03:30.803 DEBUG: init keymanager of type SunX509 17:03:30.949 DEBUG: Create: /root/.sonar/cache 17:03:30.958 INFO: User cache: /root/.sonar/cache 17:03:30.958 DEBUG: Create: /root/.sonar/cache/_tmp 17:03:37.869 INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report 17:03:37.869 INFO: More about the report processing at http://192.168.1.35:9000/api/ce/task?id=AX-M0Y1_K1PbXHMf8HZS 17:03:37.869 DEBUG: Report metadata written to /var/lib/jenkins/workspace/freestyle-nongye/.scannerwork/report-task.txt 17:03:37.870 DEBUG: Post-jobs : 17:03:37.872 INFO: Task total time: 5.981 s 17:03:38.003 INFO: ------------------------------------------------------------------------ 17:03:38.003 INFO: EXECUTION SUCCESS 17:03:38.003 INFO: ------------------------------------------------------------------------ 17:03:38.003 INFO: Total time: 7.398s 17:03:38.043 INFO: Final Memory: 7M/114M 17:03:38.043 INFO: ------------------------------------------------------------------------
-访问SonarQube,查看刚才扫描的html代码项目
2.分析Java语言的项目
Java项目可以也通过maven进行代码质检,无需使用sonar-scanrger工具的扫描命令方式,有maven工具即可使用maven的扫描命令。
-1.手动从gitlab仓库获取Java代码,进入项目目录,使用mvn工具命令进行代码扫描
[root@Jenkins ~]# cd /var/lib/jenkins/workspace/maven-java-demo [root@Jenkins maven-java-demo]# ll 总用量 56 -rw-r--r-- 1 root root 20549 3月 10 13:39 company.sql drwxr-xr-x 2 root root 47 3月 10 13:39 lib -rw-r--r-- 1 root root 6468 3月 10 13:39 mvnw -rw-r--r-- 1 root root 4994 3月 10 13:39 mvnw.cmd -rw-r--r-- 1 root root 8258 3月 10 13:39 pom.xml -rw-r--r-- 1 root root 36 3月 11 18:31 README.md drwxr-xr-x 3 root root 18 3月 10 13:39 src drwxr-xr-x 7 root root 156 3月 11 18:31 target [root@Jenkins maven-java-demo]# mvn sonar:sonar -Dsonar.host.url=http://192.168.1.35:9000 -Dsonar.login=c47b75a7472252f85c5da08428b85e4d575219cf #使用maven的sonar-scanrger工具扫描命令对java代码进行分析扫描 ... [INFO] Analysis report uploaded in 419ms [INFO] ANALYSIS SUCCESSFUL, you can browse http://192.168.1.35:9000/dashboard/index/com.dbsun:dbSun [INFO] Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report [INFO] More about the report processing at http://192.168.1.35:9000/api/ce/task?id=AX-M3yu6K1PbXHMf8HZZ [INFO] Task total time: 21.696 s [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:00 min [INFO] Finished at: 2022-03-15T17:18:30+08:00 [INFO] ------------------------------------------------------------------------
-2.手动从gitlab仓库获取Java代码,进入项目目录,使用sonar-scanrger工具命令进行代码扫描
[root@Jenkins maven-java-demo]# /usr/local/sonar-scanner/bin/sonar-scanner -Dsonar.projectKey=java -Dsonar.sources=. -X
-访问SonarQube,查看刚才扫描的Java代码项目
6.Jenkins集成SonarQube
通常SonarQube需要配合持续集成工具一起使用,可以做到拉取最新代码则立即进行质量检测。
-插件安装。系统管理-->插件管理-->搜索SonarQube Scanner for Jenkins插件安装
-需要在Jenkins上配置SonarQube服务端
系统管理-->系统设置-->SonarQube (告诉Jenkins SonarQube的Servers服务端地址)
- Name:可以随意填写
- Server URL:添加SonarQube的地址
- Server authentication token:添加一个类型为Secret text的凭证,填写之前安装SonarQube时创建的Token令牌(如果在SonarQube安装时没有创建Token令牌,则在配置->权限-->Force user authentication关闭则可忽略进行用户token验证操作。)
-还需要在Jenkins上配置Sonar-Scanner工具路径
系统管理-->全局工具配置(告诉Jenkins SonarScanner在本地的哪个路径)
- Name:可以随意填写,但最好有规范
- SONAR_RUNNER_HOME:填写sonar-scanner本地路径(如果不配置sonar-scanner路径,则无法进行代码扫描)
7.配置Jenkins上FreeStyle项目集成SonarQube
-找到之前的freestyle项目,新增构建步骤,使用下面的代码质量分析参数
sonar. projectName=${J0B_NAME} :项目在SonarQube上显示名称
sonar.projectKey=html :项目的唯一标识,不能重复
sonar. sources=. :扫描哪个项目的源码路径
-开发修改代码提交新的tag版本至Gitlab
[root@Gitlab ~]# cd nongye-demo [root@Gitlab nongye-demo]# vim index.html [root@Gitlab nongye-demo]# git add . [root@Gitlab nongye-demo]# git commit -m "v6.0" [root@Gitlab nongye-demo]# git tag -a "v6.0" -m "v6.0" [root@Gitlab nongye-demo]# git push origin v6.0
-检查SonarQube质检结果
-访问经Jenkins代码质量分析检测后自动发布的项目版本
8.配置Jenkins上Maven项目集成SonarQube
maven项目可以使用Sonar-Scanner工具,也可以使用maven的方式进行检测,两种方式任选其一即可。
1.第一种方式,通过Sonar-Scannet方式进行代码质检。
- sonar. projectName=${JOB_NAME}
- sonar. projectKey=java
- sonar. sources=.
- sonar.java.binaries=target/sonar
-开发修改代码提交新的tag版本至Gitlab
[root@Gitlab ~]# cd company/ [root@Gitlab company]# echo "提交v4.0版本代码" >> README.md [root@Gitlab company]# git add . [root@Gitlab company]# git commit -m "v4.0" [root@Gitlab company]# git tag -a "v4.0" -m "v4.0" [root@Gitlab company]# git push origin v4.0
2.第二种方式,通过调用maven方式进行代码质检。
- clean
- verify
- sonar:sonar
- -Dsonar.host.url=http://192.168.1.35:9000
- -Dsonar.login=c47b75a7472252f85c5da08428b85e4d575219cf
如果您喜欢本文,就请动动您的发财手为本文点赞评论转发,让我们一起学习更多运维相关知识,最后请记得关注我。
想要找到适合自己的技术指标,首先我们应先了解这些技术指标
技术指标,这只是一个笼统的说法。指标不同,其设计原理也不同,所适用的范围自然不同。有的指标主要用于分析趋势运行,也有的指标用于短线波段交易,还有一些指标则有助于我们把握主力行为。因而,我们首先应了解技术指标的分类方法及每一类指标的具体功能。一般来说,技术指标主要可以分为以下五大种类:趋势型指标、能量类指标、摆动类指标、成交量类指标、大盘类指标。下面就来分别看看这几类指标。
一、趋势型指标
“趋势”是金融市场运行中存在的每一笔交易一种客观规律,不了解趋势,我们的就难以做到收放自如,也将失去明确的方向性。那么,什么是趋势呢?所谓的趋势,就是指价格运行的总体方向,依据方向的不同,我们可以把股市中的趋势分为三种,即上升趋势、下跌趋势、横盘震荡趋势。趋势的基本特点是:持续时间长、持续力度大,一旦基本趋势的方向确立,价格就会沿这一趋势持续运行,直到趋势遇到外来因素破坏而改变为止。了解当前的趋势运行情况至关重要,趋势型指标正是帮助我们识别股市及个股当前运行趋势的。趋势型指标,在股票软件中也称为趋向类指标,是以移动平均线为基础,移动平均线的原理是通过反映市场平均持仓成本的变化情况进而反映趋势的运行情况。由于趋势持续时间长,且不易受人为因素影响,因而,反映趋势运行情况的趋势型指标具有很好的稳定性,是中长线投资战研判趋势状态、做出买卖决策的理想工具。趋势型指标主要包括:移动平均线(MA)、指数异地平滑平均线(MACD)、瀑布线(PBX)、宝塔线(TWRF)、趋向指标(DMI)、动量指标(MTM)等。
二、超买超卖型指标(反趋向指标)
超买超卖型指标也称为反趋向指标,有的股票软件中将其称为摆动类指标。超买超卖型指标属于短线指标,它是以概率统计理论中的正态分布假设为基础,统计学认为事物在短期的变化过程中,总有向“平衡位置”靠拢的倾向。基本这一思想,超买超卖型指标通过考察某一段时间内股价变动范围以此来找出“平衡位置”,虽然所考察的时间长度相同,但随着时间的不断前行,所考察的时间段也在不断推进,因而,“平衡位置”是不断变化的。找到平衡位置后,再通过研判所考察时段内的最后一个交易日偏离平衡位置的情况,进而指标市场当日是处于超买状态还是超卖状态?
一般情况下,超买超卖型指标较为灵敏,能够迅速地反映股价的变化情况,但也容易发出错误信号。这类指标主要用于盘整震荡行情中,此时,它们可以较好地提前预示价格在波动过程中的高点与低点,但是在典型的升势或跌势中,这类指标则会往往出现钝化,指标的金叉、死叉并不能简单地作为买卖信号。为了消除虚假信号的干扰,在实盘操作中,我们可以结合趋势型指标综合运用。例如:随机摆动指标与指数异同平滑平均线macd就是一对最佳组合。超买超卖型指标主要包括:随机摆动指标(KDJ)、乖离率(BIAS)威廉指标W%R、顺势指标CCI、相对强弱指标RSI等。
三、能量型指标
虽然个股的走向直接反映在个股的价格波动中,但是促使股价波动的内因却是买卖盘的强弱力度,能量类指标通过某种方法来研判市场买盘与卖盘的力度大小,以此作为着手点来预示价格的走势。能量类指标的设计原理很独到,以“能量”为核心,当股市或个股的上涨能量强于下跌能量时,这是价格走势上涨的信号;反之,当股市或个股的下跌能量强于上涨能量时,这是价格走势下跌的信号。当然,不同的能量指标有不同的“能量”设计方法,在学习时,可以重点关注一下这些指标是如何阐述“能量”的。能量类指标主要包括:情绪指标(ARBR)、中间意愿指标(CR)、心里线(PSY)、容量比率指标(VR)等。
四、成交量型指标
“价、量、时、空”是技术分析的四大要素,成交量排在第二位,它的作用可见一斑。成交量型指标主要有两类:一类是纯粹的成交量指标,这类指标只考虑成交量的变化;另一类则是量价指标,这类指标既考虑成交量的变化,也考虑股价的走势。成交量类指标主要包括:成交量(VOL)、均量线(MAVOL)、指数异同平滑平均线(VMACD)、量相对强弱指标(VRSI)、每笔均量(MBSS)等。
成交量VOL,也就是我们在价格走势图下面的成交量柱形图。实盘中,借助于成交量柱形的变化方式,例如,是放大了,还是缩小了,放大的形式如何,等等,再结合同期的价格走势,这就是所谓的量价配合。每一种量价配合形态都蕴含了相应的市场含义,是我们把握价格走向的关键。如果有机会,将从分时图、日K线图这两个角度来讲解量价配合,分时图中量价配合可以为我们揭示盘口中的买卖点,提示次日及随后几日的涨跌概率;日K线图上的量价配合则能为我们明晰趋势,找准股价波动中的高低点,也能为我们捕获黑马提供重要线索。
另外,值得一提的是每笔均量指标,它与其他的成交量指标设计原理完全不同,是专门用于分析主力市场行为的,非常重要。(这部分有机会也会讲讲)欢迎交流学习,微信号:Gannxy
五、大盘型指标
前面的各类技术指标,一般来讲,它们都是既适用于研判大盘,也适用于分析个股的。但是,大盘类指标则不同,大盘类指标仅适用于分析大盘走势。在盘类指标中,很多参数都是关乎股市的统计性数据,如上涨的股票数量、下跌的股票数量,这也注定了大盘类指标只能用于分析大盘运行情况。大盘指标主要包括:A/D上涨家数对比、ADR涨跌比率、ADL腾落指数、ABI绝对广量指标、MCL麦克连指标、ARMS阿姆氏指标、OBOS超买超卖指标、MSI麦氏综合指标、STIX指数平滑广量交易指标等。
六、如何学习指标
每一种技术指标都有它的设计原理,每一种技术指标也都有它的适用范围、计算公式、买卖方法。在学习具体的指标时,我们指标的设计原理及买卖方法是我们应重点学习的内容,特别是指标的买卖方法。理解指标的设计原理,我们在使用指标时就会有着更深一层的感悟,也有利于在实践中摸索出更多、更好的指标买卖方法。
掌握指标的买卖方法则属实战性的内容,我们学习指标,就是为了将其运用于实战之中,希望指标能让我们进一步提高交易成功率,一般来说,如果我们单纯依据指标买卖信号而展开操作,那么,交易成功率可以超过50%;如果我们还能综合其他方面的技术知识,如量价分析、主力分析等,或者是综合运用多种指标,则成功的概率可以远超50%,以综合性的方法来运用每一种指标,这也是我们适用指标应牢记的一点。
除此之外,像指标的计算公式,对我们来说,意义不是很大,毕竟,我们主要是学习指标,而不是要去设计新的指标或者是修改现有的指标,有一些指标的计算公式较为简单,也有一些指标的公式较为复杂,但计算公式只是指标市场原理的一种数学化表达方式,只要我们明晰指标的市场原理,就没有必要再去深究它的计算公式了。
在传统办公室中,设备用电气插座的容量仅为5~10W/m2。近年来,随着智能化办公系统的发展,办公设备用电量达到了40~50W/m2的程度。设备负荷在空调负荷中所占比例越来越大。
在进行设备负荷计算时,应充分了解各种设备的分布与使用情况,如个人电脑等小型耗电设备,打印机、复印机、传真机等集中设备,茶水间用电设备,计算机中心、PBX等专用设备的分布与使用情况等,这些都是设备负荷计算的基础。
目前,设备负荷计算以单位面积指标估算为主,为了提高计算准确性,表2-8、表2-9中的一些设备发热量和同时使用系数可供参考。电脑等办公设备更新很快,近来带自动休眠节电功能的个人电脑日渐增多。因此,设备负荷计算时,应密切关注办公设备的发展动向。
上一篇:水火对冲(对冲成本高)