Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

viernes, 13 de febrero de 2015

ownCloud + https + MySQL + openLDAP en Ubuntu 14.04 LTS

OwnCloud es una aplicación libre que permite el almacenamiento en línea y aplicaciones en línea (cloud computing). OwnCloud puede ser instalado dentro de un servidor que disponga de una versión reciente de PHP(mayor o igual a 5.3) y soporte de SQLite (base de datos por defecto), MySQL o PostgreSQL.
El proyecto fue lanzado en enero del 2010 por Frank Karlitschek, un desarrollador del proyecto KDE, con el objetivo de dar a los usuarios el control de sus datos en la nube.1 OwnCloud formó parte de la comunidad KDE pero luego se independizó.2
El 13 de diciembre del 2011 ha sido creada una entidad comercial fundada bajo el proyecto OwnCloud.3 Dicha sociedad es una alternativa a las soluciones propuestas por Dropbox o Box.net, poniendo mucho énfasis en la flexibilidad y la seguridad. OwnCloud es una alternativa libre a las soluciones privadas presentes en el mercado.
(Fuente Wikipedia)
Así pues, vamos a proceder a instalarlo en nuestro Ubuntu 14.04 LTS (también válido para 14.10). Primero haremos una instalación LAMP ,  securizaremos el MySQL y prepararemos el Apache para que ownCloud funcione correctamente. La instalación de todo esto es la habitual de cualquier aplicación web.

LAMP
Como haremos muchas cosas como administrador, vale la pena hacer:

sudo -s

Una vez con derechos de administrador, actualizamos repositorios:

apt-get update && apt-get upgrade

Ahora instalamos LAMP. 

apt-get install lamp-server^

Observar que pongo ^ para indicar que es un metapaquete. Es una alternativa fácil a usar tasksel.

Con el LAMP instalado, vamos a arreglarlo un poco para que sea algo más seguro. Vamos a securizarlo:

mysql_secure_installation

Si le decimos que Y a todo lo que nos pregunta, lo tendremos definitivamente más seguro. No obstante, leeros lo que os pregunta y configurarlo según os convenga.

Bien, ahora vamos a instalar algunos paquetes más que nos serán necesarios para que ownCloud funcione:

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

Ahora activamos algunos módulos de Apache necesarios:

a2enmod {rewrite,headers,ssl}

y editamos el archivo apache2.conf para cambiar el valor AllowOverride:

vim /etc/apache2/apache2.conf

AllowOverride None

lo cambiamos a

AllowOverride All

También será necesario cambiar el charset a UTF-8 (sinó una vez instalado podremos comprobar en la parte de Advertencias de Seguridad que nos lo pedirá). Para cambiarlo lo haremos editando /etc/apache2/conf-enabled/charset.conf y descomentamos la linea que hace referencia al UFT-8 :

AddDefaultCharset UTF-8

También lo cambiamos en el /etc/php5/apache2/php.ini :

default_charset = "utf-8"
mbstring.internal_encoding=utf-8
mbstring.http_output=UTF-8
mbstring.encoding_translation=On
mbstring.func_overload=6

Activamos https en nuestro Apache2:

a2ensite default-ssl.conf

Y redirigimos todo el tráfico http a https añadiendo estas lineas en el archivo /etc/apache2/sites-available/000-default.conf justo despues de la directiva VirtualHost *:80 

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Para que todo tenga efecto, reiniciamos el servidor Apache2:

service apache2 restart

Bien, ahora ya tenemos un Ubuntu con LAMP preparado para instalar nuestro ownCloud.

ownCloud

Se puede hacer desde un repositorio o bien con un paquete tar.gz. Aquí explicaré como hacerlo con un repositorio: (http://software.opensuse.org/download/package?project=isv:ownCloud:community&package=owncloud)

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

Añadimos la clave:
wget -O- http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_14.04/Release.key | sudo apt-key add -
Y una vez ya hemos añadido el repositorio y su clave, ya podemos instalarlo sin problemas como habitualmente hacemos con cualquier programa:

apt-get update
apt-get install owncloud

y luego mágicamente ya podremos acceder http://ip_servidor/owncloud



Aquí ahora escogeremos que nombre de usuario y contraseña queremos y además, una cosa importante: nuestra base de datos. Os aconsejo escoger MySQL/MariaDB o Postgres, pero no SQLite (a menos que sea para algo realmente pequeño, con lo cual SQLite nos puede servir).

Usuarios en openLDAP
Esto se hace mediante la activación de una aplicación propia del ownCloud. Para activar dicha aplicación, iremos al apartado Aplicaciones y en el subapartado de No habilitado veremos todas las aplicaciones que aun no estan activas. Entre ellas esta la LDAP user and group backend:


Le damos a Activar y entonces ya podremos ir a la página del administrador en donde podremos configurar los parámetros de nuestro servidor LDAP. 

Y bien... ahora para finalizar, también nos podemos instalar el cliente para Ubuntu:
apt-get install owncloud-client

Y al ejecutarlo veremos que nos pide los parámetros de conexión con nuestro servidor.




¡¡ Y a disfrutar de nuestro Cloud !!

jueves, 5 de febrero de 2015

Limitar el número máximo de procesos por usuario (forkbomb)



La bomba fork es una forma de ataque del tipo denegación de servicio sobre un computador que implementa la operación fork, o alguna funcionalidad equivalente mediante la cual un proceso es capaz de crear otro proceso. La bomba fork es considerado un wabbit ya que no se replica de la misma forma que los gusanos o los virus. Su efecto se basa en la suposición de que el número de programas y procesos que se ejecutan simultáneamente en un ordenador tiene un límite.
Una bomba fork funciona creando una gran cantidad de procesos muy rápidamente con el objetivo de saturar el espacio disponible en la lista de procesos mantenida por el sistema operativo del computador. Si la tabla de procesos se llega a saturar, entonces no se pueden iniciar nuevos programas hasta que no se cierre alguno. En el caso que esto suceda, es muy poco probable que se pueda iniciar un programa útil ya que los procesos de la bomba estarán esperando para poder crear nuevos procesos a la primera oportunidad que se les conceda.
(Fuente Wikipedia)

Observamos la linea de la viñeta:

:(){ :|:& };:
Si nos damos cuenta, : hace es el nombre de una función. Si sustituimos esta función por otro nombre, por ejemplo forkbomb y luego la sangramos, lo veremos más claro:

forkbomb () { 
   forkbomb | forkbomb & 

forkbomb

Lo que estamos es declarando una función que se llama recursivamente a si misma en segundo plano. De esa manera bloqueamos el sistema. Si queremos evitar este potencial fallo de seguridad, basta con configurar bien nuestro Linux editando el archivo /etc/security/limits.conf. Este archivo de configuración pertenece al Linux-PAM

Basta con poner en /etc/security/limits.conf una línea similar a ésta:
* hard nproc 4096



That u don't know what you've got 'til it's gone