TANZU - Harbor con SSL configurado
En este manual, se describe como añadir un certificado SSL autofirmado en Harbor. De esta manera se puede utilizar HTTPS en Harbor, además de conexión desde el cliente Docker que se utilizará para cargar los contenedores a Harbor.
Para instalar Harbor en Debian 11 ver : TANZU - Instalar Harbor en Debian 11
Hacer conexión SSH a la máquina de Harbor.
Elevarse como root : su -
Crear una carpeta para almacenar los certificados y acceder a ella:
mkdir certs
cd certs
Primero se genera una clave privada, para ello utilizar el siguiente comando:
Ahora se genera el certificado CA. Cambiar los valores por los vuestros , y en el CN hay que meter el FQDN del servidor.
Navegar a la carpeta de harbor, y editar el archivo harbor.yml
#vcenter7 #tanzu #kubernetes #vmware #debian #harbor #ticveintitres #actitud #motivacion
openssl genrsa -out ca.key 4096
Ejemplo:
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=ES/ST=Valencia/L=Valencia/O=ticveintitres/OU=Personal/CN=harbor.ticveintitres.com" \
-key ca.key -out ca.crt
Ahora se tiene que crear el certificado del servidor.
Primero se genera la clave privada del servidor:
Ejemplo: openssl genrsa -out harbor.ticveintitres.com.key 4096
Lo siguiente es generar la solicitud de firma ( CSR ), recordar cambiar los valores que se ponen aquí de ejemplo por los vuestros y que en CN insertar el FQDN del servidor.
Ejemplo:
openssl req -sha512 -new \
-subj "/C=ES/ST=Valencia/L=Valencia/O=ticveintitres/OU=Personal/CN=harbor.ticveintitres.com" \
-key harbor.ticveintitres.com.key \
-out harbor.ticveintitres.com.csr
Este paso es importante, ya que hay que crear un archivo con la extensión ".ext" para que el certificado que cumpla con la normativa "SAN" y x509 v3. Aquí en los nombres de DNS insertar el FQDN de harbor.
Ejemplo:
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1=harbor.ticveintitres.com
DNS.2=harbor.ticveintitres.com
DNS.3=harbor.ticveintitres.com
EOF
Ahora, este archivo generado se utilizará para crear el CRT para harbor.
Ejemplo:
openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in harbor.ticveintitres.com.csr -out harbor.ticveintitres.com.crt
Copiar los certificados en las siguientes rutas para luego configurar el harbor.yml.
Ejemplo:
cp harbor.ticveintitres.com.crt /etc/ssl/certs
cp harbor.ticveintitres.com.key /etc/ssl/private
En este archivo , hay que comentar las líneas que tienen que ver con la configuración HTTP y descomentar las que hacen referencia a HTTPS.
En las líneas "certificate" y "private_key" se tiene que añadir la ruta de los certificados SSL.
Ejemplo:
Por último, aplicar un install.sh para que se apliquen los cambios en Harbor.
./install.sh
Fin del Manual
Comentarios
Publicar un comentario
Puedes escribirme una reseña aquí mismo, gracias.