Il est important de sécuriser son serveur Owncloud et ne pas se cantonner à une authentification simple. Pensez à utiliser HTTPS c’est bien, mais obliger les gens à utiliser HTTPS c’est mieux 🙂

Penser à sécuriser la partie système de son application est également important. Voici quelques points qui me semblent intéressants.

Redirection HTTPS pour Owncloud

La première chose à faire est de sécuriser l’échange des données entre le serveur et le client, ce qui se fait par HTTPS bien évidemment. Mais il faut penser à rediriger les infidèles qui utiliseraient HTTP vers la page en HTTPS. Un moyen simple de le faire est d’éditer le fichier /etc/apache2/site-available/default et d’y mettre ceci :

	DocumentRoot /var/www
	Redirect / https://votrecloud.votredomaine.net

Préférez également l’utilisation d’un certificat SSL validé par une autorité de certification valide. Par exemple startSSL, qui a été expliqué dans un article précédent.

Sécuriser les droits d’accès

Vous devez changer les droits d’accès unix à vos fichiers Owncloud afin de limiter l’impacte d’un potentiel hack de votre applicatif. Pour cela, voici un script passe partout glané sur le web (je n’ai plus la source). Veillez à utiliser le bon « path » et le bon utilisation Apache. Pour Debian, Ubuntu, etc ce sera « www-data ». Pour CentOS et ses dérivés, ce sera « httpd » :

#!/bin/bash
ocpath='/var/www/owncloud'
htuser='www-data'

find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750

chown -R root:${htuser} ${ocpath}/
chown -R ${htuser}:${htuser} ${ocpath}/apps/
chown -R ${htuser}:${htuser} ${ocpath}/config/
chown -R ${htuser}:${htuser} ${ocpath}/data/

chown root:${htuser} ${ocpath}/.htaccess
chown root:${htuser} ${ocpath}/data/.htaccess

chmod 0644 ${ocpath}/.htaccess
chmod 0644 ${ocpath}/data/.htaccess

Vous aurez peut-être un warning sur des fichiers inexistants selon votre système, lisez le pour voir si tous le reste est bon.

Configurer le vhost HTTPS Owncloud

Il faut activer certaines restrictions pour la durée de vie du certificat :

  • Activer le mode headers : a2enmod headers
  • Ajouter une configuration dans le vhost 443 : Header always add Strict-Transport-Security « max-age=15768000 » (dans cet exemple 6 mois)<VirtualHost *:443>
    ServerName cloud.owncloud.com
    Header always add Strict-Transport-Security « max-age=15768000 »
    </VirtualHost>

Source

 

Le reste viendra par la suite…

Si vous avez des indications utiles n’hésitez pas!