当前位置: 首页 > news >正文

网络书城网站开发 需求分析wordpress固定链接分类

网络书城网站开发 需求分析,wordpress固定链接分类,wordpress放视频没画面,dede 网站目录ETCD未授权访问风险安全漏洞修复方案 ETCD未授权访问风险介绍基于角色认证的访问控制#xff08;BASIC认证#xff09;基于ca证书的https访问控制#xff08;TLS传输#xff09;下载cfssl认证配置工具生成ca认证证书修改etcd配置方式一方式二 访问etcd节点信息 patroni使用… ETCD未授权访问风险安全漏洞修复方案 ETCD未授权访问风险介绍基于角色认证的访问控制BASIC认证基于ca证书的https访问控制TLS传输下载cfssl认证配置工具生成ca认证证书修改etcd配置方式一方式二 访问etcd节点信息 patroni使用配置调整参考链接 ETCD未授权访问风险介绍 未授权访问可能产生的风险为攻击者可以从ETCD中拿到节点的注册信息 http://IP:2379/v2/keys http://IP:2379/v2/keys/?recursivetrue常规修复方案有以下两种 方案一基于角色认证的访问控制BASIC认证方案二基于ca证书的https访问控制TLS传输 简单点理解 方案一就是添加用户密码认证后续访问需要用户密码才能正常访问 方案二就是使用ca证书将原先的http通信改成https后续访问需要使用证书才能正常访问 备注基于角色认证和ca证书的访问控制支持同时配置 基于角色认证的访问控制BASIC认证 # 创建测试数据 etcdctl set /testkey testvalue # 可直接查看测试数据 etcdctl ls etcdctl get testkey# 创建root用户etcd V2客户端版本输入密码间期时间很短且只输入一次 etcdctl user add root # 启用认证 etcdctl auth enable此处测试我们把root用户密码设置为root # 开启 Basic Auth 默认会启用拥有所有权限的两个角色 root 和 guest ,并默认用 guest 角色进行的操作不能删除得收回 guest 的权限进行限制 etcdctl --username root:password role revoke guest --path /* --rw # 检查 guest 角色权限 etcdctl --username root:password role get guest# 再次查看测试数据失败需要加上用户密码才能正常查看 etcdctl --username root:password get testkey至此基于角色认证的访问控制配置结束还是比较简单的。 基于ca证书的https访问控制TLS传输 下载cfssl认证配置工具 cfssl认证配置工具下载网址https://github.com/cloudflare/cfssl 若github网站打不开或下载太慢可关注公众号「 钥道不止 」并于后台回复关键字 cfssl 获取X86和ARM架构版本的工具 # X86 版本 wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64授予可执行权限并加入bin目录 chmod x cfssl* cp -v cfssl_linux-amd64 /usr/local/bin/cfssl cp -v cfssljson_linux-amd64 /usr/local/bin/cfssljson cp -v cfssl-certinfo_linux-amd64 /usr/local/bin/cfssl-certinfo ls /usr/local/bin/cfssl*生成ca认证证书 有多个节点ca证书的生成在任意节点上操作即可 mkdir -p /etc/etcd/etcdSSL cd /etc/etcd/etcdSSL1)、创建 CA 配置文件ca-config.json可配置证书有效期100年 vi ca-config.json {signing: {default: {expiry: 876000h},profiles: {etcd: {usages: [signing,key encipherment,server auth,client auth],expiry: 876000h}}} }字段说明 ca-config.json可以定义多个 profiles分别指定不同的过期时间、使用场景等参数后续在签名证书时使用某个 profile此处只定义一个etcd通用认证的profilesigning表示该证书可用于签名其它证书生成的 ca.pem 证书中 CATRUEserver auth表示client可以用该CA对server提供的证书进行验证client auth表示server可以用该CA对client提供的证书进行验证 2)、创建 CA 证书签名请求文件ca-csr.json vi ca-csr.json {CN: etcd,key: {algo: rsa,size: 2048},names: [{C: CN,ST: shenzhen,L: shenzhen,O: etcd,OU: System}] }字段说明 CNCommon Nameetcd 从证书中提取该字段作为请求的用户名 (User Name)浏览器使用该字段验证网站是否合法OOrganizationetcd 从证书中提取该字段作为请求用户所属的组 (Group) 3)、生成 CA 证书和私钥(ca-key.pem ca.pem) cfssl gencert -initca ca-csr.json | cfssljson -bare ca4)、创建 etcd 证书签名请求修改配置节点的IP文件etcd-csr.json vi etcd-csr.json {CN: etcd,hosts: [127.0.0.1,192.168.56.101,192.168.56.102,192.168.56.103],key: {algo: rsa,size: 2048},names: [{C: CN,ST: shenzhen,L: shenzhen,O: etcd,OU: System}] }5)、生成 etcd 证书和私钥(etcd-key.pem etcd.pem) cfssl gencert -caca.pem -ca-keyca-key.pem -configca-config.json -profileetcd etcd-csr.json | cfssljson -bare etcd将生成的证书文件拷贝至其他节点 scp /etc/etcd/etcdSSL/*.pem 192.168.56.102:/etc/etcd/etcdSSL/ scp /etc/etcd/etcdSSL/*.pem 192.168.56.103:/etc/etcd/etcdSSL/修改etcd配置 从官网的说明介绍可以看到这里有两种配置方式用 --config-file 指定配置文件路径 或 用ETCD_CONFIG_FILE环境变量 https://etcd.io/docs/v3.5/op-guide/configuration/ 方式一 配置 etcd 的 service 服务文件修改3个节点IP、–name配置 [rootdba01 ~]# vi /usr/lib/systemd/system/etcd.service [Unit] DescriptionEtcd Server Afternetwork.target network-online.target Wantsnetwork-online.target[Service] Typenotify # EnvironmentETCD_UNSUPPORTED_ARCHarm64 #Just for ARM WorkingDirectory/var/lib/etcd/ EnvironmentFile-/etc/etcd/etcd.conf # set GOMAXPROCS to number of processors ExecStart/usr/bin/etcd \--name etcd01 \--data-dir/etc/etcd/etcd01 \--initial-advertise-peer-urls https://192.168.56.101:2380 \--listen-peer-urls https://192.168.56.101:2380 \--listen-client-urls https://192.168.56.101:2379,http://127.0.0.1:2379 \--advertise-client-urls https://192.168.56.101:2379 \--initial-cluster-token etcd-cluster \--initial-cluster etcd01https://192.168.56.101:2380,etcd02https://192.168.56.102:2380,etcd03https://192.168.56.103:2380 \--initial-cluster-state new \--cert-file/etc/etcd/etcdSSL/etcd.pem \--key-file/etc/etcd/etcdSSL/etcd-key.pem \--peer-cert-file/etc/etcd/etcdSSL/etcd.pem \--peer-key-file/etc/etcd/etcdSSL/etcd-key.pem \--trusted-ca-file/etc/etcd/etcdSSL/ca.pem \--peer-trusted-ca-file/etc/etcd/etcdSSL/ca.pemRestarton-failure LimitNOFILE65536[Install] WantedBymulti-user.target方式二 配置 etcd 的 service 服务文件采用 --config-file所有参数配置都从配置文件里读取 [rootdba01 ~]# vi /usr/lib/systemd/system/etcd.service [Unit] DescriptionEtcd Server Afternetwork.target network-online.target Wantsnetwork-online.target[Service] Typenotify # EnvironmentETCD_UNSUPPORTED_ARCHarm64 #Just for ARM ExecStart/usr/bin/etcd --config-file /etc/etcd/etcd.confRestarton-failure LimitNOFILE65536[Install] WantedBymulti-user.target在etcd原配置基础上追加如下ca证书配置并调整网络协议http为https [rootdba01 ]# cat /etc/etcd/etcd.conf name: etcd01 data-dir: /etc/etcd/etcd01 initial-advertise-peer-urls: https://192.168.56.101:2380 listen-peer-urls: https://192.168.56.101:2380 listen-client-urls: https://192.168.56.101:2379,http://127.0.0.1:2379 advertise-client-urls: https://192.168.56.101:2379 initial-cluster-token: dcs-cluster initial-cluster: etcd01https://192.168.56.101:2380,etcd02https://192.168.56.102:2380,etcd03https://192.168.56.103:2380 enable-v2: true initial-cluster-state: new#[Security] client-transport-security:cert-file: /etc/etcd/etcdSSL/etcd.pemkey-file: /etc/etcd/etcdSSL/etcd-key.pemclient-cert-auth: truetrusted-ca-file: /etc/etcd/etcdSSL/ca.pem peer-transport-security:cert-file: /etc/etcd/etcdSSL/etcd.pemkey-file: /etc/etcd/etcdSSL/etcd-key.pemclient-cert-auth: truetrusted-ca-file: /etc/etcd/etcdSSL/ca.pem若是已经运行过存在缓存的需要先清理etcd缓存三个节点都要清理物理缓存文件清理后会导致方案一配置的角色认证失效若要开启用户密码认证需重新操作上述步骤 rm -rf /etc/etcd/etcd0*然后重启 etcd 服务 systemctl daemon-reload systemctl start etcd systemctl status etcd至此基于ca证书的https访问控制配置结束。 访问etcd节点信息 检查etcd集群服务的健康不带证书将无法正常访问 # 不带ca证书访问 etcdctl cluster-health # 带ca证书访问 etcdctl \--ca-file/etc/etcd/etcdSSL/ca.pem \--cert-file/etc/etcd/etcdSSL/etcd.pem \--key-file/etc/etcd/etcdSSL/etcd-key.pem \cluster-healthpatroni使用配置调整 在PostgreSQLetcdpatroni的高可用架构中etcd开启访问控制后patroni得相应的做调整期间涉及patronide重启也就是涉及PostgreSQL数据库的重启需要窗口时间操作 方案一基于角色认证的访问控制BASIC认证 # patroni username: root password: root方案二基于ca证书的https访问控制TLS传输 chown -R postgres.postgres /etc/etcd/etcdSSL/*.pem# patroni protocol: https cacert: /etc/etcd/etcdSSL/ca.pem cert: /etc/etcd/etcdSSL/etcd.pem key: /etc/etcd/etcdSSL/etcd-key.pempatroni配置文件更新etcd的配置 https://patroni.readthedocs.io/en/latest/yaml_configuration.html#etcd # 同时开启用户认证和ca证书的访问 etcdctl \--ca-file/etc/etcd/etcdSSL/ca.pem \--cert-file/etc/etcd/etcdSSL/etcd.pem \--key-file/etc/etcd/etcdSSL/etcd-key.pem \--username root:root cluster-health参考链接 etcd 的实现原理https://draveness.me/etcd-introduction/ RAFT协议工作原理http://thesecretlivesofdata.com/raft/ etcd单台部署启用https以及ca自签名 https://cloud.tencent.com/developer/article/1441188 etcd多台部署启用https以及ca自签名 https://cloud.tencent.com/developer/article/1441194 etcd的配置参数 https://github.com/etcd-io/etcd/blob/main/etcd.conf.yml.sample
http://www.dnsts.com.cn/news/29209.html

相关文章:

  • 有没有专做自驾游的网站成都网络营销公司排名
  • 农业营销型网站源码重庆专业网站推广报价
  • 济宁网站建设电话网站建设内部问卷
  • 使用wordpress的购物网站诸暨公司网站建设
  • ps教学网站制作步骤德宏网站建设
  • 电子商城网站开发与设计wordpress和django
  • 网站建设 豫icp备网页设计代码文字浮动
  • 网站点击图片放大wordpress 黑色
  • 深圳网站公司营销型企业网站诊断
  • 小说阅读网站建设免费做动态图片的网站
  • 电信网站备案系统企业备案网站服务内容
  • 提高网站公信力 单仁厦门网站设计培训公司
  • 一起做单网站怎么样古城做网站的公司
  • 网站的页面大小软件开发成本估算
  • 微网站简介如何用手机制作手机app
  • 如何分析网站关键词手机网站微信网站开发
  • 淘客网站开发公司怎么做自己的外卖网站
  • 网站建设语言网站如何知道是谁做的呢
  • 手机网站jq导航菜单大型网站 前端
  • 福州网站建设设计学计算机哪个培训机构好
  • 那些网站是vue做的做响应式网站图片需要做几版
  • phpcms v9 实现网站搜索wordpress适用于任何网站吗
  • 婚礼纪网站怎么做请帖简历模板可编辑
  • 公司建网站怎么建合肥专业做网站公司有哪些
  • 济南 营销型网站建设找谁做网站比较好
  • 怎么自己做网站凑钱兰州搜索引擎推广
  • 宝路华手表官方网站抖音seo系统
  • 网站查询访问域名重庆建筑人才网招聘
  • 怎么做自己的刷赞网站企业的网站建设与设计论文
  • 远程管理wordpress站群网页美工设计培训班