{"id":2090,"date":"2020-08-20T21:18:32","date_gmt":"2020-08-21T02:18:32","guid":{"rendered":"http:\/\/creativapixel.com\/?p=2090"},"modified":"2020-08-20T22:07:15","modified_gmt":"2020-08-21T03:07:15","slug":"instalar-certificado-https-autofirmado-en-centos-7","status":"publish","type":"post","link":"https:\/\/creativapixel.com\/blog\/instalar-certificado-https-autofirmado-en-centos-7\/","title":{"rendered":"Instalar certificado https autofirmado en CentOS 7 y Nginx"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Vamos a instalar un certificaddo ssl para nuestro servidor Nginx para servir https. Hay que tener en cuenta que usar un certificado autofirmado que no esta emitido por una instituci\u00f3n certificadora en el navegador nos mostrar\u00e1 el mensaje de sitio inseguro a pesar de contar con el https. Esto no es problema para un uso privado o controlado de alg\u00fan sistema o aplicaci\u00f3n web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verificamos si ya tenemos instalado openssl<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> yum info openssl<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">si no lo tenemos instalado, procedemos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> yum install openssl<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">abrimos el puerto 443 que es para https<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> firewall-cmd --zone=public --add-port=443\/tcp --permanent<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">reiniciamos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> firewall-cmd --reload<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ingresamos a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> cd \/etc\/pki\/tls\/misc\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Luego creamos en entidad certidicadora<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> .\/CA -newca<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Presionamos enter, agregamos una clave nueva y repetimos la clave<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> Enter PEM pass phrase:\n Verifying - Enter PEM pass phrase:<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Completamos los siguientes campos<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El pais<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> Country Name (2 letter code) &#91;XX]:PE<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ciudad<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> State or Province Name (full name) &#91;]:TRUJILLO\n Locality Name (eg, city) &#91;Default City]:TRUJILLO<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nombre de la empresa<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> Organization Name (eg, company) &#91;Default Company Ltd]:NOMBRE EMPRESA<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Giro de negocio<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> Organizational Unit Name (eg, section) &#91;]:TURISMO<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nombre del server<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> Common Name (eg, your name or your server's hostname) &#91;]:nombreservidor<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Email<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> Email Address &#91;]:administracion@correo.com<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Estos campos los dejamos vacios<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> A challenge password &#91;]:\n An optional company name &#91;]:<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ingresamos una vez mas nuestra clave<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> Enter pass phrase for \/etc\/pki\/CA\/private\/.\/cakey.pem:<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora crear los certificados<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> .\/CA -newreq-nodes<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Se presentar\u00e1 los campos anteriores. Igualmente completamos y luego de terminar<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora creamos la clave<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> .\/CA -sign<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Luego ingresamos nuestra clave<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> Enter pass phrase for \/etc\/pki\/CA\/private\/cakey.pem:<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Damos YES 2 veces para terminar<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Luego cambiamos de nombre a nuestro certificado y clave<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> mv newcert.pem https.crt<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code> mv newreq.pem https.key<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Luego movemos los archivos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> mv https.crt \/etc\/pki\/tls\/certs\/<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code> mv https.key \/etc\/pki\/tls\/private<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Luego aplicamos los certificados y key a nginx. Editamos.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> \/etc\/nginx\/conf.d\/mistio.conf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Agregamos redirecci\u00f3n del puerto 80 al 443 y el respectivo certificado y key<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n        listen 80;\n       \tserver_name sitio.com; \n        return 301 https:\/\/$host$request_uri;\n\n\n\n}\n\nserver {\n        listen 443 ssl;\n       \tserver_name sitio.com; #ip o dominio del sitio\n        \n\t\tssl_certificate \/etc\/pki\/tls\/certs\/https.crt;\n\t\tssl_certificate_key \/etc\/pki\/tls\/private\/https.key;        \n        \n        root   \/var\/www\/html\/sitio.com\/; #ruta principal del sitio\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Verificamos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> nginx -t<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Reiniciamos nginx<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl restart nginx<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Luego ingresamos a nuestro enlace https en nuestro navegador y veremos el siguiente mensaje. Este mensaje es normal porque el certificado no es emitido por una instituci\u00f3n certificadora. Solo agregaremos nuestra excepci\u00f3n para nuestra url y con eso ya podemos usar o servir https.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"654\" height=\"475\" src=\"http:\/\/creativapixel.com\/wp-content\/uploads\/2020\/08\/confirmacion-excepcion.png\" alt=\"\" class=\"wp-image-2102\" srcset=\"https:\/\/creativapixel.com\/blog\/wp-content\/uploads\/2020\/08\/confirmacion-excepcion.png 654w, https:\/\/creativapixel.com\/blog\/wp-content\/uploads\/2020\/08\/confirmacion-excepcion-300x218.png 300w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Vamos a instalar un certificaddo ssl para nuestro servidor Nginx para servir https. Hay que tener en cuenta que usar un certificado autofirmado que no esta emitido por una instituci\u00f3n &#8230;<\/p>\n","protected":false},"author":1,"featured_media":2101,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,18],"tags":[],"class_list":["post-2090","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-centos","category-servidores-gnulinux"],"_links":{"self":[{"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/posts\/2090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/comments?post=2090"}],"version-history":[{"count":11,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/posts\/2090\/revisions"}],"predecessor-version":[{"id":2103,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/posts\/2090\/revisions\/2103"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/media\/2101"}],"wp:attachment":[{"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/media?parent=2090"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/categories?post=2090"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/tags?post=2090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}