miércoles, 29 de noviembre de 2017

Instalación servidor FTP con Ubuntu 15.04 desde cero Parte III

En esta parte veremos como instalar el servidor FTP.

Ahora volveremos a realizar una update de los repositorios, para después poder realizar la instalación de nuestro servidor FTP (vsftpd). 





































Una vez terminado, como podemos ver es un servicio que no tarda mucho en realizar. 



















Es aconsejable hacer una copia del fichero de configuración que se encuentra en /etc/vstfpd.conf pues es el fichero que vamos a estar tocando y que hay que tener cuidado para no estropearlo.

Para ello hacemos una copia. Y comprobamos que tenemos ambos ficheros.



















Ahora es cuando nos vamos a poner a configurar nuestro servidor ftp.

Primero vamos a detallar la configuración, traduciendo cada opción.

LISTEN=YES

Esto es para que se ejecute automáticamente al inicia

LISTEN_IPV6=YES

Lo mismo que la opción anterior, pero para IPV6

Podemos habilitar o deshabilitar el inicio de sesión de usuarios anónimos, (“anonymous” y “ftp”) Están desactivados por defecto.

ANONYMOUS_ENABLE=NO

Para poder hacer login de usuarios locales del sistema

LOCAL_ENABLE=YES

Permite el uso de comandos para cambiar el sistema de ficheros, como MKD o DELETE

WRITE_ENABLE=YES

La máscara de permisos que usará el sistema. Basicamente funciona restando a 777 (que son los permisos totales), los permisos que queremos poner. Por ejemplo, si queremos que los permisos sean 755, entonces 777-755=022 (Es decir para el propietario de los archivos, todos los permisos, para el resto solo lectura y ejecución).

La opción más usada por los servidores ftp es 022

LOCAL_UMASK=022

La siguiente opción permite a los usuarios anónimos subir archivos al servidor ftp. Hay que tener en cuenta que únicamente funcionará si la opción de escritura global esta activada y obviamente el usuario anónimo tiene permisos de escritura en el directorio.

ANON_UPLOAD_ENABLE=YES

La siguiente opción permite a los usuarios anónimos crear directorios en el servidor ftp

ANON_MKDIR_WRITE_ENABLE=YES

Mostrar el mensaje de cambio de directorio

DIRMESSAGE_ENABLE=YES

La siguiente opción si esta activada, nos mostrará la hora local de los directorios

USE_LOCALTIME=YES

Esta opción es el registro de login para subir y bajar archivos

XFERLOG_ENABLE=YES

Si usamos el puerto 20 de transferencia de archivos

CONNECT_FROM_PORT_20=YES

La siguiente opción nos permite cambiar el propietario de los archivos que suban los usuarios anónimos, para de esta forma conseguir una mayor organización.

CHOWN_UPLOADS=YES

CHOWN_USERNAME=WHOEVER

Directorio del archivo de registro

XFERLOG_FILE=/VAR/LOG/VSFTPD.LOG

Puedes cambiar el estándar por el que rige el formato del archivo de registro ftpd xferlog

XFERLOG_STD_FORMAT=YES

La siguiente opción especifica el tiempo de inactividad del usuario antes de que el servidor ftp cierre su sesión.

IDLE_SESSION_TIMEOUT=600

La siguiente opción es la misma que la anterior pero para la conexión de datos.

DATA_CONNECTION_TIMEOUT=120

Se recomienda que definas un usuario único que el servidor ftp puede utilizar como un usuario totalmente aislado y sin privilegios

NOPRIV_USER=FTPSECURE

Si se activa permite al servidor reconocer las peticiones asíncronas “ABOR”. No se recomienda por motivos de seguridad.

ASYNC_ABOR_ENABLE=YES

Por defecto el servidor permite el modo ASCII pero ignora las peticiones. Activa las opciones de “ascii_upload_enable” y “ascii_download_enable” para que el servidor realmente acepte las peticiones.

ASCII_UPLOAD_ENABLE=YES

ASCII_DOWNLOAD_ENABLE=YES

La siguiente opción permite personalizar la frase de presentación en el inicio de sesión
FTPD_BANNER=WELCOME TO XXXX FTP SERVICE

Permite especificar si se denegara los correos anónimos y un archivo especificando que direcciones. En ocasiones muy útil para combatir ciertos ataques DoS.

DENY_EMAIL_ENABLE=YES

BANNED_EMAIL_FILE=/ETC/VSFTPD.BANNED_EMAILS

Con la siguiente opción podemos restringir el acceso, es decir, si lo activamos los usuarios solo tendrán acceso a su /home

Selecciona YES para restringir, y NO para tener acceso a todos los archivos y carpetas.
CHROOT_LOCAL_USER=YES

Se puede especificar qué usuarios se verán afectados por la opción antes comentada, activando la opción “chroot_list_enable” y especificando una ruta para la lista de usuarios en la opción “chroot_list_file”

CHROOT_LOCAL_USER=YES

CHROOT_LIST_ENABLE=YES

CHROOT_LIST_FILE=/ETC/VSFTPD.CHROOT_LIST

Permite usar la opción –R del comando ls en el servidor ftp. Por defecto se recomienda que esté desactivado para evitar que los usuarios remotos conectados al servidor generen gran cantidad de tráfico.

LS_RECURSE_ENABLE=YES

Para reiniciar el servicio ftp 



















Ahora probaremos con un cliente ftp a ver si podemos llegar a nuestro servidor.


Instalación servidor FTP con Ubuntu 15.04 desde cero Parte II


En la parte anterior vimos como montar el sistema operativo básico.

Ahora vamos a ver como tenemos que configurar el sistema para poder iniciar sesión de forma remota con un cliente SSH (tipo Putty).

Para ello iniciamos sesión con el superusuario (root).



















Lo siguiente es poner una dirección fija a nuestro servidor y permitir que nos podamos conectar de forma remota via ssh, para mayor comodidad a la hora de configurar el resto del servidor. 

Para ello lo primero será ejecutar el comando que podemos ver a continuación.



















Y tenemos que realizar los cambios necesarios, quitando el DHCP y poniendo los datos de ip fijos. Como vemos aquí resaltados en rojo.



















Guardamos y salimos.

El siguiente fichero a modificar es el que vemos resaltado en rojo.




















Le tenemos que añadir los dns, si no están añadidos como en este caso.



















Ahora tenemos que añadir la ip fija que hemos dado en el primer archivo que hemos modificado al fichero host.



















Guardamos el archivo y salimos.

Ahora para que los cambios efectuados tengan efecto, o reiniciamos el sistema o reiniciamos el servicio. En este caso optaremos por reiniciar el servicio, para eso ejecutaremos lo que vemos aquí resaltado en rojo. 



















Lo siguientes que vamos a realizar es las modificaciones necesarias para permitir el acceso vía cliente ssh. Para ello editaremos el fichero que se encuentra en /etc/ssh/sshd_config y cambiaremos esta línea.

#PermiteRootLogin without-password

PermiteRootLogin Yes



















Guardamos y salimos

Y tenemos que reiniciar el servicio ssh.

Para ello ejecutamos lo que vemos aquí resaltado en rojo. 




















Ahora comprobaremos que todo lo que hemos realizado hasta ahora ha sido correcto y que nos podemos conectar desde un cliente ssh (tipo Putty). Si todo está bien al poner estos parámetros, debemos de poder conectar con el servidor y si además iniciamos sesión, perfecto lo habremos realizado todo bien. 



















La primera vez no tendrá que aparecer que tenemos que activar la clave ssh. 



















Al poner el usuario y contraseña nos tendrá que aparecer una pantalla como esta, si todo es correcto. 



















Esto quiere decir que el resto de la configuración del servidor la podemos realizar desde un cliente.

Lo siguiente que vamos a instalar son los servicios LAMP en el servidor Ubuntu. LAMP es un acrónimo de la combinación de Linux, Apache HTTP Server, MySQL o MariaDB database, and Php/Perl/Python.

Lo primero es realizar un update del sistema. 





































Ahora haremos el upgrade. 





































En este punto estamos en condiciones de instalar Apache.

Para lo cual ejecutaremos el siguiente comando que vemos aquí resaltado en rojo.



















En este punto estamos en disposición de realizar una comprobación desde un navegador para ver si está todo funcionando. De ser así nos tendrá que aparecer algo como esta pantalla. 

















El paso siguiente es instalar MySQL.

Lo haremos ejecutando lo siguiente.



















Llegamos al punto en el cual nos pide una contraseña para el usuario MySQL.



















Debemos de repetirla.





































Una vez finalizada la instalación del MySQL debemos de realizar una comprobación para ver que esta instalado correctamente. Nos tendremos que fijar que nos diga este mensaje, active (running)



















El paso siguiente es instalar el PHP. 



















Para realizar una comprobación del funcionamiento del PHP, crearemos un archivo de ejemplo llamado testphp.php que dejaremos en la carpeta de documentos de Apache.



















Y en este fichero añadiremos lo siguiente. 



















Guardamos el fichero, salimos y reiniciamos nuevamente el servicio Apache. 



















Llegados a este punto deberíamos realizar una comprobación desde un navegador y si nos sale una página como esta quiere decir que todo está bien.

















Para manejar las bases de datos de MySQL (opcional, pero recomendado) instalaremos phpMyAdmin 



















Seleccionamos que servidor Web debe ser automáticamente configurado para correr phpmyadmin. En este caso el nuestro es apache2



















Seleccionamos que SI queremos configurar la base de datos para phpmyadmin con dbconfig-common.



















Debemos de proporcionar una contraseña para el usuario administrador de la base de datos. 



















Debemos de repetir la contraseña. 





















Ahora editaremos el fichero apache2.conf que se encuentra en /etc/apache2 y añadiremos la siguiente línea que vemos resaltada en rojo.

Guardamos y salimos. 





































Reiniciamos el servicio apache2



















Hacemos una comprobación para ver que desde un navegador podemos entrar en la consola web de phpmyAdmin
















Iniciamos sesión con el usuario root y vemos que está todo correcto. 
















Con esto tenemos el servidor listo, para poder empezar a instalar nuestro servidor FTP, pero antes vamos a instalar una utilidad grafica que nos permitirá gestionar todo el servidor, dar de alta usuario, grupo, etc. Esta utilidad se llama Webmin.

Para ello lo primero es añadir dicha utilidad a nuestro fichero repositorio. Llamado sources.list. Ejecutamos lo siguiente. Y al final del fichero añadimos lo que vemos resaltado en rojo. 



















Ahora añadimos Webmin GPF Key a apt



















Antes de instalar Webmin, comprobamos si existen actualizaciones del paquete. 



















Ya podemos correr el comando para realizar la instalación de Webmin.



















Una vez terminada la instalación, vemos que el servicio se ha iniciado y podremos entrar tal y como se nos indica aquí.



















Hacemos una comprobación desde nuestro navegador.

















Esta parte la damos por concluida.  En la parte III veremos como instalar el servidor FTP.