Entrez vos identifiants

x
OU
Vous avez oublié votre mot de passe ?
Utilisateur wiki : vous n'aviez pas d'email ?

Korben - Site d'actualité geek et tech

Go Top

Edito du 23/04/2015

Hello tout le monde,

Bon, je suis bien rentré du pays Breton et le soleil était bizarrement au rendez-vous. Plage, fruits de mer, balades et j'ai même fait un barbec avec un cyber-terroriste. La belle vie quoi.

Et cette semaine c'est la course, car j'ai 100 000 trucs à terminer avant de partir à San Francisco pour assister à la conférence Build de Microsoft. Ça va être passionnant, je pense, avec l'arrivée de Windows 10 sur le Raspberry Pi, HoloLens, Spartan et compagnie. J'essayerai de vous raconter un peu tout ce que je vois là bas en live sur Twitter et Snapchat. Et si y'a matière, je ferai quelques articles, mais ça va dépendre du temps que j'ai à ma dispo.

D'ailleurs en parlant de temps, si vous êtes à SF et que vous avez des trucs cool à me montrer ou simplement envie de boire un coup, c'est le moment ;-)

Autrement, aujourd'hui j'ai été faire un tour à Paléopolis et gros coup de coeur ! De magnifiques fossiles et des archéologues passionnés. Ils m'ont donné envie de prendre ma brosse à dents et d'aller gratter du tibia de T-Rex. Si vous passez en Auvergne et que vous aimez la préhistoire, allez-y !

Je vous souhaite (un peu en avance) un excellent week-end et à très vite !

K.

Une box VPN à faire vous-même pour surfer en toute sécurité

Une box VPN à faire vous-même pour surfer en toute sécurité

Hier, j'ai déterré mon vieux routeur Linksys WRT54-GL. Mais si, souvenez-vous, c'est celui où j'avais installé OpenWRT et que j'avais même brické.

Objectif : Installer un client OpenVPN dessus, le coller juste derrière ma box ADSL pour faire transiter par le VPN l'intégralité des appareils de la maison. Ça me permet de sécuriser ma connexion et de profiter de la compression OpenVPN.

Du coup, je vais expliquer comment configurer un client OpenVPN sur un WRT54-GL.

Avant de commencer, vous devez avoir :

Allez, on commence... Etape n°1, installer dd-wrt sur le routeur. Tout est expliqué ici. Ahahaha, oui ce n’est pas compliqué, vous verrez.

Concernant les versions du firmware, il faut d'abord installer une version Mini Generic (dd-wrt.v24_mini_generic.bin) puis ajouter par dessus une version VPN Generic (dd-wrt.v24_vpn_generic.bin). Vous les trouverez ici (cherchez le mot clé 54GL ou la ref de votre routeur).

Alors ce qu'il faut savoir c'est que dans les versions dd-wrt post-2011 de je ne sais plus quel mois, il y a tout ce qu'il faut pour configurer un client OpenVPN digne de ce nom en clickodrome. Malheureusement, la version de ddwrt du vieux WRT54GL date de 2010. Y'a bien un client OpenVPN dedans, mais il ne fonctionne pas correctement, en tout cas pour se connecter à un OpenVPN-AS.

Bref, me voilà avec mon dd-wrt tout frais. Mais la partie est loin d'être gagnée, car j'ai rencontré pas mal de soucis et je vais vous raconter tout ça, pour que justement, vous ne cherchiez pas trop. Concernant la config de DD-WRT, faites en sorte que l'accès au net se fasse bien via le routeur, n'hésitez pas à désactiver le Wifi si vous ne vous en servez pas, et configurez le routeur en mode "routeur" (Héééé oui).

routeur

Je ne sais pas si ça a un impact, mais vérifiez que DNSMasq est bien activé.

dnsmas

Dans cette partie VPN, ne cochez rien. Enfin, vous pouvez essayer, peut être que ça marchera directement pour vous, mais en ce qui me concerne, tous mes essais là-dedans n'ont rien donné de concluant.

ddwrt

Non, nous comme on est des punks, on va tout faire en scripts... Ne paniquez pas, c'est super easy !

Pour commencer, il faut que vous récupériez le fichier Autologin de votre compte OpenVPN AS.

openvpn

Bon, si vous n'avez pas de fichier de conf en autologin, vous pouvez toujours utiliser un fichier de conf (user-locked profile) + un fichier contenant votre login et votre mot de passe que vous passerez en paramètre à OpenVPN avec --auth-user-pass, mais il faudra adapter un peu mon script.

Là où ça devient drôle, c'est qu'on ne peut rien "écrire" sur le routeur. Enfin, si, mais à chaque reboot tout est effacé. C'est moche. Il faut donc générer vos fichiers de conf lors du boot du routeur. Pour ce faire, rendez-vous ici.

commandes

Et copiez-collez-y le script suivant :

echo "XXXXXX" > /tmp/myopenvpn.conf
(sleep 20 ; ntpclient -h ns3.vedur.is ; sleep 60 ; killall openvpn ; /usr/sbin/openvpn --config /tmp/myopenvpn.conf --daemon ; sleep 60 ; iptables -I FORWARD -i br0 -o tun0 -j ACCEPT ; iptables -I FORWARD -i tun0 -o br0 -j ACCEPT ; iptables -I INPUT -i tun0 -j REJECT ; iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE;)&

Je vous explique tout ça... Vous voyez les XXXXX ? Et bien il faut les remplacer par le contenu de votre fichier ovpn (celui en autologin). Le petit echo est utilisé pour créer le fichier de config ovpn.

Ensuite, on a un enchainement de commandes, toutes très utiles... Après avoir fait mon echo, je lance un petit sleep pour faire une pause de 20 secondes et ainsi être sûr que le script myopenvpn.conf est bien enregistré.

Puis je synchronise la date et l'heure via NTP. Alors pour la petite histoire, j'avais tout bien fait, mais impossible de me connecter en sur mon serveur OpenVPN et j'avais l'erreur suivante :

TLS Error: Unroutable control packet received from...

Après avoir cherché un moment, je me suis rendu compte que c'était parce que la date et l'heure du routeur n'étaient pas la même que la date et l'heure de mon serveur OpenVPN. Mon serveur OpenVPN étant en Islande, il fallait que je synchronise la date de mon routeur sur le fuseau islandais. J'ai bien essayé de le faire directement depuis l'interface de ddwrt, à cet endroit-là (SETUP -> BASIC SETUP):

time

Mais rien à faire, quand je me connectais via SSH à mon routeur, et que je tapais la commande "date", j'avais toujours le 1er janvier 1970 (apparemment, la synchro prenait un temps indéterminé). J'ai donc du forcer une synchro NTP dans mon script de commande (ntpclient -h ns3.vedur.is) pour synchroniser correctement la date et l'heure sur un serveur NTP islandais (le même que celui qu'utilise mon serveur. Je le sais grâce à la commande "ntpq -p" qui sort la liste des serveurs NTP utilisés par l'OS) puis je patiente 60 secondes (sleep 60) pour être certain que la date et l'heure sont bien récupérées par le routeur. 60 secondes, c'est surement trop, mais je n'ai pas encore affiné les durées.

Après je shoote tous les openvpn pour être bien sûr qu'aucun ne tourne (killall openvpn) et je lance openvpn en mode daemon en spécifiant le fichier de config myopenvpn.conf qui contient les clés nécessaires à la connexion (/usr/sbin/openvpn --config /tmp/myopenvpn.conf --daemon).

Et j'attends à nouveau 60 secondes pour être certain que la connexion est bien établie. Une fois que c'est fait, votre routeur WRT54GL est bien connecté à l'OpenVPN, mais vos paquets n'y passent pas encore. C'est pourquoi il faut ajouter les 3 règles suivantes dans votre iptables pour que tout soit correctement redirigé via l'interface tun0 du VPN (iptables -I FORWARD -i br0 -o tun0 -j ACCEPT ; iptables -I FORWARD -i tun0 -o br0 -j ACCEPT ; iptables -I INPUT -i tun0 -j REJECT ; iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE;)

Et voilà pour les explications.

En gros, ça devrait ressembler à ça dans votre zone de commande :

dwrt2

Dès que vous êtes satisfait du résultat, cliquez sur le bouton SAVE STARTUP un peu plus bas.

savestartup

Et redémarrez votre routeur (ADMINISTRATION -> MANAGEMENT -> REBOOT ROUTER).

Ensuite, rendez-vous sur le site whatismyip.com. Vous devriez y voir dans un premier temps votre vraie IP (rien n'est lancé), puis au bout d'une minute, plus d'accès au net (le vpn est actif), puis une minute plus tard vous devriez voir l'adresse IP de votre serveur OpenVPN (les règles iptables sont actives).

Et voilà ! Comme je vous le disais, il faudrait que j'affine la durée des sleep pour que ça prenne moins de temps, mais bon, c'est pas bien grave, car une fois que ça tourne, ça tourne.

Au niveau du débit, évidemment, j'ai perdu un peu (genre 150 Ko/s), mais ça, ça va dépendre fortement de votre VPN. Par contre, je trouvais que les résolutions DNS via VPN mettaient trop de temps. J'ai donc installé un petit serveur unbound pour faire de la résolution DNS en local sur mon serveur islandais et ça va beaucoup mieux.

Une fois Unbound activé, rendez-vous sur l'admin de votre serveur OpenVPN-AS, et dans Configuration -> VPN Settings, mettez 127.0.0.1 en serveur DNS primaire (et un autre si vous voulez, mais c'est pas nécessaire).

ns

Voilà, j'espère que ce petit tuto fait à l'arrache vous inspirera. J'ai utilisé le WRT54-GL parce que c'est ce que j'avais sous la main, mais je pense qu'avec n'importe quel routeur qui supporte dd-wrt, c'est jouable de la même manière. Après c'est pas un modèle dernier cri donc peut mieux faire niveau rapidité mais vu la connexion ADSL pourrie que je me tape, ça suffit largement pour surfer à l'aise.

Bref, amusez-vous bien !

Ps: Cher Monsieur Cazeneuve, si vous désirez consulter l'intégralité de mes communications électroniques, sachez que ma porte est grande ouverte (pas la peine de la défoncer) et que vous ou vos sbires peuvent venir rafler à la maison quand vous le voulez. Je vous donnerais tous les accès dont vous avez besoin pour violer ma vie privée.

Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :

Twitter Facebook Google Plus Linkedin email Flattr ! Bitcoin DogeCoin

Installer Unbound (serveur DNS) sous Linux

Installer Unbound (serveur DNS) sous Linux

Après vous avoir expliqué comment installer Unbound sous Windows et OSX pour faire votre propre résolution DNS en local chez vous, voici comment faire sous Debian / Ubuntu pour votre serveur.

D'abord, on installe les outils nécessaires :

apt-get install build-essential libssl-dev

Puis on installe Unbound comme ceci :

cd /tmp

wget http://www.unbound.net/downloads/unbound-latest.tar.gz

tar xvfz unbound-latest.tar.gz

cd unbound-x.x.x/

./configure

make

make install

Ensuite, on crée le groupe et l'utilisateur qui vont bien pour faire tourner unbound :

groupadd unbound

useradd -d /var/unbound -m -g unbound -s /bin/false unbound

Le répertoire /var/unbound sera utilisé par Unbound et contiendra les fichiers de config.

Placez vous dedans et récupérez la liste des serveurs racines :

cd /var/unbound

wget ftp://ftp.internic.net/domain/named.cache

Créez ensuite le dossier /var/unbound/var/run qui contiendra unbound.pid et faites un lien symbolique vers le pid du système :

mkdir -p /var/unbound/var/run

chown -R unbound:unbound /var/unbound

ln -s /var/unbound/var/run/unbound.pid /var/run/unbound.pid

Ensuite, pour lancer / arrêter unbound, il nous faut un script de démarrage. Créez un fichier unbound (nano /etc/init.d/unbound) dans le init.d et copiez-collez y le script qui suit :

#!/bin/sh
#
# unbound This shell script takes care of starting and stopping
# unbound (DNS server).

exec="/usr/local/sbin/unbound"
prog="unbound"
config="/var/unbound/unbound.conf"
pidfile="/var/run/unbound.pid"
rootdir="/var/unbound"

case "$1" in
start)
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
echo -n $"Starting $prog: "

# setup root jail
if [ -s /etc/localtime ]; then
[ -d ${rootdir}/etc ] || mkdir -p ${rootdir}/etc ;
if [ ! -e ${rootdir}/etc/localtime ] || /usr/bin/cmp -s /etc/localtime ${rootdir}/etc/localtime; then
cp -fp /etc/localtime ${rootdir}/etc/localtime
fi;
fi;
if [ -s /etc/resolv.conf ]; then
[ -d ${rootdir}/etc ] || mkdir -p ${rootdir}/etc ;
if [ ! -e ${rootdir}/etc/resolv.conf ] || /usr/bin/cmp -s /etc/resolv.conf ${rootdir}/etc/resolv.conf; then
cp -fp /etc/resolv.conf ${rootdir}/etc/resolv.conf
fi;
fi;
if ! egrep -q '^/[^[:space:]]+[[:space:]]+'${rootdir}'/dev/log' /proc/mounts; then
[ -d ${rootdir}/dev ] || mkdir -p ${rootdir}/dev ;
[ -e ${rootdir}/dev/log ] || touch ${rootdir}/dev/log
mount --bind -n /dev/log ${rootdir}/dev/log >/dev/null 2>&1;
fi;
if ! egrep -q '^/[^[:space:]]+[[:space:]]+'${rootdir}'/dev/random' /proc/mounts; then
[ -d ${rootdir}/dev ] || mkdir -p ${rootdir}/dev ;
[ -e ${rootdir}/dev/random ] || touch ${rootdir}/dev/random
mount --bind -n /dev/random ${rootdir}/dev/random >/dev/null 2>&1;
fi;

# if not running, start it up here
start-stop-daemon --start --quiet --pidfile $pidfile --exec $exec -- -c $config
echo
;;

stop)
echo -n $"Stopping $prog: "
start-stop-daemon --stop --quiet --oknodo --pidfile $pidfile
echo
if egrep -q '^/[^[:space:]]+[[:space:]]+'${rootdir}'/dev/log' /proc/mounts; then
umount ${rootdir}/dev/log >/dev/null 2>&1
fi;
if egrep -q '^/[^[:space:]]+[[:space:]]+'${rootdir}'/dev/random' /proc/mounts; then
umount ${rootdir}/dev/random >/dev/null 2>&1
fi;
;;

restart)
start-stop-daemon --stop --quiet --oknodo --pidfile $pidfile
start-stop-daemon --start --quiet --pidfile $pidfile --exec $exec -- -c $config
;;

reload)
start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile $pidfile --exec $exec
;;

force_reload)
start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile $pidfile --exec $exec
;;

*)
echo $"Usage: $0 {start|stop|restart|reload|force-reload}"
exit 2
;;
esac

exit 0

Puis rendez ce script exécutable comme ceci :

chmod 755 /etc/init.d/unbound

update-rc.d unbound defaults

Et voilà c'est installé, mais ne lancez pas unbound tout de suite. Maintenant, on va régler les permissions pour que vos autres machines puissent s'y connecter et faire des requêtes DNS.

Créez le fichier de conf comme ceci :

nano /var/unbound/unbound.conf

Et collez-y la conf suivante :

server:
verbosity: 1
interface: 0.0.0.0
port: 53
do-ip4: yes
do-ip6: yes
do-udp: yes
do-tcp: yes
do-daemonize: yes
access-control: 0.0.0.0/0 allow
#access-control: 0.0.0.0/0 refuse
#access-control: 127.0.0.0/8 allow
chroot: "/var/unbound"
username: "unbound"
directory: "/var/unbound"
use-syslog: yes
pidfile: "/var/run/unbound.pid"
root-hints: "/var/unbound/named.cache"

Vous voyez la ligne "access-control: 0.0.0.0/0 allow" ? Ça veut dire que tout le monde peut se servir de votre serveur DNS. Mais vous pouvez changer 0.0.0.0/0 par 192.168.0.0/24 pour autoriser uniquement vos IPs locales...etc. Si c'est juste pour une utilisation par la machine seule, vous pouvez mettre simplement "access-control: 127.0.0.0/8 allow".

Bref, vous voyez l'idée. Concernant le fichier de conf, on peut faire plein de choses, mais je vous laisse lire la doc ici.

Pour vérifier que le fichier de conf est correct, on utilise cette commande :

unbound-checkconf /var/unbound/unbound.conf

Si ça vous dit que c'est bon, faites alors ceci pour démarrer unbound :

/etc/init.d/unbound start

Et voilà... Maintenant y'a plus qu'à entrer l'IP de votre serveur comme serveur DNS sur les clients de votre choix, et ce sera ce serveur qui résoudra lui-même les URL.

Source

Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :

Twitter Facebook Google Plus Linkedin email Flattr ! Bitcoin DogeCoin

Comment récupérer tous les fichiers et les sous-répertoires d’un FTP en ligne de commande

Comment récupérer tous les fichiers et les sous-répertoires d’un FTP en ligne de commande

Je déteste FTP. Quand je dois migrer des sites, je passe 99% du temps par SSH/SFTP/SCP. C'est plus pratique, mieux foutu et ça me permet de transférer les fichiers de machine à machine sans passer par mon ordinateur.

Seulement, dans les 1% des cas restant, quand j'ai qu'un accès FTP sous la main, ça me fait rager, surtout que je n'ai pas encore trouvé (ou compris...) la commande FTP qui va bien pour récupérer de manière récursive tous les fichiers et répertoires qui vont bien.

Alors voici comment je fais pour récupérer tous les fichiers d'un FTP de manière récursive (avec tous les sous-répertoires) et en conservant l'arborescence. Pour cela, je passe tout simplement par la commande wget. Il suffit de faire un petit :

wget -m ftp://USER:PASSWORD@SERVEURFTP/www

Le paramètre -m active la récursivité (tout comme -r mais conserve en plus les dates sur les fichiers et va au delà de 5 niveaux de profondeur dans l'arborescence). Et le /www à la fin c'est tout simplement le répertoire que vous voulez récupérer en entier.

Et voilà, le tour est joué ! Plus besoin de passer par un client GUI et vous pouvez bosser directement sur le serveur qui va accueillir le site.

Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :

Twitter Facebook Google Plus Linkedin email Flattr ! Bitcoin DogeCoin

Ne manquez plus d’exemples sous Linux

Ne manquez plus d’exemples sous Linux

Quand on cherche un peu d'aide sur une commande Linux ou une autre, en général, tous les barbus qui zones sur les forums répondent aux jeunes padawan : "RTFM, t'as qu'a faire un man".

Les pages man sont très bien, car elles sont complètes avec tous les paramètres qui vont bien, mais peu, voire pas d'exemples du tout. La commande Tar est par définition l'exemple parfait puisqu'en général, les gens qui ne l'utilisent pas régulièrement cherchent l'exemple qui va bien sur un moteur de recherche pour savoir comment l'utiliser.

tar

Heureusement, c'est là qu'intervient l'utilitaire "eg" (Prononcez "iji") qui fournit ce qui manque aux Man Pages, c 'est à dire des exemples corrects et clairs de ce qu'on peut faire avec telle ou telle commande.

Démonstration :

Pour installer eg, 2 possibilités... Soit en passant par pip comme ceci :

pip install eg

Soit en récupérant les sources sur le dépôt :

git clone https://github.com/srsudar/eg ./

ln -s ./eg/eg_exec.py /usr/local/bin/eg

Il ne vous plus qu'à taper ensuite la commande eg suivie du nom du soft pour lequel vous voulez des exemples. Pour tar, ce sera:

eg tar

Et voilà, c'est aussi simple que ça.

Si vous voulez plus d'infos, c'est par ici.

Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :

Twitter Facebook Google Plus Linkedin email Flattr ! Bitcoin DogeCoin

Gérez vos bases SQLite directement sous Firefox

Gérez vos bases SQLite directement sous Firefox

Si vous développez / bidouillez un peu et que vous utilisez des bases SQLite, sachez qu'il existe une extension Firefox baptisée SQLite Manager qui va vous permettre d'ouvrir et d'éditer n'importe quelle base SQLite.

Vous pourrez y faire des recherches, gérer les tables, les index, les vues, les triggers, lancer des commandes SQL (que vous pouvez sauvegarder)..etc. Bref, tout ce qu'on peut faire avec outil natif similaire sauf que là c'est sous Firefox.

SQLiteManagerIl est aussi possible de faire des exports / imports des bases dans tout un tas de format (CSV/XML/SQL), et lancer plusieurs requêtes SQL simultanées.

Une fois installé, vous le trouverez dans le menu "Outils" de votre navigateur.

SQLite Manager est téléchargeable ici.

 

Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :

Twitter Facebook Google Plus Linkedin email Flattr ! Bitcoin DogeCoin

Kitematic – Une interface graphique OSX pour Docker

Kitematic – Une interface graphique OSX pour Docker

Connaissez-vous Docker ? Il s'agit d'un logiciel open source qui permet de déployer facilement des applications au sein de conteneurs. Docker a le vent en poupe, car ça permet une portabilité immédiate et ça simplifie les déploiements, y compris dans des environnements distribués.

Voici une petite explication par le CEO de Docker :

Si je vous parle de Docker aujourd'hui c'est pour vous présenter Kitematic, une interface graphique OSX pour Docker qui permet de déployer rapidement sur vos ordinateurs Apple, des conteneurs en tout genre...

container

WordPress, PhpMyAdmin, MySQL, Serveur Minecraft, Ghost, Redis...etc. Tous les dépôts que vous pouvez voir ici sont accessibles et installables via Kitematic.

Voici une démo en vidéo de l'outil :

Bref, si vous n'avez pas encore mis les doigts dans Docker, c'est surement un bon point de départ pour débuter en douceur.

Télécharger Kitematic (beta) ici.

Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :

Twitter Facebook Google Plus Linkedin email Flattr ! Bitcoin DogeCoin

  • Articles populaires

  •  
  • Univers Populaires

  • Inscrivez-vous à la newsletter

  • DANS TON CHAT (BASHFR)

    Elkeii dit : fais moi plaisir, dis "lan"
    Bob dit : lan
    Elkeii dit : o/

    -- http://danstonchat.com/8942.html
  • Inscrivez vous aux bon plans

  • RSS Emplois sécurité

  • Site hébergé par
    Agarik Sponsor Korben
  • RSS Offres d’emploi

  • Swiis

  • Articles récents

  • Articles populaires

  • Dernières vidéos

  • En ce moment dans l'univers "Domotique"

    Voir tous les articles »

    En ce moment dans l'univers "Jeux vidéo"

    Voir tous les articles »