Instalar y configurar un servidor SFTP parte (II)

miércoles, 30 de noviembre de 2011

Ya realizados los pasos explicados en la primera parte de este tema, podemos continuar con lo desarrollado en este post.

Lo más seguro es que al montar el servidor SFTP no nos interese que los usuarios que accedan a este servicio puedan leer y descargarse todos los archivos de nuestro sistema. Para evitar esto, realizaremos un enjaulado SFTP, con lo que limitaremos la navegación del cliente a unos determinados ficheros.

Para restringir esto debemos usar las directivas ForceCommand y ChrootDirectory en el archivo de configuración sshd_config, que se encuentra en /etc/ssh/sshd_config.

Primero hay que cambiar, la línea en /etc/ssh/sshd_config,

Subsystem sftp /usr/lib/openssh/sftp-server escribiendo en su lugar:


Subsystem sftp internal-sftp


Puede restringirse el servicio a usuarios o a grupos de usuarios, de modo que si se requiere aplicar
el enjaulado al usuario1 usamos la directiva Match como sigue:


UsePAM yes
Match user usuario1
ChrootDirectory /home/usuariossftp/usuario1
ForceCommand internal-sftp

Esto se coloca después de la línea Subsystem

El enjaulado del grupo usuariossftp se hace de manera similar (de esta forma aparecerán en el directorio raíz todos los usuarios que hayamos creado):


Match group usuariossftp
ChrootDirectory /home/usuariossftp
ForceCommand internal-sftp

Así, todos los usuarios que pertenezcan a este grupo irán a la jaula especificada en ChrootDirectory.

Para que la configuración tome efecto, restablezca ssh con el comando:


sudo /etc/init.d/ssh restart


Para finalizar una advertencia. Si antes en la configuración de ssh as introducido una línea tipo AllowUsers debes ponerla siempre antes de la línea Subsystem. Sino al reiniciar el servicio ssh te dará un error de esa línea.


Post redactador por Eduardo

Instalar y configurar un servidor SFTP (Parte I)

martes, 29 de noviembre de 2011

Como prometimos en otro post, aquí está una pequeña explicación de cómo instalar y configurar nuestro propio servidor SFTP y así poder enviar archivos de forma segura por internet desde cualquier parte del mundo.

Para los que no conozcan esta forma de transmisión de archivos cliente servidor, recientemente publicamos dos post con una pequeña explicación de cómo funciona la comunicación entre el cliente y el server. Hay que tener en cuenta que se explica el funcionamiento de FTP y no de SFTP. Si intentamos capturar los paquetes salientes de nuestro PC de una comunicación con este protocolo, veremos que esta codificado, imposibilitando el entendimiento sencillo de SFTP. Pero estos post sí que nos dan una idea de su arquitectura de funcionamiento.

También en otro post ya publicado instalábamos y configurábamos un servidor SSH. Pues bien, si queremos usar un acceso remoto seguro como es SSH, también necesitaremos una forma segura de descargar y subir archivos. Por esto, SSH también trae un server SFTP con lo que solo necesitaremos seguir los pasos del post anterior para instalar el servidor SFTP.

La configuración de seguridad es la realizada para el servidor SSH, pero se puede realizar varios cambios que aumentaran la seguridad.

Para la configuración explicita de este servidor, primero crearemos un grupo de usuarios con acceso SFTP

Con el fin de ejemplificar la configuración, se crea un grupo y un usuario en el sistema. Además de sus directorios de la siguiente manera:

Creamos el grupo usuarios sftp y el usuario usuario1 como sigue:


sudo groupadd usuariossftp

sudo useradd -g usuariossftp -s /bin/false -d /home/usuariossftp/usuario1 usuario1

sudo passwd usuario1



Creamos un directorio jaula para el grupo usuario sftp y un directorio jaula para el usuario usuario1 específicamente:

sudo mkdir /home/usuariossftp

sudo mkdir /home/usuariossftp/usuario1



Cambiamos los permisos de los directorios a 755 con los siguientes comandos:

sudo chmod 755 /home/usuariossftp

sudo chmod 755 /home/usuariossftp/usuario1



Y añadimos una carpeta dentro del 'home' de usuario1 para que este pueda subir sus archivos:

mkdir /home/usuariossftp/usuario1/archivos

chown usuario1:usuariossftp /home/usuariossftp/usuario1/archivos


En un próximo pos seguiremos con la configuración de SFTP realizando el enjaulado de SFTP

Post redactador por Eduardo

NoSoloUnix Finalista de los Premios Buber 2011

Nos acaban de escribir desde la organización de los premios Buber indicándonos que somos finalistas en la categoría "Aplicación on-line o web de apoyo al software libre". Desde aquí queríamos dar las gracias a todos los que nos han votado y ayudado a llegar hasta aquí.


Ahora solo queda esperar que el jurado piense lo mismo que todos los que nos han votado, por eso y confiando en nuestras posibilidades, aunque la competencia es dura, estaré en representación de NoSoloUnix en la gala de entrega de los premios Buber este jueves en Bilbao.

Cómo funciona realmente el servicio FTP Parte(II)

lunes, 28 de noviembre de 2011

Como ya empezamos explicando en la primera parte de este tema, en la comunicación FTP existen dos formas de realizar el establecimiento de la conexión de datos. En esta ocasión desarrollaremos el uso de la segunda opción que tiene unas pocas diferencias con la primera, ya explicada en el anterior post.




La segunda opción es la de realizar la conexión de datos al abrirla de forma activa, siendo el cliente quien señale al servidor qué IP debe enviar los archivos y porque puerto. Si queremos usar esta opción es muy normal que no podamos realizar la conexión. Esto es debido a que en la gran mayoría de los hogares tenemos un servidor NAT entre el router y nuestro equipo proporcionando el servicio de poder conectar varios equipos desde la misma IP publica.

Esto se traduce en que nuestro PC, al crear el paquete donde se asignará la IP del cliente y el puerto donde el servidor envía los datos, marcará como IP del cliente, la privada asignada a nuestro equipo en la red local. Con lo cual el servidor no sabrá hacia qué IP tiene que realizar la conexión, cerrando por defecto la conexión de control por el puerto 21 ya establecida.


220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 52 of 3000 allowed.
220-<< 220- Bienvenido al FTP an..nimo de ... 220-Welcome to the ... anonymous FTP server. 220->>
220-Local time is now 00:53. Server port: 21.
220-Only anonymous FTP is allowed here
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 5 minutes of inactivity.

USER anonymous
...
PORT 192,168,2,103,133,248
200 PORT command successful
MLSD
150 Connecting to port 55000
226-Options: -a -l
226 13 matches total


En esta ocasión hemos usado la opción FTP activo con lo cual se ve que es el propio cliente el que envía la IP a la que se debe realizar el envío de paquetes desde el servidor y a que puerto. Como podemos apreciar la IP 192.168.2.103 es privada. Aun realizando una conexión activa el servidor nos contesta que se ha realizado el establecimiento de la comunicación. Esto sucede gracias a los nuevos modelos de router disponibles en el mercado, que tienen la funcionalidad de detectar los paquetes FTP de establecimiento de conexión de datos de la forma activa cambiando la IP privada del equipo por la IP publica que es accesible desde cualquier parte del planeta.

Espero que está pequeña explicación os haya dado una idea de cómo funciona este servicio tan usado en la actualidad. Si estáis interesados en profundizar en este tema, podéis realizar vuestras propias pruebas gracias al software wireshark. En un próximo post instalaremos y configuraremos un servidor SFTP (Secure File Transfer Protocol).

Post redactador por Eduardo

Cómo funciona realmente el servicio FTP Parte(I)

domingo, 27 de noviembre de 2011

Supongo que a estas alturas, todo usuario habitual de internet habrá usado varias veces un servicio FTP para descargarse algún archivo, aunque muchas personas no sabrán ni que lo han usado.

FTP (File Transfer Protocol) es un servicio de la capa de aplicación que nos permite descargarnos archivos y subirlos a un servidor remoto. Actualmente existen infinidad de aplicaciones para todos los S.O. que nos permiten realizar el papel de cliente y conectarnos a los servidores que queramos.

Como ocurre en la mayoría de los servicios ofrecidos por internet, los clientes son tan gráficos que no nos permiten ver las entrañas de cómo funciona de verdad FTP.

Tenemos que tener claro que en el intercambio de paquetes FTP entran en juego dos conexiones. La primera es sobre el puerto 21, la conexión de control, por donde se envían los diferentes comandos hacia el servidor y sus respectivas contestaciones. La segunda conexión es la de datos y tal y como su nombre indica, es por donde se envían y se reciben los datos pedidos.



Dentro de la comunicación existen dos formas de realizar el establecimiento de la conexión de datos. La más usada por casi todos los clientes FTP de forma predefinida es la pasiva.

En la forma pasiva, es el propio servidor el que elige el puerto al que se le va enviar la información.


220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 42 of 3000 allowed.
220-<< 220- Bienvenido al FTP an..nimo de ... 220-Welcome to the ... anonymous FTP server. 220->>
220-Local time is now 00:23. Server port: 21.
220-Only anonymous FTP is allowed here
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 5 minutes of inactivity.

USER anonymous
...
PASV
227 Entering Passive Mode (130,106,1,101,159,194)
MLSD
150 Accepted data connection
226-Options: -a -l
226 13 matches total


Este código, es la comunicación realizada por el cliente y el servidor en la conexión de control. Se puede ver cómo el cliente se logea como usuario anonymous. Después de varios comandos intercambiados entre el cliente y el servidor de forma automática, el cliente envía un PASV señalando que quiere realizar una conexión de datos de forma pasiva, respondiendole el servidor que acepta y señalando que la comunicacion se realizara hacia la IP 130.106.1.101 (IP del servidor) y el puerto 159x256+194=40898. El ultimo comando realizado por el cliente es una orden MLSD con la que se solicita la impresión del contenido de la carpeta compartida.

Post redactador por Eduardo

Mathematica para Linux

sábado, 26 de noviembre de 2011

Este programa está diseñado para cálculos matemáticos con posibilidad de dejar los parámetros como variables sin darle ningún valor especifico.


Aún siendo un software propietario se merece un post entero, ya que, al ser una gran aplicación con un Kernel potentísimo, es capaz de ejecutar tanto algoritmos sencillos como muy complejos. Tiene soporte para Windows, MAC OS y Linux.

Es fácilmente manejable para todo tipo de usuarios sin tener en cuenta su nivel académico ni sus conocimientos en la materia. En el caso del que os escribe, uso este programa para comprobar las ecuaciones de forma gráfica y realizar los cálculos de ecuaciones diferenciales.

Como en casi todos los casos en el que nos encontremos un software propietario, necesitamos una licencia para poder usar el programa. Todo depende de la ética de cada usuario para elegir la opción legal o la de piratear Mathematica. Aviso que las licencias son realmente caras.

La instalación es muy sencilla ya que sólo hace falta ejecutar un único archivo .sh en nuestra terminal y por último necesitamos especificar las carpetas de instalación.

Web oficial | wolfram-mathematica/

Post redactador por Eduardo

Assaulter para Android

viernes, 25 de noviembre de 2011

Uno de los juegos que mas enganchados nos tienen a muchos usuarios de Android es sin duda alguna Assaulter para Android un juego bélico en el que darás vida a un soldado de las fuerzas especiales que tendrá que repeler los ataques de los terroristas mas sanguinarios de todo el mundo.


Un juego sencillo en el que podremos usar una variedad muy elevada de armas de todo tipo para acabar con todos los terroristas en las muchas misiones que tendremos que ir resolviendo para avanzar en el juego. Un juego sencillo pero a la vez muy entretenido que sin duda alguna os mantendrá a más de uno horas y horas enganchado.

Assaulter nos puede recordar a la famosa saga Metal Slug, salvando las diferencias obvias entre los 2 juegos. No dudes más y comienza a disfrutar de este juego que te traemos hoy, totalmente gratuito, y que podrás encontrar como siempre en tu Android Market..

Market | Descargar