Conexión por escritorio remoto a servidor CentOS usando Protocolo de Windows (RDP)

¡Sacrilegio! Gritaran algunos…

En Linux es posible instalar un servidor RDP para usar el protocolo que se usa para conectarse remotamente normalmente a equipos Windows. El funcionamiento es a través de una pasarela RDP hacia un servidor VNC. Esto puede ser útil para aquellos administradores de Windows que no son muy dados a la administración por consola de equipos Linux (que es lo más recomendable en este tipo de ambientes)

Para esto se siguen unos sencillos pasos en CentOS 7 (pasos similares probablemente apliquen para otras distribuciones).

0. Actualizar el sistema: Por favor, siempre, actualizar el sistema, siempre!

yum update

1. Instalar el repositorio EPEL

yum -y install epel-release

[root@linuxserver ~]# yum -y install epel-release
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.edatel.net.co
* extras: mirror.edatel.net.co
* updates: mirror.edatel.net.co
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-9 will be installed
--> Finished Dependency Resolution
^[[Z
Dependencies Resolved

==================================================================================================================================================================================
Package                                         Arch                                      Version                                Repository                                 Size
==================================================================================================================================================================================
Installing:
epel-release                                    noarch                                    7-9                                    extras                                     14 k

Transaction Summary
==================================================================================================================================================================================
Install  1 Package

Total download size: 14 k
Installed size: 24 k
Downloading packages:
epel-release-7-9.noarch.rpm                                                                                                                                |  14 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : epel-release-7-9.noarch                                                                                                                                        1/1
Verifying  : epel-release-7-9.noarch                                                                                                                                        1/1

Installed:
epel-release.noarch 0:7-9

Complete!
[root@linuxserver ~]#

2.  Instalar el servidor de RDP y VNC

yum -y install xrdp tigervnc-server

[root@linuxserver ~]# yum -y install xrdp tigervnc-server
Loaded plugins: fastestmirror, langpacks
epel/x86_64/metalink                                                                                                                                       |  40 kB  00:00:00
epel                                                                                                                                                       | 4.2 kB  00:00:00
(1/3): epel/x86_64/group_gz                                                                                                                                | 170 kB  00:00:01
(2/3): epel/x86_64/updateinfo                                                                                                                              | 808 kB  00:00:10
(3/3): epel/x86_64/primary_db                                                                                                                              | 4.8 MB  00:00:27
Loading mirror speeds from cached hostfile
* base: mirror.edatel.net.co
* epel: mirror.cedia.org.ec
* extras: mirror.edatel.net.co
* updates: mirror.edatel.net.co
Resolving Dependencies
--> Running transaction check
---> Package tigervnc-server.x86_64 0:1.3.1-9.el7 will be installed
---> Package xrdp.x86_64 1:0.9.2-12.el7 will be installed
--> Processing Dependency: xorgxrdp for package: 1:xrdp-0.9.2-12.el7.x86_64
--> Running transaction check
---> Package xorgxrdp.x86_64 0:0.2.1-1.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================================================================
Package                                         Arch                                   Version                                        Repository                            Size
==================================================================================================================================================================================
Installing:
tigervnc-server                                 x86_64                                 1.3.1-9.el7                                    base                                 203 k
xrdp                                            x86_64                                 1:0.9.2-12.el7                                 epel                                 408 k
Installing for dependencies:
xorgxrdp                                        x86_64                                 0.2.1-1.el7                                    epel                                  58 k

Transaction Summary
==================================================================================================================================================================================
Install  2 Packages (+1 Dependent package)

Total download size: 669 k
Installed size: 2.7 M
Downloading packages:
(1/3): tigervnc-server-1.3.1-9.el7.x86_64.rpm                                                                                                              | 203 kB  00:00:00
warning: /var/cache/yum/x86_64/7/epel/packages/xorgxrdp-0.2.1-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY          ] 228 kB/s | 401 kB  00:00:01 ETA
Public key for xorgxrdp-0.2.1-1.el7.x86_64.rpm is not installed
(2/3): xorgxrdp-0.2.1-1.el7.x86_64.rpm                                                                                                                     |  58 kB  00:00:01
(3/3): xrdp-0.9.2-12.el7.x86_64.rpm                                                                                                                        | 408 kB  00:00:01
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                             471 kB/s | 669 kB  00:00:01
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>"
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
Package    : epel-release-7-9.noarch (@extras)
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : xorgxrdp-0.2.1-1.el7.x86_64                                                                                                                                    1/3
Installing : 1:xrdp-0.9.2-12.el7.x86_64                                                                                                                                     2/3
Installing : tigervnc-server-1.3.1-9.el7.x86_64                                                                                                                             3/3
Verifying  : xorgxrdp-0.2.1-1.el7.x86_64                                                                                                                                    1/3
Verifying  : tigervnc-server-1.3.1-9.el7.x86_64                                                                                                                             2/3
Verifying  : 1:xrdp-0.9.2-12.el7.x86_64                                                                                                                                     3/3

Installed:
tigervnc-server.x86_64 0:1.3.1-9.el7                                                         xrdp.x86_64 1:0.9.2-12.el7

Dependency Installed:
xorgxrdp.x86_64 0:0.2.1-1.el7

Complete!
[root@linuxserver ~]#

3. Configurar servicio,  firewall y SELinux

Una vez instalado se requiere habilitar el servicio para que inicie con el sistema, crear las reglas respectivas de firewall y tambien de SELinux

systemctl start xrdp.service

systemctl enable xrdp.service

firewall-cmd –permanent –zone=public –add-port=3389/tcp

firewall-cmd –reload

chcon –type=bin_t /usr/sbin/xrdp

chcon –type=bin_t /usr/sbin/xrdp-sesman

[root@linuxserver ~]# systemctl start xrdp.service
[root@linuxserver ~]# systemctl enable xrdp.service
Created symlink from /etc/systemd/system/multi-user.target.wants/xrdp.service to /usr/lib/systemd/system/xrdp.service.
[root@linuxserver ~]# netstat -antup | grep xrdp
tcp        0      0 127.0.0.1:3350          0.0.0.0:*               LISTEN      19712/xrdp-sesman
tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      19713/xrdp
[root@linuxserver ~]# firewall-cmd --permanent --zone=public --add-port=3389/tcp
success
[root@linuxserver ~]# firewall-cmd --reload
success
[root@linuxserver ~]#
[root@linuxserver ~]# chcon --type=bin_t /usr/sbin/xrdp
[root@linuxserver ~]# chcon --type=bin_t /usr/sbin/xrdp-sesman
[root@linuxserver ~]#

4. Conectarse al servidor Linux por RDP

Una vez configurado el servicio, solo se requiere usar el cliente de Windows para conectarse indicando la IP o el nombre del servidor (también funciona en clientes de RDP en Linux como Remmina):

Inicio de cliente rdp
Inicio de cliente rdp

 

Cliente RDP
Cliente RDP

 

Certificado RDP
Certificado RDP

 

Inicio sesion RDP
Inicio sesión RDP

 

Sesion RDP iniciada
Sesion RDP iniciada

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 
 
 

Fuentes:
http://www.itzgeek.com/how-tos/linux/centos-how-tos/install-xrdp-on-centos-7-rhel-7.html
http://www.elinuxbook.com/configure-xrdp-remote-desktop-server-in-linux/

Configuracion de servidor proxy reverso en DMZ usando nginx

nginx es un servidor web usado en varios escenarios, uno de los cuales es el de aprox reverso (reverse proxy).
La principal funcionalidad de un proxy reverso es recibir las solicitudes web (u otros protocolos) de clientes desde una zona en red no segura (DMZ u otras) y reenviar las solicitudes a un servidor ubicado en una ubicación segura y con controles (Intranet).

Con nginx como proxy reverso se pueden mitigar riesgos de seguridad, implementar controles de seguridad y limitar el tipo/numero de conexiones en caso de ataques DoS o DDoS.

Prerequisitos:

– Servidor web en una red interna (IIS, Apache, nginx, etc)
– Servidor con acceso a la red DMZ y a la red interna
– Instalación de Ubuntu 16.04 en la máquina virtual (recomendable con servidor SSH para realizar gestión remota)

1. Instalación de servidor nginx

Para instalar nginx en Ubuntu se usa el siguiente comando:

sudo apt install nginx

Una vez instalado se procede a realizar la configuración del servicio de proxy reverso.

2. Configuración de nginx

La configuración de sitios nginx se realiza principalmente con los archivos que se encuentran en las carpetas /etc/nginx/sites-available/ y /etc/nginx/sites-enabled/

En la carpeta /etc/nginx/sites-available/ se crean los archivos con los sitios que se encuentran disponibles, y en la carpeta /etc/nginx/sites-enabled/ normalmente se crean enlaces simbólicos que apuntan a los sitios que queremos habilitar de la carpeta /etc/nginx/sites-available/

Para configurar un sitio web ejemplo.com que sea proxy reverso hacia un servidor interno con ip ip_srv_interna (10.0.0.2) se realiza la creación de archivo ejemplo.com:

server {
  listen 80; #Puerto de escucha
  server_name ejemplo.com; #Nombre o IP de servidor
    location / {
    proxy_pass http://10.0.0.2:80;
  }
}

Podemos verificar que el archivo de configuración sea correcto con el comando:

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Si parecer un mensaje como el siguiente:

nginx: [emerg] invalid parameter "server_name" in /etc/nginx/sites-enabled/ejemplo.com:6
nginx: configuration file /etc/nginx/nginx.conf test failed

Debemos verificar que el archivo en la linea 6 o cercanas a esta tenga las configuraciones correctas.

Una vez tenemos listo el archivo de configuración del sitio, se crea el enlace simbólico en la carpeta de sitios habilitados

sudo ln -s /etc/nginx/sites-available/ejemplo.com /etc/nginx/sites-enabled/ejemplo.com

Con esto ya podemos realizar una recarga del servicio y comprobar que funcione nuestro proxy reverso:

sudo systemctl reload nginx

3. Habilitar firewall

Dado que el servidor estará expuesto hacia Internet, es recomendable realizar la activación el Firewall. Si bien existen distintos métodos en Linux, últimamente las principales distribuciones se han decantado en usar herramientas para gestionar Firewall, firewalld en distribuciones basadas en Red Hat y ufw en distribuciones basadas en Ubuntu.

Para instalar la herramienta de gestión del Firewall en Ubuntu se usa el siguiente comando:

sudo apt install ufw

Una vez instalada se usa el siguiente comando para habilitarlo:

sudo ufw enable

Se puede verificar el estado del Firewall las reglas con el siguiente comando:

 sudo ufw status verbose

Para habilitar el servicio web (http y https):

sudo ufw allow http

Como tenemos habilitado el servicio SSH, es recomendable limitar el acceso desde una sub red o una tarjeta de red específica, en este caso se limitará el acceso para equipos en la sub red 10.0.0.0/8 normalmente usada para redes internas y restringirá el acceso desde otras redes, como Internet.

sudo ufw allow from 10.0.0.0/8 to any port 22
sudo ufw deny ssh

Luego, configuramos las acciones por defecto de las conexiones, bloqueando todas las entrantes y habilitando las salientes con excepción de las reglas antes creadas:

sudo ufw default allow outgoing
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)

sudo ufw default deny incoming
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)

Verificamos el estado de las reglas de nuevo:

sudo ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To Action From
-- ------ ----
22 ALLOW IN 10.0.0.0/8
80 ALLOW IN Anywhere
22 DENY IN Anywhere
80 (v6) ALLOW IN Anywhere (v6)
22 (v6) DENY IN Anywhere (v6)

4. Realizar configuraciones reforzamiento de seguridad y otras a nginx

Si bien el proxy reverso ya es funcional, es posible realizar configuraciones adicionales para mitigar ataques de diverso tipo, enviar información del cliente hacia el servidor web interno para que sea más transparente el funcionamiento y ubicar los logs del sitio en una ruta específica.
Teniendo en cuenta esto, se modificará el archivo ejemplo.com con las configuraciones deseadas.
En los archivos de configuración de nginx se realizan comentarios usando el símbolo numeral (o como se ha nombrado tanto en estos días, hastag) #.
A continuación se muestra el archivo ejemplo.com con distintas configuraciones y su descripción:

sudo nano /etc/nginx/sites-enabled/ejemplo.com

limit_conn_zone $binary_remote_addr zone=addr:10m; #Espacio en memoria reservado para la zona

server {
  listen 80; #Puerto de escucha
  server_name ejemplo.com; #Nombre de servidor
  client_body_timeout 15s; #Timeout de maximo de conexiones a body 15 segundos para luego cerrar sesion para evitar ataques Slowloris
  client_header_timeout 15s; #Timeout de maximo de conexiones a header 15 segundos para luego cerrar sesion para evitar ataques Slowloris

  access_log /var/log/nginx/ejemplo.access.log; #Log de accesos a servidor
  location / {
    limit_conn addr 25; #Limitar el numero de conexiones simultaneas desde una IP a 25 evitando ataques DoS
    proxy_pass http://10.0.0.2:80;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    #deny 8.8.8.8 #Denegar acceso de IPs que puedan estar realizando ataques de DDoS
    }
}

Una vez se tengan todos los cambios deseados, se realiza de nuevo la recarga del servicio de nginx.

sudo systemctl reload nginx

Para realizar la prueba se puede ingresar desde un navegador a la IP pública o el dominio http://ejemplo.com, se mostrará la respuesta web del servidor interno proporcionada a través de nginx.

También se puede comprobar la respuesta de header del servidor usando el comando curl, donde se evidencia que el servidor que esta entregando las respuestas es el servidor de proxy reverso nginx:

curl -I -k http://ejemplo.com/
HTTP/1.1 200 OK
Server: nginx/1.10.0 (Ubuntu)
Date: Fri, 17 Mar 2017 14:47:55 GMT
Content-Type: text/html
Content-Length: 701
Connection: keep-alive
Last-Modified: Fri, 10 Mar 2017 20:58:39 GMT
Accept-Ranges: bytes
ETag: "326cc417e198d21:0"

5. Habilitar el Control de Acceso Obligatorio Mandatory Access Control (MAC), AppArmor

Es posible asegurar aun más nuestro proxy reverso usando AppArmor, el cual restringe el acceso de archivos a los servicios evitando casos en los que se reciban ataques a nginx usando vulnerabilidades y que las mismas no incidan en otros servicios del sistema salvo por nginx. En distribuciones basadas en Red Hat se encuentra una plataforma similar para asegurar procesos llamada SELinux, aunque con objetivos similares su configuración es completamente distinto.

Ubuntu viene con AppArmor instalado y habilitado por defecto. Sin embargo se requieren algunas herramientas y perfiles de ejemplo para crear un perfil de aseguramiento para nginx, las mismas se instalan de la siguiente manera:

sudo apt-get install apparmor-utils

Se crea un perfil de AppArmor para nginx con los siguientes comandos

cd /etc/apparmor.d/
sudo aa-autodep nginx

Habilitar perfil en modo de registro, esto para que se generen registros de los archivos que ha requerido nginx para su funcionamiento

sudo aa-complain nginx

Realizar reinicio del servicio de nginx y hacer uso del servicio ingresando a http://ejemplo.com desde un navegador, para que el registro de AppArmor detecte los archivos que usa el servicio cuando esta en ejecución.

sudo systemctl restart nginx

Ingresar desde un navegador a ejemplo.com

Luego de que se AppArmor ha tomado registro de los archivos que se han requerido, se usa el siguiente comando para que el sistema modifique el perfil autorizando el acceso a los hallazgos, esto se realiza con la tecla A en cada una de las preguntas de solicitud de permisos.

sudo aa-logprof

Esto se puede hacer debido a que el servicio esta en funcionamiento normal y no recibe ataques, de lo contrario es recomendable realizar revisión de cada uno de los permisos que se solicitan.
Este es un ejemplo de archivo de perfil generado

# Last Modified: Fri Mar 17 12:28:11 2017
#include <tunables/global>

/usr/sbin/nginx flags=(complain) {
#include <abstractions/base>
#include <abstractions/lxc/container-base>
/etc/group r,
/etc/nginx/conf.d/ r,
/etc/nginx/mime.types r,
/etc/nginx/nginx.conf r,
/etc/nginx/sites-enabled/ r,
/etc/nsswitch.conf r,
/etc/passwd r,
/etc/ssl/openssl.cnf r,
/usr/sbin/nginx mr,
/var/log/nginx/error.log w,
}

Si se requiere se puede editar el perfil de forma manual con el comando:

sudo nano /etc/apparmor.d/usr.sbin.nginx

Se realiza la recarga del servicio AppArmor y se reinicia nginx, con esto se tendrá el servicio asegurado por AppArmor.

sudo /etc/init.d/apparmor reload
sudo systemctl restart nginx

Se puede comprobar su funcionamiento verificando que nginx esta siendo controlado con el siguiente comando:

sudo apparmor_status

apparmor module is loaded.
 13 profiles are loaded.
 12 profiles are in enforce mode.
 /sbin/dhclient
 /usr/bin/lxc-start
 /usr/lib/NetworkManager/nm-dhcp-client.action
 /usr/lib/NetworkManager/nm-dhcp-helper
 /usr/lib/connman/scripts/dhclient-script
 /usr/lib/lxd/lxd-bridge-proxy
 /usr/lib/snapd/snap-confine
 /usr/lib/snapd/snap-confine//mount-namespace-capture-helper
 lxc-container-default
 lxc-container-default-cgns
 lxc-container-default-with-mounting
 lxc-container-default-with-nesting
 1 profiles are in complain mode.
 /usr/sbin/nginx
 3 processes have profiles defined.
 0 processes are in enforce mode.
 3 processes are in complain mode.
 /usr/sbin/nginx (2369)
 /usr/sbin/nginx (2370)
 /usr/sbin/nginx (2371)
 0 processes are unconfined but have a profile defined.

El alcance de esta guía es para un servicio web que no usa TLS (SSL), por lo que se requieren pasos adicionales para realizar el montaje de un proxy reverso seguro usando certificados.

Si tienen dudas, o si tienen sugerencias para mejorar algún aspecto de seguridad no duden en comentar!

Fuentes:
https://www.nginx.com/resources/admin-guide/reverse-proxy/
https://nginx.org/en/docs/
https://en.wikipedia.org/wiki/Reverse_proxy
https://help.ubuntu.com/community/UFW
https://wiki.ubuntu.com/UncomplicatedFirewall
https://www.linode.com/docs/security/firewalls/configure-firewall-with-ufw
https://www.digitalocean.com/community/tutorials/how-to-create-an-apparmor-profile-for-nginx-on-ubuntu-14-04/

Instalacion de Graylog2 desde Appliance

Graylog2 permite centralizar logs de diversos dispositivos y es muy útil cuando se necesita encontrar la solución a problemas presentados en todo tipo de Infraestructura informática.

En esta entrada describiré los distintos pasos para realizar la instalación de Graylog2 usando el Appliance de máquina virtual disponible en su sitio web. Existen otras alternativas de instalación de Graylog2 pero esta es la más cómoda para iniciar el montaje de un concentrador de logs.

En concreto, se usará como virtualizador Hyper-V de Microsoft, pero el tutorial sirve para otras plataformas de virtualización.

Paso 1. Descargar archivos

Descargar Virtual Appliance en formato OVA https://packages.graylog2.org/appliances/ova
https://packages.graylog2.org/releases/graylog-omnibus/ova/graylog-2.2.2-1.ova
Descargar VirtualBox (solo para convertir archivo a vhdx, único soportado por Hyper-V) https://www.virtualbox.org/ e instalar VirtualBox.

(Descargar VirtualBox solo es necesario si se quiere convertir la imagen de la maquina virtual a otro formato como vhd/vhdx que son los únicos soportados por Hyper-V, si se usará otro ambiente virtualizador como VirtualBox, KVM, VMware se debe importar de forma normal el archivo .ova que creará la máquina virtual automáticamente e ir directo al Paso 4)

Paso 2. Convertir a VHDX

Renombrar la imagen graylog-2.2.2-1.ova a extensión .tar quedando graylog-2.2.2-1.tar
Abrir el archivo graylog.2.2.2-1.tar y descomprimir el archivo graylog-disk1.vmdk

Dentro del archivo graylog.2.2.2-1.tar se encuentran 3 archivos distintos, el archivo graylog-disk1.vmdk es el disco duro del appliance de máquina virtual y es el archivo más importante.
El archivo graylog.ovf es un archivo con la descripción de del appliance de máquina virtual, revisando este archivo se encuentra la definición de una tarjeta de red vmxnet3, 2 CPU virtuales, 4 GB de RAM y una unidad de almacenamiento (graylog-disk1.vmdk) de máximo 20 GB.
El último archivo es graylog.mf es un archivo con información del disco con el has en SHA1, solo usado para comprobar la integridad del archivo.

Ejecutar el comando de VirtualBox, VBoxManage convirtiendo el archivo a .vhd. Ahora requerimos convertir el archivo .vhd a .vhdx

 VBoxManage clonehd -format vhd graylog-disk1.vmdk graylog-disk1.vhd
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
 Clone medium created in format 'vhd'. UUID: 6c3f2e96-6ab2-4b30-aef9-91585acc3d75

Con esto se obtendrá el archivo .vhd, luego se requiere convertir a formato .vhdx (es el formato usado por las versiones recientes de Hyper-V).

Se requiere abrir el programa Hyper-V Manager en el servidor de Hyper-V o el cliente con la consola de Hyper-V instalada, luego ir a la sección Action → Edit Disk…

Luego continuar con el asistente y seleccionar el archivo graylog-disk1.vhd y continuar con el asistente con el botón Next >

En la siguiente pantalla se debe seleccionar la opción Convert

En las opciones de conversión, seleccionar VHDX

En el tipo de tamaño se puede seleccionar cualquier opción, en este caso se usa la opción Dynamically expanding para hacer mejor uso del almacenamiento disponible.

En la ventana de destino, se debe indicar la ruta y el nombre del archivo convertido (graylog-disk1.vhdx) y continuar con la opción Next >

Una vez se llega a la pantalla de resumen, verificar las opciones y empezar la conversión con el botón Finish

Una vez finalizado se obtendrá el archivo graylog-disk1.vhdx que se usará para crear la máquina virtual.

Paso 3. Creación de máquina virtual

Según la descripción del archivo, los requerimientos mínimos para el Appliance de Graylog2 es de 4 GB de RAM y 2 CPU. Para esto se creará la máquina con estas características o más dependiendo de la cantidad de logs que se configuraran como destino al servidor de logs.
Para tener en cuenta, en el asistente de creación de máquina virtual, en la sección de almacenamiento, se debe mover el archivo graylog-disk1.vhdx previamente al destino final de la máquina virtual y seleccionar este archivo como un disco existente para la creación de la máquina virtual.

Paso 4. Finalización de configuración de máquina virtual

El Appliance usado por Graylog2 usa como distribución de Linux la versión de Ubuntu 14.04.5. Una vez iniciada la máquina virtual el servicio iniciará de forma automática y se podrá ingresar a través de la dirección http://ip_de_servidor/

Teniendo en cuenta esto, realizaremos unos cambios y configuraciones si son necesarios.
Para empezar, el usuario por defecto para ingresar es ubuntu y la contraseña también es ubuntu.

4.1. Error de red
Si en la red en la que se creó la máquina virtual no esta configurado un servicio DHCP, al iniciar la máquina virtual se tendrá obtendrá el error

Your appliance came up without a configurated IP Address. Graylog is probably not running correctly!.

Para solucionar esto se debe definir una IP fija en el servidor editando el archivo /etc/network/interfaces con los datos de la red en la que se encuentra el servidor.

 sudo nano /etc/network/interfaces
 auto eth0
 iface eth0 inet static
 address 10.0.3.100
 netmask 255.255.255.0
 gateway 10.0.3.1

Tambien se requiere editar el archivo /etc/resolvconf/resolv.conf.d/base con la información de los servidores de DNS deseados.

 sudo nano /etc/resolvconf/resolv.conf.d/base
 nameserver 10.80.3.1
 nameserver 8.8.8.8

Con la configuración de red correcta, es necesario reactivar la tarjeta de red y hacer uso del comando graylog-ctl (solo disponible en el formato Appliance de Graylog) para que la instalación de Graylog2 reconozca los cambios de red y el servicio inicie de forma correcta.

 sudo ifup eth0
 sudo graylog-ctl reconfigure

4.2. Ingresar de forma remota a la máquina virtual por SSH

Por defecto, el appliance cuenta con el servicio SSH instalado y activo por defecto, para iniciar sesión se debe usar un cliente SSH (putty sobre Windows, ssh sobre Linux)

 ssh 10.0.3.100 -l ubuntu

4.3. Cambiar la contraseña del usuario por defecto en Linux

Si el Appliance se va a usar para un ambiente de producción, se recomienda realizar el cambio de contraseña con el comando:

 ubuntu@graylog:~$ sudo passwd ubuntu
 Enter new UNIX password:
 Retype new UNIX password:
 passwd: password updated successfully

4.4. Cambiar la contraseña del usuario admin por defecto de Graylog2

Si el Appliance se va a usar para un ambiente de producción, se recomienda realizar el cambio de contraseña del usuario admin de la consola web de Graylog con los comandos:

 sudo graylog-ctl set-admin-password <password> sudo graylog-ctl reconfigure

4.5. Configurar servicio de correo electrónico

Para el envio de correos desde Graylog2 para alertas u otros objetivos se requiere definir el servidor smtp usando los comandos:

 sudo graylog-ctl set-email-config <smtp server> [--port=<smtp port> --user=<username> --password=<password> --from-email=<sender-address>]
 sudo graylog-ctl reconfigure

4.6. Definir zona horaria

Es muy recomendable configurar la zona horaria que corresponda a nuestro ambiente para no confundirnos al momento de analizar nuestros logs. Para realizar esto se deben usar los siguientes comandos:

 sudo graylog-ctl set-timezone <zone acronym>
 sudo graylog-ctl reconfigure

El campo <zone acronym> se usa una zona horaria según el formato Joda-Time http://www.joda.org/joda-time/timezones.html

4.7. Habilitar acceso SSL/TLS

Por seguridad al momento de acceder a la interfaz web, se puede configurar el acceso seguro usando SSL/TLS con los comandos

 sudo graylog-ctl enforce-ssl
 sudo graylog-ctl reconfigure

Una vez ejecutados estos comandos, se podrá iniciar sesión a la consola web desde: https://ip_de_servidor

4.8. Actualizar el Sistema Operativo

Existen comandos para actualizar Graylog2, pero esto no actualiza los paquetes nativos de Ubuntu. Para realizar actualización del Sistema Operativo se puede usar el siguiente comando:

 sudo apt update && sudo apt upgrade

4.9. Cambio de nombre de servidor

Por defecto el servidor tiene el nombre graylog, para poder renombrarlo se debe hacer uso del comando:

 sudo hostnamectl set-hostname nombre_servidor

Y luego editar tambien el archivo /etc/hosts

 sudo nano /etc/hosts

Paso 5. Ingreso a interfaz de Graylog2

Para iniciar sesión en la interfaz de Administración de Graylog2 se debe ingresar desde un navegador soportado (Firefox 45+, Chrome 50+, IE 11, Edge 25+, Safari 9+) usando la IP definida por DHCP o de manera estática:
http://ip_de_servidor

Si se habilitó el acceso por SSL/TLS se debe usar la dirección https://ip_de_servidor . Al hacerlo se presentará una advertencia del certificado dado que se encuentra firmado por el mismo servidor. En Firefox se puede agregar una excepción permanente para continuar.


Fuentes:

https://developerschallenges.com/2016/06/01/how-to-run-graylog-on-ubuntu-server-in-hyper-v/
http://docs.graylog.org/en/2.2/pages/installation/virtual_machine_appliances.html
http://docs.graylog.org/en/2.2/pages/configuration/graylog_ctl.html
http://blog.worldofjani.com/?p=991
https://sometechthings.wordpress.com/2015/08/31/graylog-vm-setup-start-to-finish/
https://askubuntu.com/questions/87665/how-do-i-change-the-hostname-without-a-restart
https://askubuntu.com/questions/143819/how-do-i-configure-my-static-dns-in-interfaces

Aplicaciones de mensajeria para el futuro, o, solicitando una funcionalidad

hangoutsTenemos muchas aplicaciones de mensajería, no podemos negarlo Algunas realmente populares, otras no tanto. Pero funcionan, son parte de nuestros días.

Personalmente yo solo quiero usar una aplicación (lo intento, bastante), en mi caso Hangouts de Google, pero en estos días eso parece ser imposible. Tal vez sea debido al efecto comunidad, o esta relacionado con el alcance de estas aplicaciones (aparte de Telegram vs Whatsapp, veo que todas las aplicaciones de mensajería parecieran tener objetivos distintos).telegram

Como comunicarse con otras personas de la forma más perezosa. Si, somos perezosos y bbmeso no es un crimen, esparte de nuestro ADN. Queremos la forma más rápida, sencilla y gustosa. No queremos tener que hacer muchos pasos para enviar un mensaje, queremos el atajo (hasta Facebook cree que su plataforma de mensajería con su nueva Messenger Platform). Esta es la razón por la que elegir una aplicación de mensajería no es una tarea sencilla, pero vibergracias al momentum de algunas de estas y el objetivo especifico, tu no eliges, ellas te eligen.

Pero no quiero hablar de aplicaciones de mensajería, quiero hablar sobre una funcionalidad que empezó en mi cabeza hace unas semanas. Tal vez ya se encuentra implementada, si conoce alguna aplicación con esta funcionalidad me gustaría probarla.

Contactos desechables

Un día envías tus zapatos favoritos para que los arreglen, tal vez tengas que ir a una tienda de tu operador móvil para hacer un cambio de plan o simplemente tiene que esperar a hacer la fila en su linerestaurante favoritowechat. No quiero esperar por esto. Simplemente quiero llegar y que las cosas estén listas, cuando pueda ser atendido.

¿Por que no puede contactarme cuando las cosas estén listas?

Pero ¿como? ¿Como puede contactarme?… ¡Claro! !Usando la aplicación de mensajería!, cualquiera esta sea. Simplemente comparte tu número telefónico, tu ID skypecríptico o simplemente tu correo. Pero, y este es el gran PERO, no quiero no quiero que tengas mi información personalwhatsapp. Quiero que me contactes para lo que yo deseo, no para lo que ellos (la-tienda-de-cualquier-cosa) quieran. Una relación temporal. Si te doy esta información personal me contactarás para cosas que no quiero, solo quiero ese bello y pequeño mensaje notificándome que la cena esta lista,que es mi turno en la «fila».

usando un contacto desechable que puedo compartir con cualuquiera para lo que yo desee seria genial. Cuando nuestra «relación» termine, puedo simplemente remover tu contacto, e, incluso si tienes mi información de contacto, esta puede ser desactivada así que no recibiré tus mensajes, estarás enviandolos al «cielo de los bits».

Hay un gran problema, las plataformas no son gratuitas. Necesitas construir tus aplicaciones de mensajería con dinero. fbmessengeraquí yace el problema. Si algún día alguien puede construir esta funcionalidad no será por Google/Facebook o cualquiera que «desee» mi información como un delicioso pastel. snapchatO tal vez estoy equivocado, en estos días solo necesitas ser usado, no ser rentable, o al menos eso es lo que el mercado parece estar haciendo hoy en día.

¡Si puedes hacer algo con esto, por favor róbame la idea y hazla rea!

Messaging apps for the future, or asking for a feature

hangoutsWe have a lot of messaging apps, we can’t deny that. Some really populars, other not so much. But they are working for real, are part of our days.

Personally I just want to use one app (I try hard, really try hard), in my case Hangouts by Google, but these days this seems to be almost impossible. Maybe it’s because of the community effect, or is releated by the scope of this apps (besides Telegram vs WhatsApp, I see that every messaging app are targeting different objectives).telegram

How to communicate with other people, the laziest way. Yep, we are lazies and that’s not a bbmcrime, that’s part of our DNA. We want this fastest, easiest and lovelies. We don’t want to make a lot of steps to send a message, we want the shortcut (even Facebook think that their Facebook messenger Platform is the future with their Messenger Platform). That’s why choosing an apps is not an easy task, but thanks to the momentum of some of them and the specific viberscope, you don’t choose, they choose you.

But, I don’t want to talk about messaging apps, I want to talk about a feature that started in my head some weeks ago. Maybe it’s already implemented, If you know a messaging app with this feature I will like to test it.

Disposable contacts

wechatSome day you send your favorite shoes for reparation, maybe you need to go to the phone store to make a plan change or you just have to wait in the line to eat in your favoriteline restaurant. I don’t want to wait for this. I just want to go when the things are ready, when I’m able to be attended.

Why can’t you just contact me when the thing are ready?

But, how? How can you contact me?… Ah! Ok, using the messaging app!, whatever it is. Just share your pskypehone number, your cryptic ID or simply your mail. But, and this is the big BUT, I don’t want that yowhatsappu have my personal information. I want that you contact me only for what I want not for whatever o for everything that you (the anything-store) want. A temporal relationship. If I gave you this personal information, you will contact me for reasons that I don’t want, I just want this little and precious message telling me that the dinner is ready, that it’s my turn in the “line”.

Using a disposable contact that I can share with anybody just for what I want will be great. When our “relationship” ends, I just can remove your contact, and, even if you have my contact data, this can be disabled so I will not get your messages, you are sending them to the “bits heaven”.

fbmessengerThere is a big problem, platforms are not cheap. You need to build your messaging apps with money, so here is the problem. If some day someone can build this feature it won’t be from snapchatGoogle/Facebook or anybody who “likes” my data as a tasty pie. Or maybe I’m wrong, these days you only need to be used, not to be profitable, or, at least this is what the market seems to be doing right now.

If you can do something with this, please steal my idea and make it real!

Radio en la tarde bogotana

Luego de la salida del «Doctor Pelaez» de La Luciernaga, le queda a uno un sinsabor.

Las personas no tenemos porque estar ligadas de forma estricta a nuestros trabajos, pero al compartir espacios como son la radio o la televisión, el vínculo entre oyente/televidente y presentador/locutor es más fuerte que en otras labores (para bien o para mal).

laluciernaga2014Durante el poco tiempo de escuchar el programa radial de La Luciernaga evidencié ese sentimiento de confianza y de relajación. Luego de días de trabajo, escuchar un rato como nuestro país es más gracioso que lo que dictan medios de parodia le da a uno un sentido de crítica con las cosas que suceden.

Si bien no existe la perfección (creo que nadie podría estar totalmente de acuerdo con lo que se comenta en un programa radial con un equipo tan dispar y heterogéneo), La Luciernaga daba esa sensación de cercanía. Como cuando uno vive con la familia, y hay peleas, pero sabe que al otro día las cosas siguen sin renconres.

Luego de esa despedida tan emotiva de Hernán Peláez como director estoy a la expectativa del futuro del programa, si bien el nuevo director no es un dueño de mis afectos (sobre todo por esa actitud sobrada y «regalada») es bueno darle una oportunidad a los cambios que ya se evidencian. No ha iniciado la transmisión y ya se ven cambios probablemente drásticos, entra Liss Pereira y Paulo Laserna sale Gustavo Álvarez Gardeazábal (adicional a que Claudia Morles seguirá acompañando al equipo, luego de que previamente habia anunciado su retiro).

Esperamos que el espiritu de La Luciernaga se mantenga, que si bien la idea no es remplazar a un irremplazable, si es que continue la integridad del mismo. Espero que esto no sea como la selección colombia de fútbol, que aunque con buenos jugadores solo funcionó hasta que se consiguió buen técnico.

La verdad he intentado escuchar el programa de la competencia, Voz Populi en Blu Radio, y solo duré 2 días. Definitivamente hacer un buen programa no es facil, sin contar que aparte de verlos en todos los televisores tambien toca aguantarse a los mismos presentadores de TV ahora como locutores.

Le deseo suerte al nuevo equipo de La Luciernaga, la otra semana desde el 13 estare escuchandolos y veré si vale la pena continuar o si mis espacios de radio en la tarde son reemplazados por música.

 

Ningyo-Hime, traducción al Español

Buena canción y buena letra del segundo ending de un buen anime y manga (Chobits). Lo interesante es que, hablando de traducciones, nunca hay 2 iguales.

Vocales: Tanaka Rie
Letra: Ohkawa Nanase
Composición: Arai Akino
Composición: Watanabe Zentaro

Español: La Sirenita

La ciudad de noche es tranquila como el océano profundo,
solo soy yo, sola, en el camino eterno.
Confiando en una distante voz, camino.
Estoy buscando constantemente la luz azul que suavemente brilla.

¡Mira!, encuéntrame…
Luego grítame con tu corazón,
porque no importa cuan lejos vayamos a estar, podré escucharte.

Las luces plateadas brillan en todas las casas,
mientras espero que estés realmente en alguna parte, camino.

¡Mira!, te encontraré,..
Entonces no te volveré a olvidar de nuevo,
no importa cuanto me duela el corazón, aún estaré a tu lado.

Porque no dejaré ir
tu mano entrelazada a la mía.

¡Mira!

Yo te encontraré,..
Entonces no te volveré a olvidar de nuevo,
no importa cuanto me duela el corazón, aún estaré a tu lado.
Siempre… Siempre…

Ingles: The little mermaid

The town at night is quiet like the deep ocean
It’s just me all alone on the continuing road
Relying on a distant voice, I walk
I’m forever searching for the blue light that shines softly

Hey, find me
Then call out with your heart
Because no matter how far apart we would be, I can hear you

The silver lights are lit in their respective rooms
While hoping that you’re surely there somewhere, I walk

Hey, I’ll find you
Then I’ll never forget again
No matter how much my heart aches, I’ll still be by your side

Because I won’t let go
Of our held hands

Hey

I’ll find you
Then I’ll never forget again
No matter how much my heart aches, I’ll still be by your side
Forever, forever

Fonemas (Romaji): Ningyo-Hime

Yoru no machi wa shizuka de fukai umi no you
Tsuzuku michi ni tada atashi hitori dake
Tooi koe o tayori ni aruite yuku no
Zutto sagashiteru sotto hikaru aoi hikari

Nee   atashi o mitsukete
Soshite yonde   kokoro de
Donna ni hanareta to shite mo   kikoeru kara

Gin no akari ga tomoru sorezore no heya
Kitto dokoka ni wa iru to negainagara aruku

Nee   anata o mitsukete
Soshite nido to   wasurezu
Donna ni mune ga itakute mo   soba ni iru no

Tsunaida te o
Hanasanai kara

Nee

Atashi ga anata o mitsukete
Soshite nido to   wasurezu
Donna ni mune ga itakute mo   soba ni iru no
Zutto zutto

Japonés: ニンギョヒメ

夜の街は静かで深い海のよう
続く道にただアタシひとりだけ
遠い声をたよりに歩いてゆくの
ずっと探してるそっと光る蒼い光

ねえ アタシをみつけて
そして呼んで ココロで
どんなに離れたとしても きこえるから

銀の明かりがともるそれぞれの部屋
きっと何処かにはいると願いながら歩く

ねえ アナタをみつけて
そして二度と 忘れず
どんなに胸が痛くても そばにいるの

つないだ手を
離さないから

ねえ

アタシが アナタをみつけて
そして二度と 忘れず
どんなに胸が痛くても そばにいるの
ずっとずっと

Fuente principal (ingles) y fonema: https://atashi.wordpress.com/2006/09/03/chobits-2nd-ending-theme-ningyo-hime/

Fuente secundaria (ingles): http://www.animelyrics.com/anime/chobits/ningyohime.htm

Fuente japones: http://www.animelyrics.com/anime/chobits/ningyohime.jis

Descarga: https://archive.org/details/RieTanaka-NingyoHime

Para ti.