No hay publicaciones.
No hay publicaciones.

criptografia


Sistemas de Cifra Clásicos
criptografia: Es el arte de cifrar o cifrar informacion utilizando tecnicas que hagan posible el intercambio de mensajes, de manera segura que solo pueden ser leidas por la persona a quien va dirigida. la finalidad es el de garantizar el secreto en la comunicacion. La informacion es un activo de la empresa es importante conservarlo, protegerlo y almacenarlo, como activo esta en movimiento, esta cambiando la informacion, la cual no solamente se protege fisicamente sino en un marco general. servicios de la informacion:


Seguridad de la Información:
Se puede hablar de la Seguridad de la Información como el conjunto de reglas, planes y acciones que permiten asegurar la información manteniendo las propiedades de confidencialidad, integridad y disponibilidad de la misma.
La confidencialidad es que la información sea accesible sólo para aquéllos que están autorizados. La integridad es que la información sólo puede ser creada y modificada por quien esté autorizado a hacerlo. La disponibilidad es que la información debe ser accesible para su consulta o modificación cuando se requiera.
criptografia clasica
Cifrado César


El cifrado César mueve cada letra un determinado número de espacios en el alfabeto. En este ejemplo se usa un desplazamiento de tres espacios, así que una B en el texto original se convierte en una E en el texto codificado.
un cifrado César, también conocido como cifrado por desplazamiento, es una de las técnicas de codificaciòn más simples y más usadas. Es un tipo de cifrado por sustitucion en el que una letra en el texto original es reemplazada por otra letra que se encuentra en una posición que está un número determinado de espacios más adelante en el alfabeto, Por ejemplo, con un desplazamiento de 3, la A sería reemplazada por la D (situada 3 lugares a la derecha de la A ), la B sería reemplazada por la E, etcétera. Este método debe su nombre a Julio César, El cifrado César muchas veces es parte componente de sistemas más complejos de codificación, como el cifrado Vigenère, La transformación se puede representar alineando dos alfabetos; el alfabeto cifrado es un alfabeto normal que está desplazado un número de posiciones hacia la izquierda o derecha. Por ejemplo, aquí está el cifrado César usando un desplazamiento hacia la derecha de CINCO

espacios:Texto original: abcdefghijklmnñopqrstuvwxyzTexto codificado: GHIJKLMNÑOPQRSTUVWXYZABCDEF


Para

codificar un mensaje, simplemente se debe buscar cada letra de la línea del texto original y escribir la letra correspondiente en la línea codificada. Para decodificarlo se debe hacer lo contrario.

Cifrado de Vigenère


El cifrado Vigenère es un cifrado basado en diferentes series de carácteres o letras del

cifrado César formando estos carácteres una tabla, llamada tabla de Vigenère, usada como clave. El cifrado de Vigenère es un cifrado polialfabético y de sustitución

Historia
El primer cifrado polialfabético fue creado por
Leone Battista Alberti sobre 1467, usaba un disco de metal para cambiar entre los diferentes alfabetos del cifrado. El sistema de Alberti sólo cambiaba entre alfabetos después de muchas palabras y los cambios se indicaban escribiendo la letra del correspondiente alfabeto en el mensaje cifrado. Más tarde, en 1508, Johannes Trithemius, en su trabajo Poligraphia, inventó la tabula recta, que es básicamente la tabla de Vigenère. Trithemius, sin embargo, sólo proporcionó un progresivo, rígido y predecible sistema de cambio entre alfabetos..
El cifrado Vigenère ganó una gran reputación por ser excepcionalmente robusto.
El cifrado Vigenère es lo suficientemente simple si se usa con discos de cifrado. Gilbert Vernamm trató de arreglar el cifrado (creando el cifrado Vernam-Vigenère en 1918), pero no importa lo que hiciera, el cifrado sigue siendo vulnerable al criptoanálisis.

Funcionamiento mensaje: P A R I S V A U T B I E N U N E M E S S E clave: L O U P L O U P L O U P L O U P L O U P L criptograma:A O L X D J U J E P C T Y I H T X S M H P


El cifrado francmasón es un cifrado de substitución simple que cambia las letras por símbolos basándose en un diagrama. Sin embargo, el uso de símbolos no impide el criptoanálisis y el criptoanálisis es idéntico al de otros métodos de cifrado por substitución simple. EL diagrama mostrado muestra una forma en el que las letras pueden ser asignadas.




5 trimetre

ya estamos culminando 5 timestre, fue muy satisfactorio trabajar en estos proyectos, se aprende mucho , aun que como en todo siempre hay dificilidades,pero hay que superarlas y desmostrar que somo buenos, la experiecia de trabajar en otros grupos fue buena, y hay que aprendere de todos e igual nadie va aprender por nosotros, hay que tomar nuestra propia responsabiliad y saber acomplarse a los cambios eso e algo que se experimenta en una empresa, donde constantemente hay cambios y tenemos que estar dispuestos a ello, ser muy agiles para soluionar poblemas y estos es algo que nos a dejado la formacion por proyectos, espero todo salga bien con los proyectos y todo podamos pasar, es el anelo que se tiene cuando decides darte un formacion para salir adelante en tu vida.

wapserver

Este es un link donde muestran un video para montar wapserver

http://www.educasitio.com/wampserver


Repaso

top

1 Documentación sobre Hosting Virtual en Apache

El término Hosting Virtual se refiere a hacer funcionar más de un sitio web (tales como www.company1.com y www.company2.com) en una sola máquina. Los sitios web virtuales pueden estar "basados en su dirección IP", lo que significa que cada sitio web tiene una dirección IP diferente, o "basados en nombres diferentes", lo que significa que con una sola dirección IP están funcionando sitios web con diferentes nombres (de dominio). El hecho de que estén funcionando en la misma máquina física pasa completamente desapercibido para el usuario que visita esos sitios web.

Apache fue uno de los primeros servidores web en soportar hosting virtual basado en direcciones IP. Las versiones 1.1 y posteriores de Apache soportan hosting virtual (vhost) basado tanto en direcciones IP como basado en nombres. Ésta última variante de hosting virtual se llama algunas veces basada en host o hosting virtual no basado en IP.

Más abajo se muestra un listado de documentos que explican con detalle cómo funciona el hosting virtual en las versiones de Apache 1.3 y posteriores.

Diferencias entre el hosting vitual basado en nombres y el basado en IPs

El hosting virtual basado en IPs usa la dirección IP de la conexión para determinar qué host virtual es el que tiene que servir. Por lo tanto, necesitará tener diferentes direcciones IP para cada host. Si usa hosting virtual basado en nombres, el servidor atiende al nombre de host que especifica el cliente en las cabeceras de HTTP. Usando esta técnica, una sola dirección IP puede ser compartida por muchos sitios web diferentes.

El hosting virtual basado en nombres es normalmente más sencillo, porque solo necesita configurar su servidor de DNS para que localice la dirección IP correcta y entonces configurar Apache para que reconozca los diferentes nombres de host. Usando hosting virtual basado en nombres también se reduce la demanda de direcciones IP, que empieza a ser un bien escaso. Por lo tanto, debe usar hosting virtual basado en nombres a no ser que haya alguna razón especial por la cual tenga que elegir usar hosting vitual basado en direcciones IP. Algunas de éstas razones pueden ser:

  • Algunos clientes antiguos no son compatibles con el hosting virtual basado en nombres. Para que el hosting virtual basado en nombres funcione, el cliente debe enviar la cabecera de Host HTTP. Esto es necesario para HTTP/1.1, y está implementado como extensión en casi todos los navegadores actuales. Si necesita dar soporte a clientes obsoletos y usar hosting virtual basado en nombres, al final de este documento se describe una técnica para que pueda hacerlo.
  • El hosting virtual basado en nombres no se puede usar junto con SSL por la naturaleza del protocolo SSL.
  • Algunos sistemas operativos y algunos elementos de red tienen implementadas técnicas de gestión de ancho de banda que no pueden diferenciar entre hosts a no ser que no estén en diferentes direcciones IP.

top

Cómo usar hosting vitual basado en nombres

Para usar hosting virtual basado en nombres, debe especificar en el servidor qué dirección IP (y posiblemente qué puerto) se va a usar para atender las peticiones a los diferentes hosts. Esto se hace con la directiva NameVirtualHost. Normalmente, cualquiera o todas las direcciones IP del servidor pueden usarse, también puede usar * como argumento para la directiva NameVirtualHost. Si va a usar más de un puerto (por ejemplo si va usar SSL) debe añadir un puerto a cada argumento, por ejemplo *:80. Tenga en cuenta que especificando una dirección IP en la directiva NameVirtualHost no hace que el servidor escuche automáticamente en esa dirección IP. Consulte la sección Especificar las direcciones y puertos que usa Apache para obtener más información. Además, cualquier dirección IP especificada debe asociarse con un dispositivo de red del servidor.

El siguiente paso es crear un bloque para cada host diferente que quiera alojar en el servidor. El argumento de la directiva debe ser el mismo que el argumento de la directiva NameVirtualHost (por ejemplo, una dirección IP, o un * para usar todas las direcciones que tenga el servidor). Dentro de cada bloque , necesitará como mínimo una directiva ServerName para designar qué host se sirve y una directiva DocumentRoot para indicar dónde están los contenidos a servir dentro del sistema de ficheros.

Añadir hosts vituales a un servidor web ya existente

Si está añadiendo hosts virtuales a un servidor web ya existente, debe crear también un bloque para el host que ya tenga funcionando. Los valores de las directivas ServerName y DocumentRoot desde este nuevo host virtual deben tener los mismos valores que los de las directivas ServerName DocumentRoot globales. Ponga este host virtual como el primero en el archivo de configuración para que sea el que actúe como host por defecto.

Por ejemplo, suponga que está sirviendo el dominio www.domain.tld y quiere añadir el host virtual www.otherdomain.tld, que apunta a la misma dirección IP. Entonces, lo único que tiene que hacer es añadir lo siguiente al fichero httpd.conf:

NameVirtualHost *:80


ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain



ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain

También puede optar por especificar una dirección IP explícitamente en lugar de usar un * en las directivas NameVirtualHost y . Por ejemplo, puede hacer esto para hacer funcionar diferentes hosts virtuales basados en nombres en una dirección IP, o basados en IPs, o un conjunto de hosts virtuales basados en nombres en otra dirección.

También puede que quiera que se acceda a un determinado sitio web usando diferentes nombres. Esto es posible con la directiva ServerAlias, puesta dentro de la sección . Por ejemplo, en el primer bloque de arriba, la directiva ServerAlias indica la lista de nombres que pueden usarse para acceder a un mismo sitio web:

ServerAlias domain.tld *.domain.tld

entonces las peticiones para todos los hosts en el dominio domain.tld serán servidas por el host virtual www.domain.tld. Los carácteres comodines * y ? pueden usarse para encontrar equivalencias con los nombres. Por supuesto, no puede inventarse nombres y ponerlos en la directiva ServerName o ServerAlias. Primero debe tener su servidor de DNS debidamente configurado para que pueda hacer corresponder esos nombres con una dirección IP de su servidor.

Para terminar, puede mejorar el rendimiento de la configuración de los hosts virtuales poniendo otras directivas dentro de las secciones . La mayor parte de las directivas pueden ponerse en esos containers y cambiarán solo la configuración del host virtual al que se refieran. Para ver si una directiva en particualar puede usarse así, consulte el Contexto de la directiva. Las directivas de configuración especificadas en el contexto del servidor principal (fuera de cualquier sección ) se usan única y exclusivamente si sus valores no son sustituidos por alguno de los parámetros de configuración del host virtual.

Cuando llega una petición, el servidor primero verifica si se está usando una dirección IP que coincide con el valor de la directiva NameVirtualHost. Si es el caso, mirará en cada sección cuya IP coincida e intentará encontrar si el valor de la directiva ServerName o de la directiva ServerAlias coincide con el nombre del sitio web de la petición. Si encuentra una coincidencia, usa la configuración de ese servidor. Si no la encuentra, usa el primer host virtual de la lista cuya dirección IP coincida con el de la petición.

Como consecuencia, el primer host virtual de la lista es el que se usa por defecto. La directiva DocumentRoot del servidor principal no se usará nunca cuando una dirección IP coincida con el valor de la directiva NameVirtualHost. Si quiere usar una configuración especial para peticiones que no coinciden con ningún host virtual en concreto, ponga esa configuración en una sección y póngala la primera en el fichero de configuración.

top

Compatibilidad con navegadores antiguos

Como se dijo antes, hay algunos clientes que no envían los datos necesarios para que funcione correctamente el hosting virtual basado en nombres. Estos clientes van a recibir siempre como respuesta a sus peticiones, páginas del primer host virtual que haya en la lista para esa dirección IP (el host virtual primario basado en nombres).

¿Cómo de antiguo?

Tenga en cuenta que cuando decimos antiguo, queremos decir realmente antiguo. Es muy poco probable que encuentre uno de esos navegadores en uso todavía. Todas las versiones actuales de cualquier navegador envían la cabecera Host que se necesita para que el hosting virtual basado en nombres funcione.

Existe una manera de evitar este problema con la directiva ServerPath, aunque es un poco complicada:

Ejemplo de configuración:

NameVirtualHost 111.22.33.44


ServerName www.domain.tld
ServerPath /domain
DocumentRoot /web/domain

¿Qué significa esto? Esto significa que una petición de cualquier URI que empiece por "/domain" será servida por el host virtual www.domain.tld. Esto significa que las páginas pueden accederse como http://www.domain.tld/domain/ por todos los clientes, aunque los clientes que envíen una cabecera Host: pueden también acceder con http://www.domain.tld/.

Para hacer que esto funcione, ponga un enlace en la página de su host virtual primario a http://www.domain.tld/domain/. Entonces, en las páginas del host virtual, asegúrese de que usa o enlaces relativos (por ejemplo, "file.html" o "../icons/image.gif") o enlaces que contengan el /domain/ anterior (por ejemplo, "http://www.domain.tld/domain/misc/file.html" o "/domain/misc/file.html").

Esto requiere un poco de disciplina, pero siguiendo estas reglas, puede asegurarse, casi en todos los casos, de que las páginas de su sitio web podrán ser accedidas desde cualquier navegador, ya sea nuevo o antiguo.

2. Servidores proxy

Un servidor proxy es en principio un equipo que actúa como intermediario entre los equipos de una red de área local (a veces mediante protocolos, con excepción del protocolo TCP/IP) e Internet.

Generalmente el servidor proxy se utiliza para la Web. Se trata entonces de un proxy HTTP. Sin embargo, puede haber servidores proxy para cada protocolo de aplicación (FTP, etc.).

diagrama de una Intranet con un servidor proxy

Principio operativo de un servidor proxy

El principio operativo básico de un servidor proxy es bastante sencillo: se trata de un servidor que actúa como "representante" de una aplicación efectuando solicitudes en Internet en su lugar. De esta manera, cuando un usuario se conecta a Internet con una aplicación del cliente configurada para utilizar un servidor proxy, la aplicación primero se conectará con el servidor proxy y le dará la solicitud. El servidor proxy se conecta entonces al servidor al que la aplicación del cliente desea conectarse y le envía la solicitud. Después, el servidor le envía la respuesta al proxy, el cual a su vez la envía a la aplicación del cliente.

cómo funciona un servidor proxy

Características de un servidor proxy

En los sucesivo, con la utilización de TCP/IP dentro de redes de área local, la función de retransmisión del servidor proxy está directamente asegurada por pasarelas y routers. Sin embargo, los servidores proxy siguen utilizándose ya que cuentan con cierto número de funciones que poseen otras características.

Almacenamiento en caché

La mayoría de los proxys tienen una caché, es decir, la capacidad de guardar en memoria (“en caché”) las páginas que los usuarios de la red de área local visitan comúnmente para poder proporcionarlas lo más rápido posible. De hecho, el término "caché" se utiliza con frecuencia en informática para referirse al espacio de almacenamiento temporal de datos (a veces también denominado "búfer").

Un servidor proxy con la capacidad de tener información en caché (neologismo que significa: poner en memoria oculta) generalmente se denomina servidor "proxy-caché".

Esta característica, implementada en algunos servidores proxy, se utiliza para disminuir tanto el uso de ancho de banda en Internet como el tiempo de acceso a los documentos de los usuarios.

Sin embargo, para lograr esto, el proxy debe comparar los datos que almacena en la memoria caché con los datos remotos de manera regular para garantizar que los datos en caché sean válidos.

3. Filtrado

Por otra parte, al utilizar un servidor proxy, las conexiones pueden rastrearse al crear registros de actividad (logs) para guardar sistemáticamente las peticiones de los usuarios cuando solicitan conexiones a Internet.

Gracias a esto, las conexiones de Internet pueden filtrarse al analizar tanto las solicitudes del cliente como las respuestas del servidor. El filtrado que se realiza comparando la solicitud del cliente con una lista de solicitudes autorizadas se denomina lista blanca; y el filtrado que se realiza con una lista de sitios prohibidos se denomina lista negra. Finalmente, el análisis de las respuestas del servidor que cumplen con una lista de criterios (como palabras clave) se denomina filtrado de contenido.

4. Autenticación

Como el proxy es una herramienta intermediaria indispensable para los usuarios de una red interna que quieren acceder a recursos externos, a veces se lo puede utilizar para autenticar usuarios, es decir, pedirles que se identifiquen con un nombre de usuario y una contraseña. También es fácil otorgarles acceso a recursos externos sólo a las personas autorizadas y registrar cada uso del recurso externo en archivos de registro de los accesos identificados.

Este tipo de mecanismo, cuando se implementa, obviamente genera diversos problemas relacionados con las libertades individuales y los derechos personales.

5. Servidores de proxy inversos

Un proxy inverso es un servidor proxy-caché "al revés". Es un servidor proxy que, en lugar de permitirles el acceso a Internet a usuarios internos, permite a usuarios de Internet acceder indirectamente a determinados servidores internos.

diagrama de servidor de proxy inverso

El servidor de proxy inverso es utilizado como un intermediario por los usuarios de Internet que desean acceder a un sitio web interno al enviar sus solicitudes indirectamente. Con un proxy inverso, el servidor web está protegido de ataques externos directos, lo cual fortalece la red interna. Además, la función caché de un proxy inverso puede disminuir la carga de trabajo del servidor asignado, razón por la cual se lo denomina en ocasiones acelerador de servidor.

Finalmente, con algoritmos perfeccionados, el proxy inverso puede distribuir la carga de trabajo mediante la redirección de las solicitudes a otros servidores similares. Este proceso se denomina equilibrio de carga .

6. Configuración de un servidor proxy

Sin duda, el proxy más utilizado es Squid, un software de uso libre y gratuito, disponible para diversas plataformas que incluyen a Windows y Linux.

En Windows, existen diferentes programas para configurar un servidor proxy en una red de área local a un bajo costo:

3 Dhcp unido al dns en un servidor de correo

. Proxy Client. Mira es facil
El DNS lo que hace es transformar un dominio en una IP ejemplo:
Tu quieres abrir una pagina de www.yahoo.com en la red yahoo tiene una ip (una ip es como una direccion de correo tradicional te indica la ciudad,la calle ,la casa donde tiene que entregarse la carta) para yahoo una de sus ips es 209.191.93.52 entonces el dns convierte www.yahoo.com en esa ip y los equipos de internet van guiando tu peticion para que llegue a yahoo (puedes poner esa ip en tu browser y probar que se abra yahoo 209.191.93.52)

Un DHCP lo que hace es entregar de manera automatica una direccion IP a los equipos que estan conectados o tienen comunicacion con el
(todo equipo que esta en red necesita una IP para poder trabajar asi un DHCP te da la ip de manera automatica ademas te configura los parametros de red necesarios para que trabaje)
saludos

  • hace 1 mes

6 ¿Qué es un servidor LDAP?

Un servidor LDAP es un servidor de datos optimizado para la realización rápida de consultas de lectura y orientado al almacenamiento de datos de usuarios a modo de directorio.

La principal utilidad de un directorio LDAP es como servidor de autentificación para los distintos servicios de un sistema informático como puedan ser: autentificación para entrar en un PC, para entrar en una aplicación web, para acceder a un servidor ftp, para acceder a servidores de correo entrante POP3 y saliente SMTP, etc...

Si en nuestra red disponemos de un servidor LDAP y configuramos todos los PCs y todos los servicios de la red para que se autentifiquen en él, bastará con crear las cuentas de usuario y grupos de usuarios en nuestro servidor LDAP para que los usuarios puedan hacer uso del sistema y de sus servicios desde cualquier puesto de la red. Es un sistema ideal para centralizar la administración de usuarios en un único lugar.

En el curso veremos cómo poner en marcha un servidor LDAP y cómo configurar el resto de PCs clientes de la red para que se autentifiquen en él. También utilizaremos OpenSSL para que durante el proceso de autentificación los datos viajen encriptados por la red, así ningún curioso podrá averiguar nuestras contraseñas. Además utilizaremos LDAP para que autentifique el acceso al servidor ftp y el acceso a páginas restringidas en el servidor web.

Instalación y configuración de OpenLDAP

Para simplificar la administración de los usuarios del sistema es ideal utilizar una base de datos accesible mediante LDAP. Almacenar las cuentas de usuario de forma centralizada en un único repositorio facilitará la creación, modificación y eliminación de cuentas de usuario y grupos de usuarios. Será necesario configurar los PCs de la red para que utilicen el servidor LDAP como servidor de autentificación.

Instalación de OpenLDAP

El servidor OpenLDAP está disponible en el paquete slapd por tanto, lo instalaremos utilizando apt-get. También nos conviene instalar el paquete db4.2-util que son un conjunto de utilidades para la base de datos dbd que es la que utilizaremos para nuestro servidor ldap y el paquete ldap-utils que contiene utilidades adicionales:

// Instalación del servidor LDAP
# apt-get install slapd db4.2-util ldap-utils
 

Durante la instalación, nos pedirá que introduzcamos la contraseña de administrador del servidor ldap. Podemos configurar cualquier contraseña, como por ejemplo 'ldapadmin'

Configuración de OpenLDAP

La configuración del servidor LDAP se almacena en el archivo /etc/ldap/slapd.conf. Podemos editar manualmente dicho archivo, pero es mejor lanzar el asistente de configuración de slapd. Para ello debemos ejecutar el siguiente comando:

//Lanzar el asistente de configuración de slapd
# dpkg-reconfigure slapd
 
  • Lo primero que nos pregunta el asistente es si deseamos omitir la configuración del servidor LDAP. Obviamente responderemos que no, ya que precisamente lo que queremos es configurar el servidor LDAP.
  • Nuestro directorio LDAP debe tener una base, a partir de la cual cuelgan el resto de elementos. Como nombre de la base, habitualmente se utiliza el nombre del dominio. Ejemplo, si nuestro dominio es iesacarballeria.com, lo normal es que la base para nuestro directorio LDAP sea: dc=iesacarballeira,dc=com.
  • La siguiente pregunta que nos hace el asistente es el nombre de nuestro dominio. Éste nombre lo utilizará para crear el nombre distinguido (DN) o dicho más claramente, nombre identificativo de la base de nuestro directorio LDAP.

  • Posteriormente nos preguntará por el nombre de nuestra organización: iesacarballeira.
  • Después nos preguntará por la contraseña que deseamos poner al usuario admin (administrador) del servidor LDAP. Dicha contraseña nos la pedirá dos veces para evitar errores de tecleo. Podemos poner cualquier contraseña, por ejemplo 'root'.
  • Acto seguido nos informará sobre los posibles gestores de datos para almacenar el directorio y en la siguiente ventana nos preguntará qué sistema utilizar. Lo recomendable es utilizar el sistema BDB.
  • Después nos preguntará si queremos que se elimine la base de datos cuando quitemos slapd. Por si acaso, lo mejor es responder que no:
  • En el caso de que exista una base de datos LDAP previa, nos preguntará si deseamos moverla. Lo mejor es responder Sí, para evitar que interfiera en la nueva base de datos:
  • Luego nos preguntará si deseamos utilizar LDAP versión 2, respondemos que no ya que apenas se utiliza.
  • Finalmente nos da la oportunidad de omitir la configuración. Si respondemos que sí, será como que no hemos ejecutado el asistente, por lo tanto si nuestra intención es configurar el servidor LDAP responderemos no:

Ya tendríamos nuestro servidor LDAP listo para trabajar con él.

Arranque y parada manual del servidor LDAP

El servidor LDAP, al igual que todos los servicios en Debian, dispone de un script de arranque y parada en la carpeta /etc/init.d.

// Arrancar o reiniciar el servidor LDAP
root@cnice-desktop:# /etc/init.d/slapd restart
 
// Parar el servidor LDAP
root@cnice-desktop:# /etc/init.d/slapd stop
 

Arranque automático del servidor LDAP al iniciar el sistema.


update-rc.d slapd defaults

Administración de OpenLDAP

Introducción

Una vez instalado y configurado el servidor LDAP, la siguiente tarea es la del diseño de la estructura y la introducción de datos en el directorio.

Puesto que la finalidad de nuestro servidor LDAP es que sirva de almacen de usuarios y grupos para autentificar sistemas linux y servicios como ftp y web, deberemos crear una estructura que parta de la base de nuestro directorio, para almacenar dicha información. Tal y como se explica más abajo, crearemos una unidad organizativa (ou) llamada groups, para almacenar los grupos de usuarios y crearemos otra unidad organizativa llamada users para almacenar a los usuarios.

Explorador de directorios LDAP

Para acceder al directorio LDAP y poder crear y modificar elementos en dicho directorio, es necesario disponer de un explorador de directorios LDAP (LDAP browser). Existen muchos exploradores LDAP tanto de pago como libres. Entre las aplicaciones libres destacamos gq, phpldapadmin (aplicación web) y JXplorer.

Para instalar gq, podemos utilizar apt-get. Una vez instalada, para ejecutar gq tan solo debemos pulsar alt+f2 y escribir gq.

Para instalar phpldapadmin podemos:

  • Simplemente ejecutar: apt-get install phpldapadmin
  • Si se produce el error :


Memory Limit low.

Your php memory limit is low - currently 16M

Deberemos aumentar la memoria, por ejemplo a 64M, en el fichero /etc/php5/apache2/php.ini
//editamos el fichero /etc/php5/apache2/php.ini memory_limit = 64M ; Maximum amount of memory a script may consume (16MB)

y reiniciamos el servidor apache:

/etc/init.d/apache restart

Si estamos en el servidor, simplemente teclearemos en la barra de direcciones de nuestro explorador web:

http://localhost/phpldapadmin/

  • Otra posibilidad y al igual que otras aplicaciones web, podremos descargarla desde http://phpldapadmin.sourceforge.net/ y descomprimirla dentro del DocumentRoot de apache, es decir, dentro de la carpeta /var/www, por ejemplo en /var/www/phpldapadmin. Para ejecutarla, si la hemos descomprimido en la carpeta anterior, debemos ir a http://ip_del_servidor_web/phpldapadmin/ con el navegador y veremos la página principal de la aplicación (deberemos asegurarnos de que existe el fichero config.php, ya que por defecto sólo trae un config.php.example, ya que sino con cada actualización, en caso de existir ya nos machacaría la configuración previa.

JXplorer - Explorador LDAP en java.

Por su calidad superior, en este curso utilizaremos JXplorer para administrar el directorio LDAP.

Instalación de JXplorer

Previo a instalar jxplorer, es necesario instalar la máquina virtual java de Sun.
Aunque en estos momentos está disponible la versión 1.6 de la máquina virtual de java, por problemas con la versión 3.2 de jxplorer he instalado la 1.5:

# apt-get install sun-java5-bin sun-java5-jre

Lo cierto es que la versión 3.2, de momento me ha dado muchos problemas en su instalación, por ello finalmente he decidido bajarme la versión 3.1 ( http://sourceforge.net/project/downloading.php?groupname=jxplorer&filename=JXv3.1deploy.tar.bz2&use_mirror=ovh) y ejecutarla tecleando:

# sh ./jxplorer.sh

Pasos para la instalación de jxplorer3.2 - DE MOMENTO CON SERIOS PROBLEMAS DE INSTALACIÓN
Para ello debemos ir a http://www.java.com/es/ y descargar la última versión del JRE (Java Runtime Enviroment). Puesto que no existe una versión específica para sistemas debian, debemos descargar la versión Linux (genérica), ejecutar el archivo 'bin' para que se descomprima el paquete y mover el directorio que se ha creado (ejemplo, jre1.6.0_10), a la carpeta /usr/lib. Posteriormente tendremos que editar el archivo /root/.bashrc y añadir las variables que permitan al shell encontrar el JRE: // Añadir en /root/.bashrc (sustituir jre1.6.0_10 por la versión descargada) CLASSPATH=/usr/lib/jre1.6.0_10/bin/ JAVA_HOME=/usr/lib/jre1.6.0_10/bin/ PATH=/usr/lib/jre1.6.0_10/bin/:/usr/lib/jre1.6.0_10/bin/java/:/sbin:/bin :/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin cargamos las variables del entorno: # source /root/.bashrc Después, debemos abrir un terminal y ya estamos en condiciones de instalar JXplorer. JXplorer no está disponible en los repositorios de paquetes de debian, por ello debemos ir a http://pegacat.com/jxplorer/downloads/users.html y descargarnos la versión para linux. En el momento de escribir estas líneas, la última versión es la 3.2 y por tanto el archivo descargado se llama JXv3.2_install_linux.bin. Para instalar la aplicación debemos dar permisos de ejecución al archivo y ejecutar:

// Instalar JXplorer
# sh ./JXv3.1_install_linux.bin
 

Se iniciará un sencillo asistente de instalación que al finalizar habrá creado un enlace en nuestra carpeta home, por lo tanto para ejecutarlo debemos escribir:

// Ejecutar JXplorer 
# ./JXplorer_LDAP_Browser
 

Veremos la pantalla principal de JXplorer:

Conexión con el servidor LDAP

La conexión con el servidor LDAP podemos hacerla como usuario anónimo o como usuario administrador. Si conectamos de forma anónima solo podremos visualizar los elementos pero no podremos hacer cambios. Si conectamos como administrador, podremos crear, modificar y eliminar elementos de cualquier tipo.

Para conectar al servidor LDAP como administrador necesitamos la siguiente información:

  • Dirección IP del servidor LDAP
  • Protocolo del servidor (LDAP v3 en nuestro caso)
  • Base del directorio (dc=iesacarballeira,dc=com en nuestro caso)
  • Nombre de usuario administrador (cn=admin,dc=iesacarballeira,dc=com en nuestro caso)
  • Contraseña (root en nuestro caso)

La base del directorio se suele denominar en inglés 'base DN' o 'Nombre Distinguido de la base del directorio'. Se corresponde con el parámetro 'suffix' del archivo de configuración del servidor LDAP /etc/ldap/slapd.conf.

El nombre del usuario con el que nos conectamos se suele denominar en inglés 'user DN' o también 'bind DN'

El nombre de usuario administrador por defecto suele ser admin y a menudo hay que proporcionar nombre y base del directorio: cn=admin,dc=ieacarballeira,dc=com

Al hacer clic en el botón 'conectar' (marcado con círculo rojo en la figura) nos aparecerá el diálogo de conexión para que introduzcamos los datos de la conexión. Para no tener que introducir dicha información cada vez que conectemos, podemos grabar los datos pulsando 'Save'.

Si pulsamos OK, JXplorer conectará con el servidor LDAP y mostrará el directorio:

Vemos que en nuestro directorio solamente hay dos elementos: una organización llamada 'iesacarballeira' y el usuario administrador llamado 'admin'.

Organización del directorio LDAP

Creación de las unidades organizativas

Puesto que nuestro directorio va a almacenar usuarios y grupos, vamos a crear sendas unidades organizativas (en inglés organizational unit - ou) llamadas 'users' y 'groups' que nos servirán para organizar los usuarios y los grupos por separado.

Dentro de la unidad organizativa 'users' crearemos todos los usuarios del sistema. Dentro de la unidad organizativa 'groups' crearemos todos los grupos del sistema.

Para crear una unidad organizativa dentro de nuestra organización, haremos clic con el derecho sobre la organización 'iesacarballeira' y en el menú contextual elegiremos 'New':

Nos aparecerá la ventana 'Set Entry Object Classes' que podríamos traducir por 'Seleccione las clases objeto de la nueva entrada' o mejor, 'Seleccione las tipologías'. En ella podremos elegir los 'tipos' que tendrá nuestro nuevo elemento. Como se trata de una unidad organizativa (en inglés organizational unit - ou) debemos seleccionar el tipo organizationalUnit en la lista de la izquierda y pulsar el botón añadir (Add). Los otros dos tipos que aparecen por defecto (organizationalRole y simpleSecurityObjet) no los necesitaremos, por lo tanto podemos seleccionarlos de la lista de la derecha y pulsar el botón quitar (remove). En la casilla 'Enter RDN' (introducir Nombre Distinguido Relativo) debemos poner el nombre de nuestro elemento. Escribiremos ou=users. Estaremos en la situación de la siguiente figura:

Tan solo debemos pulsar el botón OK y el botón "Submit" en la pantalla que nos aparece, ya se habrá creado nuestra unidad organizativa 'users'. Repetiremos los pasos para crear otra unidad organizativa llamada 'groups'.

7. Usuarios y grupos

Ahora solamente nos queda crear los usuarios, crear los grupos y asignar los usuarios a sus grupos. Dentro de nuestra unidad organizativa 'groups' crearemos los siguientes grupos:

  • profesores (gid=1001)
  • alumnos (gid=1002)

Dentro de nuestra unidad organizativa 'users' crearemos los siguientes usuarios:

  • javier (uid=1001, profesor)
  • joaquin (uid=1002, profesor)
  • miguel (uid=1003, profesor)
  • jessica (uid=1004, alumno)
  • joel (uid=1005, alumno)

Creación de grupos

Para crear los grupos, haremos clic con el derecho en la unidad organizativa 'groups' e igual que antes haremos clic en 'New'. Nuestro nuevo elemento será un nuevo grupo posix, por lo tanto debemos agregar el tipo 'posixGroup' de la lista de la izquierda. El nombre (RDN) será profesores, por tanto debemos escribir 'cn=profesores' (cn= Common Name - Nombre Común):

Al pulsar OK nos apacererá la siguente figura, en la cual observamos los atributos clásicos de un grupo posix. Debemos rellenar al menos el campo gidNumber. También podemos introducir miembros al grupo. En el parámetro memberUid añadimos javier. Luego, haciendo clic con el derecho en javier > Add another value, podemos añadir otro valor: joaquin. De igual manera añadiremos a miguel. No importa que todavía no hayamos creado a dichos usuarios:

Creación de usuarios

Para crear los usuarios, haremos clic con el derecho en la unidad organizativa 'users' e igual que antes haremos clic en 'New'. Nuestro nuevo elemento será un nuevo usuario posix, por lo tanto debemos agregar el tipo 'posixAccount' de la lista de la izquierda. Pero nuestro usuario también será una persona, por eso nos interesará agregar el tipo 'person' para disponer de los atributos de dicho tipo (nombre, apellidos, ...), además como será usuario de Internet nos interesará agregar también el tipo 'inetOrgPerson' para poder almacerar el e-mail y otros valores. Si su nombre es Francisco Javier, podemos escribir en la casilla RDN 'cn=Francisco Javier' (cn= Common Name - Nombre Común):

Al pulsar OK nos apacererá la siguente figura, en la cual observamos los atributos de las tres tipologías de nuestro elemento: persona, usuario de internet y cuenta posix. Debemos rellenar al menos los campos gidNumber (grupo primario que será el 1001), homeDirectory, uid (identificador), uidNumber, loginShell y sn (surname - apellidos). También añadiremos el e-mail aunque en la figura no se vea ya que está más abajo:

Lo mismo haremos con el resto hasta que tengamos creados los cinco usuarios.

Ya tendríamos creada la estructura, los grupos y los usuarios que necesitamos para nuestro sistema.

Introducción

Como ya hemos comentado anteriormente, una de las utilidades más importantes de un servidor LDAP es como servidor de autentificación. Autentificarse es necesario para entrar en un sistema linux. También para acceder a algunos servicios como un servidor FTP o a páginas privadas en un servidor web. En otros apartados veremos como utilizar un servidor LDAP para permitir el acceso a páginas web privadas y para autentificar a usuarios del servidor de ftp Proftpd. Aquí veremos las modificaciones que hay que realizar en un sistema Linux para que autentifique a los usuarios en un servidor LDAP en lugar de utilizar los clásicos archivos /etc/passwd, /etc/group y /etc/shadow. Para ello es necesario instalar y configurar los paquetes libpam-ldap y libnss-ldap.

Librerías de autentificación pam-ldap y nss-ldap

La librería pam-ldap permite que las aplicaciones que utilizan PAM para autentificarse, puedan hacerlo mediante un servidor LDAP. Para que el sistema linux se autentifique mediante un servidor LDAP es necesario instalar esta librería ya que utiliza PAM. El archivo de configuración de ésta librería es /etc/ldap.conf. Hay otras aplicaciones o servicios que utilizan PAM para la autentificación y por tanto podrían, gracias a la librería pam-ldap, autentificarse ante un servidor LDAP.

Para especificar el modo de autentificación de cada servicio es necesario configurar los archivos que se encuentran en la carpeta /etc/pam.d/. Al final de este documento se indican los cambios necesarios en éstos archivos.

La librería nss-ldap permite que un servidor LDAP suplante a los archivos /etc/passwd, /etc/group y /etc/shadow como bases de datos del sistema. Su archivo de configuración se encuentra en /etc/libnss-ldap.conf (o /etc/ldap.conf en versiones recientes). Posteriormente deberemos configurar el arhivo /etc/nsswitch.conf para que se utilice LDAP como base de datos del sistema en lugar de los archivos passwd, group y shadow.

La instalación de ambas librerías se puede realizar mediante apt-get.

Instalación y configuración de libpam-ldap

La instalación de la librería libpam-ldap se puede realizar ejecutando el comando:

// Instalación de la librería libpam-ldap
# apt-get install libpam-ldap

Nos aparecerán las pantallas del asistente de configuración cuyas pantallas podéis ver un poco más abajo, en las versiones más recientes de Ubuntu. Deberemos comprobar al finalizar:

El archivo de configuración de la librería es el archivo /etc/ldap.conf . Únicamente hay que configurar los siguientes parámetros:

  1. Quién es el servidor LDAP (nombre o IP)
  2. Cuál es la base de nuestro directorio LDAP (base DN)
  3. Cuál es la versión de LDAP a utilizar
  4. Quién es el administrador del directorio
  5. En qué unidad organizativa se encuentran los usuarios (sustituto de /etc/passwd)
  6. En qué unidad organizativa se encuentran las contraseñas (sustituto de /etc/shadow)
  7. En qué unidad organizativa se encuentran los grupos (sustituto de /etc/group)

Para ello las líneas que hay que modificar en el archivo de configuración son las siguientes (el valor de los parámetros es un ejemplo):

// Configurar en /etc/ldap.conf
host 172.16.15.1 //nombre o IP del servidor LDAP
base dc=iesacarballeira,dc=com
ldap_version 3
rootbinddn cn=admin,dc=iesacarballeira,dc=com
nss_base_passwd ou=users,dc=iesacarballeira,dc=com?one
nss_base_shadow ou=users,dc=iesacarballeira,dc=com?one
nss_base_group ou=groups,dc=iesacarballeira,dc=com?one
 

Instalación y configuración de libnss-ldap

En las versiones más recientes al instalar la librería libpam-ldap ya nos instala ésta y nos habrá ejecutado el asistente de instalación, sino:

Para instalar la librería libnss-ldap debemos ejecutar el comando:

// Instalación de la librería libnss-ldap
# apt-get install libnss-ldap
 

Acto seguido se iniciará el asistente de configuración de dicha librería. Se puede lanzar dicho asistente más adelante mediante el comando:

// Lanzar asistente de configuración de libnss-ldap
# dpkg-reconfigure libnss-ldap
 

Dicho asistente modificará el archivo /etc/libnss-ldap.conf (o /etc/ldap.conf en versiones recientes) que es donde se almacena la configuración de la librería. Posteriormente tendremos que editar dicho archivo manualmente para introducir algún cambio que no realiza el asistente.

Asistente de instalación

La primera pregunta que nos hace el asistente es quién es el servidor LDAP. Podemos poner la IP o el nombre:

Luego nos preguntará por la base del directorio LDAP (base DN):

dc=iesacarballeira,dc=com

Acto seguido tendremos que indicar la versión de LDAP a utilizar:

la más actual -la 3- por defecto.

En el siguiente paso nos pregunta si necesitamos autentificarnos en el servidor LDAP o no. Como la librería únicamente va a realizar consultas, no es necesario autentificarse por lo tanto debemos responder 'No':

Posteriormente nos preguntará si el archivo /etc/libnss-ldap (o /etc/ldap.conf en versiones recientes) debe solamente tener permisos de lectura y escritura para el usuario (root que es quién instala) o no. Como en el paso anterior hemos indicado que no necesitamos autentificación, no se almacenarán contraseñas en el archivo de configuración, por tanto podemos responder 'No':

Finalmente nos advierte que debemos modificar el archivo /etc/nsswitch.conf para que el sistema utilice el directorio LDAP como base de datos del sistema, al igual que hace con los archivos passwd, group y shadow:

Con el asistente se habrá configurado casi todo lo necesario aunque para que nuestro sistema se autentifique por LDAP, aún hay que configurar dos parámetros más:

  1. En qué unidad organizativa se encuentran los usuarios (sustituto de /etc/passwd - en nuestro caso ou=users)
  2. En qué unidad organizativa se encuentran los grupos (sustituto de /etc/group - en nuestro caso ou=groups)

Para ello hay que modificar dos líneas en el archivo de configuración. Son las siguientes:

// Configurar en /etc/ldap.conf
nss_base_passwd ou=users,dc=iesacarballeira,dc=com
nss_base_group ou=groups,dc=iesacarballeira,dc=com
 

8. Configuración de NSS

Para que el servidor LDAP actúe como si se tratara de los archivos passwd, group y shadow, además de instalar las dos librerías anteriores, debemos indicar que se utilice LDAP como alternativa para autentificar usuarios. Para ello hay que añadir en las líneas que hacen referencia a passwd, group y shadow en el archivo /etc/nsswitch.conf, la palabra 'ldap' tras la palabra 'compat' quedando el archivo /etc/nsswitch.conf así:

// Archivo /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd: compat ldap
group: compat ldap
shadow: compat ldap

hosts: files dns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis
 

9. Configurar servicios PAM

Nuestro sistema ya estaría preparado para autentificarse por LDAP. Editando los archivos que hay en la carpeta /etc/pam.d, podemos configurar la forma en la que se autentifica cada uno de los servicios que requieren autentificación.

Para no tener que configurar de cada uno de los servicios, existen unos archivos comunes cuyo nombre empieza por common que afectan a la mayoría de ellos y sus archivos de configuración los referencian mediante una línea @include a los archivos comunes causando el mismo el efecto que si el contenido de los archivos comunes estuviera copiado en el lugar de la línea @include. Los archivos comunes son:

  • /etc/pam.d/common-auth (para autentificarse)
  • /etc/pam.d/common-account (para disponer de una cuenta)
  • /etc/pam.d/common-session (para poder iniciar sesion)
  • /etc/pam.d/common-password (para poder cambiar password)

Estos archivos contienen una línea que hace referencia a la librería pam_unix.so que corresponde a la autentificación contra los archivos UNIX. Para que los servicios de nuestro sistema utilicen primero las librerías pam_ldap.so para autentificar al usuario, debemos añadir la línea correspondiente a pam_ldap.so por encima de la línea correspondiente a la librería pam_unix.so en los archivos common. Así, auntentificará primero contra el servidor LDAP, y si la autentificación falla, probará despues con los archivos UNIX.

Configuración archivo common-auth

Para que los servicios de nuestro sistema utilicen las librerías pam-ldap para autentificar al usuario, debemos añadir en el archivo /etc/pam.d/common-auth la siguiente línea:

// Añadir en /etc/pam.d/common-auth encima de la línea pam_unix.so
auth    sufficient      pam_ldap.so
 

Además de ello, hemos de modificar la línea -añadiendo al final use_first_pass:

auth       required   pam_unix.so use_first_pass

// en caso contrario cuando hagamos su para un usuario dado de alta en ldap nos pedirá la contraseña dos veces

Configuración archivo common-account

Para permitir que los servicios de nuestro sistema comprueben la cuenta del usuario mediante las librerías pam-ldap, debemos añadir en el archivo /etc/pam.d/common-account la siguiente línea:

// Añadir en /etc/pam.d/common-account encima de la línea pam_unix.so
account    sufficient      pam_ldap.so   nullok_secure
 

Configuración archivo common-session

Para permitir que los servicios de nuestro sistema obtengan los parámetros de la sesión de usuario mediante las librerías pam-ldap, debemos añadir en el archivo /etc/pam.d/common-session la siguiente línea:

// Añadir en /etc/pam.d/common-session encima de la línea pam_unix.so
session    sufficient      pam_ldap.so
 

Configuración archivo common-password

Para permitir que los servicios de nuestro sistema puedan modificar la contraseña del usuario mediante las librerías pam-ldap, debemos añadir en el archivo /etc/pam.d/common-password la siguiente línea:

// Añadir en /etc/pam.d/common-password encima de la línea pam_unix.so
password    sufficient      pam_ldap.so
 

Configuración particular para cada servicio

Si deseamos que algún servicio se autentifique de forma diferente, podemos editar el archivo del servicio (ej: /etc/pam.d/su, /etc/pam.d/ssh, /etc/pam.d/ftp, etc...), eliminar la línea que comienza por @include e introducir la configuración particular que deseemos.

9. Probar la autentificación

Nuestro servidor LDAP ya debería autentificar correctamente . Podemos probar la autentificación de los servicios mediante el comando pamtest que se encuentra en el paquete libpam-dotfile, por lo tanto debemos instalarlo:

// Instalación del comando pamtest
# apt-get install libpam-dotfile
 

Si deseamos probar que funciona el servicio passwd (cambiar contraseña) sobre un usuario del directorio LDAP (ejemplo jessica) , podemos ejecutar:

// Probando el cambio de contraseña
root@cnice-desktop:/etc/pam.d# pamtest passwd jessica
Trying to authenticate for service .
Password: // Introducimos el password de jessica
Authentication successful. // La autentificación ha sido satisfactoria
 

También podemos utilizar el comando finger sobre usuarios que estén solamente en el directorio LDAP, por ejemplo joel:

// Probando finger
root@cnice-desktop:/etc/pam.d# finger joel
Login: joel Name: Joel Javier
Directory: /home/www/alumnos Shell: /bin/sh
Last login Tue Sep 27 18:02 (CEST) on pts/3 from 192.168.0.213
No mail.
No Plan.
 

Podemos por ejemplo, desde una consola de root, cambiar mediante el comando 'su' (su=Switch User - cambiar de usuario) a un usuario que esté en el directorio LDAP, para lo cuál no nos pedirá contraseña ya que root tiene permiso para cambiar a cualquier usuario. Si posteriormente cambiamos a otro usuario del directorio, ahora sí que nos pedirá contraseña. Deberemos introducir la contraseña que esté almacenada en el directorio LDAP para dicho usuario:

// Cambiando de usuario
root@cnice-desktop:/etc/pam.d# su joel // Somos root y cambiamos a joel
joel@cnice-desktop: // No nos pide password
joel@cnice-desktop:/etc/pam.d$ su jessica // Somos joel, y cambiamos a jessica
Password: // Nos pide password, le introducimos
jessica@cnice-desktop:/etc/pam.d$ // Ha cambiado correctamente

Las opciones de configuración de PAM son muy variadas. Para obtener más información se puede instalar el paquete libpam-doc que instala bastante documentación al respecto bajo la carpeta /usr/share/doc/libpam-doc/

Crea un usuario de prueba:

smbldap-useradd -a -m -M cuenta_de_correo -c "Nombre Completo" nombre_usuario

Luego dale una password:

smbldap-passwd nombre_usuario

Y debieras poder conectarte al servidor como ese usuario, ya sea por la consola o por SSH. También debes arreglar algunos ajustes de la cuenta root en el servidor, o te quedarás sin poder usarla:

smbldap-usermod -u 0 -d /root -s /bin/bash root

10. Servidor ftp con usuarios virtuales

Introducción

  • Vamos a instalar nuestro propio servidor ftp con usuario virtuales, tenemos que tener en cuenta que lo vamos a compilar desde su código de fuente ya que necesitamos activar unas opciones especiales si lo bajamos.

Descargar Pure-ftpd

  • Si todavía no sabes instalar programas desde su código de fuente léete este manual.

Instalando programas desde el codigo fuente

Asumo que ya bajaron el código de fuente, lo copiaron a /usr/src, lo descomprimieron y que ya están el directorio con el código de fuente. Listos? empecemos a compilar.

El primer comando:

  • ./configure --help Nos va a mostrar todas la opciones de configuracion



  • Los parametros que uso personalmente

./configure --without-inetd --with-puredb --with-ratios --with-quotas --with-ftpwho --with-throttling –with-language=spanish

Que son todos estos parámetros?

  • --without-inetd -> Como el servidor lo tendremos como un proceso aparte, no necesitamos soporte inetd.
  • --with-puredb -> Soporte para usuarios virtuales.
  • --with-ratios -> Soporte para ratios de subida/bajada.
  • --with-quotas -> Soporte para cuotas.
  • --with-ftpwho -> Soporte para poder ver al momento quien está conectado y qué está haciendo.
  • --with-throttling -> Soporte para limitar el ancho de banda.
  • --with-language=spanish -> Soporte para nuestro idioma.

  • Ahora make y luego make install

Listo con esto ya esta instalado, no se vallan que hay mas!!!

Creando un usuario en el sistema:

  • Crearemos el usuario ftpuser y el grupo ftpgroup, hay que hacerlo como root
  • groupadd ftpgroup
  • useradd ftpuser -g ftpgroup -d /dev/null -s /bin/false

Con estos comandos hemos creado un grupo ftpgroup y un usuario ftpuser que pertenece a ese grupo. El usuario tendrá como directorio home /dev/null (es decir, no tendrá) y como shell por defecto /bin/false (para que no tenga una shell válida). Tendremos que asegurarnos de que la shell que indiquemos aparezca en el fichero /etc/shells. Si no es así la añadiremos nosotros al final del mismo.

  • mcedit /etc/shells

11. Creando y manipulando usuarios virtuales

  • Para la configuración de los usuarios virtuales utilizaremos el comando: pure-pw. Este comando mantiene la base de datos de los usuarios virtuales. Vamos a añadir un usuario virtual, siempre como root.
  • pure-pw useradd prueba -u ftpuser -g ftpgroup -d /home/ftpusers/prueba -t 25 -T 10. Nos pedira una contraseña para el usuario diego que tendrá como directorio de inicio cuando se conecte al ftp el directorio /home/ftpusers/diego. Tendrá un ancho de bajada de 25kb/s y de subida de 10kb/s. También hemos asociado este usuario virtual con el usuario del sistema previamente creado esto deberemos hacerlo con todos los usuarios que creemos.
  • pure-pw mkdb. Cada vez que se cree un usuario nuevo tendremos que utilizar este comando para que guarde la informacion del usuario nuevo en el fichero /etc/pureftpd.pdb.

  • Para saber mas sobre como borrar usuarios o modificarlos consulten el manual man pure-pw.

Arrancando el servidor

  • Con todo configurado sólo nos queda arrancar el servidor. Podemos ver una lista completa de las opciones de que disponemos haciendo un man pure-ftpd
  • Arrancaremos el servidor con los siguientes parámetros:
  • /usr/local/sbin/pure-ftpd -lpuredb:/etc/pureftpd.pdb -A -B -c 5 -C 2 -d -E -i -j -u 100

Los parametros:

-A -> Hacer chroot (para que nadie pueda salir de su directorio de inicio hacia directorios superiores)

-B -> Correr en background (para tener el proceso en segundo plano)

-c 5 -> 5 conexiones simultaneas como máximo

-C 3 -> 3 conexiones simultaneas para una misma ip

-d -> Log verboso (loguea con bastante información)

-E -> No permitimos usuarios anónimos

-i -> Los usuarios anónimos no pueden subir cosas (se puede omitir si tenemos: -E)

-j -> Si al entrar un usuario aún no existe su directorio raíz, lo crea. Así nos ahorramos crear nosotros el directorio después de añadir un usuario virtual; ya se creará cuando entre por primera vez.

-u -> Mínimo uid para entrar (para que no se pueda entrar como usuario privilegiado del sistema)

-lpuredb:/etc/pureftpd.pdb -> Indicamos cual es el fichero donde se guardan los usuarios virtuales.

  • Como es incómodo poner el comando entero cada vez que queremos levanter el servidor les dejo un scritp de inicio, lo tienen que crear en /etc/init.d

Probando nuestro servidor

  • Bueno voy a poner unas capturas conectandome a mi servidor con el usuario prueba y les voy a mostrar algunos comandos de administración de nuestro servidor.

Conectandonos:En este ejemplo use la consola para conectarme hay muchos clientes para el protocolo ftp Gftp, Konqueror. Cabe aclarar que no se van a conectar a el servidor con cualquier navegador porque nuestro servidor es privado. En el caso de que se quieran conectar desde una computadora con MS deberan usar algun cliente como Filezilla

  • pure-ftpwho: con este comando vamos a obtener infomación como la ip de quien esta conectado si bajo o subio un fichero, tasas de transferencia, etc.

  • pure-pw show usuario: con este comando vamos a obtener información sobre el usuario deseado, en la captura use el usuario prueba. "Ej: pure-pw show prueba".

12. Herramientas gráficas

  • Pure-ftpd posee una herramienta gráfica llamada PureAdmin con la cual vamos a poder administrar nuestro servidor gráficamente.
  • Aquí vemos a el usuario prueba conectado a nuestro servidor y esta realizando una descarga.

  • Aquí estamos editando a el usuario prueba, también podemos borrar y crear nuevos usuarios, tenemos la solapa de información personal como nombre de usuario, nombre real, home, si queremos que encierre a el usuario en su home, id de usuario, id de grupo y contraseña.
  • También vemos la solapa restricciones, aquí vamos a manejar la subida, bajada, rates, etc.

6 Instalación de directorio activo.
7. Manejo básico de directorio activo.
8. Como funciona un servidor de correo.
9. Servicio de directorio.

Nota: Cliente web para correo electronico

El servidor de correo de nuestros dominios básicos incorpora un cliente de correo web que le permitirá enviar y recibir correo utilizando simplemente un navegador, al estilo de los servicios de correo gratuito como hotmail, olemail, etc.

Aunque en general resulta más cómodo utilizar un programa cliente de correo electrónico como Outlook Express, la posibilidad de acceder a su buzón de correo desde cualquier ordenador que le permita navegar por Internet puede ser un auténtico salvavidas en casos de viajes, averías de su ordenador habitual, atasco de su buzón debido a un mensaje muy grande, etc.

El cliente web conecta directamente con el servidor de correo utilizando el protocolo IMAP4, lo que le permite ver todos los mensajes disponibles en su buzón sin necesidad de descargarlos previamente. Por ello es muy útil en caso de atascos de su buzón debido a un mensaje muy grande que obstruye la lectura de los siguientes. Con el cliente web usted decide los mensajes que quiere leer sin necesidad de descargarlos por orden y puede eliminar mensajes muy grandes sin tener que leerlos.

El cliente web puede ser también una forma cómoda de acceder a múltiples buzones que no se usan habitualmente y que no están configurados en su programa de lectura de correo habitual.

Pero el cliente web del servidor de correo es además un panel de control que le permite gestionar todas las opciones de usuario de sus buzones. Desde dicho panel podrá:

  1. Cambiar la contraseña de su buzón. Esto también puede hacerse desde el panel de control general de su dominio básico.
  2. Activar el reenvío de mensajes (mail forwarding). Puede hacer que todos los mensajes que reciba su buzón los reenvíe a su vez a otra cuenta.
  3. Cambiar la información del usuario para el servidor LDAP. El servidor de correo cuenta además con un servidor LDAP (Lightweight Directory Access Protocol - Protocolo compacto de acceso a directorios) que son los llamados "Servicios de directorio" en Outlook Express. A través de este servicio de directorio usted puede hacer disponibles a los demás los datos suyos que desee.
  4. Activar/desactivar mensaje de vacaciones. Cuando se tome vacaciones y vaya a estar un tiempo sin leer el correo electrónico, puede activar una autorrespuesta automática con un mensaje personalizado por usted que indique a quienes le escriban que no esperen una respuesta hasta que regrese usted de sus vacaciones.
  5. Crear reglas de procesamiento de mensajes. Puede crear reglas que automaticen la clasificación de los mensajes que reciba en diferentes carpetas. Por ejemplo, una carpeta para almacenar los mensajes recibidos de una lista, otra para los que provienen de un formulario web, etc.
  6. Autorrespuesta. Puede crear un mensaje de autorrespuesta para su buzón. Cuando alguien le escriba, recibirá automáticamente la respuesta que usted determine.

La forma de usar esta aplicación es muy sencilla. Basta con escribir en la barra de direcciones de su navegador la dirección web http://mail.sudominio.com:8383, cambiando sudominio.com por el que le corresponda. Se le pedirá que se autentifique. Debe escribir el login y contraseña del buzón que desee gestionar y elegir después las opciones deseadas.

El cliente web del correo está en su mayor parte traducido al español y dispone de ayuda incorporada. Puede ver cómo obtener una demostración del panel de control del cliente web en la sección demo.

13. Contadores

El CGI contador permite que usted pueda colocar contadores de visitas en sus páginas web. El contador se incrementa automáticamente cada vez que alguien ve su página. Usted puede mostrarlo o dejarlo invisible para manejar su información sin hacerla pública.

Desde el panel de control de su dominio básico podrá crear todos los contadores que desee. Podrá escoger el número con el que comienza cada contador y tendrá la opción de cambiar éste cuando desee.

El contador tiene una gran cantidad de opciones de visualización. Entre éstas se encuentra la posibilidad de elegir los dígitos de entre una amplísima colección, la posibilidad de mostrar o no un marco alrededor del contador (se puede elegir el grosor y color del marco), hacer que el contador sea invisible para utilizarlo a modo de medidor privado de visitas, que se muestre girado o

15.

  • MTA (Mail Transfer Agent): es el servidor de correos salientes, quien envia los mails.
  • MDA (Mail Delivery Agent): es el encargado de ubicar o almacenar los mails, esta tarea también puede ser realizada por el MTA
  • MUA (Mail User Agent): es el cliente de correo, quien se conecta al servidor ya sea para descargar mails o para enviar.

el MDA es el encargado de guardar el mail en una casilla si la cuenta de destino está en el equipo local y si está en otro equipo envia el mail por SMTP. A parte de esto tiene más funciones, filtro anti-spam, antivirus, …El MDA suele estar integrado en los MUAs

* ahora es cuando viene el usuario del mail b@b.com y decide mirar si tiene correo nuevo.

para eso con su cliente de correo (pop3/imap) se conecta a su MDA para ver si tiene correo. Si el protocolo usado por el cliente es pop3 utiliza el MUA del cliente b@b.com para bajarse el mail del servidor de correo y alojarlo en el disco duro del usuario. Por lo contrario, si utiliza el protocolo IMAP el cliente de correo hace una copia del mail y lo guarda en el disco duro del usuario. El cliente de correo suele ser el MUA

16. POP (Post Office Protocol)

POP es un sencillo protocolo de descarga de mensajes de correo desde la estafeta. Es el protocolo aconsejado cuando utilizas una conexión a Internet no permanente, sin tarifa plana, o con un coste alto por minuto (por ejemplo conexión de un portátil mediante un móvil). En estos casos el protocolo POP te permite conectar al servidor, descargar los mensajes, cortar la conexión y procesar las copias locales de los mensajes.

POP fue diseñado para ser fácil de implementar, pero tiene varias deficiencias en su funcionamiento:

* No maneja correctamente múltiples carpetas.

* Fuerza la descarga completa de los mensajes. En vez de descargar al ordenador del usuario sólo la cabecera “Asunto:” para que decida si el mensaje debe ser borrado o leído, descarga el mensaje completo con todos sus archivos adjuntos y una vez descargado es cuando el usuario puede procesarlo.

* Por último y lo más importante NO podremos procesar nuestro correo desde diferentes puestos (trabajo, casa, viajes,…), ya que descarga todos los mensajes desde la cola de entrada de las estafetas hasta el primer ordenador desde el que establecemos la conexión y por tanto, a partir de este momento, no será visible desde ningún otro.

En algunos programas de correo de usuario, en opciones avanzadas, se nos permite indicarle a la estafeta que no descargue el correo y que “lo deje en el servidor”. Esta opción está totalmente desaconsejada ya que los correos, realmente, no llegan a buzonearse sino que quedan en las “colas temporales de entrada de las estafetas”, dejando al programa de usuario la responsabilidad de interpretar cuando un correo ha sido leído o no; en la actualidad, con arquitecturas complejas de mensajería en las que las estafetas no son únicas sino distribuidas entre varios servidores, provocará que en ciertas circunstancias se genere una descarga repetitiva de mensajes por parte del programa de correo de usuario.

17. IMAP (Internet Message Access Protocol)

Fue diseñado para solucionar las carencias del protocolo POP, principalmente la movilidad y el procesamiento de correo desde diferentes puestos.

Mediante este protocolo nuestro programa de correo electrónico conecta al servidor y descarga exclusivamente las cabeceras de los mensajes. Los mensajes quedan almacenados en el “buzón del usuario” dentro de la estafeta y, por tanto, pueden ser procesados nuevamente desde cualquier otro ordenador o localización. Al descargar solamente las cabeceras (y no todo el cuerpo del mensaje) podemos eliminar los mensajes no deseados sin necesidad de descargar el mensaje en su totalidad; los mensajes solo son transferidos cuando se seleccionan individualmente para leerlos.

Este protocolo, sin embargo, obliga a mantener abierta la conexión con la estafeta hasta finalizar la consulta y por tanto no es aconsejable cuando disponemos de una conexión con un alto coste por minuto y no permanente.

Lo más interesante del protocolo IMAP es que al quedar los buzones y su contenido situados físicamente en las estafetas centrales y no en el PC del usuario, nos permite acceder a los mensajes desde diferentes ordenadores, aunque previamente los hayamos leído desde otra máquina o programa. Es especialmente interesante en desplazamientos fuera del entorno de trabajo pues los buzones y mensajes podrán leerse mediante el servicio WEBMAIL durante el desplazamiento y posteriormente desde el cliente de correo habitual en RedUGR.

18. El spam

es el hecho de enviar mensajes electrónicos (habitualmente de tipo comercial) no solicitados y en cantidades masivas. Aunque se puede hacer por distintas vías, la más utilizada entre el público en general es la basada en el correo electrónico. Otras tecnologías de internet que han sido objeto de espamaje incluyen mensajes, grupos de noticias usenet, motores de búsqueda y blogs. ...
es.wikipedia.org/wiki/SPAM

Se denomina así al correo electrónico que se recibe sin haberlo solicitado, son los llamados "correos basura". Son utilizados por las empresas para fines publicitarios (spamming). Spam es una palabra inglesa que hace referencia a una conserva cárnica: el "Spiced Ham", literalmente "Jamón con especias". Al no necesitar refrigeración, fue muy utilizada en todo el mundo, sobre todo por el ejército americano, que ayudó mucho en su difusión. ...
webs.ono.com/usr016/Agika/4diccionario/diccioP_U.htm

Se prohibe la utilización de los servicios brindados por Duplika para enviar correo masivo o no solicitado. En caso del no cumplimiento, Duplika hace responsable al usuario, de los daños y perjuicios ocacionados.
www.duplika.com/terminos.aspx

(Correo Comercial No Solicitado) La Politica de OHPERU es de "Tolerancia Cero" al Spam. Spam es el envío de de correo comercial no solicitado a través de los servidores de OhPeru.com o usando una dirección email que es mantenida dentro de una maquina de OhPeru.com o que hagan referencia una página alojada en nuestros servidores, y está ESTRICTAMENTE prohibido. OhPeru.com será el único arbitro y que dictaminará que constituye una violación de esta cláusula. ...
-Se podría traducir como bombardeo publicitario o publicidad basura. Son esos anuncios que, sin haberlos solicitado, recibimos de forma masiva a través del correo electrónico. La mayoría de ISPs disponen de filtros para evitarlo y también hay sitios web donde denunciar tal hecho.
www.el-mundo.es/ariadna/2000/A008/A008diccionario.html

"Spam" entonces es la palabra que se utiliza para calificar el correo no solicitado enviado por Internet. La mayor razón para ser indeseable es que la mayoría de las personas conectadas a la Internet no gozan de una conexión que no les cueste, y adicionalmente reciben un cobro por uso del buzón. Por lo tanto, el envío indiscriminado de este tipo de correo ocasiona costos al lector. ...
www.prteducativo.com/jovenes/glosario.htm

Lista negra

En este sitio listan todos los sitios en los que su IP esta reportada.
 
http://www.dnsstuff.com/tools/ip4r.ch?ip=200.21.4.70
 
Lo mas importante es solucionar los problemas que tenga su servidor de
correo, con cambiar la IP no es suficiente ya que si no soluciona los
problemas en menos de 24 otra vez esta en las listas.
 
También es importante configurar las cuentas de postmaster y de abuse y
tambien que el reverse de su dirección IP este bien ya que la mayoría de
listas envían las instrucciones para salir de la lista a postmaster en reverse
y a abuse en reverse.
Ultimamente ahi un sistema que guarda todas las ip's, no recuerdo ahora el nombre. que cuando se envian aunque sea 5 mails, lo guarda como spam y te envia a lista negra, esta info esta siendo compartida y se esta compartiendo la informacion con la mayoria de los isp's de email porlomenos.

Cuando tu ip sale como en lista negra y te informa, te da una direccion con la cual te puedes contactar para solucionar tu problema.
Esto se da mucho con VTR que la ip con un solo email que envies desde un server instalado en tu pc se transforma a lista negra...
La solución es instalar un filtro SMTP o Anti-SPAM que combata el correo no deseado.

Esta es la respuesta que me dan:

Hay de formas de autenticación:

- Autenticación por IP. El cliente cuando hace fa la autenticación con usuario y password para conectar con el servidor pop3, registra la IP origen y si detecta que conecten por smtp contra la plataforma haciendo servir el mismo usuario y password, permite enviar el correo.

- Autenticación por usuari y password. Si el cliente utiliza Ips dinámicas o bién salidas alternativas a internet, para evitar el primer sistema de autenticación, puede autenticar para enviar con el mismo usuari y password.

>> Esta segunda opción sería marcando des del Outlook que el servidor requiere autenticación, y marcando luego utilizar la misma configuración que mi servidor de entrada.

También permiten que des de la plataforma web, que los scripts de formularios que requieran de un motor smtp, el servicio detecta que se genera des de la misma plataforma del servidor y permite el enviamiento del correo sin autenticar.

También tienen una herramienta que supervisa que no se envíen más correos de lo normal des de un dominio de un cliente para evitar que se envíen SPAM des de su plataforma.

Autenticación de usuarios en Unix
[editar]

Autenticación clásica [editar]

En un sistema Unix habitual cada usuario posee un nombre de entrada al sistema o login y una clave o password; ambos datos se almacenan generalmente en el fichero /etc/passwd. Este archivo contiene una línea por usuario donde se indica la información necesaria para que los usuarios puedan conectar al sistema y trabajar en él, separando los diferentes campos mediante `:'.

Al contrario de lo que mucha gente cree, Unix no es capaz de distinguir a sus usuarios por su nombre de entrada al sistema. Para el sistema operativo lo que realmente distingue a una persona de otra (o al menos a un usuario de otro) es el UID del usuario en cuestión; el login es algo que se utiliza principalmente para comodidad de las personas (obviamente es más fácil acordarse de un nombre de entrada como toni que de un UID como 2643, sobre todo si se tienen cuentas en varias máquinas, cada una con un UID diferente).

Para cifrar las claves de acceso de sus usuarios, el sistema operativo Unix emplea un criptosistema irreversible que utiliza la función estándar de C crypt, basada en el algoritmo DES. Para una descripción exhaustiva del funcionamiento de crypt. Esta función toma como clave los ocho primeros caracteres de la contraseña elegida por el usuario (si la longitud de ésta es menor, se completa con ceros) para cifrar un bloque de texto en claro de 64 bits puestos a cero; para evitar que dos passwords iguales resulten en un mismo texto cifrado, se realiza una permutación durante el proceso de cifrado elegida de forma automática y aleatoria para cada usuario, basada en un campo formado por un número de 12 bits (con lo que conseguimos 4096 permutaciones diferentes) llamado salt. El cifrado resultante se vuelve a cifrar utilizando la contraseña del usuario de nuevo como clave, y permutando con el mismo salt, repitiéndose el proceso 25 veces. El bloque cifrado final, de 64 bits, se concatena con dos bits cero, obteniendo 66 bits que se hacen representables en 11 caracteres de 6 bits cada uno y que, junto con el salt, pasan a constituir el campo password del fichero de contraseñas, usualmente /etc/passwd. Así, los dos primeros caracteres de este campo estarán constituidos por el salt y los 11 restantes por la contraseña cifrada

PAM [editar]

PAM (Pluggable Authentication Module) no es un modelo de autenticación en sí, sino que se trata de un mecanismo que proporciona una interfaz entre las aplicaciones de usuario y diferentes métodos de autenticación, tratando de esta forma de solucionar uno de los problemas clásicos de la autenticación de usuarios: el hecho de que una vez que se ha definido e implantado cierto mecanismo en un entorno, es difícil cambiarlo. Mediante PAM podemos comunicar a nuestra aplicaciones con los métodos de autenticación que deseemos de una forma transparente, lo que permite integrar las utilidades de un sistema Unix clásico (login, ftp, telnet...) con esquemas diferentes del habitual password: claves de un solo uso, biométricos, tarjetas inteligentes...

La gran mayoría de las aplicaciones de linux usan estos métodos (PAM) para autenticarse frente al sistema, ya que una aplicación preaparada para PAM (PAM-aware) puede cambiar el mecanismo de autenticación que usa sin necesidade de recompilar los fuentes. Incluso se puede llegar a cambiar el sistema de autenticación local sin siquiera tocar las aplicaciones existentes.

PAM viene `de serie' en diferentes sistemas Unix, tanto libres como comerciales, y el nivel de abstracción que proporciona permite cosas tan interesantes como kerberizar nuestra autenticación (al menos la parte servidora) sin más que cambiar la configuración de PAM, que se encuentra bien en el fichero /etc/pam.conf o bien en diferentes archivos dentro del directorio /etc/pam.d/

PAM trabaja con cuatro tipos separados de tareas de administración: authentication, account, session, y password. La asociación de del esquema de administración preferido con el comportamiento de la aplicación se hace mediante archivos de configuración. Las funciones de administración las hacen módulos que se especifican en el archivo de configuración. Más adelante se explicara brevemente la sintaxis del archivo de configuración ya que se va fuera del alcance de este artículo.

Cuando una aplicación preparada para PAM inicia, se activa su comunicación con la API de PAM. Entre otras cosas esto fuerza la lectura del archivo de configuración: /etc/pam.conf. Alternativamente puede ser que se inicie la lectura de los archivos de configuración bajo /etc/pam.d/ (cuando existe un archivo de configuración correcto bajo este directorio, se ignora el archivo /etc/pam.

Relay abierto (Open Relay)

Relay abierto es un término utilizado para describir servidores de correo que permiten a los usuarios no autorizados enviar correo. En la actualidad, los servidores de correo no lo permiten. La mayoría de las empresas son conscientes de los problemas de seguridad relacionados y tampoco apoyan esta práctica.

Desafortunadamente, aún existen muchos servidores con relay abierto disponibles en Internet, que los hackers y spammers pueden utilizar para enviar malware y spam.

Cifrar tráfico entre cliente y servidor tls

1. INTRODUCCIÓN.

· TLS (Transport Layer Security - Seguridad de la Capa de Transporte) es el sucesor del SSL (Secure Sockets Layer). Ambos protocolos sirven para proporcionar comunicaciones seguras en Internet, usando un modelo de autenticación y privacidad de la información entre extremos sobre Internet mediante criptografía. Esto es fundamental para mantener la seguridad en el comercio vía Internet.

SSL fue diseñado de manera modular (extensible), con soporte para compatibilidad hacia delante y hacia atrás y negociación entre las partes (peer-to-peer).

Normalmente el servidor es el único que es autenticado, garantizando así su identidad, pero el cliente se mantiene sin autenticar, ya que para la autenticación mútua se necesita una infraestructura de claves públicas (o PKI) para los clientes.

Estos protocolos permiten prevenir escuchas (eavesdropping), evitar la falsificación de la identidad del remitente y mantener la integridad del mensaje en una aplicación cliente-servidor.

La versión 3.0 del SSL fué desarrollada por Netscape en 1996, que fué la base para desarrollar la verxión 1.0 del TLS, protocolo estándar IETF definido en el RFC 2246 por primera vez.

Las primeras implementaciones de SSL sólo podían usar claves simétricas de 40 bits como máximo, ya que el gobierno de los EEUU imponía restricciones sobre la exportación de tecnología criptográfica. Esta clave era de 40 bits ya que las agencias de seguridad nacional americanas podían atacrla mediante fuerza bruta y poder leer así el tráfico cifrado, mientras que los posibles atacantes con menores recursos no podrían leerlo. Finalmente, después de diferentes juicios y la aparición de mejores productos criptográficos diseñados en otros países, se rebajaron las restricciones de exportación de tecnología criptográfica, desapareciendo casi por completo la limitación de claves de 40 bits. Actualmente se usan claves de 128 bits, o incluso más, para las claves de cifrado simétricas.

Índice


2. DESCRIPCIÓN.

El protocolo SSL/TSL se basa en tres fases básicas:

· NEGOCIACIÓN: los dos extremos de la comunicación (cliente y servidor) negocián que algoritmos criptográficos utilizarán para autenticarse y cifrar la información. Actualmente existen diferentes opciones:

o Para criptografía de clave pública: RSA, Diffie-Hellman, DSA (Digital Signature Algorithm) o Fortezza.

o Para cifrado simétrico: RC2, RC4, IDEA (International Data Encryption Algorithm), DES (Data Encryption Standard), Triple DES o AES (Advanced Encryption Standard).

o Con funciones hash: MD5 o de la familia SHA.

· AUTENTICACIÓN Y CLAVES: los extremos se autentican mediante certificados digitales e intercambian las claves para el cifrado, según la negociación anterior.

· TRANSMISIÓN SEGURA: los extremos pueden iniciar el tráfico de información cifrada y autentica.

2.1. FUNCIONAMIENTO.

· El protocolo SSL/TSL está basado en el intercambio de mensajes. En cada mensaje existe un campo (content_type) donde se especifica el protocolo de nivel superior utilizado. Estos mensajes puede ser comprimidos, cifrados y empaquetados con un código de autentificación del mensaje (MAC)

En el inicio de un conexión el nivel de mensaje encapsula un protocolo handshake (content_type=22), envíandose diferentes mensajes:

o El cliente inicia la comunicación enviando un mensaje "Client Hello" dónde especifica una lista de conjunto de cifrados, métodos de compresión y la versión del protocolo SSL más alta permitida. A la vez envía una serie de bytes aleatorios (Challenge de Cliente o Reto) que después serán usados. Adicionalmente puede enviar el identificador de la sesión.

· El servidor responde con un mensaje "Server Hello" donde se indican los parámetros elegidos por el servidor a partir de las opciones ofertadas por el cliente.

· Una vez establecidos los parámetros de la conexión, cliente y servidor intercambian los certificados, según las claves públicas de cifrado seleccionadas. Actualmente son certificados X.509, pero existe un borrador en el que se especifica el uso de certificados basados en OpenPGP.

· Si la conexión tiene que ser mútuamente certificada el servidor pide un certificado al cliente y éste se la enviaría.

  • El cliente verifica la autenticidad del servidor.

· Cliente y servidor negocian una clave secreta común (master secret), que puede derivarse de un intercambio Diffie-Hellman, o utilizando la clave privada de cada uno para cifrar una clave pública que servirá para cifrar a la vez la clave secreta. El resto de claves son derivadas a partir de este master secret y los valores aleatorios generados en el cliente y el servidor, que son pasados a través una función pseudo-aleatoria.

· Cliente y servidor aplican los parámetros negociados.

2.2. MEDIDAS DE SEGURIDAD.

· Existen diferentes medidas de seguridad aplicables:

o Numerar todos los mensajes usando el número de secuencia en el MAC.

o Usar un resumen de mensaje mejorado con una clave, para que únicamente con esa clave se pueda comprobar el MAC (especificado en el RFC 2104).

o Protección contra ataques conocidos (incluídos man in the middle attack), que impliquen un degradado del protocolo a versiones anteriores menos seguras, o a cifrados más débiles.

o Envío de un hash de todos los datos intercambiados en el mensaje que finaliza el handshake (Finished).

o La función pseudo-aleatoria divide en dos partes los datos de entrada y las procesa con diferentes algoritmos hash (MD5 y SHA), después hace una XOR sobre ellos. Evitando una posible vulnerabilidad futura de estos algoritmos.

Índice


3. EJEMPLOS.

3.1. APLICACIONES.

· El protocolo SSL/TLS se ejecuta en una capa entre los protocolos de aplicación como:

o HTTP sobre SSL/TLS es HTTPS, ofreciendo seguridad a páginas WWW para aplicaciones de comercio electrónico.
utilizando certificados de clave pública para verificar la identidad de los extremos. Visa, ?MasterCard, American Express y muchas de las principales instituciones financieras han aprobado SSL para el comercio sobre Internet.

o SSH utiliza SSL/TLS por debajo.

o SMTP y NNTP pueden operar también de manera segura sobre SSL/TLS.

o POP3 i IMAP4 sobre SSL/TLS son POP3S i IMAPS.


También se puede ejecutar sobre el protocolo de transporte TCP, que forma parte de la familia de protocolos TCP/IP.

Existen múltiples productos clientes y servidores que pueden proporcionar SSL de forma nativa, pero también existen muchos que aún no lo permiten. una solución podría ser usar una aplicación SSL independiente como Stunnel para conseguir el cifrado, pero IETF recomendó en 1997 que los protocolos de aplicación ofrecieran una forma de actualizar a TLS a partir de una conexión sin cifrado (plaintext) en vez de usar un puerto diferente para cifrar las comunicaciones, evitando el uso de envolturas (wrappers) como Stunnel.

SSL también puede ser usado para tunelar una red completa y crear una red privada virtual (VPN), como en el caso de OpenVPN.

3.2. IMPLEMENTACIONES.

· Existen diferentes implementaciones, como por ejemplo:

o OpenSSL: una implementación de código abierto, la más utilizada. Es un proyecto desarrollado por la comunidad Open Source para libre descarga y está basado en SSLeay desarrollado por Eric Young y Tim Hudson. Ayudan al sistema a implementar el SSL/TLS ofreciéndole un robusto paquete de herramientas de administración y librerías de criptografía que pueden ser usadas para OpenSSH y navegadores web (acceso seguro a HTTPS). Es muy útil para requerimientos de ciertos niveles de seguridad en Linux. También permite la creación de certificados digitales aplicables a nuestro servidor, por ejemplo Apache.

o GnuTLS: una implementación de código abierto con licencia compatible con GPL.

o JSSE: una implementación realizada en el Java incluida en el Java Runtime Environment.

3.3. ESTÁNDARES.

· La primera definición de TLS apareció en el RFC 2246: "The TLS Protocol Version 1.0" (El protocolo TLS versión 1.0) y está basada en la versión 3.0 de SSL, siendo prácticamente equivalentes.
Posteriormente se extendió dicha definición:

o RFC 2712: "Addition of Kerberos Cipher Suites to Transport Layer Security (TLS)". Aparecen las familias de cifrados de 40 bits definidas, para advertir que ya han sido asignadas.

o RFC 2817: "Upgrading to TLS Within HTTP/1.1". Explica cómo usar el mecanismo de actualización en HTTP/1.1 para iniciar TLS sobre una conexión TCP existente, permitiéndo al tráfico seguro e inseguro HTTP compartir el mismo puerto.

o RFC 2818: "HTTP Over TLS". Diferencia el tráfico seguro e inseguro HTTP usando un puerto de servidor diferente.

o RFC 3268: "AES Ciphersuites for TLS". Añade la familia de cifrado AES.

o RFC 3546: "Transport Layer Security (TLS) Extensions". Añade un mecanismo para negociar extensiones de protocolos durante la inicialización de sesión y define algunas extensiones.

o RFC 4279: "Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)". Añade tres conjuntos de nuevas familias de cifrados para que el protocolo TLS permita la autenticación basada en claves previamente compartidas.

3.4. TLS 1.1.

· Es la última versión aprobada del protocolo TLS. Es muy parecida a la versión anterior (TLS 1.0), pero la principal diferencia es la modificación del formato para cifrado RSA anterior al uso de 'master secret', que es parte del mensaje de intercambio de claves del cliente (si se usa RSA). En TLS 1.0 se usaba la versión 1.5 de PCK#1, pasando a usar ahora la versión 2.1. Con este cambio se consigue protección ante ataques descubiertos por Daniel Bleichenbacher que podían lanzarse contra servidores TLS 1.0, usando PKCS#1 versión 1.5. También se incluyen recomendaciones para evitar ataques remotos programados. TLS 1.1 está actualmente implementado en el navegador Opera y en GnuTLS.

Índice


4. CONCLUSIONES.

· La seguridad es un aspecto fundamental para muchas aplicaciones cliente-servidor, siéndo un ejemplo muy importante, por su gran proyección en los últimos tiempos, el negocio electrónico.

Mediante el uso de SSL/TLS se ha conseguido aumentar el grado de seguridad en dichas conexiones cliente-servidor, teniendo presente que la idea de "seguridad total" es una utopía.

Como se ha explicado en esta ampliación el uso de SSL/TLS junto con otras técnicas como IPSec, cifrado RPC, etc, nos ayudan a mantener la confidencialidad e integridad de los datos durante la comunicación, protegiéndo así datos confidenciales como números de tarjetas de crédito en las diferentes transacciones de comercio electronico, envío de información privada, en una intranet o a través de Internet, de una organización, etc.

Aunque no hay que olvidar que los ataques pueden ser múltiples y cada vez más sofisticados, lo que obliga a una permanente investigación de mejora de los diferentes protocolos de seguridad, se puede decir que un uso correcto de estos protocolos nos proporciona hoy en día un nivel de seguridad "bastante aceptable".

Malware

(del inglés malicious software, también llamado badware, software malicioso o software malintencionado) es un software que tiene como objetivo infiltrarse en o dañar un ordenador sin el conocimiento de su dueño y con finalidades muy diversas ya que en esta categoría encontramos desde un troyano hasta un spyware.

Esta expresión es un término general muy utilizado por profesionales de la computación para definir una variedad de software o programas de códigos hostiles e intrusivos. Muchos usuarios de computadores no están aún familiarizados con este término y otros incluso nunca lo han utilizado. Sin embargo la expresión "virus informático" es más utilizada en el lenguaje cotidiano y a menudo en los medios de comunicación para describir todos los tipos de malware. Se debe considerar que el ataque a la vulnerabilidad por malware, puede ser a una aplicación, una computadora, un sistema operativo o una red.

COMO FUNCIONA UN ANTIVIRUS

BitDefender saca a la luz el funcionamiento de un motor antivirus

Se habla mucho sobre virus y malware que continuamente atacan nuestros ordenadores, pero poco sabemos sobre la tecnología utilizada para proteger nuestros equipos de estas amenazas. ¿Qué conocemos sobre la arquitectura, diseño o estructura general de un antivirus?

El motor antivirus de BitDefender presenta una arquitectura escalable y basada en distintos motores para diferentes tipos de archivos y malware, que se cargan en tiempo real, sin necesidad de reconfigurar o reiniciar el sistema.

Cada tipo de malware es controlado por un plugin que detecta y desinfecta un tipo de amenaza determinada. Los plugins, que tienen la capacidad de poder comunicarse entre ellos, funcionan de forma secuencial para detectar malware y spyware.

El Antivirus de BitDefender es flexible e independiente de la plataforma, siendo compatible a nivel binario con cualquier sistema operativo basado en IA32 (Ej. Windows, Linux, FreeBSD), y a nivel de código fuente con otros sistemas operativos. Esto significa un ahorro de problemas de compatibilidad, ya que no hay que desarrollarlas para cada sistema operativo.

El motor de antivirus de BitDefender se divide en dos componentes principales:

A) Los motores de análisis

B) Lógica de ficheros comprimidos / empaquetados

A) Los motores de detección:

Los motores de detección están compuestos de módulos que están continuamente mejorándose para ofrecer protección contra todo tipo de malware y que incluyen, pero no se limitan, a: virus ejecutables, script virus, macro virus, puertas traseras, troyanos, spyware, dealers, etc. A cada familia de virus se le asigna un motor de detección específico diseñado de acuerdo con unas características especiales.

Sistema Antivirus BitDefender

Los motores de análisis se componen de diferentes tecnologías que han sido implementadas a lo largo de los años:

1. Análisis Clásico Antivirus

En febrero de 2006, BitDefender tenía en su base de datos alrededor de 270.000 firmas de malware (de las cuales “sólo” 256.000 eran virus y gusanos, y el resto spyware). Al añadir firmas genéricas pueden detectarse muchos virus o amenazas de spyware similares en su comportamiento, y que son detectados mediante única firma, por lo que el número de detección es mucho mayor. Las firmas genéricas, también pueden ayudar a protegerse contra nuevas variantes de malware antiguo.

2. Análisis Heurístico

La tecnología B-Have (Behavioral Heuristic Analyzer in Virtual Environments) combina diferentes técnicas para detectar el malware de forma proactiva. Esta tecnología ha sido minuciosamente analizada y probada, siendo responsable de algunos de los resultados más espectaculares.

La tecnología B-Have también actúa como un “multiplicador de fuerza” para otras formas de defensa tradicionales.

A diferencia de otros sistemas de detección heurística, B-HAVE implementa componentes heurísticos basados en el comportamiento, que reducen los falsos positivos e incrementa el ratio de detección de malware nuevo.

3. Código de detección Exploit

Se pueden añadir rutinas especiales de detección al módulo antivirus para erradicar código exploit (Ej. WMF). Gracias a estas rutinas, es posible detectar gusanos antes de que se aprovechen de un nuevo exploit.

B) Lógica de ficheros comprimidos / empaquetados:

La lógica de ficheros del motor antivirus de BitDefender está basada en el concepto de “Análisis en profundidad”, que significa que puede configurarse para analizar ficheros que contienen un archivo comprimido/empaquetado hasta cualquier profundidad, a la vez que se hace impermeable a los ataques de DoS.

El 80% de los nuevos virus que aparecen, utilizan algún tipo de empaquetado. Las rutinas de desempaquetación genéricas aceptan las variaciones en el formato, de modo que pueden actuar sobre tipos nuevos o desconocidos. Los archivos se desempaquetan, se analizan, se limpian y se vuelven a comprimir.

Spam

De Wikipedia, la enciclopedia libre

(Redirigido desde Correo no deseado)

Saltar a navegación, búsqueda

Para la gestión del spam en Wikipedia, véase Wikipedia:Spam.

Para el alimento en lata, véase Spam (alimento).

Se llama spam, correo basura o sms basura a los mensajes no solicitados, habitualmente de tipo publicitario, enviados en grandes cantidades (incluso masivas) que perjudican de alguna o varias maneras al receptor. La acción de enviar dichos mensajes se denomina spamming. Aunque se puede hacer por distintas vías, la más utilizada entre el público en general es la basada en el correo electrónico. Otras tecnologías de internet que han sido objeto de correo basura incluyen grupos de noticias, usenet, motores de búsqueda, wikis, foros, blogs, también a través de popups y todo tipo de imágenes y textos en la web. El correo basura también puede tener como objetivo los teléfonos móviles (a través de mensajes de texto) y los sistemas de mensajería instantánea como por ejemplo Outlook, Lotus Notes, etc.

Spam en el correo electrónico [editar]

El Spam supone actualmente la mayor parte de los mensajes electrónicos intercambiados en internet, siendo utilizado para anunciar productos y servicios de dudosa calidad. Rolex, eBay y viagra son los asuntos de los mensajes que compiten por el primer lugar en las clasificaciones de Spam.[2] [3] [4] [5] [6]

Usualmente los mensajes indican como remitente del correo una dirección falsa. Por esta razón, no sirve de nada contestar a los mensajes de Spam: las respuestas serán recibidas por usuarios que nada tienen que ver con ellos. Por ahora, el servicio de correo electrónico no puede identificar los mensajes de forma que se pueda discriminar la verdadera dirección de correo electrónico del remitente, de una falsa. Esta situación que puede resultar chocante en un primer momento, es semejante por ejemplo a la que ocurre con el correo postal ordinario: nada impide poner en una carta o postal una dirección de remitente aleatoria: el correo llegará en cualquier caso. No obstante, hay tecnologías desarrolladas en esta dirección: por ejemplo el remitente puede firmar sus mensajes mediante criptografía de clave pública.

Los filtros automáticos antispam analizan el contenido de los mensajes buscando, por ejemplo, palabras como rolex, viagra, y sex que son las más usuales en los mensajes de Spam. No se recomienda utilizar estas palabras en la corespondencia por correo electrónico: el mensaje podría ser calificado como Spam por los sistemas automáticos antispam.[cita requerida

¿Qué es el filtro antivirus/antispam?

El Filtro antivirus / antispam es un sistema incorporado a nuestros servidores de correo que realiza una doble función: filtro antivirus y filtro antispam.

El filtro antivirus se encarga de eliminar todo mensaje infectado remitido a cualquiera de las direcciones de correo de su dominio de manera que usted solo reciba en sustitución del mensaje infectado y en la misma dirección a la que iba remitido el mismo, un mensaje automático informándole de dicha actuación.

El filtro antispam examina todo mensaje remitido a las direcciones de correo electrónico de su dominio y les asigna una probabilidad de que sean mensajes de SPAM, aplicando una serie de reglas internas. Posteriormente usted podrá crear unas reglas de actuación en su WebMail para eliminar los mensajes marcados como SPAM.

Gestionar Correo para Usuarios no Existentes

Configurar preferencias a nivel de servidor para gestionar correo para usuarios no existentes

Cuando alguien envía un mensaje de email a una dirección que no existe en su dominio, el servidor de correo acepta por defecto los correos, los procesa y cuando verifica que dicho destinatario no existe, devuelve el correo al remitente con el aviso "esta dirección ya no acepta correo". Puede:

  • Cambiar el aviso por defecto si este no es de tu agrado,
  • Reenviar dicho correo a una dirección de correo en concreto,
  • Rechazarlo sin aceptarlo y sin enviar ninguna notificación al remitente.

Este ajuste puede hacer disminuir la carga del servidor de correo debido a la reducción de spam, que generalmente se envía a nombres de usuario generados al azar. De todas formas esto puede aumentar la velocidad en que el filtro spam escanea tu servidor de correo para verificar direcciones de email válidas.

Para configurar los ajustes a nivel del sitio para la entrega de correo a usuarios no existentes:

  1. Vete a Correo > Preferencias.
  2. Selecciona la opción que más te interesa e indica la información solicitada.
  3. Haz clic en OK.