servicio de ftp

21
ADMNISTRACION DE SISTEMAS OPERATIVOS CONFIGURACION DE PROTOCOLOS Y SERVICIOS BASICO DE LINUX ELABORADO POR Oscar Yair Montealegre Castillo

Upload: mile-martinez

Post on 13-Mar-2016

225 views

Category:

Documents


1 download

DESCRIPTION

njn

TRANSCRIPT

Page 1: Servicio de ftp

ADMNISTRACION DE SISTEMAS OPERATIVOS

CONFIGURACION DE PROTOCOLOS Y SERVICIOS BASICO DE LINUX

ELABORADO POR

Oscar Yair Montealegre Castillo

Page 2: Servicio de ftp

Introducción

El siguiente manual tiene como objetivo dar una guía corta pero concisa de los diferentes pasos que hay

que seguir para la instalación y configuración de varios de los servicios y protocolos más utilizados

normalmente en la administración de un equipo que utiliza Linux en cualquiera de sus versiones, para el

caso de este manual hemos utilizado Ubuntu 10.

Page 3: Servicio de ftp

Servicio FTP

FTP: Protocolo de transferencias de archivos.

VSFTPPD: Es un servidor de archivos por FTP muy ligero y seguro.

Para este punto utilizare el ftp VSFTPD, es un servidor FTP que funciona sobre Linux y es muy sencillo

de configurar.

Instalación.

La configuración del servidor FTP requiere del paquete vsftpd. Para esto cargamos una consola y

digitamos el siguiente comando:

$ sudo apt-get install vsftpd.

Al instalar vsftpd en el sistema se crean los siguientes archivos y directorios en el sistema:

/etc/init.d/vsftpd: fichero que inicia el servidor ftp.

/usr/bin/vsftpd: archivo ejecutable.

/etc/vsftpd.conf: es el fichero de configuración del servidor.

/etc/ftpusers: fichero que contiene una lista de usuarios que no se podrán conectar al servidor.

Configuración.

El fichero de configuración del servidor se llama vsftpd.conf y se encuentra en el directorio /etc. Para

acceder a este fichero digitamos la siguiente instrucción.

$ sudo gedit /etc/vsftpd.conf

Page 4: Servicio de ftp

Cada regla de configuración viene con un pequeño comentario para guiarnos y ajustarla de acuerdo con

nuestras necesidades. Las reglas más importantes de este fichero son las siguientes:

anonymous_enable

Si el valor de esta regla es YES cualquier usuario se puede conectar al servidor dando el nombre de

usuario anonymous. Por razones de seguridad se debe poner NO (anonymous_enable=NO)

local_enable

Esta línea indica que si se permite o no el acceso de usuarios locales a sus respectivas carpetas

privadas. Si se permite el acceso habría que poner local_enable=YES (local_enable=NO en caso

contrario).

chroot_local_user

Permite enjaular a los usuarios dentro de su propio directorio personal. Si en el fichero de configuración

aparece chroot_local_user=NO, entonces el usuario tiene acceso a todo el sistema de archivos, en

función de los permisos asignados. Cuando un usuario local se conecta y en el fichero de configuración

aparece chroot_local_user=YES, entonces enjaulamos a los usuarios dentro de su propio directorio

personal, sin posibilidad de acceder a todo el sistema de ficheros. Se mejora por tanto la seguridad.

write_enable

Con esta regla se puede permitir o denegar la subida de ficheros al servidor FTP. Si se permite que los

usuarios suban archivos al servidor FTP habría que poner write_enable=YES.

Page 5: Servicio de ftp

local_umask

Se pueden establecer los permisos con los que quedará el archivo al subirlo al servidor FTP.

local_umask=022 indicará que los permisos de los archivos serán 644, es decir, lectura y escritura para

el propietario del fichero, y sólo lectura para el grupo y los demás.

anon_upload_enable

Esta directiva indica si los usuarios anónimos pueden cargar archivos en el servidor.

anon_upload_enable=YES permite que los usuarios anónimos puedan subir ficheros.

anon_mkdir_write_enable

Si esta directiva tiene el valor YES se permitirá la creación de directorios en el servidor.

ftpd_banner

Con esta directiva se puede mostrar un mensaje de bienvenida cuando un usuario se conecte al servidor

FTP. ftpd_banner=?Mesaje?.

anon_max_rate

Se utiliza para limitar la tasa de transferencia a usuarios anónimos.

En el siguiente ejemplo se limita la tasa de transferencia a los usuarios anónimos a 10Kb/s:

anon_max_rate=1024

local_max_rate

Se utiliza para limitar la tasa de transferencia en bytes por segundo a los usuarios locales del servidor.

En el siguiente ejemplo se limita la tasa de transferencia a 10kb/s:

local_max_rate=1024

Page 6: Servicio de ftp

max_clients

Indica el número máximo de cliente que podrán conectarse simultáneamente al servidor. En el siguiente

ejemplo son 5:

max_clients=5

Hay que tener en cuenta que cada vez que se haga un cambio en el fichero de configuración de vsftpd

se debe reiniciar el servidor con la siguiente instrucción.

$ sudo /etc/init.d/vsftpd restart

Otras opciones disponibles son stop (parar), reload (recarga), start (inicio).

Configuración TELNET

Telnet: Telecommunication NETwork es el nombre de un protocolo de red que permite conectarse a

otra máquina para manejarla remotamente como si estuviéramos sentados delante de ella. El puerto

TCP que utiliza el protocolo telnet es el 23.

Telnet sólo sirve para acceder remotamente en modo terminal, es decir, sin gráficos, se puede utilizar

para:

Arreglar fallos a distancia, de forma remota

Consultar datos a distancia.

Telnet ha tenido y tiene un fuerte uso en sistemas UNIX-LINUX y en equipos de comunicaciones.

Permite abrir una sesión con una máquina LINUX, de modo que múltiples usuarios con cuenta

en la máquina, se conectan, abren sesión y pueden trabajar utilizando esa máquina.

Tenemos que tener en cuenta que telnet tiene grandes problemas de seguridad ya que por sí solo telnet

no cifra ninguno de los datos enviados sobre la conexión para esta razón hay que buscar una solución a

esta debilidad para esto utilizamos el protocolo SSH.

Page 7: Servicio de ftp

SSH: Secure Shell es el nombre de un protocolo y del programa que lo implementa. Este programa tiene

como funciones principales:

Cifra la información antes de transmitirla, autentica la máquina a la cual se conecta.

mecanismos de autenticación de usuarios más seguros.

SSH permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP

cifradas), gestionar claves RSA para no escribir claves al conectar a los dispositivos y pasar los

datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH.

Se utiliza TCP en el puerto 22.

Instalación.

Para utilizar el servicio de telnet en nuestro equipo debemos instalar los siguientes paquetes xinetd,

telnetd y shh.

$ sudo app-get install xinetd telnetd.

$ sudo apt-get install openssh-server .

Una vez terminado el proceso de instalación se han instalado los paquetes.

Recordemos que el paquete xinetd es el daemon de telnet y debemos verificar que esté funcionando

correctamente antes de empezar a utilizar telnet. Para esta actividad ejecutemos los siguientes

comandos.

$ sudo /etc/rc.d/init.d/xinetd stop

$ sudo /etc/rc.d/init.d/xinetd start

Page 8: Servicio de ftp

$ sudo /etc/rc.d/init.d/xinetd status

Configuración

1. Configurar la dirección IP del equipo, editando el fichero /etc/network/interfaces, mediante el

editor gedit con la instrucción:

$ sudo gedit /etc/network/interfaces

De esta manera cada vez que arranque el equipo, la interfaz eth2 estará configurada por defecto con

esta dirección IP y no será necesario configurarla cada vez con ifconfig.

2. Reiniciar el servicio de red ejecutando: $ sudo /etc/init.d/networking restart.

3. Iniciar el servidor de Telnet y SSH mediante los comandos

$ sudo /etc/init.d/openbsd-inetd restart

$ sudo /etc/init.d/ssh restart.

Para editar la configuración del protocolo SSH debemos editar el archivo hosts.deny con la siguiente

instrucción.

Page 9: Servicio de ftp

$ sudo gedit /etc/hosts.deny

Si se dese restringir al accesos de alguna de las redes que tengamos conectadas al PC podemos

modificar este archivo y hacer este tipo de configuración.

Para terminar con la configuración del protocolo SSH debemos ingresar al siguiente archivo hosts.allow

donde configuraremos los pc, redes o rangos de redes a las cuales le permitiremos el acceso para

ingresar a este archivo ejecutaremos la siguiente instrucción.

$ sudo gedit /etc/hosts.allow

Para configurar los parámetros lo podemos hacer de la siguiente forma:

sshd: 192.168.1.20 # permite configurar el acceso a un pc

sshd: 192.168.1* # permite el acceso a todo un rango

Page 10: Servicio de ftp

Se pueden seguir agregando parámetros según sea la necesidad de accesos.

Para probar nuestro servicio telnet debemos ejecutar la siguiente instrucción.

telnet localhost

Servidor de DNS

Un servidor de DNS (Domain Name System) es capaz de recibir y resolver peticiones relacionadas con el

sistema de nombres. Un servidor de DNS sirve, por tanto, para:

1. Traducir su nombre de dominio en una dirección IP.

2. Asignar nombres a todas las máquinas de una red y trabajar con nombres de dominio en lugar

de IPS.

Page 11: Servicio de ftp

Instalación.

Lo primero que debemos hacer es poner una dirección IP manual, porque el servidor DNS debe estar

siempre localizable en una dirección. Esto se logra ingresando a conexiones de red donde

configuraremos la IP manual.

Ahora debemos instalar el programa que permite que nuestro PC sea un servidor DNS.

El programa que utilizaremos será BIND9.

Para instalar el programa, podemos usar el centro de software Ubuntu buscando "Bind9".

Page 12: Servicio de ftp

O se puede ejecutar la siguiente instrucción para instalar el paquete desde una consola.

$ sudo apt-get install bind9

$ sudo apt-get install -f

Después de la ejecución de esta instrucciones nos muestra que el servicio a iniciado llamado Bind9

Configuración.

Para iniciar con la configuración de nuestro servidor DNS editamos el archivo named.conf.local y

añadimos el siguiente contenido.

Page 13: Servicio de ftp

$ sudo gedit /etc/bind/named.conf.local

zone "servidordns.lan" {

type master;

file "db.servidordns.lan";

};

zone "2.168.192.in-addr.arpa" {

type master;

file "db.192.168.2";

};

Page 14: Servicio de ftp

Para comprobar la sintaxis de los archivos de configuración ejecutamos el siguiente comando named-

checkconf, después de haber configurado nuestro archivo debemos crear el db.servidordns.lan en la

siguiente ruta /var/cache/bind/, ejecutando la siguiente instrucción podremos crear el archivo.

$ sudo gedit /var/cache/bind/db.servidordns.lan.

Crear un registro en la zona primaria (búsqueda directa)

En el momento en que el editor nos carga el archive debemos incluir las siguientes instrucciones.

$ORIGIN servidordns.lan.

$TTL 86400 ; 1 dia

@ IN SOA servidor postmaster (

1 ; serie

6H ; refresco (6 horas)

1H ; reintentos (1 hora)

2W ; expira (2 semanas)

3H ; mínimo (3 horas)

)

NS servidor

servidor A 192.168.2.1

Comprobamos la zona que acabamos de crear debemos ejecutar la siguiente instrucción.

named-checkzone servidordns.lan /var/cache/bind/db.servidordns.lan

Page 15: Servicio de ftp

Crear una zona primaria (o maestra) de búsqueda inversa

A continuación creamos el archivo /var/cache/bind/db.192.168.2 para la zona inversa e incluimos el

siguiente contenido.

$ sudo gedit /var/cache/bind/db.192.168.2

$ORIGIN 2.168.192.in-addr.arpa.

$TTL 86400 ; 1 dia

@ IN SOA servidor postmaster (

1 ; serie

6H ; refresco (6 horas)

1H ; reintentos (1 hora)

2W ; expire (2 semanas)

3H ; mínimo (3 horas)

)

NS servidor.servidordns.lan.

1 PTR servidor.servidordns.lan.

Comprobamos la zona inversa recién creada con la ejecución del comando.

named-checkzone 2.168.192.in-addr.arpa /var/cache/bind/db.192.168.2

Page 16: Servicio de ftp

Después de haber realizado toda la configuración y haber verificado que cada una de las zonas está bien

configurada debemos reiniciar el bind9 para esta tarea debemos ejecutar el siguiente comando.

$ sudo service bind9 restart

Revisamos el log para comprobar que todo está bien.

$ less /var/log/syslog

después de haber verificado nuestra configuración debemos edita el archivo resolv.conf para que el

servidor DNS pueda resolver las peticiones.

$ sudo gedit /etc/resolv.conf

Y cambiar el primero de los servidores DNS poa la IP de nuestro servidor

nameserver 192.168.2.1

nameserver 8.8.8.8

Probamos nuestro servidor de nombres:

$ dig servidordns.lan

Probamos la resolución inversa

$ dig -x 192.168.2.1

Crear registros Alias

El alias nos permitirá asignar varios nombres a una ip para simplificar el manejo con el DNS. Para crear

un alias a nuestro servidor DNS demos editar el archivo db.servidordns.lan

$ sudo gedit /var/cache/bind/db.servidordns.lan

Después de haber editado el archivo podríamos agregar las siguientes líneas al archivo para que el

servidor tenga los siguientes alias.

Page 17: Servicio de ftp

www IN A 192.168.2.1

ftp IN CNAME www

mail IN CNAME www

server IN CNAME www

Registros NS, A, CNAME, MX y SPF

Registro NS (name server): indica los servidores de DNS autorizados para el dominio, es decir,

a quién tengo que preguntar para saber acerca de los registros de dominio.com.

Registro A (address): indica la dirección IP a la que se debe traducir ese nombre de dominio.

Registro CNAME (canonical name): permite definir alias o nombres de domino equivalentes.

Normalmente, se usa para definir subdominios (que casi siempre apuntarán al dominio principal,

aunque no es obligatorio).

Registro MX (mail exchange): permite definir a qué servidor se envía el correo electrónico del

dominio en cuestión. Cuenta con un campo prioridad, por lo que para un mismo dominio se

pueden definir varios registros MX con distinta prioridad, escogiéndose el primero que esté

disponible en cada momento.

Registro SPF (sender policy framework): permite definir qué servidores están autorizados

para enviar correo electrónico del dominio. Su uso surgió como propuesta para acabar o al

menos dificultar el spam (correos no deseados con publicidad, phishing). Normalmente, los

spammers envían correo electrónico desde direcciones recopiladas en internet y a direcciones

recopiladas en internet, para que sea más difícil identificar el correo como spam. Sin embargo, si

el filtro antispam está bien implementado, mirará el registro SPF del dominio del remitente de un

correo entrante, y si la dirección IP origen del correo no está entre las admitidas en dicho

registro, lo marcará como spam.

Page 18: Servicio de ftp

Configurar el servicio HTTP

Para iniciar a utilizar el servicio HTTP primero debemos instalar un paquete para este manual

utilizaremos apache 2.0.

Instalación.

Para iniciar el proceso de instalación del paquete debemos ejecutar la siguiente instrucción.

$ sudo apt-get install apache2

Después de terminada la instalación debemos iniciar el servicio de apache eso se logra con la siguiente

instrucción.

$ sudo /etc/init.d/apache2 start

En el momento en que se carga el servidor habitualmente aparece un mensaje de error como el

siguiente.

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for

ServerName

Para que este error no nos salga debemos entrar a configurar nuestro servidor apache.

Configuración.

$ sudo gedit /etc/apache2/apache2.conf

Page 19: Servicio de ftp

Aquí, agregamos el nombre del servidor. Esto debe ser después de la línea donde se define la carpeta

root. El archivo queda de la siguiente forma.

#

ServerRoot "/etc/apache2"

ServerName "nombre servidor"

#

Una vez terminada la instalación puedes comprobar que Apache funciona correctamente de la siguiente

forma, colocando en tu browser http://localhost o http://127.0.0.1

También existe una herramienta que instala toda una suite para configurar un servidor WEB la cual es

XAMPP esta herramienta instala Apache, Mysql, Filezila y Mercury lo mejor de esta herramienta es que

tiene unas opciones que guía de una manera muy sencilla y practica al usuario para configurar los

servicios de acuerdo a las necesidades. Una de las grandes ventajas de esta suite aparte de su sencillez

es el costo cero.

Instalación

1. descargamos en nuestra carpeta personal, la última versión desde su página web. Detectará el

Sistema Operativo y la arquitectura (32 o 64 bits).

2. Una vez descargado en nuestra carpeta, lo descomprimimos en el directorio /opt desde una

Terminal con el siguiente comando:

$ sudo tar xvfz xampp-linux-1.8.0.tar.gz -C /opt

Page 20: Servicio de ftp

Listo ya está instalado todo el paquete. Ahora crearemos el acceso directo a nuestro nuevo programa

para unservidor web con el comando.

$ sudo ln -s /opt/lampp/htdocs /home/usuario/Webs

Si queremos iniciar manualmente la herramienta lo podemos hacer con el siguiente comando.

$ sudo /opt/lampp/lampp start

No debe mostrar las siguientes líneas

Starting XAMPP for Linux 1.7.4...

XAMPP: Starting Apache with SSL (and PHP5)...

XAMPP: Starting MySQL...

XAMPP: Starting ProFTPD...

XAMPP for Linux started.

Sólo queda probarlo para ver que corre perfectamente. Abrimos nuestro navegador y escribimos en la

barra de direcciones http://localhost nos debe mostrar la siguiente página.