#4sysadmins

Inicio » GNU/Linux » Guía rápida

Archivo de la categoría: Guía rápida

PKI: certificados autofirmados, self-signed certificates

Crear Autoridad Certificadora (Public Key Infrastructure)

Nota: en mi caso mi PKI se encuentra en un servidor local sin acceso a Internet. Una vez generados los certificados, los muevo donde sean necesarios.

$ ssh user@ubuntu-server
$ sudo su -

# cd ~; mkdir pki; cd pki
# openssl genrsa -out CA.key 4096
# chmod 400 CA.key
# openssl req -x509 -new -nodes -key CA.key -sha256 -days 7300 -out CA.crt
	ES
	Seville
	Seville
	Nebul4ck Org.
	Nebul4ck Security Dept
	Nebul4ck CA
	nebul4ck@no-existe.org

# chmod 444 CA.crt
# openssl x509 -noout -text -in CA.crt

Recordar que este certificado «CA.crt» es el que deberéis de importar en vuestro navegador Web para que autorice de forma correcta las conexiones con los servidores a los que vayáis a añadir un certificado firmado por esta CA.

Certificados de Servidor

Editar y añadir al siguiente archivo aquello que sea necesario para que las secciones/argumentos queden como veremos a continuación. Además vamos a suponer que accederemos a nuestro servidor apache con alguno de los siguientes fqdn:

# cd /etc/ssl/
# cp openssl.cnf openssl-ok.cnf
# vi openssl-ok.cnf
...
[req]
req_extensions = v3_req

[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = vpn-00a1cc34.nebul4ck.org
DNS.2 = vpn-00b1cc35.nebul4ck.org
DNS.3 = vpn-gwtransit-1110aa.backup
DNS.4 = vpnClient

[ CA_default ]
copy_extensions = copy

Los alt_names (por si no os habéis dado cuenta) son los FQDN o nombres completo los cuales nuestro certificado reconocerá cuando accedamos al servidor por www (en Apache2 = ServerName).

# openssl genrsa -out vpn.key 2048
# openssl req -new -key vpn.key -out vpn.csr
	ES
	Seville
	Seville
	Nebul4ck Org.
	Nebul4ck Security Dept
	vpn-00a1cc34.nebul4ck.org
	nebul4ck@no-existe.org
	[]
	[]

El CNAME debe de coincidir con el nombre del servidor (con el que accedemos vía web)

# openssl x509 -req -in vpn.csr -CA CA.crt -CAkey CA.key \
-CAcreateserial -out vpn.crt -days 7300 -sha256 -extensions \
v3_req -extfile /etc/ssl/openssl-ok.cnf

Certificado de usuario para autenticación Web

# openssl req -newkey rsa:2048 -keyout vpnClient.key -out vpnClient.csr -nodes -days 7300 -subj "/CN=vpnClient"
# openssl x509 -req -in vpnClient.csr -CA CA.crt -CAkey CA.key \
-out vpnClient.crt -set_serial 01 -days 7300 -extensions \
v3_req -extfile /etc/ssl/openssl-ok.cnf

# openssl pkcs12 -export -clcerts -in vpnClient.crt -inkey vpnClient.key -out vpnClient.p12
Enter Export Password: ************
Verifying - Enter Export Password: ************

Ahora ya puedes importar este p12 en tu navegador y autenticarte contra tu servidor web de forma segura.

Uso de memoria RAM

En BigData y aplicaciones «On Streaming» se está dando mucha importancia al uso de memoria RAM, ya que podemos encontrar servidores con hasta 244GB de memoria para tan solo mantener un servicio activo. En esta entrada veremos como el sistema hace uso de la RAM de manera que puedas calcular de forma mas exacta los recursos necesarios.

(más…)

Migrar MySQL a PostgreSQL

Si tienes ciertas BBDD en MySQL/MariaDB y necesitas migrar los datos (bbdd/tablas) a un servidor postgreSQL aquí te explicamos una sencilla y rápida forma de hacerlo.

(más…)

MySQL: Access denied for user ‘root’@’localhost’

Si acabas de instalar MySQL e intentas acceder con root para comenzar a crear alguna BBDD o usuario y te encuentras con esto:

ERROR: Access denied for user 'root'@'localhost'(using password: YES)

Te recomendamos que realices los siguientes pasos:

(más…)

Configurar GRUB

En esta entrada vamos a terminar por fin nuestras experiencias con los cargadores de arranque por excelencia. Hemos escrito ya varias entradas en las que resolvemos algunos de los problemas mas típicos con GRUB, aquí definitivamente veremos algo de teoría y afianzaremos los últimos conceptos.

(más…)

Configurar servicio IP pública estática en casa

En entradas anteriores aprendimos a crear una red túnel desde nuestra casa, hasta cualquier destino fuera de nuestra red mediante OpenVPN. En esta entrada vamos a ver como configurar una IP dinámica (la recibida por nuestro ISP) para que sea «estática», de manera que podamos acceder a la red de casa día si y día también desde fuera mediante un fqdn.

(más…)

OpenVPN en CentOS 7

En la entrada «Configurar OpenVPN» vimos como instalar y configurar OpenVPN en Debian. Si queremos hacer lo mismo en un sistema CentOS haremos lo siguiente:

(más…)

Configurar cliente OpenVPN Android

En esta ocasión vamos a ver como configurar el cliente OpenVPN en Android para conectar desde el exterior con la red privada de nuestra casa.

(más…)

Configurar cliente OpenVPN Linux

A continuación veremos como configurar un cliente OpenVPN tanto en Linux como en Android.

(más…)

Red privada con OpenVPN

¿Quieres acceder a la red de casa desde la cafetería, desde casa de un amigo…? y que además, ¿la comunicación vaya cifrada y autenticada con SLL/TLS?, incluso con una IP dinámica como es el caso  en la mayoría de los mortales. (más…)