Servidor ubuntu completo - II parte - servidor FTP

-->
Después de haber visto el servidor ssh, ahora toca el turno de montarnos un servidor FTP, el cual será muy útil para por ejemplo dejar trabajos.

Pero antes de nada. ¿Qué es un Servidor FTP?

Es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red.
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.

Para instalar nuestro servidor ftp, vamos a utilizar vsftpd, para instalar el mismo utilizaremos el comando “apt-get install vsftpd

Cuando lo hayamos instalado se nos crearan lo 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 del servidor de correo.

Para configurar el servidor ftp debemos dirigirnos al directorio /etc/ y buscar el archivo de configuración el cual es vsftpd.conf, para configurarlo ponemos lo siguiente:

nano /etc/vsftpd.conf

Las directivas más importantes de este fichero son:
 
anonymous_enable : Si queremos que cualquier usuario se conecte a nuestro servidor dando el nombre de usuario anonymous o ftp solo debemos dejarlo de esta manera:
anonymous_enable=yes
Por motivos de seguridad, debemos poner no quedando de la siguiente manera:
anonymous_enable=NO
local_enable: Si deseamos permitir que cualquier usuario local pueda tener acceso a sus carpetas privadas debemos colocar esta directiva de la siguiente manera:
local_enable=YES
De lo contrario:
local_enable=NO
chroot_local_user: Esta orden permite encapsular a todos los usuarios dentro de sus propios directorios. Si el archivo de configuración aparece de la siguiente manera:
chroot_local_user=NO
El usuario tendra acceso a todo el sistema de archivos. Si aparece de esta manera:
chroot_local_user=YES
Entonces encapsulara a los usuarios dentro de su directorio personal, esto quiere decir que no tendra posibilidad de tener acceso a archivos de otros directorios. De esta manera se mejora la seguridad.

Actualización (últimas versiones de vsftpd): En las últimas versiones si ponemos nada más chroot_local_user e intentamos conectarnos nos saltara un error: 500 OOPS: vsftpd: refusing to run with writable root inside chroot(), para evitarlo tenemos que añadir encima de chroot_local_user la siguiente linea: allow_writeable_chroot=YES
 
write_enable:Con esta directiva 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.
local_umask: Se establecen los servicios con los que quedará el archivo subido al FTP.
Un ejemplo, si local_umask=022, nos indicara que los permisos de los archivos serán 644, es decir, tendrá los permisos de lectura y escritura para el propietario del fichero, y solo de lectura para el resto de los usuarios.
anon_upload_enable:Si marcamos esta opción como YES, nos indicara si los usuarios pueden subir archivos al servidor quedando de la siguiente manera:
anon_upload_enable:YES
anon_mkdir_write_enable: Si esta a YES, nos permite crear directorios en el servidor
ftpd_banner= Nos permitira poner un mensaje de bienvenida en nuestro FTP.
"**** Bienvenido a mi servidor FTP ****"
local_max_rate= Es utilizado para limitar la tasa de transferencia en bytes por segundo a los usuarios locales del servidor.
local_max_rate=1024
max_clients: Nos indicara la cantidad máxima de clientes que podrán conectarse simultáneamente al servidor.
max_clients=5
Importante: Debemos tener en cuenta que cada vez que se ha cambiado algo en el fichero de configuración del vsftp se debe reiniciar con el siguiente comando:
/etc/init.d/vsftpd restart
pinchar para ampliar

pinchar para ampliar

Servidor ubuntu completo - I parte - servidor ssh

Hola a todos, he decidido crear un manual de forma completa para saber configurar cualquier tipo de servidor en un servidor linux (en este caso ubuntu server 10.04).

 Pienso que todo el mundo ya debería saber como instalar ubuntu server y configurar la interfaz de red (/etc/network/interfaces). Si no lo sabéis os sugiero que leáis estos manuales, uno para la instalación del ubuntu server y otro para la configuración interfaz de red.
Lo primero será empezar a instalar las cosas más sencillas para luego pasar con las avanzadas, y que cosa hay más sencilla que un servidor ssh para empezar a meternos en el mundo de las redes y servidores linux.
  Para la gente menos experta podriamos decir que SSH es como una conexion mediante telnet pero la informacion viaja de manera encriptada. 

Un buen servidor es “open ssh server” el cual implementaremos en nuestra máquina con el siguiente comando.


apt-get install openssh-server

con esto ya tendremos instalado el ssh corriendo en nuestro servidor, por lo cual cualquiera que entre con ssh, ya sea con puty o cualquier otro podrá conectarse, eso sí, le pedirán usuario y contraseña, y los permisos serán como los del local.

ejemplo de conexión realizada con putty
Yo no utilizo mac, es solo la interfaz gráfica


Firma Electrónica y Certificado digital qué es y cómo funciona

Firma Electrónica

¿Qué es?
Es una huella digital de un documento cifrado con una clave
Viene a solventar tres importantes problemas asociados a la documentación electrónica:
  • confidencialidad
  • integridad
  • autenticidad.
¿Cómo funciona?
Es un mecanismo criptográfico que asocia la identidad de una persona o equipo informático al mensaje o documento que este envía. Podría decirse que es lo más parecido a una firma autografiada para el medio electrónico. En función del tipo de firma incluso asegura que no puede modificarse el contenido de un documento firmado. Contiene una clave privada y otra clave pública (criptografía asimétrica).
  
Funcionamiento de la encriptación – desencriptación de un documento mediante la firma digital (fuente Wikipedia):

 
Si el código hash calculado no concuerda con el resultado de la firma digital desencriptada o el documento ha sido modificado posteriormente a la firma del mismo o la firma no fue generada por la clave privada del emisor del documento.



CA= Certification Autorithy




Aplicaciones de la firma digital:
  • Mensajes con autenticidad asegurada
  • Mensajes sin posibilidad de repudio
  • Contratos comerciales electrónicos
  • Factura_Electrónica
  • Desmaterialización de documentos
  • Transacciones comerciales electrónicas
  • Invitación electrónica
  • Dinero electrónico
  • Notificaciones judiciales electrónicas
  • Voto electrónico
  • Decretos ejecutivos (gobierno)
  • Créditos de seguridad social
  • Contratación pública
  • Sellado de tiempo
Tipos de firma electrónica:
  • Básica
  • Avanzada
Creo que un vídeo muestra mejor esto que todas mis palabras asique os dejo este esta estupenda demostracion.




Certificado digital

¿Qué es?
Un certificado digital (también conocido como certificado de clave pública o certificado de identidad) es un documento digital mediante el cual un tercero confiable (una autoridad de certificación) garantiza la vinculación entre la identidad de un sujeto o entidad (por ejemplo: nombre, dirección y otros aspectos de identificación) y una clave pública.
Este tipo de certificados se emplea para comprobar que una clave pública pertenece a un individuo o entidad. La existencia de firmas en los certificados aseguran por parte del firmante del certificado (una autoridad de certificación, por ejemplo) que la información de identidad y la clave pública perteneciente al usuario o entidad referida en el certificado digital están vinculadas.



Un aspecto fundamental que hay que entender es que el certificado para cumplir la función de identificación y autenticación necesita del uso de la clave privada (que sólo el titular conoce). El certificado y la clave pública se consideran información no sensible que puede distribuirse perfectamente a terceros. Por tanto el certificado sin más no puede ser utilizado como medio de identificación, pero es pieza imprescindible en los protocolos usados para autenticar a las partes de una comunicación digital, al garantizar la relación entre una clave pública y una identidad.
El ejemplo por excelencia es la firma electrónica: aquí el titular tiene que utilizar su clave privada para crear una firma electrónica. A esta firma se le adjuntará el certificado. El receptor del documento que quiera comprobar la autenticidad de la identidad del firmante necesitará la clave pública que acompaña al certificado para que a través de una serie de operaciones criptográfica se comprueba que es la pareja de la clave privada utilizada en la firma. Es esta operación de asociación al dato secreto del firmante lo que hará la función de comprobar su identidad.
Si bien existen variados formatos para certificados digitales, los más comúnmente empleados se rigen por el estándar UIT-T X.509. El certificado debe contener al menos lo siguiente:
  • La identidad del propietario del certificado (identidad a certificar),
  • La clave pública asociada a esa identidad,
  • La identidad de la entidad que expide y firma el certificado,
  • El algoritmo criptográfico usado para firmar el certificado.
Los dos primeros apartados son el contenido fundamental del certificado (identidad y clave pública asociada), en tanto que los otros dos son datos imprescindibles para poder validar el certificado.
Esta información se firma de forma digital por la autoridad emisora del certificado. De esa forma, el receptor puede verificar que esta última ha establecido realmente la asociación.

Formato de certificado digital

Un certificado emitido por una entidad de certificación autorizada, además de estar firmado digitalmente por ésta, debe contener por lo menos lo siguiente:
  • Nombre, dirección y domicilio del suscriptor.
  • Identificación del suscriptor nombrado en el certificado.
  • El nombre, la dirección y el lugar donde realiza actividades la entidad de certificación.
  • La clave pública del usuario.
  • La metodología para verificar la firma digital del suscriptor impuesta en el mensaje de datos.
  • El número de serie del certificado.
  • Fecha de emisión y expiración del certificado.