# uname -a

Switch

mardi 6 août 2013

Configure 2-factor Yubikey authentication for Debian : the easiest way

One of last five years trending topics is the rise of Token authentication, to provide a safer way to authenticate than the classic login/password couple.

Today I will show you how to configure a 2-factor authentication (login/password + yubikey), in order to use it with your local Unix users as well as with SSH login (PAM powered).

In this tutorial, I will use the Yubico API, because it’s simpler. When using the API, the validity check will be computed by Yubico servers. By the way, you can set up your own authentication server if you don’t want to depend on Yubico servers.

  • First things first, you have to afford a Yubikey at http://www.yubico.com/

  • Get your Yubikey ID. You can use the 12 first digit of every Yubikey generated password, but you can also generate it from http://demo.yubico.com/php-yubico/Modhex_Calculator.php
    For lazy people, type this in a shell and activate your Yubikey : read -p "Enter a YubiKey OTP: " s && echo 'The key id is' ${s:0:12}

  • Create a .yubico directory in your home, and create a file named authorized_yubikeys inside it. Fill this file with your unix username and Yubikey ID like that : username:yubikeyid

  • Next, create a id/secret couple for each server ou service you want to authenticate : https://upgrade.yubico.com/getapikey/
    The ID returned after submitting the URL is the service ID, and the secret is the associated secret. Every pair ID/secret is unique.
    You could use the same id/secret for every server you configure, but it is not intended for : you should use a different id/secret couple for every different server.

  • Log in to your server as root, and install libpam-yubico (from apt : apt-get install libpam-yubico).

  • And configure it : sudo dpkg-reconfigure libpam-yubico. When prompted, set the service ID in place of the N in id=N and the secret in place of the K in key=K.

  • Then apply the configuration with the command pam-auth-update.

That’s all ! Every PAM-compliant authentication will now ask for the Yubikey code to authenticate (as well as login and password). When login from SSH, juste activate your Yubikey after typing your password, before typing “enter”.

Warning : if you messed up the Yubikey configuration and are using “sudo” before every command, you will be locked outside your server ! After dpkg-reconfigure, if you checked “Yubico authentication”, it will ask for a Yubikey code every time a “sudo” authentication is required, so keep a root terminal opened to revert your changes.

jeudi 25 juillet 2013

Les choses qui m'énervent #1

Parmi les choses qui m’énervent : les logiciels qui font des choses sans nous demander notre avis.

Aujourd’hui, Google m’énerve depuis trop longtemps.

Ainsi, même avec tous les blocages possibles DoNotTrack cookies et tout ça, Google continue de substituer le lien sur lequel vous cliquez en sortant de sa recherche, par une URL qu’il a construit et qui vous redirige vers la page que vous venez de cliquer.

capture-google_surprise.png

Vous cliquez et … SURPRISE ! Google change le lien !

Ce mécanisme a déjà fait couler beaucoup d’encre parce qu’il empêchait les référenceurs d’utiliser le Referer pour sortir les termes de la recherche qui ont mené à la page.

Mais si c’était vraiment pour protéger des référenceurs, pourquoi ne pas avoir utilisé une URL générique (genre comme fait anonym.to) et pourquoi utiliser cette URL remplie de paramètres et de codes, surtout utilisés pour réaliser le suivi de vos mouvements et personnaliser les résultats en fonction des recherches que vous faites ?

Ça m’énerve, je n’aime pas qu’on change les liens sur lesquels je clique au moment où je les clique, c’est du XSS qui ne s’assume pas.

Pour régler définitivement cette question, il ne reste plus qu’à installer le script GreaseMonkey suivant : http://userscripts.org/scripts/show/121923

Non mais sans blague.

samedi 29 juin 2013

osTicket, wget, crontab and FastCGI

After a long night trying to get HTTP cron for osTickets to work, here is my solution :

Things to know

  • Rewritting the URLs of a FastCGI-running PHP application, using Apache2 mod_rewrite on PATH_INFO is broken, it does not work. Never.
  • osTicket needs POST requests to its API.
  • osTicket uses an unsafe way to get PATH_INFO, obviously it will not work with FastCGI.

How to get it work

Open includes/class.osticket.php

Replace :

        //TODO: conruct possible path info.


With :

        $path_info = str_replace(BASE_URI."/", "", $_SERVER['REQUEST_URI']);
        if (!empty($path_info))
                return $path_info;

And call the cron like that :

 /usr/bin/wget -q --no-cache -O /dev/null --post-data '' --header='X-API-Key:your_api_key_here' 'http://example.com/api/http.php/tasks/cron'

dimanche 23 juin 2013

Kompili Kurso de Esperanto 4 kun Debian kaj Ubuntu surbaze de fontoj

Pre-kompilita versio por Ubuntu 16.04 : Ubuntu PPA

Lire la suite...

How to compile Kurso de Esperanto from source with Debian and Ubuntu

Pre-compiled version for Ubuntu 16.04 : Ubuntu PPA

Lire la suite...

- page 9 de 12 -