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

天津做网站优化公司北京天仪建设工程质量检测所网站6

天津做网站优化公司,北京天仪建设工程质量检测所网站6,合肥建设工程网,官方app问题起因 由于本人开发环境是在 Windows,开发完成后需要使用 Dockerfile 打包镜像,这个过程需要有一个 Docker 服务完成,Windows 安装 Docker 会影响到很多环境,我又不想本地开虚拟机使用 Docker,于是我就索性使用服务…

问题起因

由于本人开发环境是在 Windows,开发完成后需要使用 Dockerfile 打包镜像,这个过程需要有一个 Docker 服务完成,Windows 安装 Docker 会影响到很多环境,我又不想本地开虚拟机使用 Docker,于是我就索性使用服务器上的 Docker,并放开了 2375 端口,这个是 Docker 默认 API 的端口,于是就可以很愉快的打包发布了。

但是没过几天,我就收到阿里云的告警,服务器负载长时间在 100%,服务器卡得不行,上服务器一看,不知道为什么多了几个没见过的 Docker 镜像以及很多不认识的容器,于是判断服务器应该是被黑客入侵了,被用来挖矿了,而入侵的入口就是 Docker 的 2375端口。

解决方法

解决方法最简单的就是尽量不要启用 API 功能,或者把默认端口改一下,但是这个也是只能解决一时的问题,后来查询资料,找到了使用 TLS 通信机制的解决方法。解决方法的过程如下:

  1. 生成一系列证书和文件
    # 创建一个文件夹,用于存放需要用到的证书等信息
    mkdir -p ~/docker-certs
    cd ~/docker-certs
    # 生成一个 CA(证书颁发机构)私钥,CA私钥用于为服务器或客户端证书生成签名。这个签名证明了该证书是由可信的 CA 颁发的。当服务器或客户端收到证书时,它会用 CA 的公钥来验证证书的签名。如果验证通过,意味着该证书确实是由该 CA 颁发的,确保了证书持有者的身份合法性。
    openssl genrsa -aes256 -out ca-key.pem 4096
    # 生成 key 的过程中,可能会出现要求输入 Enter pass phrase for ca-key.pem,这个相当于私钥的密码,能够进一步保证私钥的安全,哪怕别人获取到你的私钥,也不能直接使用,要输入密码。# 用 CA私钥自签名生成一个 CA 的证书,CA证书用于验证 CA 身份的合法性,要信任某个证书,关键就是要信任CA的证书。
    openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
    # 创建服务器端私钥和证书
    openssl genrsa -out server-key.pem 4096
    openssl req -new -key server-key.pem -out server.csr
    # CA 为服务端证书签名
    openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem
    # 创建客户端私钥和证书
    openssl genrsa -out key.pem 4096
    openssl req -new -key key.pem -out client.csr
    # 签署客户端证书
    openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem
    
  2. 移除不必要的 CSR 文件
    rm -v server.csr client.csr
    
  3. 设置权限
    chmod -v 0400 ca-key.pem key.pem server-key.pem
    chmod -v 0444 ca.pem server-cert.pem cert.pem
    
  4. 修改 /usr/lib/systemd/system/docker.service 文件
    vim /usr/lib/systemd/system/docker.service
    
    ExecStart 那改成:
    ExecStart=/usr/bin/dockerd \
    --tlsverify \
    --tlscacert=/root/docker-certs/ca.pem \
    --tlscert=/root/docker-certs/server-cert.pem \
    --tlskey=/root/docker-certs/server-key.pem \
    -H tcp://0.0.0.0:2376 -H unix://var/run/docker.sock \
    -H fd:// --containerd=/run/containerd/containerd.sock
    
  5. 重启 Docker 服务
    systemctl daemon-reload && systemctl restart docker
    
  6. 客户端所在机器找个地方存放 ca.pem、cert.pem、key.pem 三个文件,并且添加以下三个环境变量:
    DOCKER_HOST=tcp://你 docker 所在的IP地址:2376
    DOCKER_CERT_PATH=存放三个文件的地方
    DOCKER_TLS_VERIFY=1
    
  7. 然后测试即可
http://www.15wanjia.com/news/169882.html

相关文章:

  • php网站开发建设国内网页做的好看的网站
  • 网站静态图怎么做建材做网站好吗
  • 海南省两学一做网站西安到北京高铁几小时
  • 那里可以建设网站十堰h5响应式网站
  • 工作室网站模板青岛网站建设
  • 如何找到外包推广公司seo全称
  • 百度地图 企业网站网络营销方式的思维导图
  • 图书馆网站建设网站的目的wordpress 自动推送百度
  • 网站logo设计流程发布文章后马上更新网站主页
  • 上海正规做网站公司报价北风风淘网站开发
  • 无后台基础怎么建设网站软件商店2023
  • 游戏网站做关键字夜来香广州网站
  • 展厅设计制作网站金华电子商务网站建设
  • 哪种网站名称容易通过备案审核蚌埠北京网站建设
  • 自学做网站要多久室内装修设计上海
  • 网站开发技术知识甘肃省广电网络公司网站
  • 电商网站建设课程设计实验报告APP网站建设什么用处
  • 上海网站seo外包中交建设集团有限公司
  • 有没有帮忙做网站恩施网站开发
  • 个人网站的设计流程建设工程公司岗位职责
  • 上海建设网站便宜的欧亚快递100
  • 电商网站网址大全网站首页psd
  • 医院网站建设技术方案ppt网页如何设计
  • 淘宝客建设网站珠海哪个建设网站建设好
  • 网站风格有哪些网站开发广告怎么写
  • 武义建设局官方网站wordpress开通邮件注册
  • 黑龙江省住房与建设厅网站软件开发 网站建设
  • 学做西餐网站led论坛网站建设
  • 苏州论坛型网站建设保健品商城网站模板
  • 网站公共模板是什么wordpress获得授权