Buscar Tema

martes, 28 de octubre de 2014

2.Configuración avanzada del servicio Proftpd en Linux

Hola bloggeros!!!.

El día de hoy hablaremos sobre algunas directivas de configuración un poco más avanzadas para usar en el servicio proftpd y obtener un poco más de seguridad y declarar permisos para determinados usuarios dentro de nuestros directorios del servidor ftp.

Para esto:
Es importante conocer algunas configuraciones avanzadas del servicio proftpd, que daremos a continuación.


Configuración Avanzada proftpd

Existe una directiva de configuración para tener una mayor seguridad en el sistema de directorios de nuestro servidor FTP.
Esta directiva se conoce como DefaultRoot "ruta de directorios."
La directiva se debe escribir en el fichero de configuración de proftpd situado en la ruta:
       /etc/proftpd/proftpd.conf

Para acceder a esta ruta desde una terminal ejecutamos el siguiente comando:
     sudo nano /etc/proftpd/proftpd.conf

Se nos abrirá nuestro fichero y podremos incluir esta nueva directiva.
Con esto conseguimos lo siguiente:

● Evitando la navegación por el sistema de ficheros:
● DefaultRoot restringe el acceso al sitio FTP al directorio especificado y

subdirectorios.

Un ejemplo de uso es el siguiente:

        DefaultRoot /var/ftp/documentacion

"Teniendo en cuenta que nuestro directorio está situado en /var/ftp/documentacion"


Permisos controlados desde el Servidor FTP

Podemos tener un mayor control de la configuración de permisos desde el servidor FTP con la documentación expuesta a continuación.
Antes es importante tener en cuenta que siempre prevalecen los permisos del sistema sobre una carpeta.




Una vez expuestos estos comandos con una breve explicación de su cometido, es importante repasar cada uno de ellos y ver las distintas combinaciones que se pueden realizar para completar unos permisos adecuados para carpetas especificas.

Un claro ejemplo puede ser el siguiente:
EJEMPLO 1


Aquí dentro de la etiqueta Directory establecemos la ruta en un comienzo, esta ruta esta situada en la carpeta /home/ftp/* . Esto quiere decir que todo lo contenido en la carpeta ftp contendrá los siguientes permisos escritos en las siguientes líneas.

A continuación aparece un permiso en la etiqueta Limit, este permiso equivale a READ o Lectura.
En su interior esta escrito las palabras AllowAll con lo cual permitimos a todo el mundo leer en todo el contenido almacenado en el directorio ftp.
Cerramos la etiqueta. < / Limit >

De nuevo vemos un nuevo permiso en la etiqueta Limit, es el permiso de WRITE o ESCRITURA.
En su interior escribimos las palabras DenyAll con lo que denegamos la escritura a todo mundo (all) en todo lo almacenado dentro del directorio ftp.
Por último cerramos la etiqueta Limit, y cerramos la etiqueta Directory que contiene los permisos para ese directorio en particular.


EJEMPLO 2:

Ahora establecemos los permisos al directorio situado en /home/ftp/incoming/* y todo su contenido (debido al uso del asterisco "*" luego de la barra "/" ).

Esta vez vemos que hemos unido varios de los permisos en una misma etiqueta Limit, esto es totalmente permitido en los sistemas Linux.
En los primeros permisos estamos permitiendo al usuario almacenar (STOR subir) y crear ficheros y directorios (MKD WRITE)

Segunda directiva Limit estamos denegando a Todos la posibilidad de descargar (RETR bajar) y borrar (DELE) ficheros y carpetas contenidas en la carpeta /incoming.

Como siempre recuerda cerrar las etiquetas correctamente tanto los Limit y finalmente la etiqueta Directory.



"Bien vamos avanzando poco a poco por los recursos que nos puede ofrecer el servicio proftpd en un entorno Linux, pero aún nos queda bastante. 
Próximamente pasaré a explicar los permisos en ficheros y directorios creados vía ftp. "

Espero vuestros comentarios y dudas acerca del tema.







sábado, 25 de octubre de 2014

1.Servidor proftpd Linux Instalación.

El día de hoy pasaremos a explicar de manera sencilla los comandos necesarios para realizar la instalación del servicio FTP para Linux llamado Proftpd.

Este servicio como explicamos anteriormente se encarga de permitir la recepción y envió de archivos mediante el uso de este protocolo, para obtener información entre usuarios y equipos conectados a la red.

Comandos de instalación:

● Instalamos con este comando:
sudo apt-get install proftpd

● El programa se instala en:
/etc/proftpd

● El fichero principal de configuración situado en la ruta:
/etc/proftpd/proftpd.conf

● Podemos ver el tipo de servidor configurado en la directiva:

ServerType inetd


Configuración básica de proftpd. Sitio no anónimo
TIPS:
❏ Los usuarios del sistema, por defecto, pueden acceder al sitio ftp configurado en el servidor.
❏ Las cuentas de usuario registradas se pueden ver en el fichero /etc/passwd
❏ Si queremos restringir los usuarios con acceso al servidor FTP a los contenidos en una lista, lo haremos con la directiva

Ejemplo de uso de directiva:

< Limit LOGIN >
    Allow User usuario1 usuario2
    DenyAll
< / Limit >

● Carpeta raíz de los usuarios:
Por defecto los usuarios accederán a su carpeta HOME.
Por ejemplo, el usuario pepe al entrar al servidor verá la carpeta /home/pepe

Esto es así debido a que cuando creamos un usuario en Ubuntu, si no se especifica una carpeta Home para ese usuario, se crea una directamente con el mismo nombre del usuario.

● Comando para crear usuarios:
#useradd -d home -g grupo_primario  -G grupo_secundario nombre_usuario

Opciones:
-d : Ruta del directorio raíz del HOME del usuario.
-s : Indicar la shell o intérprete de comandos
-g : Creamos el usuario como miembro del grupo especificado.
-G : Creamos el usuario como miembro secundario del grupo especificado.

● Especificar que el usuario no pueda ejecutar la shell:
#useradd ...... -s /bin/false nombre_usuario

(Los puntos suspensivos son el resto de opciones que podemos dar a ese usuario en su creación.)

● Además, debemos indicar que el usuario no requiere una shell para usar el servidor FTP:

RequireValidShell off

(Esto lo realizamos en el fichero de configuración del proftpd)



Pasamos a explicar mediante un Ejemplo la configuración básica del servidor de forma no anónima con permiso para los usuarios julia y celia.
Puedes realizar esta práctica en tu sistema Ubuntu/Linux.

Ejemplo Práctico:
ENUNCIADO:
1.Configurar el servidor FTP de manera no anónima para que tan solo los usuarios celia y julia accedan vía FTP al sistema.
2.La raíz del sitio FTP deberá ser /var/ftp/documentacion con permisos de lectura y escritura.
3.Además, las cuentas de usuario anteriores deberán configurarse para que únicamente puedan acceder al sitio FTP, pero en ningún caso puedan iniciar sesión dentro del sistema.

SOLUCION:

Pasos:
1. Creamos la carpeta del directorio raíz del sitio FTP:
#mkdir /var/ftp/
#mkdir /var/ftp/documentacion

2) Hacemos que el propietario de esta carpeta, sea el usuario ftp: ¿Cómo? hacemos uso del comando chown.
(cualquiera de las dos formas nos sirve)

#chown ftp.ftp /var/ftp/documentacion
#chown 119:65534 /var/ftp/documentacion

3) Creamos o modificamos las cuentas de usuario con permiso de acceso al sitio FTP:
Si las cuentas no existen, las creamos primero a celia, después a julia:
Y asignamos una contraseña a cada una de las cuentas, con el comando passwd nombre_usuario

#useradd -d /var/ftp/documentacion -s /bin/false celia
#passwd celia

#useradd -d /var/ftp/documentacion -s /bin/false julia
#passwd julia

4) Nos aseguramos que los usuarios tengan permisos de lectura y escritura:

#chmod g+rxw /var/ftp/documentacion

5) Configuramos el fichero proftpd.conf para que sólo julia y celia tengan permiso de acceso al servidor:
Para esto escribimos las siguientes lineas en el fichero, accedemos a el mediante este comando:
sudo nano /etc/proftpd/proftpd.conf

DefaultServer on
RequireValidShell off
< Limit LOGIN >
    AllowUser celia julia
    DenyAll
< / Limit >


6. Una vez escritas las líneas anteriores en el fichero de configuración, procedemos a guardar la información modificada. ( ctrl + o)
Ahora vamos a comprobar el funcionamiento del servicio proftpd con la configuración que le hemos dado:

Para esto nos dirigimos a un navegador ya sea Google Chrome o Internet Explorer, Mozilla, etc (Tu favorito) y tecleamos en la barra de navegación superior lo siguiente:

ftp://ip_del_servidor_ftp

(Si tu ip del servidor es 192.168.1.3 teclearemos, ftp://192.168.1.3 )

Introducimos los datos de los usuarios julia o celia y sus contraseñas en la ventana de login.
Por último si todo ha ido bien, probamos a realizar un acceso desde otros ordenadores de la red.
Comprobamos que pueda subir y descargar ficheros.

Con esto si has seguido los pasos tendremos realizado un servidor ftp en Linux/Ubuntu de manera sencilla.


Posteriormente pasaremos a realizar una conexión al servidor FTP de forma anónima en capitulos avanzados del tema proftpd.
Para la conexión anónima a un servidor ftp no es necesario el uso de usuarios del sisitema. (entramos mediante anonymous).

""Saludos espero les sea de ayuda el post, cualquier duda no duden en contactar dejando mensajes con las dudas o opiniones.""

jueves, 23 de octubre de 2014

0.Servicio FTP en Ubuntu / Linux. mediante Proftpd

Como verán al cabo de estos días estaré publicando una serie de artículos determinados a las conexiones mediante el uso de la herramienta proftpd en un entorno Linux/Unix.

Todos los comandos son elaborados en este entorno especialmente en Ubuntu, poco a poco conseguiremos conocer a profundidad el funcionamiento y sus diferentes configuraciones para obtener el máximo rendimiento y seguridad en nuestros servidores ftp y hacer uso de permisos especiales para directorios además de denegar o permitir conexiones ya sea por cantidad de usuarios desde una misma máquina (pc) o de diferentes máquinas (pcs).


Antes de explicar los ficheros más importantes y configuraciones a tener en cuenta para la creación de un servidor FTP en nuestro ordenador, vamos a explicar unos conceptos previos que se deben conocer.

1. ¿Qué es el Servicio FTP?

-Es un protocolo normalizado para la transferencia de ficheros entre equipos conectados en red.

-Fue uno de los primeros Servicios ofrecidos en Internet, junto con el muy bien conocido TELNET (control remoto de equipos) y el correo Electrónico (e-mail).

-Su normalización se inicia en 1971, pero será en 1985 cuando se define el protocolo FTP que llega hasta nuestros días.



¿Qué define el protocolo FTP?
○ La forma en que se comparten los recursos.
○ Compatibilidad entre diferentes sistemas de ficheros
○ Protección ficheros no compartidos
○ Comunicación eficiente, no segura.


● Uso del FTP en la actualidad:
○ Uso tradicional: servidor de ficheros y transferencia
○ Redes p2p: emule y similares
○ Repositorios software

● Tipos de equipos involucrados: Servidores y Clientes
○ Se distinguen por el software que utilizan.
○ Software servidor: proftpd (linux)
○ Software cliente: Konqueror.


¿Pero Qué es un equipo Servidor y un equipo Cliente.?

● Servidores: Gestionan la información que se comparte y las solicitudes de conexión, garantizando una comunicación fiable, eficiente y segura.

Clientes: intermediarios entre usuario y servidor facilitando el establecimiento de la conexión y el poterior control de la transferencia de datos.

○ Servidor y clientes deben utilizar el mismo protocolo: FTP.
○ Tipo de conexión: TCP / UDP.


Bien si has llegado hasta aquí, seguramente te estarás preguntando que significado tienen las siglas TCP y UDP, estás siglas derivan de 2 protocolos de red orientados a la conexión que pasaré a explicar breve mente su funcionamiento:

● TCP: Protocolo orientado a conexión. Para transferencia de datos.
● UDP: Protocolo No orientado a conexión. Control de la comunicación.


Como vez FTP es un servicio bastante usado el cual nos permite valiosas herramientas de compartición, estas se definen básicamente en las siguientes:

Objetivos del protocolo FTP:

○ Facilitar la compartición de archivos en red.
○ Garantizar una comunicación fiable y segura.
○ Acceso a ficheros restringidos.
○ Comunicación ágil y veloz.


Este servicio ofrece 2 variantes de uso, en las cuales podemos tener acceso mediante usuarios registrados y con permisos en dicha carpeta a la que se quiere acceder, o bien un acceso conocido como anónimo el cual no es requerido autenticar un usuario para usar este servicio, siempre y cuando este activa esta opción en el directorio o ficheros a listar por FTP.


● Resumiendo los tipos de servicio ftp son:
   ○ Anónimos: No se necesita autenticación previa.
   ○ No anónimos: Se restringe el acceso a determinadas cuentas de usuario del sistema.



En apartados posteriores pasaremos a elaborar un servidor FTP en un equipo con el sistema operativo Linux (gratis), haciendo uso de la herramienta llamada proftpd.