Inicio Linux & Systems Networks & Infrastructure Cybersecurity Cloud & DevOps SIEM & Monitoring DFIR & Threat Intel Development & Other Todas las categorias Herramientas

Certificado SSL auto-firmado

Certificado SSL auto-firmado

Tabla de contenidos

Un certificado digital o certificado electrónico es un fichero informático generado por una entidad de servicios de certificación que asocia unos datos de identidad a una persona física, organismo o empresa confirmando de esta manera su identidad digital en Internet.

No obstante, muchas veces nos interesa generar un certificado auto-firmado para pruebas o uso interno.

Generar una Clave Privada

En primer lugar creamos la clave privada RSA, para ello ejecutamos el siguiente comando:

text
openssl genrsa -out redorbita.key 2048

Generar un CSR (solicitud de firma de certificado)

El fichero CSR se puede emplear de dos maneras. Principalmente, el CSR se enviará a una autoridad certificadora, quien verificará la identidad del solicitante y expedirá un certificado firmado.

La segunda opción, la cual realizaremos nosotros es un certificado auto-firmado.

bash
[rokitoh@redorbita~]# openssl genrsa -out redorbitar.key 2048
Country Name (2 letter code) [GB] :SP
State or Province Name (full name) [Berkshire] :Madrid
Locality Name (eg, city) [Newbury] :Madrid
Organization Name (eg, company) [My Company Ltd] :red-orbita
Organizational Unit Name (eg, section) [] :Information Technology
Common Name (eg, your name or your server’s hostname) [] :pre.red-orbita.com
Email Address [] :pre.red-orbita.com at ymail dot com
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Certificado auto-firmado

bash
[rokitoh@redorbita~]# openssl x509 -req -days 365 -in redorbita.csr -signkey redorbita.key -out redorbita.crt

Configurar certificado en Apache

Copiamos los certificados generados

bash
[rokitoh@redorbita~]# cp redorbita.crt /usr/local/apache/conf/

[rokitoh@redorbita~]# cp redorita.key /usr/local/apache/conf/

 

Configurar host virtuales con SSL activado

  

text
SSLEngine on

SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt

SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key

SetEnvIf User-Agent «.*MSIE.*» nokeepalive ssl-unclean-shutdown

CustomLog logs/ssl_request_log \

«%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \»%r\» %b»

Reiniciar Apache

bash
[rokitoh@redorbita~]# /etc/init.d/httpd restart

 

Configurar certificado en Nginx

 

Copiamos los certificados generados

bash
[rokitoh@redorbita~]# cp redorbita.crt /usr/local/nginx/conf/

[rokitoh@redorbita~]# cp redorita.key /usr/local/nginx/conf/

Configurar host virtuales con SSL activado

text
ssl on;
ssl_certificate /usr/local/nginx/redorbita.crt;
ssl_certificate_key /usr/local/nginx/redorbita.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;


Reiniciar Nginx

  

[rokitoh@redorbita~]# /etc/init.d/nginx restart

Un saludo.

:wq!

Comentarios