Zabbix usa certificado SSL para implementar el inicio de sesión https

Zabbix recomienda usar el servidor nginx, que tiene un mayor rendimiento. Para cumplir con el acceso seguro, ahora se debe configurar https, principalmente para configurar el módulo ssl de nginx y generar el archivo de certificado correspondiente a zabbix-server

Zabbix 5.0 se ha instalado antes y el entorno de configuración seleccionado es el siguiente:

Zabbix usa certificado SSL para implementar el inicio de sesión https

Para conocer el método de instalación detallado, consulte el documento oficial:
https://www.zabbix.com/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=nginx

Tenga en cuenta que la versión de nginx que utilicé no es coherente con la versión recomendada, configure nginx de acuerdo con la situación real

Instalación del módulo SSL de Nginx

Compruebe si nginx instala el módulo http_ssl_module.

/usr/sbin/nginx -V

Si aparece configurar argumentos: --with-http_ssl_module, está instalado

Zabbix usa certificado SSL para implementar el inicio de sesión https

Yo uso nginx instalado por yum, con su propio módulo ssl. Debido a que nginx no puede actualizar módulos dinámicamente, cuando necesita cargar un módulo, debe recompilarlo e instalarlo.

Cada vez que agrega un nuevo módulo, debe agregar el módulo previamente compilado al parámetro de configuración
Cada vez que agrega un nuevo módulo, primero debe registrar la configuración anterior.

Hay muchos tutoriales en línea para compilar e instalar nginx.

Utilice opnenssl para generar un certificado

Puede solicitar un certificado de forma gratuita o de pago en un gran fabricante de computación en la nube. A continuación se muestra cómo Alibaba Cloud puede solicitar un certificado de forma gratuita
https://common-buy.aliyun.com/?spm=5176.15089375.4329286700.5.33ca1232so4ULs&commodityCode=cas#/buy El
certificado generalmente es válido durante aproximadamente un año.
Sin embargo, el certificado debe estar vinculado al nombre de dominio y debe revisarse estrictamente. No es adecuado para nuestra intranet.

También podemos usar openssl para generar información de certificados de forma gratuita, pero es un poco problemático.

Cree un nuevo directorio para guardar la información del certificado

mkdir /etc/nginx/ssl
cd /etc/nginx/ssl

Utilice la herramienta openssl para generar una clave privada RSA

Primero confirme si se ha instalado la herramienta openssl

openssl version

Zabbix usa certificado SSL para implementar el inicio de sesión https

Por lo general, centos viene con herramientas openssl, de lo contrario, descárguelas e instálelas desde el sitio web oficial http://www.openssl.org.

Generar clave privada rsa

openssl genrsa -des3 -out server.key 2048

Como arriba: des3 es el algoritmo, fuerza de 2048 bits (para confidencialidad). server.key es el nombre del archivo de claves -out significa: la ruta y el nombre del archivo generado.

Zabbix usa certificado SSL para implementar el inicio de sesión https

Frase de cifrado, lo que configuro aquí es 123456

Ver la clave privada generada

openssl rsa -text -in server.key

Zabbix usa certificado SSL para implementar el inicio de sesión https

Ver clave generada

cat server.key

Zabbix usa certificado SSL para implementar el inicio de sesión https

Crear un archivo CSR de solicitud de firma de certificado

Archivo CSR (Certificate Signing Request) Antes de solicitar un certificado digital, se debe generar el archivo clave y el archivo CSR del certificado. El archivo CSR es el archivo original de su certificado de clave pública, que contiene información del servidor e información de la unidad, y debe enviarse al centro de certificación de CA para su revisión.

Usa el siguiente comando

openssl req -new -key server.key -out server.csr

Zabbix usa certificado SSL para implementar el inicio de sesión https
Descripción:

Enter pass phrase for server.key:                              #123456
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN       # 输入国家代码,中国填写 CN
State or Province Name (full name) []:hubei  #省份
Locality Name (eg, city) [Default City]:wuhan  #城市
Organization Name (eg, company) [Default Company Ltd]:ctbt #公司名 瞎填
Organizational Unit Name (eg, section) []:ops     #部门瞎填
Common Name (eg, your name or your server's hostname) []:172.31.208.128  #域名,没有域名,我用IP地址
Email Address []:[email protected]   #邮箱

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:  #无需填写

Después de la operación anterior, se generarán los siguientes dos archivos en el directorio actual:

server.key server.csr
Zabbix usa certificado SSL para implementar el inicio de sesión https

Ver archivo csr

openssl req -text -in server.csr -noout

Zabbix usa certificado SSL para implementar el inicio de sesión https

Generar certificado CA

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

El significado de x509: el significado del formato especificado -
en: el significado del archivo de solicitud especificado -
signkey: autofirmado

-días: período válido, configuro 3650 días, diez años

Zabbix usa certificado SSL para implementar el inicio de sesión https

server.crt es la información del certificado del servidor

Despegue la frase de contraseña de PEM

Después de configurar la frase de contraseña PEM (contraseña encriptada) de la clave, esta situación puede ser que la configuración de la contraseña se escriba en el archivo de clave al configurar la clave privada, lo que hace que la serie de servidores Nginx / Apache requiera Ingresar frase de contraseña PEM al comenzar. Como resultado, el inicio falla. Lo que tenemos que hacer es quitar la contraseña y usar el siguiente comando de OpenSSL para generar el archivo server.key.unsecure

openssl rsa -in server.key -out server.key.unsecure

Se recomienda que no se requiera un entorno simple para agregar una contraseña a la clave del certificado o algo, lo cual es propenso a problemas

Debido a que https es generalmente autenticación unidireccional, el entorno simple no necesita usar autenticación bidireccional, no es necesario generar un certificado de cliente

Si necesita generar un certificado de cliente, es similar a generar un certificado de CA

openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 3650 -in client.csr -signkey client.key -out client.crt

nginx configure ssl

Primero edite /etc/nginx/ngnix.conf, comente el servidor 80, para que no acceda a zabbix-web a través del puerto 80

cd /etc/nginx/
cp nginx.conf nginx.conf.bak
vim nginx.conf

Haga una copia de seguridad del archivo de configuración antes de modificarlo

Zabbix usa certificado SSL para implementar el inicio de sesión https

Use el comando nginx -t para verificar si la sintaxis del archivo de configuración es correcta después de la modificación

Zabbix usa certificado SSL para implementar el inicio de sesión https

Configure zabbix.conf en la ruta /etc/nginx/conf.d, que es la configuración de https

touch /etc/nginx/conf.d/zabbix.conf

Edite de la siguiente manera

Zabbix usa certificado SSL para implementar el inicio de sesión https

Los siguientes son los archivos de configuración clave

server {
        listen          80;
        server_name     172.31.208.128;
        return 301 https://172.31.208/128$request_uri;
}

server {
        listen 443 ssl;
        ssl_certificate   ssl/server.crt; #证书文件
        #ssl_certificate_key  ssl/server.key; #密钥文件
        ssl_certificate_key  ssl/server.key.unsecure; #剥离密码的密钥文件,如果没有对密钥加密,直接使用server.key
        ssl_session_timeout 5m;   #缓存有效期
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用加密算法
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  #安全连接的可选加密协议
        ssl_prefer_server_ciphers on; #使用服务器的首选算法
        root    /usr/share/zabbix;

        index   index.php;

Luego use nginx -t para verificar la sintaxis y reinicie nginx si no hay ningún problema

Si nginx se inicia normalmente, el acceso a zabbix nuevamente es usar https

Zabbix usa certificado SSL para implementar el inicio de sesión https

Zabbix usa certificado SSL para implementar el inicio de sesión https

Verifique la información del certificado

Zabbix usa certificado SSL para implementar el inicio de sesión https

Zabbix usa certificado SSL para implementar el inicio de sesión https

En este punto, el certificado está instalado.

No sé si es útil, pero el cliente me ha engañado. El maldito NSFOCUS nunca más dirá que mi sitio web es inseguro, jajaja

Supongo que te gusta

Origin blog.51cto.com/11555417/2545852
Recomendado
Clasificación