Está en la página 1de 52

Escuela de Ciencias Básicas, Tecnología e Ingeniería Redes y

servicios Telemáticos
UNIDAD 2 – PASO 4

Presentado por
John Anderson Ramírez Montoya
Cod. 1067846605
Emiro José Pérez
Edison Armando Garzón
Jaime Hernández

Grupo _ 3

Presentado a
Ing. Edgar Rodrigo Enríquez Rosero

Universidad nacional abierta y a distancia


Colombia 2019
Introducción
En el siguiente trabajo vamos a ver conceptos como FTP, servidor de
correo, servidor proxy, proxy transparente. Además, aremos la
instalación de ellos por medio del sistema operativo Linux, el cual
está en nuestra máquina virtual, instalamos también Filezilla,
squirremail, entre otros, gracias a nuevos comandos, todos estos
procesos los veremos gracias a pantallazos y video lo cual se revisara
continuación.
o ¿Qué es un servicio FTP?

FTP (siglas en inglés de File Transfer Protocol, ‘Protocolo de Transferencia de


Archivos’), es un protocolo de red para la transferencia de archivos entre
sistemas interconectados o enlazados a Internet, 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.

El funcionamiento es relativamente sencillo. Una persona desde su computador


invoca un programa cliente FTP para conectar con otro computador/servidor,
que a su vez tiene instalado el programa servidor FTP. Una vez establecida la
conexión y debidamente autenticado el usuario con su contraseña, se pueden
empezar a intercambiar archivos de todo tipo.

Los beneficios de contar con un servicio FTP son bastantes, entre otros se
encuentran la facilidad para la transferencia de altos volúmenes de información,
velocidad y estabilidad de los enlaces, seguridad en la transferencia de
información, bajos costos de implementación y flexibilidad en configuración de
cuotas, usuarios y permisos de acceso.

Para contar con la posibilidad de manejar servicios FTP se requieren básicamente


dos elementos principales, un servidor FTP y un cliente FTP.

Servidor FTP

Un servidor FTP es un programa especial que se ejecuta en un equipo servidor


normalmente conectado a Internet. Su función es permitir el intercambio de
datos entre diferentes servidores/computadores.
Por lo general, los programas servidores FTP no suelen encontrarse en los
computadores personales, por lo que un usuario normalmente utilizará el FTP
para conectarse remotamente a uno y así intercambiar información con él.

Las aplicaciones más comunes de los servidores FTP suelen ser el hosting, en el
que los clientes utilizan el servicio para subir sus páginas web y sus archivos
correspondientes; o como servidor de backup (copia de seguridad) de los
archivos importantes que pueda tener una empresa. Para ello, existen protocolos
de comunicación FTP para que los datos se transmitan cifrados, como el SFTP
(Secure File Transfer Protocol).

Cliente FTP

Cuando un navegador no está equipado con la función FTP, o si se quiere cargar


archivos en un servidor remoto, se necesitará utilizar un programa cliente FTP.
Un cliente FTP es un programa que se instala en el computador del usuario, y
que emplea el protocolo FTP para conectarse a un servidor FTP y transferir
archivos, ya sea para descargarlos o para subirlos.

Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el


computador en que reside (servidor, en el caso de descarga de archivos), el
computador al que se quiere transferir el archivo (en caso de querer subirlo
nosotros al servidor), y la carpeta en la que se encuentra.

Algunos clientes de FTP básicos en modo consola vienen integrados en los


sistemas operativos, incluyendo Microsoft Windows, GNU/Linux y Unix. Sin
embargo, hay disponibles clientes con opciones añadidas e interfaz gráfica.
Aunque muchos navegadores tienen ya integrado FTP, es más confiable a la hora
de conectarse con servidores FTP utilizar un programa cliente.

o ¿Qué archivos que se deben configurar en Ubuntu para que


funcione el servicio FTP?

Paso 1 – Instalar Vsftpd


Primero lo primero, obtengamos las actualizaciones de nuestros
paquetes antes de continuar con la instalación del daemon vsftpd. Para
comenzar, ejecuta el siguiente comando:

sudo apt-get update

Espera a que se completen todos los procesos y verás una confirmación


tan pronto como finalice la actualización.

Cuando termines con esto, instala el daemon vsftpd usando el siguiente


comando:

sudo apt-get install vsftpd

Ahora verás un mensaje de confirmación en el que tendrás que


escribir Y y presionar Enter para continuar con la instalación.

Una vez completada la instalación, haz una copia de seguridad del


archivo original para que podamos comenzar nuestro trabajo con un
archivo de configuración en blanco:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

Ahora estamos listos para dar el siguiente paso y configurar el firewall.

Paso 2 – Permitir el tráfico FTP desde el firewall

Para permitir que el servidor FTP de Ubuntu se comunique con el mundo


exterior, tiene que abrirse paso a través del firewall. Primero veamos si
el firewall está habilitado en la máquina o no. Ejecuta el siguiente
comando para verificar el estado:

sudo ufw status

Si ves el siguiente mensaje:

ufw: command not found

Significa que el firewall no está instalado y puedes continuar con el


siguiente paso.

Sin embargo, si el resultado muestra algunas reglas definidas o un


mensaje de que el estado del firewall es activo, deberás verificar si el
tráfico FTP funcionará. Avancemos y abramos los puertos 20 y 21 para
el tráfico FTP; los puertos 40000-50000 serán los reservados para el
rango de puertos pasivos que eventualmente se establecerán en el
archivo de configuración y el puerto 990 se usará cuando se habilite el
TLS. Ejecuta los siguientes comandos para hacerlo:

sudo ufw allow 20/tcp

sudo ufw allow 21/tcp

sudo ufw allow 990/tcp

sudo ufw allow 40000:50000/tcp

Ahora veamos el estado de nuevo:

sudo ufw status

El resultado debería ser algo así:

Output

Status: active

To Action From

-- ------ ----

990/tcp ALLOW Anywhere


20/tcp ALLOW Anywhere

21/tcp ALLOW Anywhere

40000:50000/tcp ALLOW Anywhere

20/tcp (v6) ALLOW Anywhere (v6)

21/tcp (v6) ALLOW Anywhere (v6)

990/tcp (v6) ALLOW Anywhere (v6)

40000:50000/tcp (v6) ALLOW Anywhere (v6)

Ahora que tenemos todos los puertos necesarios abiertos y disponibles


para nosotros, podemos pasar al siguiente paso.

Paso 3 – Crear el directorio de usuarios

En el tercer paso para crear un servidor FTP de Ubuntu, tendremos que


seleccionar el usuario que va a utilizar el acceso FTP. Solo para mostrar
cómo se hace, agregaremos un nuevo usuario. Para crearlo, usa el
siguiente comando:

sudo adduser alex

Cuando el sistema te pregunte, ingresa una contraseña para el usuario y


completa todos los demás detalles. Lo ideal es que el FTP se restrinja a
un directorio específico por motivos de seguridad. Vsftpd usa jaulas
chroot para lograr esto. Con chroot habilitado, un usuario local está
restringido a su directorio de inicio (por defecto). Sin embargo, es
posible que debido a la seguridad de vsftpd, un usuario no pueda
escribir en el directorio. No eliminaremos los privilegios de escritura de
la carpeta de inicio; en su lugar, crearemos un directorio ftp que actuará
como chroot junto con un directorio de archivos modificables que será
responsable de mantener los archivos pertinentes. Usa el siguiente
comando para crear la carpeta FTP:

sudo mkdir /home/alex/ftp

Establece la propiedad usando:

sudo chown nobody:nogroup /home/alex/ftp


Finalmente, elimina los permisos de escritura:

sudo chmod a-w /home/alex/ftp

Ahora, usa el siguiente comando para verificar los permisos:

sudo ls -la /home/alex/ftp

El resultado debería ser algo así:

total 8
dr-xr-xr-x 2 nobody nogroup 4096 Jun 29 11:32 .
drwxr-xr-x 3 alex alex 4096 Jun 29 11:32 ..

Como paso siguiente, crearemos el directorio contenedor de archivos y


asignaremos la propiedad:

sudo mkdir /home/alex/ftp/files


sudo chown alex:alex /home/alex/ftp/files

Finalmente, agrega un archivo de prueba al directorio el cual se usará


cuando probemos todo más adelante:

echo "vsftpd sample file" | sudo tee /home/alex/ftp/files/sample.txt

Paso 4 – Configurar vsftpd

El siguiente paso en nuestra apuesta por configurar un servidor FTP en


Ubuntu VPS, es configurar vsftpd y nuestro acceso FTP. En este tutorial,
permitiremos que un solo usuario se conecte con FTP utilizando una
cuenta shell local. Las dos configuraciones clave requeridas para esto ya
están establecidas en el archivo de configuración (vsftpd.conf). En
primer lugar, verifica que el archivo de configuración tenga una
configuración que coincida con las mencionadas a
continuación utilizando el comando nano:

sudo nano /etc/vsftpd.conf


...
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
...
En el mismo archivo, procederemos a eliminar # y a habilitar
el write_enable:

...
write_enable=YES
. . ..

Chroot tampoco se comentará para garantizar que el usuario conectado


a través de FTP solo acceda a los archivos dentro del directorio
permitido:

...
chroot_local_user=YES
...

También se deben agregar manualmente algunos valores nuevos.


Simplemente puedes pegarlos en la parte inferior del archivo. En primer
lugar, se agregará un user_sub_token en la ruta del directorio
local_root. Esto permitirá que la configuración funcione con el usuario
actual y con cualquier otro usuario que se agregue posteriormente:

user_sub_token=$USER
local_root=/home/$USER/ftp

Para garantizar que haya una cantidad considerable de conexiones


disponibles, limitaremos la cantidad de puertos utilizados en el archivo
de configuración:

pasv_min_port = 40000
pasv_max_port = 50000

En este tutorial, planeamos permitir el acceso caso por caso, así que
ajustemos la configuración de forma tal que el acceso solo se otorgue a
los usuarios que se hayan agregado explícitamente a una lista:

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

El flag userlist_deny es el responsable de alternar la lógica; cuando se


establece en “NO”, solo se permitirá el acceso a los usuarios
especificados en la lista. Una vez hecho esto, haz clic en CTRL+X y
confirma los cambios del archivo.
Por último, procederemos con la creación y adición de nuestro usuario al
archivo:

echo "alex" | sudo tee -a /etc/vsftpd.userlist

Verifica que el usuario esté realmente activo ejecutando el siguiente


comando:

cat /etc/vsftpd.userlist

El resultado debe ser “alex” como se muestra en esta captura de


pantalla:

Reinicia el daemon utilizando el siguiente comando para cargar los


cambios de configuración:

sudo systemctl restart vsftpd

Paso 5: Hacer que el FTP sea seguro

Por defecto, FTP no hace ninguna encriptación de datos, por eso


utilizaremos TTL/SSL para garantizar la seguridad. En primer lugar,
debemos crear el certificado SSL y usarlo para proteger el servidor FTP
de Ubuntu. Para comenzar, usa el siguiente comando:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout
/etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

El flag -days hace que el certificado sea válido por un año y hemos
incluido una clave privada RSA de 2048 bits en el mismo comando. Una
vez sean solicitados, ingresa los datos personales correspondientes en el
campo provisto.

Cuando termines de crear el certificado, abre nuevamente el archivo de


configuración:

sudo nano /etc/vsftpd.conf

El final del archivo debe contener dos líneas que comiencen con “_rsa“.
Comenta ambas líneas así:

# rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

En lugar de eso, apuntemos el archivo de configuración al certificado


que acabamos de crear. Agrega las siguientes líneas:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

Ahora habilitaremos SSL y nos aseguraremos de que solo los clientes


que tengan SSL habilitados nos puedan contactar. Cambia el valor
de ssl_enable a YES:

ssl_enable=YES

Ahora agrega las siguientes líneas para mayor protección: (Esto no


permitirá conexiones anónimas a través de SSL)

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

Configura el servidor para usar TLS usando:

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Aquí agregaremos 2 opciones más. En primer lugar, no será necesario


reutilizar SSL porque puede ocasionar que muchos clientes de FTP se
averíen. En segundo lugar, utilizaremos suites de encriptación de alto
cifrado, lo que significa que las longitudes de claves son iguales o
superiores a 128 bits.

require_ssl_reuse=NO
ssl_ciphers=HIGH

Comencemos una vez más para aplicar las nuevas configuraciones:

sudo systemctl restart vsftpd

¡Buen trabajo! Has configurado el servidor FTP en tu VPS de Ubuntu


para que funcione con el protocolo SSL/TLS.

Paso 6 – Prueba de conexiones con FileZilla


Hoy en día, la mayoría de los clientes de FTP admiten configuraciones de
cifrado TLS, por lo que es una excelente manera de comprobar si tu
servidor FTP de Ubuntu funciona según lo previsto. Para probar la
conexión, utilizaremos un cliente FTP de FileZilla. Para comenzar inicia
FileZilla y haz clic en el icono de Site Manager.

Haz clic en el botón New Site en la ventana que aparece para comenzar
a ingresar los detalles del servidor FTP de Ubuntu.

Completa todos los detalles requeridos con tu información del servidor


FTP de Ubuntu recién creada. Como lo configuramos para usar TLS,
también podemos marcar el cifrado para que sea explícitamente FTP
sobre TLS. La configuración final debería verse así:

Cuando esté listo, haz clic en Connect y aparecerá una pantalla que te
pedirá ingresar la contraseña del usuario de FTP.

Finalmente, tendrás que verificar el certificado SSL de tu servidor FTP en


Ubuntu VPS.

Después de confirmar, el directorio raíz con el archivo de prueba debería


aparecer en tu pantalla.
¡Eso es todo! Ahora puedes realizar transferencias de archivos desde tu
computadora al servidor FTP de Ubuntu y viceversa.

o ¿Qué es filezilla?

FileZilla es el nombre de un programa, de un software de vital


importancia para las compañías que necesitan alojar y compartir
archivos en internet. Se trata de una herramienta pensada para
aprovechar los protocolos FTP, lo que permite la descarga y el
envío de archivos a gran velocidad a través de un servidor
dedicado o compartido.

Es un software de código abierto, lo que implica que su descarga


es totalmente gratuita y que incluso puede modificarse para
ajustarse a las necesidades de cada consumidor, siempre y
cuando no se haga con fines lucrativos. Por su nombre, son
muchos los que lo relacionan de un modo u otro con Mozilla, pero
ambos tienen procedencias completamente diferentes.

Con el paso de los años, y con numerosas actualizaciones, este


cliente ha implementado la compatibilidad con protocolos más
modernos y seguros como SFTP, lo que permite el cifrado de
toda la comunicación para evitar la intervención de los datos y
su monitorización por parte de terceros. Además de eso, ofrece
la posibilidad de conectar con servidores remotos usando VPN.

Una herramienta completa y gratuita que se usa en muchísimas


empresas debido a su versatilidad y utilidad. FileZilla es una
plataforma que nació con el mero fin de facilitar el
almacenamiento de ficheros para su posterior uso en servidores
a través del protocolo FTP, pero con el tiempo se ha convertido
en un software casi imprescindible para realizar numerosas
gestiones online.
o ¿Cuál es el proceso para enjaular una cuenta en ftp y para qué
sirve?

Enjaular al usuario

Esto significa que el usuario no podrá escalar en la jerarquía del


directorio y solamente se mantendrá en si directorio.

Buscamos nuestro usuario recién creado en:

nano /etc/passwd

Copiamos la línea que podrá verse algo así:

usuarioftp:x:1004:118:Nombre del Usuario:/home/ftp/usuarioftp:/


bin/ftp

Luego la pegamos en la última línea de etse archivo:

nano /etc//vsftpd.chroot_list

Una vez realizados todos los cambios reiniciamos el servidor de FTP:

/etc/init.d/vsftpd restart

Ahora ya tenemos un servidor de FTP funcional y con los privilegios


adecuados para que nuestros usuario puedan almacenar archivos
debidamente separados.

Instalar FileZilla

Para instalar FileZilla puede bajarlo desde https://filezilla-project.org/ o desde el


terminal de Ubuntu/Debian como:

$ sudo apt-get install filezilla

Conectar con el servidor


Para conectar con el servidor, vamos a tener que rellenar unos campos. La dirección IP del
servidor (xxx.xxx.xxx.xxx), el usuario y la contraseña

Normalmente, los servidores suelen utilizar los puertos 20 y 21, el puerto 21 se utiliza para
conectarse de forma remota a un servidor y autentificarse. El puerto 20 se utiliza para
transferencias de archivos una vez autentificado. En nuestro caso, utilizamos el puerto
12125.

Subir un archivo al directorio web o private

El directorio web es el visible y el private no lo es. Aquí subiremos los archivos que
queremos que se vean en nuestro sitio web. La distribución de FIleZIlla es la siguiente:

Para subir un archivo desde los directorios locales hasta los directorios remotos hay que:

1. Localizar el archivo que queremos subir al servidor.


2. Entrar en el directorio remoto que queremos subir el archivo
3. Arrastrar el archivo hasta dentro del directorio remoto para subirlo

Bajar un archivo del servidor remoto a la máquina local


1. Localizar el archivo que se quiere descargar en los directorio remotos.
2. Doble click y se descargara en el Escritorio local.

Procedimientos.

Instalación del software requerido.

yum -y install squirrelmail httpd

Configuración de SquirrelMail.

Cambie al directorio /usr/share/squirrelmail/config/ y ejecute el guión de configuración que se


encuentra en el interior:

cd /usr/share/squirrelmail/config/

./conf.pl

Lo anterior le devolverá una interfaz de texto muy simple de utilizar, como la mostrada a
continuación:
SquirrelMail Configuration : Read: config.php (1.4.3)

------------------------------------------------------
---

Main Menu --

1. Organization Preferences

2. Server Settings

3. Folder Defaults

4. General Options

5. Themes

6. Address Books (LDAP)

7. Message of the Day (MOTD)

8. Plugins

9. Database

D. Set pre-defined settings for specific IMAP servers

C. Turn color on

S Save data

Q Quit

Command >>

Ingrese hacia las preferencias de la organización y defina el nombre de la empresa, el logotipo y


sus dimensiones, El mensaje en la barra de título de la ventana del navegador, el idioma a
utilizar, URL y el título de la página principal del servidor de red.
SquirrelMail Configuration : Read: config.php (1.4.3)

---------------------------------------------------------

Organization Preferences

1. Organization Name : jaime.hernandez.grupo3.com

2. Organization Logo : ../images/sm_logo.png

3. Org. Logo Width/Height : (308/111)

4. Organization Title : Bienvenido al Webmail de


Su_empresa.

5. Signout Page :

6. Default Language : es_ES

7. Top Frame : _top

8. Provider link :
http://jaime.hernandez.grupo3.com/

9. Provider name : jaime.hernandez.grupo3.com

R Return to Main Menu

C. Turn color on

S Save data

Q Quit

Command >>

En las opciones de servidores defina solamente el dominio a utilizar. Si el servidor de correo va a


coexistir en el mismo sistema con el servidor HTTP, no hará falta modificar más en esta sección.
Si lo desea, puede especificar otro servidor SMTP e IMAP localizados en otro equipo.
SquirrelMail Configuration : Read: config.php (1.4.3)

------------------------------------------------------
---

Server Settings

General

-------
1. Domain :jaime.hernandez.grupo3.com

2. Invert Time : false

3. Sendmail or SMTP : Sendmail

A. Update IMAP Settings : localhost:143 (uw)

B. Change Sendmail Config : /usr/sbin/sendmail

R Return to Main Menu

C. Turn color on

S Save data

Q Quit

Command >>

En las opciones de las carpetas cambie Trash por Papelera, Sent por Enviados y Drafts por
Borradores.
SquirrelMail Configuration : Read: config.php (1.4.3)

------------------------------------------------------
---

Folder Defaults

1. Default Folder Prefix : mail/

2. Show Folder Prefix Option : true

3. Trash Folder : Papelera

4. Sent Folder : Enviados

5. Drafts Folder : Borradores

6. By default, move to trash : true

7. By default, move to sent : true

8. By default, save as draft : true

9. List Special Folders First : true

10. Show Special Folders Color : true

11. Auto Expunge : true

12. Default Sub. of INBOX : true

13. Show 'Contain Sub.' Option : false

14. Default Unseen Notify : 2

15. Default Unseen Type : 1

16. Auto Create Special Folders : true

17. Folder Delete Bypasses Trash : false

18. Enable /NoSelect folder fix : false

R Return to Main Menu

C. Turn color on

S Save data

Q Quit

Command >>

Finalmente escoja y habilite las extensiones (plug-ins) que considere apropiados para sus
necesidades:
SquirrelMail Configuration : Read: config.php (1.4.3)

------------------------------------------------------
---

Plugins

Installed Plugins
1. delete_move_next

2. squirrelspell

3. newmail

4. calendar

5. filters

6. mail_fetch

7. translate

8. abook_take

9. message_details

10. sent_subfolders

Available Plugins:

11. administrator

12. bug_report

13. info

14. listcommands

15. spamcop

16. fortune

R Return to Main Menu

C. Turn color on

S Save data

Q Quit

Command >>
Guarde los cambios pulsando la tecla «S» y luego la tecla «Enter».

Finalizando configuración.

Active, si no lo ha hecho aún, el servicio de IMAP. Si utiliza Red Hat Enterprise Linux 4.0, CentOS
4.0 o White Box Enterprise Linux 4.0, el paquete imap es reemplazado por dovecot, el cual
funciona como otros servicios. Se debe editar el archivo /etc/dovecot.conf y asegurarse que
estén habilitados el servicios de imap (de modo predefinido solo debe estar habilitado imap):

protocols = imap pop3

El servicio se agrega al arranque del sistema y se inicializa del siguiente modo:

/sbin/chkconfig dovecot on

/sbin/service dovecot start

Acceda con el navegador de su predilección hacia http://127.0.0.1/webmail/.

elinks http://127.0.0.1/webmail/

FTP
o ¿Qué es un servicio FTP?
Su sigla en ingles (file transfer protocol) protocolo de
transferencia de archivo es un protocolo del nivel de
aplicación. Está basado en una arquitectura cliente
servidor y proporciona un mecanismo estándar de
transferencia de archivos entre sistemas a través de redes
TCP/IP.

o ¿Qué archivos que se deben configurar en Ubuntu para que


funcione el servicio FTP?
Hemos de decir primero, que el servidor vsftpd, se
distribuye bajo licencia libre GNU GPL y puede descargarse
de la página oficial de vsftpd.

Vsftpd (Very Secure FTP Daemon), es un servicio FTP que


permite implementar servicios de archivos mediante
protocolo FTP, caracterizándose principalmente porque se
trata de un sistema muy seguro, a la vez que muy
sencillo de configurar.

o ¿Qué es filezilla?
FileZilla es una aplicación para la transferencia de archivos por FTP. Es
una aplicación gratuita y de código abierto, que comenzó como un
proyecto en una clase de computación en enero de 2001. Fue iniciado
por Tim Kosee junto con dos compañeros más.

Permite transferir archivos desde una computadora local, hacia uno o


más servidores FTP (y viceversa) de forma sencilla.

o ¿Cuál es el proceso para enjaular una cuenta en ftp y para qué


sirve?
1. instalar VSFTPD

2. configuración del VSFTPD y modificamos los siguientes


parametros.
listen = YES: Para que se inicie con el sistema.

anonymous_enable = NO: No permitimos que usuarios anónimos


puedan conectarse a nuestro servidor. Es por seguridad.

local_enable = YES: Para poder conectarse con los usuarios locales del
servidor donde está instalado.

write_enable = YES: Si quieres que los usuarios puedan escribir y no


sólo descargar cosas.
local_umask = 022: Esta máscara hace que cada vez que subas un
archivo, sus permisos sean 755. Es lo más típico en servidores FTP.

chroot_local_user = YES
chroot_list_enable = YES: Sirven para que los usuarios locales
puedan navegar por todo el árbol de directorios del servidor.
Evidentemente esto sólo queremos permitírselo a ciertos usuarios, para
ello tenemos el siguiente parámetro.

chroot_list_file = /etc/vsftpd.chroot_list : Indicamos el fichero


donde están listados los usuarios que pueden navegar hacía arriba por
los directorios del servidor, lo normal es que sea el administrador del
servidor.

3. creamos un grupo de usuario para FTP


sudo groupadd ftp = debemos darle permisos especiales

sudo mkdir /bin/ftp = creamos una shell fantasma par que no


puedana enstar a la consola del servidores.

nano /etc/shells = editamos el listado de shells del sistema.

/bin/ftp = agregamos nuestra shell fantasma.

4. Enjaulamos al usuarios = el usuario no podrá escalar en la


jerarquía del directorio

-nano /etc/passwd = Buscamos nuestro usuario

-usuarioftp:x:1004:118:Nombre del
Usuario:/home/ftp/usuarioftp:/bin/ftp

copiamos la linea de codigo anterior y la pegamos en este archivo

-nano /etc//vsftpd.chroot_list

-/etc/init.d/vsftpd restart = reiniciamos el servidor FTP.

CON ESTO EL SERVIDOR YA QUEDA FUNCIONANDO.

Servidor de correo (2 estudiantes)


o ¿Qué es un servidor de correo?
Servidor que me permite el intercambio de mensajes de
correo electrónico, ya sea entre usuarios, Servidores,
cliente y servidor. Este servidor almacena y reenvía los
mensajes de correo, probablemente esta es la aplicación
TCP/IP más usada.

o ¿Cuál o cuáles son los archivos que se deben configurar para el


servidor de correo?

o ¿Qué es Sendmail y Dovecot?

Sendmail es un popular "agente de transporte de correo" (MTA - Mail


Transport Agent) en Internet, cuya tarea consiste en "encaminar" los
mensajes o correos de forma que estos lleguen a su destino.

Dovecot. Servidor de IMAP y POP3 de código abierto para sistemas


GNU/Linux / UNIX-like, escrito fundamentalmente pensando en
seguridad. Desarrollado por Timo Sirainen, fue liberado por primera vez
en julio del año 2002. Dovecot se centra fundamentalmente a ser un
servidor de correo de código abierto ligero, rápido, fácil de instalar y a
su vez seguro.

o ¿Qué es squirrelmail? (Estudiante 1)

El squirrelmail es un programa webmail que te permite revisar el


correo que tengas en un servidor con imap mediante cualquier
navegador. Esto está muy bien para no tener que añadir más reglas a
un firulete, para implantarlo en una oficina o pyme (como en mi caso) o
simplemente porque no te gusta ni el mail, mutt, etc. para el correo y
no quieres instalar ningún programa de gestión de correo. Hay gente
muy rara por ahí.

o ¿Cuál es el archivo de configuración para squirrelmail? (Estudiante


1)

Instalación

Para instalar el squirrelmail es fácil, lo seleccionamos con dselect o bien con


nuestro maravilloso apt, tal que así:

apt-get install squirrelmail.


Configuración

Para los comodos existe un script que podemos utilizar para configurar el
squirrelmail en un modo de semi texto, semi menu. Para llamarlo desde la
linea de ordenes llamamos a:

/etc/squirrelmail/conf.pl

A mi personalmente me gusta editar directamente el archivo de configuración


ubicado en: /etc/squirrelmail/config.php. Lo que nos interesa son solo un par
de lineas que pongo a continuación:

$squirrelmail_default_language = 'en_US';

$domain = 'localhost';

$imapServerAddress = 'localhost';

$trash_folder = 'INBOX.Trash';

$sent_folder = 'INBOX.Sent';

$draft_folder = 'INBOX.Drafts';

Antes de que nos volvamos locos vamos a reiniciar el apache para que
coja la nueva configuración, venga todos a poner:

/etc/init.d/apache restart

o ¿Qué es Horde webmail? (Estudiante 2)

Un webmail es un gestor de correo web que te permite enviar y


recibir emails directamente desde tu navegador en cualquier
dispositivo que esté conectado a Internet. Además, Horde incluye
funciones de calendario, lista de tareas, bloc de notas y libreta de
direcciones, entre otras muchas. También te permite hacer uso de
filtros avanzados, archivos adjuntos, corrector ortográfico y
funcionalidades de gestión de tareas (con recordatorios y
seguimiento del progreso).

Horde webmail es perfecto para cuando estás de viaje o cuando tienes que
utilizar el ordenador de otra persona (o incluso un ordenador público, como el
de una biblioteca). Puedes acceder a tu webmail de Raiola Networks en
cualquier momento, siempre y cuando cuentes con un navegador y conexión a
la red. Tus emails se almacenan en nuestros servidores y permanecen siempre
disponibles para que los consultes.

o ¿Cuáles son los archivos de configuración para Horde webmail?


(Estudiante 2)

Instalación de la Horda

Levanta un shell de raíz y ejecuta cada uno de estos comandos a


su vez:

1. apt-get update
2. apt-get install php-horde-webmail php5-sqlite

Configurando la horda

Esta sección se divide en dos subsecciones según el lugar donde se realiza el


trabajo. Comenzaremos en la terminal y luego daremos el salto a la interfaz de
administración web de Horde.

Configuraciones de terminales

Levanta un shell de raíz y ejecuta cada uno de estos comandos a su vez. Cada
elemento es una línea de instrucciones de comando:

1.mkdir /var/lib/horde/

2.chown www-data:www-data /var/lib/horde/

3.cp /etc/horde/horde/conf.php.dist /etc/horde/horde/conf.php

4.chown www-data:www-data /etc/horde/horde/conf.php

5.touch /etc/horde/imp/conf.php /etc/horde/turba/conf.php

6.chown www-data:www-data /etc/horde/imp/conf.php


/etc/horde/turba/conf.php

7.cp /etc/horde/imp/backends.php
/etc/horde/imp/backends.local.php
Servidor Proxy
o ¿Qué es un servidor proxy?

Un servidor proxy es un ordenador que puede conectarse como


interfaz entre dos ordenadores o redes. Asume una función de
intermediario, recibiendo peticiones y transmitiéndoles con su propia
dirección IP a otra red. Los servidores proxy se pueden utilizar en
Internet para ocultar la dirección IP.

o ¿Qué es squid bajo el contexto de un servidor proxy?


SQUID es un software de libre distribución para realizar la
tarea de un servidor proxy con prestaciones muy
profesionales. Suele acompañar a las distribuciones más
habituales, aunque también puede obtenerse de su sitio
oficial, pero lo más sencillo es utilizar el empaquetado en
formato rpm, si estamos usando una distribución Red Hat o
deb si trabajamos con Debian, en caso de que usted no
domine la instalación a partir de las fuentes, aunque hemos
de decir que la mayoría de software viene con sencillos
scripts de instalación que le facilitan la tarea a los usuarios
menos avezados.

o ¿Qué es una ACL?


Una Lista de Control de Acceso o ACL (del inglés, Access
Control List) es un concepto de seguridad informática usado para
fomentar la separación de privilegios. Es una forma de determinar
los permisos de acceso apropiados a un determinado objeto,
dependiendo de ciertos aspectos del proceso que hace el pedido.

Las ACL permiten controlar el flujo del tráfico en equipos de redes, tales como
routers y switches. Su principal objetivo es filtrar tráfico, permitiendo o
denegando el tráfico de red de acuerdo a alguna condición. Sin embargo,
también tienen usos adicionales, como por ejemplo, distinguir “tráfico
interesante” (tráfico suficientemente importante como para activar o mantener
una conexión) en ISDN.

o ¿Cuáles son los archivos que se deben configurar para el


funcionamiento de squid?

Instalación

Hemos de obtener, en nuestro caso, el paquete de una versión igual o

Superior a 2.4.STABLE1, cualquier versión anterior no es recomendable ya que


presenta ciertas carencias de seguridad, por lo tanto, en todos los casos
asegúrese de disponer de la última versión estable del software que piense
instalar. Una vez obtenido bastará teclear:
[root@jaime.hernandez.grupo3.com-VirutalBox]#rpm -ivh squid-
2.4.STABLE1.i386.rpm

Proxy transparente
o ¿Qué es un servicio Proxy transparente?
o Describa el proceso de comunicación cuando se utiliza un proxy
transparente
o ¿Qué son las iptables?
o Qué ocurre al teclear el comando: ps ax | grep squid
Proxy transparente

Servidor Proxy

o ¿Qué es un servidor proxy?

El servidor proxi es un equipo o sistema de software, el cual actúa como


intermediario entre un dispositivo de punto final, como una
computadora, y otro servidor del cual un usuario o cliente solicita un
servicio. El servidor proxy puede existir en el mismo equipo que un
servidor firewall o puede estar n un servidor independiente, el cual
reenvía las solicitudes a través del firewall.

o ¿Qué es squid bajo el contexto de un servidor proxy?


Squid es un Servidor Intermediario (Proxy) de alto desempeño que se
ha venido desarrollando desde hace varios años y es hoy en día un muy
popular y ampliamente utilizado entre los sistemas operativos como
GNU/Linux y derivados de Unix®.

Es muy confiable, robusto y versátil y se distribuye bajo los términos de


la Licencia Pública General GNU (GNU/GPL). Siendo equipamiento lógico
libre, está disponible el código fuente para quien así lo requiera.
Entre otras cosas, Squid puede funcionar como Servidor Intermediario
(Proxy) y caché de contenido de Red para los protocolos HTTP,
FTP,GOPHER y WAIS, Proxy de SSL, caché transparente, WWCP,
aceleración HTTP, caché de consultas DNS y otras muchas más como
filtración de contenido y control de acceso por IP y por usuario.

Squid consiste de un programa principal como servidor, un programa


para búsqueda en servidores DNS, programas opcionales para reescribir
solicitudes y realizar autenticación y algunas herramientas para
administración y y herramientas para clientes. Al iniciar Squid da origen
a un número configurable (5, de modo predefinido a través del
parámetro dns_children) de procesos de búsqueda en servidores DNS,
cada uno de los cuales realiza una búsqueda única en servidores DNS,
reduciendo la cantidad de tiempo de espera para las búsquedas en
servidores DNS.

o ¿Qué es una ACL?

Lista de Control de Acceso (ACLs) Un ACL es ni más ni menos que una lista de
control de acceso: una de las principales características de Squid. Con esta
opción determinados quien accederá a internet a través del proxy y quién no.
Esto significa que por lo menos hemos de decidir poner una lista, si queremos
que funcione. Por ejemplo, decidamos que los ordenadores 192.168.10.4 y
192.168.10.5 accedan a través del proxy. La sintaxis de la instrucción para
definir una lista acl es:

acl [nombre de la lista] src [lo que compone la lista] o [ruta]

Si queremos definir toda una red local, bastaría con hacer:

Acl localnet 192.168.10.0/255.255.255.0


http_acces: Este parámetro determina las reglas de control de acceso de nuestra
red. En el ejemplo, las direcciones 192.168.10.4 y 192.168.10.5 podrán acceder
según se determine por el parámetro http_access. La sintaxis es:

http_acces allow o http_access deny según quiera permitir o denegar acceso


respectivamente.

Las dos palabras clave, acl y http_access permiten mucho juego combinándolas
entre sí. Podemos, por ejemplo, decidir que la IP 192.168.10.4 acceda a páginas
para profesores y la 192.168.10.5 a páginas para alumnos, por ejemplo:
Dst_domain: Dicha instrucción nos permite definir un dominio de internet. En
conjunto con acl y http_access, se puede utilizar para determinar quiénes
pueden acceder a un dominio en particular:

Acl red1 dst_domain www.google.com

Acl red1 dst_domain www.johnramirez.net

Acl red2 dst_domain www.unadistas.net

Y ahora, decidimos que ip accederá y a que páginas.

http_access allow lista_permitidos xxx.xxx.xxx.xxx

http_access allow lista_permitidos2 xxx.xxx.xxx.xxx

O sea: la IP 192.168.10.4 estará en lista_permitidos y la IP 192.168.10.5 en la


lista_permitidos2. La primera accederá a gmail y a remolacha.net, y la segunda
a taringa. También se podría hacer http_access allow lista_permitidos, lo que
significaría que se dejaría acceder a lo contrario que estuviera en la lista (todas
las direcciones menos la 192.168.10.4).

Con lo explicado hasta ahora, es posible darle a Squid un buen uso,


aprovechando las características de listas de acceso y reglas de control.

o ¿Cuáles son los archivos que se deben configurar para el


funcionamiento de squid?

Instalación y arranque de Squid Para comprobar si tenemos instalado Squid,


escribimos lo siguiente:

# rpm –q squid

En caso de que no tengamos squid entre nuestros paquetes instalados,


procedemos a descargarlo con yum:

# yum install squid


Para arrancar o reiniciar el servicio, utilizamos:

# service squid start # service squid restart

Configuración de Squid

El archivo de configuración de Squid se encuentra ubicado en


/etc/squid/squid.conf, y en él se utilizan los siguientes parámetros:

http_port: Es el puerto que Squid utilizara para funcionar. O sea: cuando


configuremos el ordenador A para acceder a internet por el proxy, necesitamos
configurar ese puerto en el menú del navegador. Por defecto, Squid funcionara
en el puerto 3128, pero es posible configurar también otros puertos para
funcionar, de la siguiente forma:

http_port 3128

Como puerto por defecto, o:

http_port 8080

Como puerto que hemos elegido para funcionar.

Cache_mem: Este parámetro no determinara la cantidad máxima de memoria


de proceso de Squid utilizara para almacenar objetos.

Cahe_mem 8MB

Por defecto está configurada en 8MB. Como parámetro recomendado se puede


poner en 16MB, si se tiene un servidor con al menos 128MB de RAM. Esto da
idea de lo poquito que Squid necesita para funcionar, pudiéndose reutilizar como
proxy algún ordenador viejo de la oficina que ya no tenga uso.

ftp_user: Determina el usuario que accederá al ftp de forma anónima. Por


defecto, Squid envía como contraseña @squid, pero se puede cambiar por la que
se desee. Por ejemplo:

ftp_user proxy@su-dominio.net

cache_dir: Determina el tamaño de la cache en el disco duro que utilizara Squid


para almacenar información. La cantidad se determina en función de lo que el
usuario necesite, siempre con un poco de sentido común, por supuesto. Si se
especifica un tamaño más grande que el disponible, Squid se bloqueara. La
sintaxis es:

cache_dir ufs /var/spool/squid [tamaño] 16 256

Por defecto Squid utiliza 100 MB


o ¿Qué es un servicio Proxy transparente?

Normalmente, un proxy Web o NAT no es transparente a la aplicación


cliente: debe ser configurada para usar el proxy, manualmente. Por lo
tanto, el usuario puede evadir el proxy cambiando simplemente la
configuración. Una ventaja de tal es que se puede usar para redes de
empresa.

Un proxy transparente combina un servidor proxy con NAT(Network


Address Translation) de manera que las conexiones son enrutadas
dentro del proxy sin configuración por parte del cliente, y habitualmente
sin que el propio cliente conozca de su existencia. Este es el tipo de
proxy que utilizan los proveedores de servicios de internet (ISP).

Este tipo de servidor proxy se identifica como un servidor proxy,


también hace que la dirección IP original disponible a través de las
cabeceras http. Estos se utilizan generalmente por sus capacidades
para sitios web de caché y no proporcionan de manera efectiva
cualquier anonimato para aquellos que los utilizan. Sin embargo, el uso
de un proxy transparente le conseguirá alrededor prohibiciones IP
simples. Son transparentes en los términos que su dirección IP esta
expuesta, no es transparente en los términos que usted no sabe que lo
esta utilizando (el sistema no esta configurado específicamente para
usarlo).

El proxy transparente es un proxy que evita que aparezca el


redireccionamiento proxy en la barra del navegador, forzando las
peticiones 80 al Gateway (el servidor proxy) por el puerto 3128 de
forma transparente para el usuario, es decir, que el usuario no tiene
que saber que esta usando un proxy.
Los proxies transparentes mejoran la calidad del servicio en la
navegación por Internet, entregando contenido a un mayor ancho de
banda y reduciendo la latencia en la transmisión.

o Describa el proceso de
comunicación cuando se utiliza un
proxy transparente.
La estructura del proxy
transparente funciona a través de
la redirección de tráfico en el puerto
80 para el servicio interno del
proxy, y hay muchos otros puertos
que pueden utilizar el protocolo
HTTP o el método CONNECT que no
van a pasar por esta regla.

Encaminar el tráfico de todos los


puertos al proxy, por otro lado, no
es una opción porque no conoce el
funcionamiento de otros protocolos, lo que hará que otras aplicaciones
no HTTP dejen de funcionar.

Además, buena parte de las aplicaciones web actualmente utilizan


conexiones HTTPS (puerto 443), entonces es necesario también que el
proxy posea la característica de interacción con ese tipo de tráfico, lo
que puede no ser una actividad trivial.

Otro aspecto interesante en el funcionamiento e implementación de


proxy transparente es el recurso de caching que muchos poseen de
manera integrada. Esta facilidad permite el ahorro de banda ya que los
objetos de Internet se almacenan en memoria o almacenamiento
secundario y se descargan localmente (sin el uso de Internet) para los
usuarios que soliciten.

Con la característica de caché se puede configurar el espacio utilizado


para el almacenamiento, el tamaño mínimo y el máximo de elementos
que van al caché, así como la política que se utilizará para reemplazar
objetos, manteniendo en general sólo aquellos a los que se accede con
frecuencia.

En la práctica, en una red sin proxy y caching una petición en Internet


que demanda una actualización de 5Mb realizada por 10 equipos,
generará un consumo de Internet de 50Mb, pues todos ellos
necesitarán ir a internet para copiar las actualizaciones.

Con la función de caché, el primer equipo que realiza la actualización


consultará Internet y el archivo se almacenará en el caché local. Los
demás ordenadores o dispositivos que solicitan el mismo elemento lo
van a descargar localmente, generando en este caso considerable
ahorro de banda (45Mb).

Las tecnologías de proxy suelen trabajar con listas de acceso o recursos


similares que permiten que las reglas de acceso puedan crearse de
acuerdo con la necesidad de la empresa, cómo limitar determinados
sitios, sobre la base de horarios, crear listas blancas y negras globales,
entre varias otras facilidades.

Esto es importante, aunque sólo se aplica en el puerto 80, ya que ofrece


una reducción de accesos en sitios inapropiados para el entorno de
trabajo, ya sea a través de un acceso intencional o accidental (generado
por un malware, por ejemplo). Hay todavía posibilidades de realizar el
bypass del proxy, sin embargo si la política está bien ajustada, los
riesgos se minimizan potencialmente.

Todos los accesos que se realizan a través del proxy transparente son
pasibles de registro, y eso es una herramienta de gestión interesante
para identificar abusos u otros accesos, permitiendo personalizar las
políticas de acceso de acuerdo con la necesidad de la empresa.

o ¿Qué son las iptables?

Es una herramienta avanzada de filtrado de paquetes en Linux. Es


una herramienta muy establecida, ya que hay millones de sitios en todo
el mundo que funcionan y utilizan iptables de forma continua.

De lo que se encarga iptables, dicho de una forma sencilla, es


de analizar cada uno de los paquetes del tráfico de red entra en
una máquina y decidir, en función de un conjunto de reglas, qué
hacer con ese paquete, siempre desde un punto de vista amplio, ya
que iptables permite hacer muchas cosas diferentes con el tráfico de red.

Gracias a esa capacidad de analizar el tráfico y ver las características del


paquete, podemos implementar un cortafuegos, que es un sistema
de seguridad que permite controlar qué trafico puede atravesar un
equipo, para protegerlo del exterior y para protegerlo de otras redes.
Este es uno de los usos principales de iptables. También permite hacer
cosas más avanzadas como por ejemplo marcar y modificar
paquetes.

o Qué ocurre al teclear el comando: ps ax | grep squid


Luego de reiniciar la máquina y comprobar que hay dos procesos de
Squid ejecutándose en el equipo, al abrir un terminal y teclear el
comando: ps ax | grep squid

Se podrán visualizar todos los procesos de Squid, significa que todo


está correcto, ya tenemos nuestro proxy caché transparente instalado
y configurado, además se puede utilizar para terminar manualmente
los procesos de Squid.

Pantallazos de los procedimientos

Instalando ftp
El archivo

Filezilla ya instalado
Creando un nuevo sitio

Damos ifconfig para saber la ip del servidor


Nos conectamos con la ip

Archivo a compartir
Voy ha instalar ahora squirrelmail.
Damos apt-get install postfix, para lo del servidor de correo
Después de un proceso largo les presento la interfaz de squirrelmail,
insertando la IP 10.0.2.15

Ahora agregare dos usuarios, tal como lo pedía la guía en un punto


usando el comando adduser
Añadiendo el segundo usuario

Para poder conectarnos con los usuarios instalamos mailutils


Como veremos estoy enviando un correo del usuario John, hacia el
usuario Ramirez
Enlace del video: Hecho por John Anderson Ramírez Montoya

https://drive.google.com/file/d/1In4Y9T4xoLK6SgfI91GxN0zLRokhBQ2d/view?
usp=sharing
Conclusiones

 Conocimos y trabajamos con nuevos comandos.

 Mejoramos nuestros conocimientos sobre los servidores.

 Reconocemos la importancia de Linux como SO, libre.

 Entendimos lo fácil que es instalar un programa en Linux, usando


un par de comandos.
Referencias

Rouse, (2016). Servidor proxy. Recuperado


de:https://searchdatacenter.techtarget.com/es/definicion/Servidor-
Proxy
(2019), servidor proxy squid. Recuperado de:
http://redhat213.weebly.com/uploads/1/1/7/7/11774935/servidor_prox
y_squid.pdf

Carceller Cheza, R. (2013). Servicios en red. [N.p.]: Macmillan Iberia,


S.A. Recuperado
de http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?d
ocID=10820628

Molina, R. F. J., & Polo, O. E. (2014). Servicios de red e Internet. Madrid,


ES: RA-MA Editorial. Recuperado
de http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?d
ocID=11046052

Molina, R. F. J., & Polo, O. E. (2014). Servicios en red. Madrid, ES: RA-
MA Editorial. Recuperado
de http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?d
ocID=11046839

Barros Dueñas, J. (20 de Octubre de 2014). Protocolos de correo.


Recuperado
de http://www.alcancelibre.org/staticpages/index.php/introduccion-
protocolos-correo/print

También podría gustarte