Fail2ban pour Owncloud 7 sur Debian Jessie

Petit guide pour couper court au crackage de vos passwords par le formulaire de login d’Owncloud.

Ajouter dans le fichier /etc/fail2ban/jail.conf :

[owncloud]
enabled = true
port = http,https
filter = owncloud
logpath = /var/log/owncloud.log
maxretry = 3

Modifier le fichier /etc/owncloud/config.php

'loglevel' => '2',
'logtimezone' => 'Europe/Brussels',

Le loglevel ne doit pas être supérieur à 2 pour que les tentatives de login soient enregistrées dans le log !
le logtimezone doit être accordé avec l’heure de votre serveur. Sinon fail2ban pensera toujours que la connexion est ancienne et ne bannira rien.

Créer un fichier /etc/fail2ban/filter.d/owncloud.conf:

[Definition]
failregex = .*"message":"Login failed:.*IP: '<HOST>'.*
ignoreregex =

Relancer le service fail2ban:
# systemctl fail2ban restart

Faites trois mauvaises tentatives de login sur Owncloud pour vérifier !
Pour vérifier le status de fail2ban:

# fail2ban-client status owncloud

Pour débloquer une IP:

# fail2ban-client set owncloud unbanip 192.168.0.13

Cette configuration de Owncloud et Fail2ban devraient être par défaut dans Debian à mon sens.

On peut également se connecter à Owncloud par l’API REST. Je n’ai pas testé si les erreurs de connexion par cette API étaient aussi enregistrées dans le fichier de log, et donc prises en compte par Fail2ban.

J'aime(5)Ferme-la !(1)

Cacher ses adresses mail, numéros de téléphone, etc… des spammeurs sur WordPress

Si vous laissez votre adresse email sur un site web, nul doute qu’un robot va venir la lire et l’ajouter à son fichier de SPAM. Pour éviter cela, on peut encoder l’email en Javascript.

Les humains regardant la page web verront l’email proprement car leur navigateur va décoder le javascript. (Aucun problème de copier coller contrairement aux images)

Les robots ne vont pas exécuter le javascript car c’est trop long et trop complexe pour eux.

Cette technique s’applique aux emails mais aussi à tout contenu que vous voudriez protéger des bots comme votre numéro de téléphone etc…

Il existe un plugin pour WordPress pour mettre en place cette technique facilement : Email encoder bundle

Pour cacher un email ou tout autre contenu des robots, écrivez celui-ci entre balises dans votre article :

[eeb_content]toto@gmail.com[/eeb_content]

J'aime(7)Ferme-la !(1)

MySearch and GooglePlayDownloader passent en version 1.6

Voila c’est Noël avant l’heure, je sors une nouvelle version de mes 2 logiciels libres :

  • Mysearch : un métamoteur de recherche anonymisateur, sans pub, et avec la pertinence des résultats Google.
  • GooglePlayDownloader : il vous permet de télécharger les applications gratuites du PlayStore sans nécessiter d’utiliser un compte Google personnel ni d’installer les applis Google avec les droits root sur votre smartphone Android

Par un hasard incroyable ils atteignent le même numéro de version (1.6) en même temps :-)

Si vous voulez me faire plaisir, faite connaître ce blog plus largement sur la toile, ça me suffit.

Amusez-vous bien !

J'aime(7)Ferme-la !(0)

Mini guide MySQL

Je mets ici mon anti-sèche pour mes besoins basiques de MySQL, à savoir gérer des sites  WordPress, Owncloud, Piwik, etc…

Prise en main

Un super utilisateur nommé « debian-sys-maint » est créé par Debian pour administrer MySQL. Son mot de passe se trouve dans le fichier /etc/mysql/debian.cnf
# cat /etc/mysql/debian.cnf

On peut se connecter à MySQL avec l’une des solutions suivantes :

  • Mot de passe interactif :
    $ mysql -u debian-sys-maint -p
  • Mot de passe en chargeant le mot de passe directement depuis le fichier:
    # mysql --defaults-file=/etc/mysql/debian.cnf
  • Mot de passe avec le mot de passe dans la ligne de commande (déconseillé, le mot de passe se trouvant alors dans l’historique):
    $ mysqldump --user=debian-sys-maint --password=MOTDEPASSE

Vous devriez avoir l’invite de commande MySQL:
mysql>

Pour quitter MySQL à tout moment:
mysql> exit

On va maintenant pouvoir lancer des commandes, chaque commande se termine par le caractère ‘;‘, ne l’oubliez pas.

Pour lister toutes les bases de données présentes:
mysql> SHOW databases;

Pour lister tous les utilisateurs:
mysql> SELECT User,Host FROM mysql.user;

Procédure pour installer un nouveau site web facilement

Souvent, il vous arrivera pour installer un nouveau service (WordPress, Owncloud, Piwik, etc…) de devoir créer une nouvelle base de données et un nouvel utilisateur ayant tous les droits sur celle ci. Voyons comment faire ca.

Comme nous allons créer un nouvel utilisateur et son mot de passe, je vous invite générer un bon de mot de passe en suivant ce guide avant de commencer.

Ensuite, un fois connecté à MySQL :

Créez un nouvel utilisateur en utilisant le mot de passe généré:
mysql> CREATE USER 'piwik_user'@'localhost' IDENTIFIED BY 'mot_de_passe_complique';

Créez une nouvelle base de donnée:
mysql> CREATE DATABASE piwik_database;

Donnez les permissions à l’utilsateur sur la base de données:
mysql> GRANT ALL ON piwik_database.* TO 'piwik_user'@'localhost';

Appliquez les privilèges:
mysql> FLUSH PRIVILEGES;

Fini !
mysql> exit;

Et voila, vous êtes bon. C’était pas si dur :-)

Sauvegarde et restauration

Une chose super indispensable à savoir aussi, sauvegarder sa base de donnée. Car on ne peut pas récupérer les données sans que MySQL tourne. Donc il faut penser à bien faire ses sauvegardes tant que MySQL fonctionne.

$ mysqldump --user=debian-sys-maint --password=MOTDEPASSE piwik_database > ~/mysql-piwik_database-backup.sql

Pour restaurer:

$ mysqldump --user=debian-sys-maint --password=MOTDEPASSE piwik_database < ~/mysql-piwik_database-backup.sql

Si vous réimportez la base de données dans un MySQL vierge (ex: résintallation de PC), il faut aussi penser à re-créer les utilisateurs (cf guide ci-dessus) :
$ mysql --user=debian-sys-maint --password=MOTDEPASSE
mysql> CREATE USER 'piwik_user'@'localhost' IDENTIFIED BY 'mot_de_passe_complique';
mysql> GRANT ALL ON piwik_database.* TO 'piwik_user'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit;

J'aime(4)Ferme-la !(1)

Mettre à jour le plugin Flash sous Debian

J’ai récemment eu un petit problème avec Flash, Youtube m’avertissant que le plugin Flash n’était pas à jour !

Vous pouvez vérifier que vous avez la dernière version :
# update-flashplugin-nonfree --status
Flash Player version installed on this system : 11.2.202.406
Flash Player version available on upstream site: 11.2.202.425

En effet, une nouvelle version de Flash est disponible et fixe des problèmes de sécurité dont notamment le CVE-2014-9163 déjà en cours d’exploitation en décembre.

Vous pouvez mettre à jour par cette commande en root:
# update-flashplugin-nonfree --install

Il faudrait vraiment que le plugin Flash se mette à jour tout seul sous Debian à chaque nouvelle version d’Adobe !

J'aime(2)Ferme-la !(2)

Générer un mot de passe aléatoire avec OpenSSL

Parfois, on a besoin de générer un mot de passe aléatoire complexe.

Se pose alors la question comment en trouver un?
Oubliez la méthode de la frappe au hasard sur le clavier. C’est chiant et vous y verrez des motifs récurrents (genre « sdfsdf » :D).

Rien de plus simple avec OpenSSL. Par exemple, pour générer un mot de passe de 8 caractères :

$ openssl rand -base64 8 | cut -c 1-8
Q+0F+Hwb

Notez que ca doit marcher sous MacOS aussi.

Autre solution encore plus pratique, en utilisant la commande mkpasswd contenu dans le paquet whois. (appuyez juste sur entrée quand vous demande le Password :

$ mkpasswd
Password:
KELshv5A8StGo

Par défaut le mot de passe fait 13 caractères ce qui me semble robuste.

J'aime(2)Ferme-la !(0)

Lightbeam, suivre votre trace sur le web

Dans mon article Comment ne pas être traqué lors de vos visites web, je vous expliquais comment éviter de vous faire pister par les géants du web. Je vous donnait aussi le lien vers le plugin Firefox Lighbeam pour mieux connaître les traces que vous .

Voici les résultats sur ma machine :

lightbeamEn première place, on peut voir que mon site web (gros rond blanc) me piste parce que j’ai tout autorisé en provenance de mon site web dans RequestPolicy.

En deuxième place, Youtube qui est présent partout et que j’accepte pour voir les vidéos que je viens chercher….

Ensuite sur la myriade de sites que je visite, les liaisons inter-sites sont bloquées ce qui rend le suivi de mon parcours sur le web impossible pour eux (sauf s’ils partagent leurs logs mais je ne crois pas que ce soit encore le cas :D).

J'aime(0)Ferme-la !(0)

Nettoyer la base de données de WordPress

Après 7 ans de blog, il était temps de faire un peu de nettoyage dans la base de donnée de WordPress.

J’ai trouvé le plugin WP-Optimize pour faire cela et qui m’a diminué ma base de données de moitié.

Une autre source d’embompoint pour la base de données, les tables que les plugins de statistiques ne suppriment pas à leur désinstallation comme « wp_statpress » pour Statpress ou « wp_cn_track_post » pour Post views Stats. Ca peut vitre chiffrer dans les 50Mo.

Au final, ma base de données de WordPress fait désormais 10Mo pour 1000 articles et 3000 commentaires.

J’utilise désormais Piwik pour mes statistiques dans une base de données séparée.

J'aime(0)Ferme-la !(0)

GooglePlayDownloader 1.5

Je viens de sortir une mise à jour pour le GooglePlayDownloader, logiciel libre pour télécharger les APK du GooglePlay store (sans vous demander votre compte Google).

-Nouveaux identifiants valides pour se connecter au GooglePlay
-Résolution des dépendances pour installation sur Debian Jessie
-Python2 est appelé explicitement pour ceux qui utilisent Python3 par defaut
-Corrige la génération d’AndroidID pour certaines configurations de Java.

Le téléchargement se passe par là : .deb et source

J'aime(4)Ferme-la !(0)

Comment Google verrouille Android

Un bon article sur ArsTechnica (en anglais) et quelques slides qui expliquent comment Google verrouille Android.

Le code source d’Android est libre mais :

  • son développement se fait dans l’ombre des bureaux de Google et le code source n’est publié qu’après la sortie de la nouvelle version. Pas de décision collégiale sur l’orientation du développement logiciel donc.
  • les applications de base (SMS, navigateur web, recherche, lecteur de musique, etc…) sont maintenant des logiciels au code source opaques et propriétaires de Google. Les applications de base fournies avec l’Android open source sont les vieilles applications qui ne sont plus développées.
  • les services Google sont devenus presque obligatoires. Beaucoup d’applications plantent désormais si ceux-ci ne sont pas présents. Or les installer revient à laisser Google communiquer avec le smartphone en permanence, au travers d’un logiciel opaque qui a les droits root.
  • les fabricants qui veulent vendre des smartphones avec les applications Google (dont le fameux GooglePlay Store) sont contraints par un accord avec Google de ne pas développer de système Android qui n’utiliserait pas les applications Google.
J'aime(10)Ferme-la !(0)