• harbor+trivy的安装使用——筑梦之路


    环境依赖:

    docker-ce

    docker-compose

    这些部分的安装这里就不再赘述

    1. # 创建证书和私钥
    2. mkdir /opt/harbor/ssl -p
    3. # 生成CA证书私钥 ca.key
    4. openssl genrsa -out ca.key 4096
    5. # 根据上面生成的CA证书私钥,再来生成CA证书 ca.crt
    6. openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \ -key ca.key \ -out ca.crt
    7. 设置 -subj 选项中的值来反映的组织,例如:省份、地市、域名等等信息。如果使用FQDN 【 「(Fully Qualified Domain Name)全限定域名:同时带有主机名和域名的名称。」】连接Harbor主机,则必须将其指定为通用名称(CN)属性,可以看到示例写的是yourdomain.com。
    8. openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Beijing/L=Beijing/O=harbortrivy/OU=harbortrivy/CN=harbortrivy.com" \ -key ca.key \ -out ca.crt
    9. # 根据ca.key密钥生成 ca.crt证书。
    10. # 参数说明:
    11. -new 指生成证书请求-x509 表示直接输出证书-key 指定私钥文件-days 指定证书过期时间为3650天-out 导出结束后证书文件-subj 输入证书拥有者信息
    12. # 生成服务器证书
    13. # 生成私钥 yourdomain.com.key
    14. openssl genrsa -out harbortrivy.com.key 4096
    15. # 生成证书签名请求(CSR)yourdomain.com.csr
    16. openssl req -sha512 -new \ -subj "/C=CN/ST=Beijing/L=Beijing/O=harbortrivy/OU=harbortrivy/CN=harbortrivy.com" \ -key harbortrivy.com.key \ -out harbortrivy.com.csr
    17. # 生成一个x509 v3扩展文件
    18. cat > v3.ext << EOF
    19. authorityKeyIdentifier=keyid,issuer
    20. basicConstraints=CA:FALSE
    21. keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    22. extendedKeyUsage = serverAuth
    23. subjectAltName = @alt_names
    24. [alt_names]
    25. DNS.1=yourdomain.com
    26. DNS.2=yourdomain
    27. DNS.3=hostname
    28. EOF
    29. cat > v3.ext <<-EOF
    30. authorityKeyIdentifier=keyid,issuer
    31. basicConstraints=CA:FALSE
    32. keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    33. extendedKeyUsage = serverAuth
    34. subjectAltName = @alt_names
    35. [alt_names]
    36. DNS.1=harbortrivy.com
    37. DNS.2=harbortrivy
    38. EOF
    39. # 使用该v3.ext文件为您的Harbor主机生成证书 yourdomain.com.crt
    40. openssl x509 -req -sha512 -days 3650 \ -extfile v3.ext \ -CA ca.crt -CAkey ca.key -CAcreateserial \ -in yourdomain.com.csr \ -out yourdomain.com.crt
    41. openssl x509 -req -sha512 -days 3650 \ -extfile v3.ext \ -CA ca.crt -CAkey ca.key -CAcreateserial \ -in harbortrivy.com.csr \ -out harbortrivy.com.crt
    42. 下载harbor离线包:
    43. 官方网站:https://github.com/goharbor/harbor/releases
    44. 版本2.3以上
    45. tar -zxvf harbor-offline-installer-v2.5.3.tgz
    46. # 拷贝配置模板修改
    47. cp harbor.yml.tmpl harbor.yml
    48. hostname: harbortrivy.com
    49. certificate: /opt/harbor/ssl/harbortrivy.com.crt
    50. private_key: /opt/harbor/ssl/harbortrivy.com.key
    51. harbor_admin_password: harbortrivy
    52. # 安装 指定trivy,notary等参数
    53. ./install.sh --with-notary --with-trivy --with-chartmuseum
    54. 安装成功后,https登录,admin/harbortrivy
    55. # docker客户端配置
    56. mkdir -p /etc/docker/certs.d/harbortrivy.com
    57. 将证书harbortrivy.com.crt 放到此目录
    58. 转换证书:
    59. openssl x509 -inform PEM -in harbortrivy.com.crt -out harbortrivy.com.cert
    60. cat /etc/hosts
    61. 192.168.47.131 harbortrivy.com
    62. # 登陆
    63. docker login --username=admin harbortrivy.com
    64. # 测试
    65. docker pull ghcr.io/christophetd/log4shell-vulnerable-app:latest
    66. docker tag ghcr.io/christophetd/log4shell-vulnerable-app:latest harbortrivy.com/library/log4shell-vulnerable-app:latest
    67. docker push harbortrivy.com/library/log4shell-vulnerable-app:latest

    参考资料:

    Harbor .v1.10.2 私有镜像仓库的自签CA证书、安装使用【超详细官方文档翻译说明】_11229407的技术博客_51CTO博客

    Harbor配置自签名证书 —— 筑梦之路_筑梦之路的博客-CSDN博客_harbor 证书 

  • 相关阅读:
    微服务--Gatway:网关
    ELK高级搜索(四)
    Flask: 上传文件的功能怎么做?
    全志V853 NPU 转换部署 YOLO V5 模型
    分布式事务 —— SpringCloud Alibaba Seata
    保存yum源中的rpm包,让那些下载就要钱要积分的资源都去吃奥利给吧
    # Dasctf 7月赋能赛 WP
    lmxcms1.4
    NNDL实验: Moon1000数据集 - 弯月消失之谜
    Gartner:55%的组织,正在试用ChatGPT等生成式AI
  • 原文地址:https://blog.csdn.net/qq_34777982/article/details/125917923