Índice de contenido

Anuncio
1
RedTauros ltda
Versión 1.2 02/2014
http://www.redtauros.com
2
SERVIDORES LINUX FTP
Introducción
FTP (sigla en inglés de File Transfer Protocol - Protocolo de Transferencia de
Archivos) en informática, es un protocolo de red para la transferencia de archivos
entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en
la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un
servidor
para
descargar
archivos
desde
él
o
para
enviarle
archivos,
independientemente del sistema operativo utilizado en cada equipo.
Este es uno de los servicios mas usados e importantes. Lo usamos para publicar la
mayoría de los sitios Web y compartir archivos entre otros.
Objetivos
Al finalizar este nivel Servidor FTP el estudiante:
1.
2.
3.
4.
5.
Instalara y configurara un servidor FTP.
Conocerá una de las formas mas seguras de crear un Servidor FTP.
Manipulara los archivos de configuración de este Servidor.
Creara usuarios para usar el FTP.
Usara varios métodos de conexión.
Temario
Índice de contenido
SERVIDORES LINUX FTP...................................2
Servidor FTP...........................................................3
Instalación de vsftpd......................................3
Creación del grupo.............................................3
Creación del home.........................................3
Creación de shell FTP........................................3
Creando usuarios FTP........................................4
Ficheros de configuración..................................4
Configuración de vsftpd.....................................4
Parámetro anonymous_enable.......................4
Parámetro local_enable..................................5
RedTauros ltda
Parámetro write_enable.................................5
Parámetro local_umask..................................5
Avanzado - Enjaulando a los usuarios FTP.. .5
Control del ancho de banda...........................5
Reinicio del servidor FTP..............................6
Editar el Archivo Hosts......................................6
Comandos FTP...................................................6
Conexión ftp por consola...............................7
Conexión por navegador................................7
Conexión mediante un cliente FTP...............7
Recordar ......................................................10
Versión 1.2 02/2014
http://www.redtauros.com
3
Servidor FTP
El Protocolo de Transferencia de Archivos (FTP) es un protocolo TCP, que nos
permite subir y descargar archivos, funciona según el modelo cliente/servidor. Esta
continuamente escuchando por el puerto 21 tcp para las peticiones de conexión de
clientes remotos, cuando recibe una petición la gestiona, establece la conexión y
ejecuta las ordenes enviadas por el cliente.
El acceso a un servidor FTP puede hacerse de dos maneras:
•
•
anónimo.
Autenticado.
Instalación de vsftpd
Existen una gran variedad de servidores FTP para GNU/Linux, pero se le elige vsftpd
ya que muy fácil de configurar y es uno de servidores FTP mas seguros. Para poder
hacer la instalación del servidor vsftpd tendremos que hacer lo siguiente.
sudo apt-get update
sudo apt-get install vsftpd
Ya que termine de descargar y instalar los paquetes tenemos que hacer varios pasos
para que funcione nuestro servidor ftp.
Creación del grupo
Ahora revisamos de que el grupo ftp este creado, el cual controle al servicio de
vsftpd. revisamos el fichero group, que esta en /etc, asi:
sudo vim /etc/group
Y revisamos las ultimas lineas, si no aparece el grupo ftp, tenemos que crear un
grupo de la siguiente manera:
sudo groupadd ftp
Creación del home
Tenemos que crear el deposito o el home donde el
cuando el servidor vsftpd termina de instalarse
de la siguiente manera /srv/ftp, pero tu puedes
como /var/ftp. Por ejemplo si la queremos en
usuario rodmen:
usuario va alojar su información,
crea una carpeta en /srv quedando
tener tus usuarios en otras rutas
/home, nos quedaría así para un
sudo mkdir /home/ftp/rodmen
Creación de shell FTP
Lo que haremos es crear un shell virtual o fantasma, para que los usuarios no
puedan conectarse a una sesión del sistema operativo.
sudo mkdir /bin/ftp
Ya que lo creamos,ahora tenemos que editar el siguiente archivo.
vim /etc/shells
Agregar al final del archivo /etc/ftp.
/bin/bash
RedTauros ltda
Versión 1.2 02/2014
http://www.redtauros.com
4
/bin/rbash
/bin/ftp
Por defecto en Ubuntu, se direcciona al siguiente shell, que tambien es fantasma:
/bin/false
Creando usuarios FTP
Para poder crear usuarios para nuestro servicio ftp se ocupa el siguiente comando.
useradd -g ftp -d /srv/ftp/rodmen -s /bin/false redtauros
ó
adduser redtauros
Tenemos que agregarle una contraseña a nuestro usuario creado.
sudo passwd rodmen
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Ahora hay que crear la carpeta del usuario y darle permiso al usuario pueda ser el
dueño de su deposito.
cd /home/ftp
sudo mkdir ropmen
sudo chown rodmen.ftp rodmen/
Ficheros de configuración
El servidor vsfptd tiene dos archivos muy importantes de configuración:
/etc/vsftpd.conf
Este
servidor ftp.
/etct/vsftpd.chroot_list
es
el
archivo
de
configuración
de
nuestro
Lista de los usuarios que van estar enjaulados.
Configuración de vsftpd
En este momento comenzaremos a configurar nuestro servidor vsftpd. Antes de se
recomienda ampliamente crear una copia de respaldo de archivo de configuración:
cd /etc/
cp vsftpd.conf vsftpd.conf-ori
Comenzaremos a editar el archivo de configuración del servicio vsftpd.conf.
vim vsftpd.conf
En el archivo tendremos que cambiar varios parámetros:
Parámetro anonymous_enable
Desactivar acceso a usuarios anónimos, para mayor seguridad.
RedTauros ltda
Versión 1.2 02/2014
http://www.redtauros.com
5
anonymous_enable=NO
Para la practica :
anonymous_enable=YES
Parámetro local_enable
Permitir a los usuarios autenticados
quitamos la # para que se active.
tener
sus
propias
carpetas
locales,
le
permisos
en
#local_enable=YES
local_enable=YES
Parámetro write_enable
Permitir el modo de escritura en su carpeta, le quitamos el #.
#write_enable=YES
write_enable=YES
Parámetro local_umask
Permitimos la a través de este parámetro
especial al momento de subir la información.
enmascararlo
con
algún
#local_umask=000
local_umask=037
En este caso estamos indicándole al parámetro, va tener permisos de rwx para el
usuario, r-- para el grupo y --- otro ningún permiso.
Avanzado - Enjaulando a los usuarios FTP.
Habilitamos el enjaulamiento de los usuarios dentro de su directorio personal y
también para acceder a sus carpetas por FTP.
#chroot_local_user=YES
#chroot_list_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
Habilitamos la siguiente linea que manda a llamar aun archivo, este archivo lo
tiene que crear y dentro de este agregar los cuentas de los usuario enjaulados.
#chroot_list_file=/etc/vsftpd.chroot_list
chroot_list_file=/etc/vsftpd.chroot_list
Al terminar de configurar el archivo de vsftpd.conf
touch vsftpd.chroot_list
/etc#echo “rodmen”>> vsftpd.chroot_list
Control del ancho de banda
Se le pueden agregar mas opciones al final del archivo.
RedTauros ltda
Versión 1.2 02/2014
http://www.redtauros.com
6
anon_max_rate=5100
local_max_rate=5100
max_clients=3
max_per_ip=2
#Ancho de banda para usuario anónimo 5kb.
#Ancho de banda por usuario local 5kb.
#Numero máximo clientes conectados.
#Numero máximo de conexiones por ip.
Reinicio del servidor FTP
Solo tenemos que reiniciar el servicio de vsftpd para poder cargar los cambios que
hemos realizado al servidor.
/etc/init.d/vsftpd restart
Stopping FTP server: vsftpd
Starting FTP server: vsftpd
[OK]
[OK]
Editar el Archivo Hosts
Entramos a /etc/hosts y adicionamos un dominio para nuestra ip
Comandos FTP
Para poder utilizar ahora nuestro servidor FTP seria por medio de comandos, por
esto se muestra la lista de comando de ftp y su descripción.
COMANDOS
DESCRIPCION
cd [rutaRemota]
Cambia de directorio dentro del servidor remoto
lcd [rutaLocal]
Cambia de directorio en el equipo local
chgrp [grp] [rutaRemota]
Cambia el grupo de trabajo de un fichero remoto. El
[grp] tiene que ser un Group ID
chmod
[rutaRemota]
[opciones] Cambia los permisos de Lectura,
Ejecución a un fichero remoto
chown [own] [rutaRemota]
get
[rutaLocal]
Escritura
o
Cambia el grupo de trabajo de un fichero remoto. El
[own] tiene que ser un User ID
[rutaRemota] Copia un recurso remoto en un equipo local
lmkdir [rutaLocal]
Crea una carpeta en el equipo local
mkdir [rutaRemota]
Crea una carpeta en el equipo remoto
put
[rutaRemota]
[rutaLocal] Sube un fichero o archivo desde una ruta local hasta
una ruta remota
pwd
Imprime la ruta remota en la cual estamos trabajando
exit
Salimos de SFTP
rename
[rutaRemota]
[rutaLocal] Renombra un un fichero remoto
rmdir [rutaRemota]
Borra una carpeta remota
rm [rutaRemota]
Borra un fichero remoto
RedTauros ltda
de
Versión 1.2 02/2014
http://www.redtauros.com
7
Conexión ftp por consola
Sintaxis:
ftp [ruta]
Donde, la ruta puede ser localhost, un dominio o una ip. Por ejemplo:
ftp
ftp
ftp
ftp
localhost
: Conexión al mismo equipo.
127.0.0.1
: Conexión al mismo equipo
redtauros.com : Conexión al dominio redtauros.com
192.168.0.35 : Conexión a una ip invalida
Ejemplo :
$ ftp yourserver.com
Connected to yourserver.com.
220 Welcome to YourServer FTP service.
Name (yourserver.com:someuser): [enter the ftp username]
331 Please specify the password.
Password: [enter your password]
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
Conexión por navegador
Usando un navegador, como Firefox, Google Chrome, Internet Explorer u otro similar,
podemos conectarnos a nuestro servidor FTP, solo escribiendo en el campo del URL o
URI el protocolo y la ruta. Sintaxis:
ftp://[ruta]
Donde, la ruta puede ser localhost, un dominio o una ip. Por ejemplo:
ftp://localhost
ftp://127.0.0.1
ftp://redtauros.com
ftp://192.168.0.35
:
:
:
:
Conexión
Conexión
Conexión
Conexión
al mismo equipo.
al mismo equipo
al dominio redtauros.com
a una ip invalida
Conexión mediante un cliente FTP
Para facilidad del tutorial asumiremos que el dominio asociado a su cuenta de
hosting es midominio.com y que el usuario FTP asignado es miusuario.
Siga estos pasos:
1. Puede instalar el cliente FTP Filezilla, mediante el Synaptic y también puedes
obtener
una
copia
gratuita
para
Windows
del
software
FileZilla
en
http://filezilla.sourceforge.net.
2. después de que lo instale, ábralo. Al abrirlo se mostrará la pantalla principal
del programa. La pantalla luce como la siguiente:
RedTauros ltda
Versión 1.2 02/2014
http://www.redtauros.com
8
Haga click en el menú 'File' ubicado en la parte superior izquierda y luego haga
click en 'Site Manager'. La ventana de SiteManager aparece. Haga click en el botón
'New Site'. Es en este sitio en donde debe ingresar la información suministrada en
el mail de activación de su cuenta de hosting con Caminoweb. Para este ejemplo del
tutorial ingresaremos en 'Host' el nombre del dominio anteponiéndole 'ftp.' sin las
comillas así ftp.midominio.com . En 'User' miusuario y en 'Password' ingresamos la
contraseña suministrada en el mail de activación.
Esos son los únicos datos que necesita suministrar. El formulario debe verse
similar al que se muestra a continuación:
Haga click en el botón 'Connect' para conectarse al servidor de internet. Si no se
conecta chequee lo siguiente:
• Si su cuenta esta recién habilitada, es posible que el dominio o los DNSs aun
•
no se hayan replicado. En ese caso debe utilizar la IP suministrada a cambio
de ftp.midominio.com temporalmente .
Si sale a internet detrás de un firewall y/o un router es posible que deba
utilizar el modo de conexión pasivo. El uso de modo pasivo se explica mas
adelante.
Si la conexión ha sido exitosa , la pantalla deberá lucir similar a la siguiente:
RedTauros ltda
Versión 1.2 02/2014
http://www.redtauros.com
9
3. La lista de archivos/carpetas que se muestra al lado derecho es la de su cuenta
de hosting en el servidor de internet. La lista del lado izquierdo corresponde a la
de su PC o maquina local.
4. Si su conexión está detrás de un firewall y/o un router, es posible que deba
configurar el modo pasivo para obtener una conexión más estable. Abra el diálogo de
configuración del firewall haciendo click en el menú 'Edit' y seleccionando
'Settings' . Con el dialogo de settings abierto haga click en 'Firewall Settings'
del diálogo. Usted aquí puede checar o deschecar 'Passive Mode' si es necesario.
5. En las cuentas de hosting en servidores Linux, es posible establecer los
derechos de lectura, escritura y ejecución de un archivo/carpeta. Para realizar
esta labor, simplemente haga click-derecho sobre el objeto al que desea establecer
los atributos y seleccione 'File Attributes' del menú emergente y obtendrá el
dialogo que le permite cambiarlos.
Para mayor información sobre
FileZilla Documentation.
como
usar
FileZilla
RedTauros ltda
Versión 1.2 02/2014
,
visite
el
sitio
oficial
http://www.redtauros.com
10
Recordar ...
Habilitar estos puertos, en la configuracion del IPTABLES de nuestro servidor.
$ iptables -A INPUT -p tcp —dport 21 -j ACCEPT
$ iptables -A OUTPUT -p tcp —sport 20 -j ACCEPT
Fuentes:
http://www.caminoweb.com/docs/filezilla.html
http://es.wikipedia.org/wiki/FTP
RedTauros ltda
Versión 1.2 02/2014
http://www.redtauros.com
Descargar