作者存档: SK - 第2页

HTTPS连接过程以及中间人攻击劫持

一 、HTTPS连接过程及中间人攻击原理

https协议就是http+ssl协议,如下图所示为其连接过程:
这里写图片描述
1.https请求
客户端向服务端发送https请求;
2.生成公钥和私钥
服务端收到请求之后,生成公钥和私钥。公钥相当于是锁,私钥相当于是钥匙,只有私钥才能够打开公钥锁住的内容;
3.返回公钥
服务端将公钥(证书)返回给客户端,公钥里面包含有很多信息,比如证书的颁发机构、过期时间等等;
4.客户端验证公钥
客户端收到公钥之后,首先会验证其是否有效,如颁发机构或者过期时间等,如果发现有问题就会抛出异常,提示证书存在问题。如果没有问题,那么就生成一个随机值,作为客户端的密钥,然后用服务端的公钥加密;
5.发送客户端密钥
客户端用服务端的公钥加密密钥,然后发送给服务端。
6.服务端收取密钥,对称加密内容
服务端收到经过加密的密钥,然后用私钥将其解密,得到客户端的密钥,然后服务端把要传输的内容和客户端的密钥进行对称加密,这样除非知道密钥,否则无法知道传输的内容。
7.加密传输
服务端将经过加密的内容传输给客户端。
8.获取加密内容,解密
客户端获取加密内容后,用之前生成的密钥对其进行解密,获取到内容。 继续阅读 »

普罗米修斯监控

Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。

2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prometheus纳入其下第二大开源项目。Prometheus目前在开源社区相当活跃。

Prometheus和Heapster(Heapster是K8S的一个子项目,用于获取集群的性能数据。)相比功能更完善、更全面。Prometheus性能也足够支撑上万台规模的集群。

Prometheus的特点

多维度数据模型。
灵活的查询语言。
不依赖分布式存储,单个服务器节点是自主的。
通过基于HTTP的pull方式采集时序数据。
可以通过中间网关进行时序列数据推送。
通过服务发现或者静态配置来发现目标服务对象。
支持多种多样的图表和界面展示,比如Grafana等。 继续阅读 »

开源APM业务性能剖析系统架构

开源APM业务性能剖析系统架构

 

以前用过不少apm产品,最近我们开始使用elastic出品的免费开源APM。架构比较简单,由elasticsearch+kibana+APM-server+apm_agent构成
APM它是应用程序性能监控系统,主要是监控软件服务和应用程序实时性能、访问参数、接口响应时间、数据库查询请求、调用缓存以及内外部api接口性能、采集性能信息并存储到es集群。然后通过kibana进行展示或者做可视化分析。这样可以轻松快速的跟踪到问题点,并修复性能相关问题。
主要组件是:
APM agents
APM Server
Elasticsearch
Kibana APM UI

目前支持Nodejs,Python,Ruby,js,Go,java的性能追踪。暂时还没有php的探针支持。

 

架构如下:

elk

动态ARP检测原理及应用

在一个局域网中,网络安全可以通过多种方式来实现,而采取DHCP snooping(DHCP 防护)及DAI 检测(ARP 防护)这种技术,保护接入交换机的每个端口,可以让网络更加安全,更加稳定,尽可能的减小中毒范围,不因病毒或木马导致全网的瘫痪。 下面将详细的对这种技术的原理和应用做出解释。 继续阅读 »

Gradle 5.0 正式版发布!史上最快、最安全和最强大的版本

Gradle 5.0 正式版发布了!官方表示这是史上最快、最安全,最强大的版本。

改进的增量编译和增量注释处理构建在已经具有构建缓存和最新检查功能的可靠性能基础之上。

依赖约束 —— 依赖对齐和版本锁定提供了可扩展且灵活的依赖管理模型。

通过新的性能和依赖关系管理、日志记录和弃用的 API 使用检查,构建扫描得到了显著的改进。

静态类型的 Kotlin DSL 可在创建构建逻辑时提供代码完成、重构和其他的 IDE 辅助。

主要改进可分为以下几类:

最后,可以了解如何进一步升级到 Gradle 5.0

值得关注的新特性:

企业私有Harbor仓库

我们在研发、测试、生产环境使用Harbo已经1年多了,现在推荐给大家使用。

一、Harbor介绍
     Harbor是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,因为docker容器的技术正是借鉴了集装箱的原理。所以,Harbor正是一个用于存储Docker镜像的企业级Registry服务。
Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率。
二、Harbor核心组件解释
 Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI, token等服务。
 db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。
 UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行授权。
 jobsevice:jobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log。
 Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回需要加载adminserver的配置。
 Registry:镜像仓库,负责存储镜像文件。
 Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。
三、Harbor获取版本和安装文档
  https://github.com/goharbor/harbor

Mikrotik路由安全防范设置

  1. 将默认用户名admin更改为其他名称
    /user set 0 name=superrootman
  2. 设置高强度的密码
    /user set 0 password=”zhegemimahenchanghenchang!@#”
  3. 通过IP地址访问
    /user set 0 allowed-address=xxxx/yy
  4. 只保留安全的服务
    /ip service disable telnet,f​​tp,www,api,api-ssl
    注意:该操作会禁用Telnet,FTP,WWW,API,API-SSL
  5. 更改默认端口,这将立即停止大多数随机SSH暴力登录尝试
    /ip service set ssh port=220
  6. 设置Winbox允许登陆的网段
    /ip service set winbox address=192.168.0.0/16
  7. 禁用mac-telnet服务
    /tool mac-server set allowed-interface-list=none
  8. 禁用mac-winbox服务
    /tool mac-server mac-winbox set allowed-interface-list=none
  9. 禁用mac-ping服务
    /tool mac-server ping set enabled=no
  10. 邻居发现
    MikroTik邻居发现协议用于显示和识别网络中的其他MikroTik设备,禁用所有接口上的邻居发现
    禁用IPv4 的邻居发现协议
    /ip neighbor discovery-settings set discover-interface-list=none
    禁用IPv6 的邻居发现协议
    /ipv6 nd set [find] disabled=yes
  11. 带宽服务器用于测试两个MikroTik路由器之间的吞吐量,请在测试后禁用它。
    /tool bandwidth-server set enabled=no
  12. DNS缓存
    /ip dns set allow-remote-requests=no
  13. 设置更安全的SSH访问,打开SSH强加密
    /ip ssh set strong-crypto=yes
  14. 关闭 Proxy,Socks代理
    /ip proxy set enabled=no
    /ip socks set enabled=no
  15. MikroTik UPnP服务(通用即插即用协议)
    /ip upnp set enabled=no
  16. MikroTik自带的DDNS服务器(动态域名解析)
    如果不是使用的话请用以下命令禁用
    /ip cloud set ddns-enabled=no update-time=no
  17. 某些型号的RouterBOARD有LCD模块用于信息显示。
    /lcd set enabled=no
  18. 如果你的路由器不提供VPN服务,请用以下命令关闭VPN
    /interface l2tp-server server set enabled=no
    /interface pptp-server server set enabled=no
    /interface sstp-server server set enabled=no
    /interface ovpn-server server set enabled=no
  19. 禁用在设备上使用Radius进行授权
    /user aaa set use-radius=no
  20. 禁ping

MikroTik路由器升级以及安全加固

最近<<20万台MikroTik路由器沦为挖矿帮凶>>,近日安全研究人员再次发现有20万台未更新固件的MikroTik路由器遭到挖矿恶意软件攻击。其中主要是CVE-2018-7445 MikroTik路由器系统缓冲区溢出漏洞。

漏洞概述

CVE-2018-7445 MikroTik RouterOS SMB 缓冲区溢出

参考信息:https://www.coresecurity.com/advisories/mikrotik-routeros-smb-buffer-overflow

路由器漏洞分析

http://www.freebuf.com/articles/wireless/168063.html

oday 工具地址

https://github.com/mrmtwoj/0day-mikrotik

Name Project :0day Mikrotik

Last version :1.0.0

Last updated : 25/07/2018

Programming language : Python

youtube : https://youtu.be/h6JSNFhQUN8

Company name : acyber (IT Security Lab Iran)

ros1

ros2
.我们今天来进行ros的升级和一些安全加固设置。

继续阅读 »

linux文件系统高级权限属性

最近在cu论坛看见有同学在问,如何给一个目录设定root都不能删除的权限。

其实linux有高级权限,除了0777的权限位还有更高级的权限控制。在Linux下我们可以用lstat命令查看文件的相关属性信息,除了这些属性之外,Linux下的文件还有一些隐藏的属性,我们可以用lsattr命令来查看:

root@sklinux:/opt# lsattr
——a——e– ./src
如上面的a\e权限

上面这条命令的输出表示src文件具有扩展属性a和e,即只能向该文件添加数据,而不能删除,并且该文件使用extends来映射磁盘块。显然,将那些只允许增长但不允许修改和删除的文件设置为这样的隐藏属性是非常有利于保护数据安全的。 继续阅读 »

apollo配置中心增加环境的方法

Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。

Apollo支持4个维度管理Key-Value格式的配置:

  1. application (应用)
  2. environment (环境)
  3. cluster (集群)
  4. namespace (命名空间)

 

配置结构图为:

apollo配置架构
一、portal启动参数如下: 继续阅读 »