Blog personnel d'Alex Sbille sur les technologies, et autres de mes centres d’intérêts.

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 10 avril 2014

Chiffrer ses données avec TCPlay, fork de Truecrypt

La license de truecrypt étant parfois critiquée, je préfère me tourner vers un équivalent libre : TCPlay

L'installation sous debian :

apt-get install tcplay
whereis tcplay
tcplay: /usr/sbin/tcplay /usr/share/man/man8/tcplay.8.gz

Il faut ensuite trouver le premier périphérique de boucle disponible:

losetup -f
/dev/loop0

Puis là ou bon vous semble avec un conteneur de 20 Mo :

dd if=/dev/zero of=foo.tc bs=1 count=0 seek=20M
losetup /dev/loop0 foo.tc
tcplay -c -d /dev/loop0 -a whirlpool -b AES-256-XTS

La clé est demandée deux fois puis tcplay va remplir de volume de données aléatoires.

Il est ensuite nécessaire de relier le volume avec le loop et créer un système de fichiers dedans avant de le monter pour la première fois.

tcplay -m foo.tc -d /dev/loop0
mkfs.ext4 /dev/mapper/foo.tc
mount /dev/mapper/foo.tc /mnt/truecrypt/

Puis pour démonter;

umount /mnt/truecrypt 
dmsetup remove foo.tc 
losetup -d /dev/loop0

Enfin, pour remonter à nouveau:

losetup /dev/loop0 foo.tc 
tcplay -m foo.tc -d /dev/loop0
mount /dev/mapper/foo.tc /mnt/truecrypt/

Partage

lundi 24 mars 2014

Loggin ip adress of visitors with Varnish3 and Apache2 as a backend

It is natural to find varnish public ip in apache logs but not very secure in my context, so I'll need to configure Varnish 3 using req.http.X-Forwarded-For and apache2 with mod_rpaf

With a debian like:

On the backend server

apt-get install libapache2-mod-rpaf
nano /etc/apache2/mods-enabled/rpaf.conf
<IfModule rpaf_module>
    RPAFenable On

    # When enabled, take the incoming X-Host header and
    # update the virtualhost settings accordingly:
    RPAFsethostname On

    # Define which IP's are your frontend proxies that sends
    # the correct X-Forwarded-For headers:
    RPAFproxy_ips 5.39.38.60 127.0.0.1 ::1

    # Change the header name to parse from the default
    # X-Forwarded-For to something of your choice:
    RPAFheader X-Forwarded-For

</IfModule>
service apache2 reload

On the reverse proxy / varnish server:

Insert after the start of sub vcl_recv :

if (req.restarts == 0) {
  if (req.http.X-Forwarded-For) {
    set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
  } else {
    set req.http.X-Forwarded-For = client.ip;
  }
}

Then reload the configuration and verify a2 logs.

Partage

Log de l'adresse ip du visiteur dans apache2 derrière un reverse proxy varnish3

Varnish, comme tout reverse proxy laissera naturellement son adresse ip dans les logs du backend, ici apache. Dans mon cas, dans un contexte de sécurité, il est nécessaire que le reverse proxy utilise req.http.X-Forwarded-For pour annoncer au backend l'adresse ip du client.

Avec une debian like:

Sur le serveur de backend

apt-get install libapache2-mod-rpaf
nano /etc/apache2/mods-enabled/rpaf.conf
<IfModule rpaf_module>
    RPAFenable On

    # When enabled, take the incoming X-Host header and
    # update the virtualhost settings accordingly:
    RPAFsethostname On

    # Define which IP's are your frontend proxies that sends
    # the correct X-Forwarded-For headers:
    RPAFproxy_ips 5.39.38.60 127.0.0.1 ::1

    # Change the header name to parse from the default
    # X-Forwarded-For to something of your choice:
    RPAFheader X-Forwarded-For

</IfModule>
service apache2 reload

Sur le reverse proxy / varnish:

Insérer après le début de sub vcl_recv :

if (req.restarts == 0) {
  if (req.http.X-Forwarded-For) {
    set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
  } else {
    set req.http.X-Forwarded-For = client.ip;
  }
}

Suivi d'un reload de la configuration.

Partage

dimanche 2 mars 2014

Mass extention rename with linux bash

for f in *.JPG; do mv $f `basename $f .JPG`.jpeg; done;

Partage

vendredi 28 février 2014

Supprimer des doublons avec linux et fdupes

On installe le programme et lance un état des lieux avec:

apt-get install && fdupes -r /target/folder

Voir l'espace occupé avant le nettoyage:

du -sh /target/folder

Supprimer les doublons! (d argument) Seulement conserver le premier fichier trouvé et automatiquement valider la suppression des doubles (N argument).

fdupes -r -dN /target/folder

{{ + /media/neuro/Lexar/2010-11-05/2012-01-17/IMG_1523.JPG

  - /media/neuro/Lexar/2010-11-05/2012-07-16/IMG_1523.JPG
  - /media/neuro/Lexar/2012-01-29/IMG_1523-1.JPG
  - /media/neuro/Lexar/2012-01-29/IMG_1523.JPG
  - /media/neuro/Lexar/2012-09-30/IMG_1523.JPG}}

Voir l'espace occupé pour voir le gain gagné:

du -sh /target/folder

Partage

Find and clean multiples sames files with linux

First, install and test fdupes with:

apt-get install && fdupes -r /target/folder

View size before:

du -sh /target/folder

Clean with delete! (d argument) We keep only one file and no ask before delete (N argument).

fdupes -r -dN /target/folder

{{

  + /media/neuro/Lexar/2010-11-05/2012-01-17/IMG_1523.JPG
  - /media/neuro/Lexar/2010-11-05/2012-07-16/IMG_1523.JPG
  - /media/neuro/Lexar/2012-01-29/IMG_1523-1.JPG
  - /media/neuro/Lexar/2012-01-29/IMG_1523.JPG
  - /media/neuro/Lexar/2012-09-30/IMG_1523.JPG}}

View size after:

du -sh /target/folder

Partage

mardi 25 février 2014

Installer steam sur debian 8 testing (Jessy)

Après avoir mis à jour mon sysème en testing, j'ai été ravis de découvrir que steam y est désormais disponible comme paquet non-free. Les années à devoir essuyer des reboots pour booter sur du ntfs sont pour moi révolues et win ne fait désormais plus partie de ma vie depuis hiers, après une bonne session de parted. On peut voir sur les stats que pour un paquet en testing, le popularity-contest du paquet révèle une popularité assez attendue
Ajout des sources non libres et dans mon cas un peu de pinning pour permettre de résoudre des dépendances que vous aurez vous aussi peut-être de non satisfaites.
nano /etc/apt/sources.list
deb http://http.debian.net/debian/ testing main contrib non-free
deb-src http://http.debian.net/debian/ testing main contrib non-free
deb http://http.debian.net/debian/ unstable main contrib non-free
deb-src http://http.debian.net/debian/ unstable main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free
nano  /etc/apt/preferences
Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 300
Package: *
Pin: release o=Debian
Pin-Priority: -1
dpkg --add-architecture i386
apt-get install multiarch-support
apt-get update && apt-get upgrade
A partir de là on peut désormais faire le fameux:
apt-get install steam
Avec ma carte graphique 760 gtx de chez Nvidia, il faut installer les drivers propriétaires:
#For video drivers with nvidia
apt-get install nvidia-kernel-dkms nvidia-settings nvidia-driver linux-headers-$(uname -r)
Enfin, on peux trouver dans le menu des applications et sous menu jeux l'application steam, le premier lancement provoque un mise à jour assez lourde.

Partage