Instalar servidor vpn (openVPN) + creacion subdominio en ubuntu

Para instalar OpenVPN server con Interfaz web para administrar usuarios basta con ejecutar los siguientes comandos:

wget https://raw.githubusercontent.com/theonemule/simple-openvpn-server/master/openvpn.sh
chmod +x openvpn.sh
./openvpn.sh --adminpassword=TestVPN25

 

Una vez instalado simplemente tenemos que entrar mediante ip mediante https

Estos comandos lo he sacado de la página https://clouding.io/kb/instalar-openvpn-en-ubuntu/ . Te aconsejo visitarla ya que solo he puesto lo básico para instalar el VPN.

Una vez instalado el servidor OpenVPN he querido poder entrar al panel de control a través del subdominio vpn.informaticosmurcia.es para poder acceder de una forma sencilla y fácil de recordar.

Bueno antes de nada saber que el script de arriba instala el servidor web lighttpd para poder realizar la administración del servidor VPN. Yo de forma particular utilizo en mi servidor de pruebas el servidor web nginx.

Primero voy a mover los ficheros que el script de OpenVPN me ha generado en /var/www/ a una carpeta diferente para poder luego redirigir el trafico de la url vpn.informaticosmurcia.es a esa carpeta:

  • Creo un directorio dentro de /var/www/ llamado vpn.informaticosmurcia.es
  • Muevo los ficheros creados por el script de instalacion del OpenVPN
    • mv /var/www/download.sh /var/www/vpn.informaticosmurcia.es/download.sh
    • mv /var/www/index.sh /var/www/vpn.informaticosmurcia.es/index.sh
    • Editamos el fichero /lighttpd.conf y cambiamos el puerto por defecto y el directorio raiz por defecto
      server.document-root        = "/var/www/vpn.informaticosmurcia.es"
      server.port                 = 6969

      Una vez cambiado reiniciamos el servicio lighttpd.

       service lighttpd restart

       

    • Creamos el fichero de configuracion del subdominio en nginx.
      nano /etc/nginx/sites-available/vpn.informaticosmurcia.es

      Realizamos la configuración del fichero:

      server {
        listen          80;
        server_name     vpn.informaticosmurcia.es;
       
        location / {
              proxy_set_header X-Forwarded-Host $host;
              proxy_set_header X-Forwarded-Server $host;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_pass https://127.0.0.1:6969/;
        }
      
       
      }
      
      

      Lo que hace Nginx es que todo lo que provenga de la url vpn.informaticosmurcia.es lo vamos a rediriguir de forma tasparente a nuestro servidor lighttpd que esta en el puerto 6969 en nuestro servidor.

    • Habilitamos en el servidor nginx el dominio.
      sudo ln -s /etc/nginx/sites-available/vpn.informaticosmurcia.es /etc/nginx/sites-enabled/vpn.informaticosmurcia.es

      Y reiniciamos el servidor nginx

      sudo service nginx restart

      Una vez hecho ya podemos acceder de forma comoda a nuestro servidor OpenVPN a través de vpn.informaticosmurcia.es

 

Publicado en Linux | Deja un comentario

Proteger el directorio wp-admin con una contraseña usando .htaccess

Para aumentar la seguridad de su web y evitar, por ejemplo, que resulte vulnerable a ataques maliciosos tipo “de fuerza bruta”, usted puede crear archivos .htaccess y .htpasswd que le permitián establecer una contraseña de acceso a su Panel de control o Dashboard.

Paso 1
Con un editor de texto, cree un documento llamado .htaccess (permite crear configuraciones específicas para una carpeta específica) con el siguiente contenido:

AuthType Basic
AuthName “Espacio potegido con password”
AuthUserFile /homepages/xx/xxxxxxxxx/htdocs/[Carpeta]/wp-admin/.htpasswd
require user [Usuario]

“/homepages/xx/xxxxxxxxx/htdocs/” es una dirección de ejemplo que usted debe substituir con la de su servidor, el nombre de la carpeta en que desee instalar el archivo y su nombre de usuario.

Para consultar la ruta de acceso a su servidor vaya su 1&1 Panel de control en Dominios>Administrar Dominios, y allí Seleccionar el dominio deseado y hacer clic en Información)

A tener en cuenta:
Si ya ha instalado un .hcaccess, esta nueva versión borrará la anterior, anulando la configuración anteriormente establecida.
Paso 2
Con un editor de texto, cree un documento llamado .htpasswd con el siguiente contenido, uno por cada usuario registrado, adaptado a su servidor:

[Usuario]:[ContraseñaEncriptada]
Paso 3

Para implementar los cambios efectuados, cargue los archivos en su carpeta /wp-admin, por ejemplo mediante un programa de FTP como Filezilla, en el que puede especificar que se trata de archivos de texto y transferirlos como ASCII, con el nombre de su servidor, su usuario y contraseña.

Una vez que estos archivos estén cargados en la carpeta /wp-admin, su página dispondrá de una capa extra de seguridad.

Publicado en Linux, Seguridad, servidor | Deja un comentario

Fail2Ban ver jaulas y quitar ban de una ip

Script para ver todas las jaulas y el estado de cada una de ellas.

#!/bin/bash

JAILS=`fail2ban-client status | grep "Jail list" | sed -E 's/^[^:]+:[ \t]+//' | sed 's/,//g'`
for JAIL in $JAILS
do
  fail2ban-client status $JAIL
done

una vez que sabemos en que jaula esta la ip que queremos quitarle el ban usamos el siguiente comando:

sudo fail2ban-client set NOMBREJAULA unbanip xxx.xxx.xxx

 

Publicado en Linux, Seguridad | Deja un comentario

Cómo cambiar el título del sitio y la fuente de texto de la descripción en Twenty Seventeen

/* SITE TITLE */
/* Mobiles */
.site-title {
	font-family: Tahoma;
	font-size: 20px;
	text-transform: lowercase;
}
 
/* Computer screens */
@media screen and (min-width: 48em) {
.site-title {
	font-family: Tahoma;
	font-size: 40px;
	text-transform: lowercase;
	}
}
 
/* SITE DESCRIPTION */
/* Mobiles */
.site-description {
	font-family: Tahoma, Geneva, sans-serif;
	font-size: 15px;
	line-height: 17px;
	text-transform: lowercase;
}
 
/* Computer screens */
@media screen and (min-width: 48em) {
.site-description {
	font-family: Tahoma, Geneva, sans-serif;
	font-size: 22px;
	line-height: 26px;
	text-transform: lowercase;
	}
}

 

Publicado en Wordpress | Deja un comentario

Twenty Seventeen com ocentrar el logo y la descripción

#masthead .wrap {
    /* position: relative; */
	text-align: center;
}

 

Publicado en Wordpress | Deja un comentario

Poner el Menu Twenty Seventeen en ancho completo

.navigation-top .wrap {
    max-width: 100%;
    /* padding: 0; */
}
 
 
@media screen and (min-width: 48em) {
.navigation-top .wrap {
    max-width: 100%;
    /* padding: 0.75em 3.4166666666667em; */
}
}

 

Publicado en Wordpress | Deja un comentario

Poner el tema Twenty Seventeen con ancho completo

La apariencia de ancho completo debería funcionar en todo el sitio (por ejemplo, páginas únicas, archivos de publicaciones únicas y blogs).
Dónde y cómo hacer que el ancho del contenido y las áreas de la barra lateral a pantalla completa.

Para poner este código tienes que ir a Aparencia - Editor y editar el estilo.css
.wrap {
	/* margin-left: auto; */
	/* margin-right: auto; */
	max-width: 100%;
	/* padding-left: 2em; */
	/* padding-right: 2em; */
}
 
@media screen and (min-width: 48em) {
	.wrap {
		max-width: 100%;
		/* padding-left: 3em; */
		/* padding-right: 3em; */
	}
}
 
.page.page-one-column:not(.twentyseventeen-front-page) #primary {
	/*margin-left: auto;*/
	/*margin-right: auto;*/
	max-width: 100%;
}
 
@media screen and (min-width: 30em) {
	.page-one-column .panel-content .wrap
	{
		max-width: 100%;
	}
}

 


							
Publicado en Wordpress | Deja un comentario

Inslatar certificado SSL en Nginx con CertBot

He querido conocer como se pasa de una página de http a hhtps y buscando he descubierto Let’s Encrypt y con la herramienta Certbot pasar de http a hhtps de forma fácil y automática.

En este caso no quiero poner un tutorial aquí ya que en la página Certbot está muy bien explicado según el sistema operativo que tengas y el servidor web que tengas instalado.

 

Publicado en Linux, servidor | Deja un comentario

Nodejs + Nginx

Hola, he creado el típico hola mundo en nodejs

Ejecuto la aplicación de node.js

devscgm@ubuntu:~/EjemplosNode/holaMundoNodejs$ node index.js
listening on *:3000

Abro un navegador y escribo http://ipMaquina:3000 y me muestra el “HOLA MUNDO” que he creado.

Ahora quiero que dado un dominio, por ejemplo www.prueba.com redireccione a mi aplicación en node que esta escuchando en el puerto 3000.

Para ello nos modificamos el fichero de nginx

sudo nano /etc/nginx/sites-available/default

Nos vamos al final del fichero y escribimos lo siguiente:

server {
    listen 80;
 
    server_name prueba.com;
 
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Fijaros en el server_name y en proxy_pass

Guardamos y reiniciamos el servidor nginx

sudo service nginx restart

Si tenemos bien configurado nuestro servidor DNS para que apunte el dominio www.prueba.com a la maquina donde tenemos instalado nginx y la aplicación en node.js veremos que en el navegador vemos nuestro “HOLA MUNDO” sin ver el puerto donde realmente esta ejecutándose la aplicación de node.js.

Publicado en servidor | Etiquetado , | Deja un comentario

Configurar dominio en Nginx

Hola, a continuación voy a explicar cómo instalar el servidor Nginx y configurarlo para cualquier dominio. Este tutorial puede aplicarse para instalar tantos dominios o subdominios como se deseen y que cada uno apunte a una carpeta distinta.

  • Lo primero es tener instalado el servidor Nginx
sudo apt-get update
sudo apt-get install nginx

Una vez Instalado podemos comprobar que funciona abriendo un navegador web y metiendo la ip de la maquina. Nos saldrá una página de bienvenida por defecto que vienen en Nginx.

  • Ahora creamos una carpeta en donde ubicaremos nuestro proyecto web (la carpeta la podemos crear en donde queramos, yo pongo un ejemplo)
    sudo mkdir -p /var/www/dominio.com/public_html
    

Dándole permisos, al ser aplicación web le damos los permisos a www-data:

sudo chown -R www-data:www-data /var/www/dominio.com/public_html
  • Añadimos dentro de la carpeta creada (en mi ejemplo es /var/www/dominio.com/public_html) un index.html con un HOLA MUNDO de tu dominio para comprobar al final del tutorial que funciona la redirección a la carpeta de tu proyecto web.
  • Creamos el Host Virtual en Nginx
    A continuación vamos a decirle a Nginx que va a tener un nuevo host virtual que gestionar, es decir, que cuando el usuario introduzca en el navegador dominio.com, el servidor tendrá que leer el archivo de configuración que crearemos para saber qué hacer. En Nginx hay dos rutas importantes. La primera de ellas es sites-available, que contiene los archivos de configuración de los hosts virtuales disponibles en el servidor. La otra es sites-enabled, que contiene los archivos de configuración de los sitios habilitados, es decir, los que funcionan en ese momento. Vamos a crear un archivo para dominio.com:
sudo nano /etc/nginx/sites-available/dominio.com

Introducimos el siguiente código

server {
## Escucha en el puerto 80 (HTTP)
listen 80; 

## Raíz donde se encuentra la página Web
root /var/www/dominio.com/public_html;

## Orden de prioridad de los archivos index
index index.html index.htm;

server_name dominio.com;
}
  • A pesar de haber creado este archivo, todavía no podemos acceder a nuestra página Web, ya que la configuración está en sites-available, pero no en sites-enabled. Para habilitar el host virtual crearemos un enlace simbólico entre ambas carpetas:
    $ sudo ln -s /etc/nginx/sites-available/dominio.com /etc/nginx/sites-enabled/dominio.com
    
  • Reiniciamos Ngninx
    sudo service nginx restart
    

fuente.

 

 

Publicado en servidor | Etiquetado | Deja un comentario