Clonar equipos en red con DRBL

Con este software que es completamente gratuito podemos clonar una imagen previamente creada en otros equipos  a través de la red

Descargar un archivo ISO para CD / DVD. A continuación, puede grabar el archivo ISO en un CD / DVD con cualquier programa burnning, tales K3b en GNU / Linux o InfraRecorder en MS Windows, y remeber a elegir la opción “Grabar imagen” para grabar el archivo ISO en el CD. El CD se puede utilizar para arrancar la máquina que deseas imagen o clon.

Para una unidad flash USB o disco duro USB:
Para poner DRBL vivo en una unidad flash USB o disco duro USB, compruebe este doc.

Una vez que el medio de arranque está listo, puede arrancar en la máquina que desea ejecutar como servidor DRBL.Después de que entre X-ventana, puede hacer clic en el icono “Clonezilla SE” para hacer la configuración de ejecución. A continuación se le pedirá que la manera de hacer eso.

 

    1. El segundo método consiste en instalar y configurar DRBL el sistema GNU / Linux.

Debajo tienes 3 pdf sobre distintas maneras de realizar la clonación

 

 
PDF: Clonezilla server con multicast en el que el servidor dhcp es el router.pdf

PDF: DRBL_mulsticast.pdf

PDF: Clonación mediante DRBL  y un servidor ssh.pdf

 

Establecer contraseñas en Apache para su acceso

Introducción

Al configurar un servidor web, a menudo hay secciones del sitio que desea restringir el acceso a. Las aplicaciones web a menudo proporcionan sus propios métodos de autenticación y autorización, pero el propio servidor web se puede utilizar para restringir el acceso si éstos son insuficientes o no disponibles.

En esta guía, vamos a demostrar cómo proteger con contraseña los activos en un servidor web Apache corriendo en Ubuntu 14.04.

Requisitos previos

Para empezar, tendrá acceso a un entorno de servidor de Ubuntu 14.04. Usted necesitará un usuario no root con sudo privilegios con el fin de realizar tareas administrativas. Para aprender cómo crear un usuario tal, siga nuestra guía de configuración inicial del servidor de Ubuntu 14.04.

Instale el paquete Utilidades Apache

Con el fin de crear el archivo que almacenará las contraseñas necesarias para acceder a nuestro contenido restringido, vamos a utilizar una utilidad llamada htpasswd. Esto se encuentra en el apache2-utils paquete dentro de los repositorios de Ubuntu.

Actualizar el caché local de paquetes e instale el paquete escribiendo este comando. Vamos a aprovechar esta oportunidad para también tomar el servidor Apache 2 en caso de que todavía no está instalado en el servidor:

  • sudo update apt-get
  • sudo apt-get install apache2 apache2-utils

Cree el archivo de contraseñas

Ahora tenemos acceso al htpasswd comandos. Podemos usar esto para crear un archivo de contraseñas que Apache puede utilizar para autenticar a los usuarios. Vamos a crear un archivo oculto para este propósito llamado .htpasswd dentro de nuestro / etc / apache2 directorio de configuración.

La primera vez que usamos esta utilidad, tenemos que añadir el -c opción de crear el archivo especificado. Especificamos un nombre de usuario (sammy en este ejemplo) al final del comando para crear una nueva entrada en el archivo:

  • sudo htpasswd -c /etc/apache2/.htpasswd sammy

Se le pedirá que proporcione y confirme una contraseña para el usuario.

Dejar de lado la -c argumento a favor de los usuarios adicionales que desea añadir:

  • sudo htpasswd /etc/apache2/.htpasswd another_user

Si vemos el contenido del archivo, podemos ver el nombre de usuario y la contraseña cifrada para cada registro:

  • /etc/apache2/.htpasswd gato

Producción

sammy: $ APR1 $ lzxsIfXG $ tmCvCfb49vpPFwKGVsuYz. another_user: $ APR1 $ p1E9MeAf $ kiAhneUwr.MhAE2kKGYHK.

Configure Apache autenticación de contraseña

Ahora que tenemos un archivo con nuestros usuarios y contraseñas en un formato que Apache puede leer, tenemos que configurar Apache para comprobar este archivo antes de servir nuestro contenido protegido. Podemos hacerlo de dos maneras diferentes.

La primera opción es editar la configuración de Apache y añadir nuestra protección de contraseña en el archivo de host virtual. En general, esto dará un mejor rendimiento, ya que evita el gasto de la lectura de archivos de configuración distribuidos. Si usted tiene esta opción, se recomienda este método.

Si usted no tiene la capacidad de modificar el archivo host virtual (o si ya está utilizando .htaccess archivos para otros fines), puede restringir el acceso mediante un .htaccess archivo.Apache usa .htaccess` archivos con el fin de permitir que ciertos elementos de configuración que se establezcan dentro de un archivo en un directorio de contenido. La desventaja es que Apache tiene que volver a leer estos archivos en cada petición que implica el directorio, lo que puede afectar al rendimiento.

Elija la opción que mejor se adapte a sus necesidades a continuación.

Configuración de control de acceso dentro de la Hostia Definición virtual

Comience abriendo el archivo de host virtual que desea agregar una restricción a. Para nuestro ejemplo, vamos a estar usando el 000-default.conf archivo que contiene el host virtual predeterminado instalado a través del paquete apache de Ubuntu:

  • sudo nano / etc / apache2 / sites-enabled / 000-default.conf

En el interior, con los comentarios despojados, el archivo debe ser similar a esto:

/etc/apache2/sites-enabled/000-default.conf

<VirtualHost *: 80> ServerAdmin webmaster @ localhost DocumentRoot / var / www / html ErrorLog $ {} /error.log APACHE_LOG_DIR CustomLog $ {} APACHE_LOG_DIR /access.log combinado </ VirtualHost>

La autenticación se realiza en función de cada directorio. Para configurar la autenticación, tendrá que apuntar al directorio que desea restringir con un <Directorio ___> bloque. En nuestro ejemplo, vamos a restringir toda la raíz del documento, pero se puede modificar esta lista sólo apuntar a un directorio específico en el espacio web:

/etc/apache2/sites-enabled/000-default.conf

<VirtualHost *: 80> ServerAdmin webmaster @ localhost DocumentRoot / var / www / html ErrorLog $ {} /error.log APACHE_LOG_DIR CustomLog $ {} APACHE_LOG_DIR /access.log combinado <Directory "/ var / www / html"> </ Directory> </ VirtualHost>

Dentro de este bloque de directorio, especificamos que queremos configurar básico de autenticación.Para el AuthName, elegir un nombre de dominio que se mostrará al usuario cuando pidan credenciales. Utilice la AuthUserFile Directiva señalar Apache para el archivo de contraseñas que hemos creado. Por último, vamos a requerir un usuario válido para acceder a este recurso, lo que significa que cualquier persona que pueda verificar su identidad con una contraseña será permitido en:

/etc/apache2/sites-enabled/000-default.conf

<VirtualHost *: 80> ServerAdmin webmaster @ localhost DocumentRoot / var / www / html ErrorLog $ {} /error.log APACHE_LOG_DIR CustomLog $ {} APACHE_LOG_DIR /access.log combinado <Directory "/ var / www / html"> AuthType Basic AuthName "Contenido restringido" AuthUserFile /etc/apache2/.htpasswd Require valid-user </ Directory> </ VirtualHost>

Guarde y cierre el archivo cuando haya terminado. Reinicie Apache para implementar su política de contraseñas:

  • sudo restart apache2 servicio

El directorio que ha especificado ahora debería ser protegido por contraseña.

Configuración de control de acceso con archivos .htaccess

Si desea configurar la protección por contraseña utilizando .htaccess archivos en lugar, usted debe comenzar mediante la edición del archivo principal de configuración para permitir Apache .htaccessarchivos:

  • sudo nano /etc/apache2/apache2.conf

Encuentra el <Directory> bloque para el directorio / var / www directorio que contiene la raíz del documento. Encienda .htaccess procesamiento cambiando el AllowOverride Directiva dentro de ese bloque de “Ninguno” para “todos”:

/etc/apache2/apache2.conf

. . . <Directory / var / www /> Options Indexes FollowSymLinks AllowOverride All Requerir toda concedida </ Directory> . . .

Guarde y cierre el archivo cuando haya terminado.

A continuación, tenemos que añadir un .htaccess archivo en el directorio que queremos restringir. En nuestra demostración, nos restringimos a toda la raíz del documento (todo el sitio web) que se basa en / var / www / html, pero puedes colocar este archivo en cualquier directorio que desea restringir el acceso a:

  • sudo nano /var/www/html/.htaccess

Dentro de este archivo, especificamos que queremos configurar básico de autenticación. Para elAuthName, elegir un nombre de dominio que se mostrará al usuario cuando pidan credenciales. Utilice la AuthUserFile Directiva señalar Apache para el archivo de contraseñas que hemos creado. Por último, vamos a requerir un usuario válido para acceder a este recurso, lo que significa que cualquier persona que pueda verificar su identidad con una contraseña será permitido en:

/var/www/html/.htaccess

AuthType básico AuthName "Contenido restringido" AuthUserFile /etc/apache2/.htpasswd Requerir valid-user

Guarde y cierre el archivo. Reinicie el servidor Web para proteger con contraseña todo el contenido en o por debajo del directorio con el .htaccess archivo:

  • sudo restart apache2 servicio

Confirme la autenticación de contraseña

Para confirmar que el contenido está protegido, trate de acceder a su contenido restringido en un navegador web. Usted debe ser presentado con el símbolo del nombre de usuario y contraseña que se ve así:

Como proteger un servidor Apache con Fail2Ban

 ¿Para que sirve y que es Fail2Ban ?

Esta herramienta de código abierto permite bloquear o vetar a aquellos que al tratar de violentar un servicio produzcan errores de autenticación.

Protección del servidor Apache

Cuando se opera un servidor web, es importante poner en práctica medidas de seguridad para proteger su sitio y los usuarios. La protección de sus sitios web y aplicaciones con las políticas de firewall y restringir el acceso a ciertas áreas con la autenticación de la contraseña es un gran punto de partida para la seguridad de su sistema. Sin embargo, cualquier solicitud de contraseña de acceso público es probable que atraiga a los intentos de fuerza bruta de usuarios maliciosos y bots.

La configuración de fail2ban puede ayudar a aliviar este problema. Cuando los usuarios fracasan repetidamente para autenticarse en un servicio (o se dedican a otras actividades sospechosas), fail2banpuede emitir una prohibición temporal sobre la dirección IP infractora modificando dinámicamente la política de firewall corriendo. Cada fail2ban “cárcel” opera mediante la comprobación de los registros escritos por un servicio para los patrones que indican intentos fallidos. Configuración de fail2ban para monitorear registros de Apache es fácil usando los filtros de configuración incluidos.

En esta guía, vamos a demostrar cómo instalar fail2ban y configurarlo para monitorear los registros de Apache para los intentos de intrusión. Vamos a utilizar un servidor de Ubuntu 14.04.

Instalación y configuración de Apache autenticación de contraseña

Si usted está interesado en la protección de su servidor Apache con fail2ban, es posible que ya tiene un servidor configurado y funcionando. Si no es así, puede instalar Apache desde repositorios por defecto de Ubuntu usando apt.

Actualizar el índice de paquetes locales e instalar escribiendo:

  • sudo update apt-get
  • sudo apt-get install apache2

Instalar en ubuntu Fail2Ban

Una vez que el servidor Apache se está ejecutando y la autenticación de contraseña está activada, usted puede seguir adelante e instalar fail2ban (incluimos otro repositorio re-fetch aquí en caso de que ya habías Apache creado en los pasos anteriores):

Para su instalación:

  • sudo update apt-get
  • sudo apt-get install fail2ban

 

  • Mac OS X
  • Como de costumbre utilizaremos el método predilecto de instalación por Homebrew, para ello solo debemos ejecutar lo siguiente en el terminal:
    $ brew update
    ...
    $ brew install fail2ban
  • Debian

    Para sistemas basados en Debian como Ubuntu podemos utilizar el manejador de paquetes por defecto que trae el sistema:

    $sudo apt-get update ...

    $ sudo apt-get install fail2ban

    Fedora

    Para sistemas basados en Fedora también utilizaremos el manejador de paquetes por defecto del sistema:

    $ yum update
    ...
    $ yum install fail2b

Esto instalará el software. Por defecto, fail2ban se configura solamente para la prohibición de intentos fallidos de conexión SSH. Tenemos que permitir que configurarlo para comprobar nuestros registros de Apache para los patrones que indican la actividad maliciosa.

 Ajuste de los parámetros generales dentro Fail2Ban

Para empezar, tenemos que ajustar el archivo de configuración que fail2ban para determinar qué registros de aplicación se van a vigilar y qué acciones tomar cuando se encuentren entradas infractoras. Donde /etc/fail2ban/jail.conf es el principal archivo de configuración

Para hacer modificaciones, tenemos que copiar este archivo a /etc/fail2ban/jail.local. Esto evitará que nuestros cambios de ser sobrescrita si una actualización del paquete proporciona un nuevo archivo predeterminado:

  • sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Abra el archivo recién copiado de manera que podamos establecer nuestro monitoreo de registro de Apache:

  • sudo nano /etc/fail2ban/jail.local

Cambiar valores predeterminados

Deberíamos empezar por evaluar los valores por omisión configurados dentro del archivo para ver si se adaptan a nuestras necesidades. Estos se pueden encontrar en la [DEFAULT] sección dentro del archivo.Estos artículos establecen la política general y cada uno puede ser anulados en cárceles específicas.

Uno de los primeros puntos a considerar es la lista de los clientes que no están sujetos a las fail2banpolíticas. Esto se establece por el ignoreip Directiva. A veces es una buena idea añadir su dirección IP o la red a la lista de excepciones para evitar el bloqueo a ti mismo. Este es un problema menor con los inicios de sesión del servidor web, aunque si usted es capaz de mantener el acceso shell, ya que siempre puede revertir manualmente la prohibición. Puede agregar direcciones IP adicionales o redes delimitados por un espacio, a la lista existente:

/etc/fail2ban/jail.local


[DEFAULT]. . . 
Ignoreip = 127.0.0.1/8 your_home_IP

Otro elemento que es posible que desee ajustar es el bantime, que controla cuántos segundos miembro infractor está prohibido para. Es ideal para fijar a un tiempo lo suficientemente largo para ser perjudicial para los esfuerzos de un agente malicioso, mientras lo suficientemente corto como para permitir que los usuarios legítimos para rectificar errores. De forma predeterminada, se establece en 600 segundos (10 minutos). Aumentar o disminuir este valor como mejor le parezca:

/etc/fail2ban/jail.local


[DEFAULT]. . . 
Bantime = 3600

Las siguientes dos elementos determinan el alcance de líneas de registro utilizadas para determinar un cliente infractor. El findtime especifica una cantidad de tiempo en segundos y el maxretry directiva indica el número de intentos de ser tolerada dentro de ese tiempo. Si un cliente hace más de maxretryintentos dentro de la cantidad de tiempo establecido por findtime, estarán prohibidas:

/etc/fail2ban/jail.local


[DEFAULT]. . . 
Findtime = 3600    # Estas líneas se combinan para prohibir los clientes que no 
maxretry = 6       # para autenticar 6 veces a la media hora.

Configuración del buzón de Notificaciones (Opcional)

Puede habilitar las notificaciones de correo electrónico si desea recibir correo cada vez que la prohibición tiene lugar. Para ello, tendrá que establecer por primera vez un MTA en el servidor para que se pueda enviar correo electrónico. Para aprender a utilizar Postfix para esta tarea, siga esta guía.

Una vez que haya establecido la MTA, usted tendrá que ajustar algunos ajustes adicionales en el[DEFAULT] sección del /etc/fail2ban/jail.local archivo. Para empezar, establezca el mta Directiva.Si configura Postfix, como el tutorial anterior demuestra, cambie este valor a “mail”:

/etc/fail2ban/jail.local


[DEFAULT]. . . 
Mta = electrónico

Es necesario seleccionar la dirección de correo electrónico que se enviará notificaciones. Modifique ladestemail Directiva con este valor. El SenderName directiva se puede utilizar para modificar el campo “Remitente” en los correos electrónicos de notificación:

/etc/fail2ban/jail.local


[DEFAULT]. . . 
Destemail = youraccount@email.com 
SenderName = Fail2BanAlerts

En fail2ban jerga, una “acción” es el procedimiento seguido cuando un cliente no autenticación demasiadas veces. La acción por defecto (llamado action_) es simplemente prohibir la dirección IP del puerto de que se trate. Sin embargo, hay otras dos acciones pre-hechos que pueden ser utilizados si usted tiene correo configurado.

Puede utilizar el action_mw medidas para prohibir el cliente y enviará una notificación por correo electrónico a su cuenta configurada con un informe “whois” en la dirección de la delincuencia. También puede utilizar el action_mwl acción, que hace lo mismo, pero también incluye las líneas de registro infractor que desencadenaron la prohibición:

/etc/fail2ban/jail.local


[DEFAULT]. . . 
Action =% (action_mwl) s

Configuración Fail2Ban para supervisar los registros de Apache

Ahora que tiene algunos de los generales fail2ban ajustes en su lugar, podemos concentrarnos en capacitar a las cárceles específicas de Apache que vigilar nuestros registros del servidor web para patrones específicos de comportamiento.

Cada cárcel dentro del archivo de configuración está marcada por una cabecera que contiene el nombre de la cárcel entre corchetes (todas las secciones, pero el [DEFAULT] sección indica la configuración de una cárcel específica). De forma predeterminada, sólo el [ssh] cárcel está habilitada.

Para habilitar la supervisión de registro de Apache intentos de conexión, vamos a permitir que el[apache] cárcel. Edite el permitido Directiva dentro de esta sección para que diga “verdadero”:

/etc/fail2ban/jail.local
[apache] 

enabled = verdadero 
puerto = http, https 
filtro = apache-auth 
logpath = /var/log/apache*/*error.log 
maxretry = 
6.. .

Si el servidor Apache está escribiendo a la ubicación de registro predeterminado(/var/log/apache/error.log) la cárcel ya está configurado para buscar en el lugar correcto. Si está iniciando sesión a otra ubicación, modifique el logpath según sea necesario. Además, no dude en ajustar el maxretry Directiva o añadir un findtime valor de esta cárcel si desea establecer diferentes restricciones para este cárcel específica:

/etc/fail2ban/jail.local
[apache] 

enabled = verdadero 
puerto = http, https 
filtro = apache-auth 
logpath = /var/log/apache/custom_log_location.log 
maxretry = 3 
findtime = 
600. . .

La cárcel anterior se hará cargo de la prohibición de los fallos de autenticación básica. Hay también algunas otras cárceles preconfigurados que valen habilitación (el [apache-multipuerto] cárcel es una cárcel legado que no es necesario).

El [apache-noscript] la cárcel se utiliza para prohibir los clientes que están en busca de secuencias de comandos en el sitio web para ejecutar y explotar. Si usted no utiliza PHP o cualquier otro idioma junto con su servidor web, puede habilitar esta cárcel para prohibir aquellos que solicitan este tipo de recursos:

/etc/fail2ban/jail.local
[apache-noscript] 

enabled = 
verdadero. . .

El [apache-desbordamientos] la cárcel se utiliza para bloquear los clientes que están intentando solicitar URLs inusualmente largos y sospechosas. Estos son a menudo signos de los intentos de aprovechar Apache tratando de provocar un desbordamiento de búfer. Puede activar esta cárcel si desea evitar que este tipo de ataques:

/etc/fail2ban/jail.local
[apache-desbordamientos] 

enabled = 
verdadero. . .

Algunas comprobaciones adicionales pueden hacerse copiando y pegando la [apache-desbordamientos] entrada y modificando ligeramente. Por ejemplo, puede copiar y pegar esa sección y modificar el nombre de la cárcel y filtrar a apache-badbots para detener algunos patrones de solicitud de bots maliciosos conocidos:

/etc/fail2ban/jail.local
[apache-desbordamientos] 

enabled = verdadero 
puerto = http, https 
filtro = apache-desbordamientos 
logpath = /var/log/apache*/*error.log 
maxretry = 2 

[-badbots apache] 
enabled = verdadero 
puerto = http, https 
filtro = apache-badbots 
logpath = /var/log/apache*/*error.log 
maxretry = 2

Si usted no utiliza Apache para proporcionar acceso al contenido de la web dentro de los directorios personales de los usuarios, puede copiar y pegar de nuevo y cambiar los nombres de cárcel y filtrar aapache-nohome:

/etc/fail2ban/jail.local
[apache-desbordamientos] 

enabled = verdadero 
puerto = http, https 
filtro = apache-desbordamientos 
logpath = /var/log/apache*/*error.log 
maxretry = 2 

[-badbots apache] 

enabled = verdadero 
puerto = http, https 
filtro = apache-badbots 
logpath = /var/log/apache*/*error.log 
maxretry = 2 

[-nohome apache] 
enabled = verdadero 
puerto = http, https 
filtro =-apache nohome 
logpath = / var / log / apache * / * error .log 
maxretry = 2

Por último, si usted está usando Apache con PHP, es posible que desee habilitar la [php-url-fopen] la cárcel, que bloquea los intentos de utilizar un determinado comportamiento de PHP para fines maliciosos.Es probable que tenga que cambiar el logpath directiva para señalar la ubicación del registro de acceso correcto (en Ubuntu, la ubicación predeterminada es /var/log/apache2/access.log). Puede utilizar un patrón similar a la que coincida con el registro de errores en las otras cárceles:

/etc/fail2ban/jail.local
[php-url-fopen] 

enabled = verdadero 
puerto = http, https 
filtro = php-url-fopen 
logpath = /var/log/apache*/*access.log

Cuando haya terminado de realizar las modificaciones que necesita, guardar y cerrar el archivo.

La implementación de sus configuraciones Apache

Para aplicar los cambios de configuración, tendrá que reiniciar el fail2ban servicio. Puede hacerlo escribiendo:

  • sudo restart fail2ban servicio

El servicio debe reiniciar, la aplicación de las diferentes políticas que prohíben que ha configurado.

Puedes ver todas las configuraciones habilitadas mediante el uso de la fail2ban-client comando:
  • sudo estado fail2ban-client

Usted debe ver una lista de todas las cárceles que se activaron:

Producción
Situación 
| - Número de la cárcel: 7 
`- Cárcel lista: php-url-fopen, apache-desbordamientos, apache-noscript, ssh, apache-badbots, apache-nohome, apache

Se puede ver que fail2ban ha modificado sus reglas de firewall para crear un marco para la prohibición de los clientes. Incluso sin reglas de firewall anteriores, debería tener ahora un marco permitió que permite fail2ban prohibir selectivamente clientes mediante su inclusión en cadenas construidos expresamente:

  • sudo iptables -S
Producción
ENTRADA -P ACCEPT 
-P FORWARD ACCEPT 
SALIDA -P ACCEPT 
fail2ban-apache -N 
-N fail2ban-apache-badbots 
-N fail2ban-apache-nohome 
-N fail2ban-apache-noscript 
-N fail2ban-apache-desbordamientos 
-N fail2ban php- url-fopen 
-N fail2ban-ssh 
-A ENTRADA -p -m tcp multipuerto --dports 80443 -j fail2ban-apache-nohome 
-A INPUT -p tcp -m multipuerto --dports 80,443 -j fail2ban-apache-badbots 
- A ENTRADA -p -m tcp multipuerto --dports 80443 -j fail2ban-php-url-fopen 
-A INPUT -p tcp -m multipuerto --dports 80443 -j fail2ban-apache-desbordamientos 
-A INPUT -p tcp -m multipuerto --dports 80443 -j fail2ban-apache-noscript 
-A ENTRADA -p -m tcp multipuerto --dports 80443 -j fail2ban-apache 
-A INPUT -p tcp -m multipuerto --dports 22 -j fail2ban-ssh 
-A fail2ban -apache -j RETURN 
-A fail2ban-apache-badbots -j RETURN 
-A fail2ban-apache-nohome -j RETURN 
-A fail2ban-apache-noscript -j RETURN 
-A fail2ban-apache-desbordes -J VOLVER 
-A fail2ban php- url-fopen -j RETURN 
-A fail2ban-ssh -j RETURN

Si desea ver los detalles de las prohibiciones de ser aplicadas por cualquier cárcel, es probable que sea más fácil utilizar el cliente fail2ban nuevo:

  • sudo fail2ban-client estado de apache
Producción
Estado de la cárcel: apache 
| - Filtro 
| | - Lista de archivos: /var/log/apache2/error.log 
| | - En la actualidad no: 0 
| `- Total falló: 0 
'- Acción 
   | - Actualmente prohibido: 0 
   | `- Lista de direcciones 
   IP:` - Total prohibido: 0
 Políticas de pruebas fail2ban

Es importante poner a prueba tus fail2ban políticas para asegurar que bloquean el tráfico como se esperaba. Por ejemplo, para la solicitud de autenticación de Apache, puede dar credenciales incorrectas en varias ocasiones. Después de haber superado el límite, debe ser prohibido y no puede acceder al sitio.Si configura las notificaciones de correo electrónico, debería ver mensajes relacionados con la prohibición de la cuenta de correo electrónico que nos ha facilitado.

Si nos fijamos en el estado con el fail2ban-cliente del sistema, usted podrá ver su dirección IP está prohibido en el sitio:

  • sudo fail2ban-client apache estado
Producción
Estado de la cárcel: apache 
| - Filtro 
| | - Lista de archivos: /var/log/apache2/error.log 
| | - En la actualidad no: 0 
| `- Total falló: 12 
'- Acción 
   | - Actualmente prohibido: 1 
   | `- Lista de direcciones IP:        
   111.111.111.111` - Total prohibido: 1

Cuando esté satisfecho de que sus normas están trabajando, puede manualmente ban de su dirección IP con el cliente fail2ban escribiendo:

  • sudo fail2ban-cliente configurar apache unbanip 111.111.111.111

Ahora debería ser capaz de intentar la autenticación de nuevo.

Conclusión

Configuración de fail2ban para proteger su servidor Apache es bastante sencillo en el caso más simple.Sin embargo, fail2ban proporciona una gran flexibilidad para la construcción de políticas que se adapten a sus necesidades de seguridad específicas. Al echar un vistazo a las variables y patrones dentro de la /etc/fail2ban/jail.local de archivos y los archivos depende de dentro de los/etc/fail2ban/filter.d y /etc/fail2ban/action.d directorios, puede encontrar muchas piezas de ajustar y cambiar a medida que evolucionan sus necesidades. Aprender los conceptos básicos de cómo proteger su servidor con fail2ban puede proporcionarle una gran cantidad de la seguridad con el mínimo esfuerzo.

 

 

Instalación del servidor de aplicaciones JBoss

Instalación el servidor de aplicaciones JBoss

JBoss es un servidor de aplicaciones JEE de código abierto desarrollado  en Java, por tal razón se puede trabajar con el desde cualquier sistema operativo que tenga previamente instalado un JDK (Java Virtual Machine).

Para la descarga del servidor ingresamos al linck de descargas de la página oficial, desde allí buscamos la versión con la que queremos trabajar.

Presionamos Download, después de esto se carga una ventana de confirmación que debemos aceptar.

Al presionar en Continue nos dirigimos a otra página en la que escogemos cual archivo descargar, seleccionamos la descarga .zip

Solo nos falta definir la ruta donde queremos almacenar nuestro servidor he iniciar el proceso de descarga.

Cuando finalice el proceso descomprimimos el archivo en el directorio que vamos a usar como referencia, para este ejemplo (y es lo mas recomendable) lo descomprimimos en la raíz del C:/

En la Imagen anterior, vemos que en mi máquina tengo tres servidores JBoss (No confundirlo con el Framework JBoss Seam), dos con versión  4.2.3.GA y uno con 5.1.0, además le cambie el nombre de la carpeta a uno de ellos, esto no nos presentara ningún tipo de inconveniente ya que se tiene que definir cual es el servidor que queremos usar por medio de la variable de entorno JBOSS_HOME.

para esto, vamos a “Panel de Control/Sistema y seguridad/Sistema/Configuración avanzada del sistema” (o simplemente para evitar tanto camino……. click derecho en MiPc y Propiedades y listo… )

y en la ventana que se carga seleccionamos Variables de entorno…

Se carga otra ventana en la que podemos ver las variables de entorno que tiene el sistema actualmente, seleccionamos Nueva…   luego definimos el nombre de nuestra variable y el valor correspondiente a la ruta donde lo tenemos instalado…(como vemos en la imagen también se tiene la variable JAVA_HOME)

Si navegamos por el servidor vemos que se compone de varios directorios con archivos necesarios para el despliegue de aplicaciones, veremos carpetas de librerías, archivos de configuración, ejecutables entre otros.

vemos también la carpeta server/default donde se almacenaran archivos temporales, librerías usadas para el despliegue de aplicaciones, archivos de despliegue en formatos war, ear, o algunos archivos de conexión (mas adelante en el siguiente tutorial veremos un poco mas de estos directorios.)

Despliegue del Servidor.

Después de establecer la variable de entorno, ingresamos a la carpeta bin del servidor (C:\jboss-4.2.3.GA\bin) y ejecutamos el run.bat que permitirá la ejecución del server, desplegando todo lo que tengamos en la carpeta server/default/deploy

Al hacer esto, se ejecuta la consola del server donde veremos todos los logs que se empiezan a generar, informándonos del proceso de despliegue, aquí veremos como todo se ejecuta correctamente o si existen errores.

al final vemos como la consola nos indica que el servidor fue desplegado correctamente, mediante un Started y el tiempo de despliegue (como en estos momentos no tenemos ninguna aplicación, el server desplegó rápido, dependiendo de lo que tengamos en el, el tiempo puede variar)

en estos momentos con el servidor arriba, podemos verificar la pagina de administración del JBoss, para eso ingresamos en algún explorador al localhost:8080 (8080 es el puerto por defecto del servidor, si queremos puede ser modificado)

como vemos se carga la página de administración del servidor, allí encontramos diferentes enlaces útiles como wikis, foros, documentación entre otros.

Para finalizar el despliegue del servidor, volvemos a la consola del JBoss y simplemente damos un Ctrl+C (Aunque también podemos cerrar la ventana, pero tal vez en ocasiones queden procesos activos)

Vemos como se nos pregunta si deseamos terminar con el proceso, indicamos S y la consola se cierra, y con ello los procesos que estemos ejecutando.

Descarga e instalación de PostgreSQL 9 en Microsoft Windows 7

Descarga e instalación PostgreSQL 9 en Microsoft Windows 7

Accedemos a la siguiente dirección web clic aqui:

Descargamos la versión  9.0.0 RC1 que es beta o la que queramos, Tendiendo en cuenta si es para Windows de 32 bits o 64 bits (Win x86-32):

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Una vez descargado el archivo de instalación de PostgreSQL ejecutamos con el botón derecho del ratón sobre él y seleccionaremos “Ejecutar como administrador”:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Nos mostrará una advertencia con el texto “¿Desea permitir que este programa realice cambios en el equipo?”, pulsaremos “Sí” para continuar con la instalación de PostgreSQL:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Pulsaremos “Siguiente”:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Indicaremos la carpeta donde se guardarán los ejecutables, librerías y ficheros de configuración de PostgreSQL:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Indicaremos la carpeta donde se guardarán los datos por defecto de PostgreSQL:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Introduciremos la contraseña para el superusuario “postgres” que será con el que iniciemos sesión para administrar la base de datos:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Introduciremos el puerto de escucha para la conexión con el servidor PostgreSQL, por defecto el 5432:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Seleccionaremos la configuración regional:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Pulsaremos “Siguiente” para iniciar la instalación definitiva del servidor PostgreSQL ;

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Se iniciará la instalación.

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Una vez finalizada la instalación el asistente nos dará la posibilidad de ejecutar Stack Builder,  que es una aplicación que nos permitirá instalar otros componentes y herramientas para PostgreSQL:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Si hemos marcado la opción de Stack Builder, se iniciará, seleccionaremos “PostgreSQL 9.0 on port 5432” y pulsaremos “Next”:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Seleccionaremos las aplicaciones, componentes y herramientas a instalar y pulsaremos “Next” (en nuestro caso cancelaremos Stack Builder pues no instalaremos más componentes):

Si puede ser interesante insaltar phpPgAdmin para su administración.

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

El asistente para instalar el servodpr PostgreSQL habrá creado un servicio que estará iniciado y en tipo de inicio automático llamado “postgresql-9.0”:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Y habrá creado la carpeta en archivos de programa “PosgreSQL” con las subcarpetas:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Y la carpeta de datos:

AjpdSoft Cómo descargar e instalar PostgreSQL 9 en Microsoft Windows 7

Con esto habremos convertido nuestro equipo Microsoft Windows 7 en un servidor de base de datos PostgreSQL.

Si queremos que los equipos de nuestra red tengan acceso al servidor PostgreSQL y tenemos algún cortafuegos (firewall) deberemos abrir el puerto 5432. Y si queremos que se tenga acceso desde Internet al servidor PostgreSQL deberemos redireccionar (mapear) el puerto 5432 en el router o cortafuegos de nuestra empresa.

Creación de usuarios (roles) y catálogos

Como crear roles

Para el acceso a la administración del motor de base de datos PostgreSQL accederemos al botón “Iniciar” – “PostgreSQL 9.0” – “pgAdmin III”:

AjpdSoft Administración de PostgreSQL, creación de usuarios (roles), catálogos

Desplegaremos “Server Groups”, dentro desplegaremos “Servidores” y dentro de éste pulsaremos con el botón derecho del ratón sobre “PostgreSQL 9.0 (localhost:5432), en el menú emergente seleccionaremos “Conectar”:

AjpdSoft Administración de PostgreSQL, creación de usuarios (roles), catálogos

Introduciremos la contraseña para el superusuario postgres (la contraseña introducida en la instalación):

AjpdSoft Administración de PostgreSQL, creación de usuarios (roles), catálogos

Si todo es correcto nos conectaremos al servidor PostgreSQL, desde pgAdmin podremos configurar y administrar el servidor de PostgreSQL:

AjpdSoft Administración de PostgreSQL, creación de usuarios (roles), catálogos

Para crear un rol de login pulsaremos con el botón derecho del ratón sobre “Roles de Login”, seleccionaremos “Nueva Rol de Login”:

AjpdSoft Administración de PostgreSQL, creación de usuarios (roles), catálogos

En la pestaña “Propiedades” introduciremos los siguientes datos:

  • Nombre del Rol: nombre del usuario, en nuestro caso “ajpdsoft”.
  • Contraseña: contraseña para este usuario (rol).
  • La cuenta caduca: si queremso que la cuenta de usuario caduque en una fecha la estableceremos en este campo.

AjpdSoft Administración de PostgreSQL, creación de usuarios (roles), catálogos

En la pestaña “Privilegios de Rol” podremos indicar si este usuario será superusuario, si puede crear objetos de la base de datos y si puede crear roles:

AjpdSoft Administración de PostgreSQL, creación de usuarios (roles), catálogos

Pulsaremos “OK” en la ventana anterior para crear el rol de login.

El script SQL para crear un usuario (rol) en PostgreSQL, script que podremos ver en la pestaña “SQL”, antes de pulsar en “OK” en la ventana anterior:

CREATE ROLE ajpdsoft
LOGIN ENCRYPTED PASSWORD ‘md55f8e1f359c12dafag3h3hfjbxxxb857’
VALID UNTIL ‘infinity’;

Incio creando una tablespace para guardar los datos de una base de datos en PostgreSQL

Antes de crear una base de datos, podemos crear el tablespace donde guardaremos los datos de la misma, si bien se pueden utilizar los tablespaces por defecto de PostgreSQL (pg_default y pg_global) es recomendable crear tablespaces separados. Para crear un tablespace accederemos a la administración pgAdmin, sobre “Tablespaces” pulsaremos con el botón derecho y seleccionaremos “Nuevo Tablespace”:

AjpdSoft Crear tablespace para guardar los datos de una base de datos en PostgreSQL

En la pestaña “Propiedades” introduciremos los siguientes datos:

  • Nombre: nombre que identificará el tablespace, en nuestro caso “tb_ajpdsoft”.
  • Locación: ubicación de los datos del tablespace, en nuestro caso:

C:datos_postgresqltb_ajpdsoft

  • Propietario: seleccionaremos el usuario creado anteriormente “ajpdsoft”.

Pulsaremos “OK” para crear el tablespace:

AjpdSoft Crear tablespace para guardar los datos de una base de datos en PostgreSQL

Nota: la carpeta de destino de existir, de lo contrario mostrar un error como este:

—————————
pgAdmin III
—————————
Ha ocurrido un error:

ERROR: directory “C:/datos_postgresql/tb_ajpdsoft” does not exist
—————————
Aceptar
—————————

El script SQL que creará el tablespace en PostgreSQL (si lo hiciésemos sin el modo gráfico de pgAdmin

CREATE TABLESPACE tb_ajpdsoft
OWNER ajpdsoft
LOCATION E’C:datos_postgresql b_ajpdsoft’;

Inicialmente, PostgreSQL creará una subcarpeta dentro de la carpeta indicada para el tablespace con un nombre como este: PG_9.0_201008

Creación de una base de datos

Para crear una nueva base de datos en PostgreSQL abriremos pgAdmin, pulsaremos con el botón derecho del ratón sobre “Bases de datos”, seleccionaremos “Nueva Base de Datos”:

AjpdSoft Crear base de datos para guardar tablas y vistas en PostgreSQL

En la pestaña “Propiedades” introduciremos los siguientes datos:

  • Nombre: nombre de la base de datos, en nuestro caso “bdajpdsoft”.
  • Propietario: seleccionaremos el usuario creado anteriormente “ajpdsoft”.
  • Codificado: seleccionaremos UTF8.
  • Tablespace: seleccionaremos el tablespace creado anteriormente “tb_ajpdsoft”.
  • Colación: seleccionaremos “Spanish_Spain.1252”.
  • Tipo carácter: seleccionaremos “Spanish_Spain.1252”.

Pulsaremos “OK” para crear la base de datos:

AjpdSoft Crear base de datos para guardar tablas y vistas en PostgreSQL

El script SQL para crear una base de datos postgreSQL desde la línea de comandos:

CREATE DATABASE bdajpdsoft
WITH ENCODING=’UTF8′
OWNER=ajpdsoft
LC_COLLATE=’Spanish_Spain.1252′
LC_CENGINE=’Spanish_Spain.1252′
CONNECTION LIMIT=-1
TABLESPACE=tb_ajpdsoft;

Creación de un esquema  y una tabla

Para crear un esquema en la base de datos creada anteriomente, la desplegaremos en pgAdmin, en “Esquemas” de esta base de datos pulsaremos con el botón derecho y seleccionaremos “Nuevo Esquema”:

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

En la pestaña “Propiedades” indicaremos el nombre para el esquema, por ejemplo “ajpdsoft” y el usuario (login de inicio) propietario, en nuestro caso “ajpdsoft”. Pulsaremos “OK” para crear el esquema:

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

El script SQL para crear el esquema en PostgreSQL:

CREATE SCHEMA ajpdsoft
AUTHORIZATION ajpdsoft;

Para crear una tabla dentro del esquema “ajpdsoft” (que a su vez está dentro de la base de datos “bdajpdsoft”) pulsaremos con el botón derecho del ratón sobre “Tablas” (dentro del esquema) y seleccionaremos “Nueva Tabla”:

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

Introduciremos el nombre de la tabla, por ejemplo “facturas”, el propietario “ajpdsoft”, el Tablespace “tb_ajpdsoft”:

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

En la pestaña “Columnas” pulsaremos “Añadir”:

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

Introduciremos el nombre de la columna, por ejemplo “codigo”, el tipo de datos (para el autoincremento en PostgreSQL seleccionaremos “serial”), puesto que esta columna será clave primaria marcaremos “No Nulo”:

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

De la misma forma, añadiremos el resto de las columnas para la tabla “facturas”: fecha (de tipo “date”), codigocliente (de tipo “integer”), numero (de tipo “character(40)”), importe (de tipo “money”) y observacion (de tipo “text”):

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

En la pestaña “Restricciones”, para añadir una clave primaria para la tabla, seleccionaremos “Clave Primaria” y pulsaremos “Añadir”:

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

En “Nombre”, introduciremos el nombre para la clave primaria, por ejemplo: cp_codigo:

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

En la pestaña “Columnas” seleccionaremos “codigo” y pulsaremos “Añadir”:

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

Pulsaremos “OK” para crear la clave primaria para el campo “codigo”:

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

Y ya tendremos creada la tabla “facturas” de PostgreSQL:

AjpdSoft Crear un esquema y una tabla de ejemplo en PostgreSQL

El script SQL para crear una tabla en PostgreSQL:

CREATE TABLE ajpdsoft.facturas
(
   codigo serial NOT NULL, 
   fecha date, 
   codigocliente integer, 
   numero character(40), 
   importe money, 
   observacion text, 
   CONSTRAINT cp_codigo PRIMARY KEY (codigo)
) 
WITH (
  OIDS = FALSE
)

TABLESPACE tb_ajpdsoft;
ALTER TABLE ajpdsoft.facturas OWNER TO ajpdsoft;

 

Instalación de un servidor de correo en ubuntu

Instalamos Apache 2
Con esto montamos un servidor web de una forma sencilla. Para que nuestro servidor tenga acceso mediante un servicio web es necesario instalar apache.

En la termiminal tecleamos
#sudo apt-get install apache2

Accedemos a http://localhost en nuestro navegador (Firefox por ejemplo) y veremos la siguiente imagen:

Apache2-funcionando

  
Instalamos un servidor DNS

DNS o Domain Name System es un sistema cuyo principal cometido es asignar y resolver nombres a direcciones IP, de manera que cada vez que queramos acceder a un sitio web no tengamos que recordar la dirección IP de la web sino un nombre más fácil de recordar por las personas. Por ejemplo: Es más fácil recordar www.google.es que su ip.

Dicho esto, podemos ver claramente que un servidor DNS nos ayudará mucho en nuestra labor de crear un servidor de correo en Ubuntu. Para instalar el servidor DNS utilizaremos la aplicación bind9. Para instalarlo, escribiremos en una terminal lo siguiente:


sudo apt-get install bind9

A continuación configuraremos bind9. Localizaremos y editaremos el archivo /etc/bind/named.conf.local para indicarle como se llama nuestra “zona” y configurarla. Aquí estableceremos cual va a ser nuestro dominio. En nuestro caso hemos elegido el dominio “misitio.com”. Podéis ver un ejemplo en la siguiente imagen:

bind9-named.conf.local

Crearemos el archivo “db” que hemos indicado en el archivo anterior al indicarle la zona. Para ello, podemos copiar el archivo db.local y renombrarlo al nuestro (para simplemente editar la información con nuestros datos y no tener que escribir todo el archivo desde cero). En nuestro caso el archivo se llamará “misitio.db“.  Este archivo se ubicará en la carpeta/etc/bind/ , de manera que el archivo estaría en la siguiente ubicación: /etc/bind/misitio.db 

Podéis ver un ejemplo de cómo se ha editado el archivo en la siguiente imagen. En este archivo, configuramos elNameService (NS), el mail (que se explicará más adelante) y el servidor web (www). Recordar que en vez de la ip “192.168.126.34” tendréis que meter la IP de vuestra máquina:

bind9-misitio.db

Reiniciaremos bind9 para que los cambios se guarden mediante el siguiente comando:


sudo /etc/init.d/bind9 restart

Acto seguido, para poder trabajar con el servidor de correo en Ubuntu de forma local, cambiaremos las DNS de nuestra máquina y le introduciremos como DNS la IP de la propia máquina. Para cambiarlo (teniendo el entorno grafico habilitado), nos dirigiremos a Sistema > Administración > Red > Pestaña DNS y eliminaremos las DNS que tenemos para trabajar el local y ahí introduciremos nuestra IP (la IP de la máquina servidor). En nuestro caso hemos introducido 192.168.126.134, pero deberéis introducir la IP local de vuestra maquina Ubuntu.

Cambiar-DNS-Ubuntu

Lo siguiente será abrir nuestro navegador web y dirigirnos a la siguiente dirección: http://www.misitio.com (en nuestro caso es misitio.com pero ahí deberás introducir el dominio que hayas introducido en los pasos anteriores) y veremos lo siguiente:

DNS-funcionando-correctamente

Ya hemos instalado y configurado nuestro DNS para poder tener un servidor de correo en Ubuntu:
Instalar y configurar servidor de correo

Instalar POSTFIX
Postfix es un agente de transporte de correo de manera que nos permite enrutar y transferir correo electrónico. Por ello, si queremos tener un servidor de correo en Ubuntu, deberemos instalar Postfix. Para instalar Postfix, solo tendremos que escribir lo siguiente en un terminal:


sudo apt-get install postfix

Durante la instalación nos aparecerán diferentes ventanas.

postfix-instalacion1

Seleccionaremos “Sitio de Internet”.

postfix-instalacion2

En la siguiente escribiremos el dominio que hayamos escogido. Para poder tener nuestro servidor de correo en Ubuntu, en nuestro caso lo que hemos puesto de la siguiente manera:

postfix-instalacion-dominio

A continuación editaremos el siguiente archivo: /etc/postfix/main.cf

Al final del archivo le añadiremos las siguientes líneas de código que se ven en negro:

postfix-main.cf


inet_protocols = ipv4
home_mailbox = Maildir/

Mediante estas líneas le indicaremos que protocolo vamos a usar y donde se guardarán los emails. Asimismo, revisa que en la directiva mydestination de este mismo fichero podamos ver:


mydestination = misitio.com

Para que los cambios surtan efecto, escribiremos en terminal lo siguiente:


sudo /etc/init.d/postfix restart

COURIER POP Y COURIER IMAP
Para conseguir nuestro servidor de correo en Ubuntu, instalaremos courier-pop y courier-imap mediante los siguientes comandos en terminal:


sudo apt-get install courier-pop

En la instalación de courier-pop le indicaremos que NO .

courier-pop

Instalamos courier-imap:


sudo apt-get install courier-imap

MAILX
Instalaremos mailx, ya que más adelante lo utilizaremos en uno de los pasos para tener nuestro servidor de correo en Ubuntu. Está aplicación nos permitirá enviar emails mediante la línea de comandos.


sudo apt-get install mailx

SQUIRRELMAIL
Squirrelmail es una aplicación webmail en PHP. El objetivo es instalar Squirrelmail para que gracias al servidor web que hemos instalado (Apache2), podamos ver los emails que nos envien. De esta manera, podremos tener un servidor de correo en Ubuntu. Para instalar Squirrelmail, en un terminal introduciremos lo siguiente:


sudo apt-get install squirrelmail

Una vez instalado, escribiremos en la terminal lo siguiente para configurarlo:


squirrelmail-configure

Veremos el siguiente menú:

squirrelmail-configure

Elegiremos la opción D (Set pre-defined settings for specific imap servers). Acto seguido elegiremos el tipo de correo: courier:

squirrelmail-configure-courier

Obtendremos el siguiente resultado:

squirrelmail-configure-courier2

Lo siguiente será escribir 2 y pulsar la tecla ENTER. Veremos lo siguiente:

squirrelmail-configure-2

Lo siguiente será escribir 1 y pulsar ENTER de nuevo. Se verá algo como esto:

squirrelmail-configure-3

A continuación escribiremos el dominio de nuestro sitio web (en nuestro caso misitio.com) que más adelante utilizaremos para acceder a nuestro servidor de correo en Ubuntu. Lo dejaremos como se ve a continuación:

squirrelmail-configure-4

Al pulsar la tecla ENTER el resultado final será el siguiente:

squirrelmail-configure-resultado

Por último, escribiremos Q para salir y guardaremos los datos:

squirrelmail-configure-salir

Lo siguiente que haremos será configurar el webmail de Squirrelmail para que podamos acceder a el vía web mediante apache. Para ello, escribiremos lo siguiente en un terminal:


cd /var/www
sudo ln -s /usr/share/squirrelmail webmail

Una vez escrito, comprobaremos que todo se ha realizado correctamente. Para ello, entraremos en Firefox (o tu navegador favorito) y nos dirigiremos a la siguiente dirección: http://www.misitio.com/webmail (en vez de misitio.com introduciremos el dominio que hayamos configurado en pasos anteriores), donde podremos ver nuestro servidor de correo en Ubuntu vía web.

Es posible que veáis algo como lo que se ve en la siguiente imagen:

apache2-error

En caso de ver esto, borraremos las cookies y toda la información privada de nuestro navegador. Después, reiniciaremos Apache mediante el siguiente comando en la terminal:


sudo /etc/init.d/apache2 restart

Esperaremos a que Apache2 reinicie y volvemos a entrar a http://www.misitio.com/webmail y veremos lo siguiente:

squirrelmail-webmail

Paso 4 – Servidor de correo en Ubuntu:
Crear usuarios y probar que el servidor funciona

El siguiente paso para poder probar el servidor de correo en Ubuntu será crear 2 usuarios. Para ello, escribiremos en la terminal lo siguiente:


sudo adduser user1

Contestaremos a las diferentes preguntas que nos pide (lo más importante es el password, recordarlo ya que lo necesitaremos más adelante) y haremos lo mismo con otro usuario:


sudo adduser user2

Ya estamos muy cerca de tener en funcionamiento el servidor de correo en Ubuntu. Lo siguiente que haremos será enviar un email entre los usuarios creados a través del terminal (para eso hemos instalado mailx unos pasos más atrás). Nos logearemos como user1 mediante el siguiente comando en terminal:


su user1

Nos pedirá la contraseña de user1 (introduciremos la contraseña que hayamos introducido al crear los usuarios). Lo siguiente será enviar un email al user2. Escribiremos lo siguiente en la terminal:


mail user2

En Subject escribiremos el asunto. Pulsaremos ENTER y ahí escribiremos el texto del mensaje. Cuando hayamos acabado de escribir el mensaje, introduciremos un salto de línea (pulsando la tecla ENTER), escribiremos un punto (es decir “.”) y volveremos a pulsar ENTER. Acto seguido nos indicará si queremos enviar el mensaje a más destinatarios (Cc). Como no queremos enviar el mensaje a nadie más volveremos a pulsar ENTER. Puedes ver el resultado en la siguiente imagen:

envio-de-email-mailx

Lo siguiente será comprobar que ese email ha llegado correctamente. Para comprobarlo, abriremos nuestro navegador web, nos dirigiremos a http://www.misitio.com/webmail y nos logearemos con los datos del user2:

SquirrelMail-Login

Veremos la siguiente bandeja de entrada:

SquirrelMail-bandeja-de-entrada

Si pulsamos sobre el email, veremos lo siguiente:

SquirrelMail-email-abierto

Ya hemos comprobado que nuestro servidor de correo en Ubuntu funciona a la perfección, por lo que hasta aquí llega este manual. Espero que este manual de cómo instalar y configurar un servidor de correo en Ubuntu os haya resultado de utilidad. Gracias a Marta por su colaboración en la elaboración de este manual.

 

Montar nuestro servidor en la nube con Owncloud

Nuestro servidor owncloud es una solución de almacenamiento vía Internet similar a Dropbox y a Google Drive. Permite iconectarse a estos servicios  a través de su interface web.

Podemos acceder a nuestra información a través del navegador.

Enumerando sus caracteristicas más importantes:

  • Servidor webdav. Acceso a tus archivos vía apache.
  • Gestión de calendarios, citas, reuniones, etc …
  • Gestión de contactos. Puedes almacenar y gestionar tus contactos además de compartirlos.
  • Servidor de música ampache para escuchar y gestionar tu musica. Podras reproducir musica donde quieras desde tu servidor. (A mi personalmente me gusto muchisimo mas subonic, cosa que ya hablare en su entrada correspondiente )
  • Sencillo control de versiones de tu archivos.
  • Posibilidad de crear varios usuarios y compartir archivos en ellos o de manera pública (ideal para compartir fotos o videos con tu amigos de las vacaciones por ejemplo).
  • Clientes para windows, linux, android, ios

Previo a su instalación se requiere tener instalado una distribucción Linux+Apache+Mysql+PHP

Parto de que tengas instalado ya esos requerimientos.

Lo primero que necesitamos es que Owncloud pueda utilizar los archivos .htacces. Owncloud hace uso de este archivo para configurar parte de su seguridad. Necesitamos activar los modulos rewrite y headers, para ello ejecutamos:

sudo a2enmod rewrite
sudo a2enmod headers

Ahora debemos cambiar el archivo de configuración de apache /etc/apache2/sites-available/default para permitir a owncloud utilizar correctamente los modulos anteriores y reescribir las reglas adecuadamente. Editamos el fichero con nano o el editor que mas os guste:

sudo nano /etc/apache2/sites-available/default

Ahora donde pone :

AllowOverride None

lo sustituimos por:

AllowOverride All

Para que los cambios surtan efecto debemos reiniciar apache:

sudo service apache2 restart

Configurarmos MySQL.

Necesitamos “securizar” la base de datos que utiliza Owncloud. Para ellos utilizamos el comando mysql_secure_installation para que nos guie en el proceso. Tecleamos:

sudo mysql_secure_installation

Te va a ir preguntando una serie de cosas. Asegurate que introduces una contraseña de root, eliminar los usuarios anonimos, deshabilita el acceso root en remoto, elimina la base de datos de test que se instalo en la instalación inicial y cuando te pregunte si quieres recargar la tabla de privilegios responde si “s”

Creamos la base de datos para Ownclound

Tenemos que crear una base de datos para que owncloud almacene información necesaria para su funcionamiento. Os voy a mostrar como hacerlo con linea de comandos pero podeis hacerlo con el gestos de base de datos que prefirais.

Nos conectamos a la base de datos:

mysql -u root -p

Os pedira la clave de root que pusisteis en el paso anterior. Ahora debemos crear la base de datos:

CREATE DATABASE owncloud;

Creamos un usuario para owncloud, no olvideis cambiar la contraseña en la instrucción donde pone un_passwrod_cualquiera :

GRANT ALL ON owncloud.* TO ‘owncloud’@’localhost’ IDENTIFIED BY ‘un_password_cualquiera’;

Para salir de la conexion utilizais:

quit

Instalación de los paquetes de owncloud.

Instalamos paquete necesarios para owncloud. Si ya teneis instalado apache probablemente ya los tuvieseis.

sudo apt-get install php5-gd php-xml-parser php5-intl smbclient curl libcurl3 php5-curl

A continuación instalamos owncloud:

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/owncloud.list"
sudo apt-get update
sudo apt-get install owncloud

Al finalizar la instalación ya tenemos disponible owncloud en un navegador. A partir de ahora el resto de instalación sera con su asistente web. Tecleamos en un navegador la siguiente direccion, donde xxx.xxx.xxx.xxx es la ip de la maquina donde lo habeis instalado si esta en vuestra red local o el nombre la maquina si teneis un dominio, etc …

http://xxx.xxx.xxx.xxx/owncloud

Si todo ha ido bien deberia salir algo como esto:

owncloud1

Pulsamos en “Avanzado” que esta justo encima del botón “Completar la instalación”. Después de pulsar se abrirá algo como la siguiente imagen:

owncloud2

Seleccionamos “MySQL” y rellenamos los datos de la base de datos que creamos en pasos anteriores. También podemos cambiar el directorio de almacenamiento de owncloud. Si cambiamos el directorio por defecto debemos darle los permisos apropiados para que todo funcione bien. Para ello teclear lo siguiente:

sudo chown -R www-data:www-data /ruta/al/directorio/de/datos/de/owncloud

Después de unos segundos ya tendremos casi terminada la instalación de owncloud. Es recomendable llegados a este punto en el que ya podemos entrar en la interfaz de owncloudasignar una dirección de correo electrónico a la cuenta de administrador para poder recuperar la clave en el caso de que se nos olvide. Además ya podriamos añadir todas las cuentas de usuarios que necesitemos.

Aumentar el tamaño permitido para la subida de archivos.

Ahora debemos editar el fichero php.ini para modificar el tamaño máximo de los ficheros que se pueden subir por apache para ello escribirmos:

sudo nano /etc/php5/apache2/php.ini

Buscamos las lineas que especifican los valores para las propiedades upload_max_filesize ypost_max_size. Les ponemos el valor que queramos por ejemplo 5 Gigas. Para ello dejamos las lineas asi:

upload_max_filesize=5000M
post_max_size=5000M

Debemos también modificar el .htaccess. Para ellos editamos el fichero .htaccess:

sudo nano /var/www/owncloud/.htaccess

Modificamos las lineas donde se especifica el valor de las propiedades php_value upload_max_filesize, php_value post_max_size, php_value memory_limit. Le pondremos 5 gigas tal y como pusimos antes.

php_value upload_max_filesize 5000M
php_value post_max_size 5000M
php_value memory_limit 5000M