一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- HAProxy 配置中分成五部分内容,分别如下:
- global:设置全局配置参数,属于进程的配置,通常是和操作系统相关。
- defaults:配置默认参数,这些参数可以被用到frontend,backend,listen组件;
- frontend:接收请求的前端虚拟节点,frontend可以更加规则直接指定具体使用后端的backend;
- backend:后端服务集群的配置,是真实服务器,一个backend对应一个或者多个实体服务器;
- listen :frontend和backend的组合体。
- 在HAProxy配置文件中,我们定义了两个listen模块,名称分别为opengauss和opengauss_balance,对应集群主机的写操作和备机的读操作及负载均衡。在listen模块中,使用server关键字设置后端服务器,即设置Patroni管理的openGauss集群中各个数据库节点的ip和端口号,即可将数据库节点的信息加入到HAProxy的管理中。
global
maxconn 100
defaults
log global
mode tcp
retries 2
timeout client 30m
timeout connect 4s
timeout server 30m
timeout check 5s
listen stats
mode http
bind *:7000
stats enable
stats uri /
listen opengauss
bind *:5000
option httpchk
http-check expect status 200
default-server inter 3s fall 3 rise 2 on-marked-down shutdown-sessions
# server opengauss\_ip0\_port0 ip0:port0 maxconn 100 check port 8008
# server opengauss\_ip1\_port1 ip1:port1 maxconn 100 check port 8008
# server opengauss\_ip2\_port2 ip2:port2 maxconn 100 check port 8008
# server opengauss\_ip3\_port3 ip3:port3 maxconn 100 check port 8008
# server opengauss\_ip4\_port4 ip4:port4 maxconn 100 check port 8008
# server opengauss\_ip5\_port5 ip5:port5 maxconn 100 check port 8008
# server opengauss\_ip6\_port6 ip6:port6 maxconn 100 check port 8008
# server opengauss\_ip7\_port7 ip7:port7 maxconn 100 check port 8008
# server opengauss\_ip8\_port8 ip8:port8 maxconn 100 check port 8008
listen opengauss_balance
bind *:5001
mode tcp
option tcplog
balance roundrobin
option httpchk OPTIONS /replica
http-check expect status 200
default-server inter 3s fall 3 rise 2 on-marked-down shutdown-sessions
# server opengauss\_ip0\_port0 ip0:port0 maxconn 100 check port 8008 inter 5000 rise 2 fall 2
# server opengauss\_ip1\_port1 ip1:port1 maxconn 100 check port 8008 inter 5000 rise 2 fall 2
# server opengauss\_ip2\_port2 ip2:port2 maxconn 100 check port 8008 inter 5000 rise 2 fall 2
# server opengauss\_ip3\_port3 ip3:port3 maxconn 100 check port 8008 inter 5000 rise 2 fall 2
# server opengauss\_ip4\_port4 ip4:port4 maxconn 100 check port 8008 inter 5000 rise 2 fall 2
# server opengauss\_ip5\_port5 ip5:port5 maxconn 100 check port 8008 inter 5000 rise 2 fall 2
# server opengauss\_ip6\_port6 ip6:port6 maxconn 100 check port 8008 inter 5000 rise 2 fall 2
# server opengauss\_ip7\_port7 ip7:port7 maxconn 100 check port 8008 inter 5000 rise 2 fall 2
# server opengauss\_ip8\_port8 ip8:port8 maxconn 100 check port 8008 inter 5000 rise 2 fall 2
2.1 主机的写操作配置
listen opengauss # 用于主机
bind *:5000 #开放的端口之一,用于连接主机
option httpchk
# 开启对后端服务器的健康检测,接受健康监测[check]
http-check expect status 200
default-server inter 3s fall 3 rise 2 on-marked-down shutdown-sessions
# 监测的间隔时间[inter 3s], 监测失败多少次后被认为后端服务器是不可用的[fall 3],监测正常多少次后被认为后端服务器是可用的[rise 2],当标记为down时,关闭HAProxy到后台服务器的连接[on-marked-down shutdown-sessions]
server opengauss_ip1_port1 ip1:port1 maxconn 100 check port 8008
server opengauss_ip2_port2 ip2:port2 maxconn 100 check port 8008
server opengauss_ip3_port3 ip3:port3 maxconn 100 check port 8008
server opengauss_ip4_port4 ip4:port4 maxconn 100 check port 8008
# 使用server关键字设置后端服务器,为后端服务器所设置的内部名称[opengauss_ip1_port1], 该名称将会呈现在日志或警报中,后端服务器的IP地址,支持端口映射[ip1:port1]
原理分析:
HAProxy配置中调用了健康监测REST API端点,通过Patroni获取集群中的主机备机信息。
Patroni有一个丰富的REST API(Representational State Transfer,表现层状态转化),所谓REST API,其是前后端分离的最佳实践,是开发的一套标准或者是一套规范,其特点总结如下:
(1) 每一个URI代表一种资源;
(2) 客户端和服务器之间,传递这种资源的表现层;
(3) 客户端通过四个HTTP动词,对服务器端资源进行操作,实现“表现层状态转化”。
在HTTP协议中,四个表示操作方式的动词为:GET、POST、PUT、DELETE,它们分别对应四种基本的操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。
Patroni中的REST API,有以下几种使用场景:参考链接:Patroni REST API
(1) 由Patroni自身使用用以leader竞选;
(2) 由patronictl工具使用用以执行 failovers、switchovers、reinitialize、restarts、reloads操作;
(3) 由HAProxy或者其他负载均衡器进行HTTP健康监测,或者监控。
本文中HAProxy即利用Patroni中的REST API进行健康监测,进而识别集群中的主机,备机,以及各个节点的健康状态。
对于健康监测中的GET请求,Patroni返回一个包含节点状态、HTTP状态码的JSON文档。如果不需要复杂的JSON文档,只保留一些关键信息,可以用OPTIONS代替GET。
对于下列的请求:当Patroni节点拥有leader锁,且作为primary节点running时,Patroni REST API将返回HTTP状态码200:
(1) GET /
(2) GET /master
(3) GET /primary
(4) GET /read-write
学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!