Crear un Hidden Service con Tor

Para entender mejor el funcionamiento de los Servicios Ocultos, recomiendo esta lectura. No es necesario entender cómo funciona para hacer que funcione, pero siempre es interesante entender este tipo de datos, ya que si tenemos problemas podemos debugear en condiciones. A continuación veremos cómo instalar un servidor web (lighttpd), un servidor XMPP (ejabberd) y SSH en un Servicio Oculto.

Instalamos los siguientes paquetes como root:

sudo su -
aptitude install lighttpd ejabberd tor openssh-server

Una vez instalados, editamos el archivo /etc/tor/torrc y añadimos las siguientes líneas al final del archivo:

HiddenServiceDir /home/user/hiddensrv
#lighttpd
HiddenServicePort 80 127.0.0.1:80
#ejabberd
HiddenServicePort 5222 127.0.0.1:5222
#SSH
HiddenServicePort 22 127.0.0.1:22

Donde:

  • HiddenServiceDir es el directorio en el que se crearán el hostname y la llave que identificará el Servicio Oculto. Muy importante: Hacer backup de la llave. Si la perdemos, no podremos seguir con el Servicio Oculto. La carpeta hay que crearla previamente o dará error.
  • HiddenServicePort es el puerto que usa el servicio que queremos hospedar. El puerto 80 es para el servidor web, el 5222 es para el servidor XMPP.

Para crear la llave y el nombre de host sólo tenemos que asegurarnos de que tor no está corriendo y ejecutar tor en la terminal. Podremos ver en /home/user/hiddensrv que habrán aparecido un fichero hostname y otro private_key.

Hecho esto, modificamos el archivo /etc/ejabberd/ejabberd.cfg y cambiamos el nombre del host, de esta manera:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Options which are set by Debconf and managed by ucf

%% Admin user
{acl, admin, {user, "administrador", "2cxnrdytgcmivjal.onion"}}.

%% Hostname
{hosts, ["2cxnrdytgcmivjal.onion"]}.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Para modificar lo que aparecerá en la dirección 2cxnrdytgcmivjal.onion sólo hay que modificar el archivo que se encuentra en /var/www/.

Una vez cambiado el nombre del virtual host, sólo tenemos que empezar los servicios:

service lighttpd start
service ejabberd restart

Y de esta manera, hemos configurado tres Servicios Ocultos en un momento. Esto es sólo una configuración básica, siempre se puede securizar más.

PD: El servidor Jabber va a estar en funcionamiento, por lo que si alguien quiere una cuenta sólo tiene que crearla mediante un cliente que lo permita.

Compartir

3 Comentarios

  1. Lo he repetido un monton de veces y no consiguo que me aparezcan en el directorio /home/user/hiddensrv los archivos hostname y private_key

Deja una respuesta a PuppetMast3r Cancelar respuesta

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax