Archives pour l'étiquette dns

Iodine et DNS Tunneling

Plop à tous …

Aujourd’hui, encore du DNS Tunneling … et cette fois avec iodine, un soft écrit en C, beaucoup plus puissant que les autres scripts en perl comme dnstunnel et ozymandns que j’ai présenté sur mon blog, qui permet des connexions en parallèles, ce qui permet un chargement plus rapide des pages web, par contre, comme ça utilise le protocole DNS, le débit peut seulement aller jusqu’à 20-30 ko/s donc c’est assez limité.
Mais ça permet d’utiliser la plupart des bornes d’accès ouvert de type Neuf Wifi/FreeWifi qui force l’utilisation de leurs services pour utiliser la borne wifi sans avoir à fournir de couple login/pass valide ^^.
Continuer la lecture de Iodine et DNS Tunneling

Tunnel SSH via le protocole DNS

Plop …

Je suis en forme ce week-end :p (mon 4ème post … un record, quoique pour un simple lien et un petit spitch …).

Donc voilà … tous le monde connait les hotspots wifi … souvent, il faut s’inscrire voir payer les accès, mais souvent aussi, on a accès à certain services sans restriction, genre … taadaaa : le service DNS (c’était téléphoné vu le titre ^^), et la plupart du temps, la restriction des accès est faites après la résolution DNS dans ce cas c’est gagné vous pourrez joyeusement contourner la sécurité et accéder à un serveur SSH (et donc un accès illimité au net) via ce superbe tuto … en anglais.

Pour ceux qui n’ont pas envie de lire de l’anglais (ou qui préfère rester sur mon blog ;)) :

Tout d’abord … il vous faut :

  • Un nom de domaine
  • Un serveur DNS
  • Un serveur SSH
  • (D’une autre machine si vous n’utilisez pas le proxy D’Ozyman sur la machine qui héberge le SSH, … ça en fait des choses à utiliser ^^)

Sur le serveur DNS :

Il faut installer les paquets perl suivant :

apt-get install liblwp-protocol-socks-perl libnet-dns-perl libmime-base32-perl

Il faut une config du genre (comme je repique le lien, autant repiquer l’exemple ^^) :

ihaztunnel.room362.com IN NS mubixpwnsyour.homedns.org

ihaztunnel.room362.com est l’hôte sur lequel on ce connecte

mubixpwnsyour.homedns.org est le serveur OzymanDNS sur lequel on lance la commande :

./nomed.pl -i 0.0.0.0 ihaztunnel.room362.com

Qui aura pour effet d’écouter sur le port 53 (donc faut pas héberger le serveur DNS sur la même machine … on peut passer par Xname.org qui s’occupe très bien de cette tâche).

Sur le client :

ssh -D 8080 -C -o ProxyCommand=”/dossier/vers/ozymandns/droute.pl whatever.ihaztunnel.room362.com” room362.com

Petite explication sur la sympathique commande :

  • -D 8080 aura pour effet d’écouter sur le port 8080 du client
  • -c pour la compression, histoire d’aller plus vites 😉
  • “-o ProxyCommand=…” execute le sympatique script qui permet le tunneling
  • whatever.ihaztunnel.room362.com … le whatever est à remplacer par ce que vous voulez …
  • room362.com est le nom (ça peut-être une IP) qui va « tunneler » le traffic

Ensuite, il suffit de configurer vos logiciels pour utiliser le proxy 😉 Si vous préférez les vidéos

C’était Albanel qui disait : « C’est très difficile de pirater avec des bornes de wifi collectives. » Des commentaires ?? :p

Se monter un environnement de developpement LAMP rapidement

Bonjour à tous et bonne fêtes de fin d’années …

Rapidement, le thème du jour : se monter un environnement de développement LAMP (pour dev en PHP ou …) proprement, avec une config DNS qui claque sa race ^^, juste histoire de revoir les « basiques » des serveurs DNS et d’un serveur apache.

L’idée étant que l’on ai des sous-domaines par projet du genre :

http://projet1.monpc.lan ou http://projet2.monpc.lan

Généré de façon dynamique, sans avoir à toucher à la config de son serveur à chaque nouveau projet, histoire de développer de façon rapide et propre, au lieu de tous stocker à la barbare pour accéder à ses sites en développement via http://localhost/projet1/module2/fichier3.php ou des urls à rallonge … Quoique l’on déporte le contenu du premier / au sous-domaine, mais bon, faut avouer qu’accéder à son site via http://localhost/projet au lieu de http://projet.monsite.org c’est moins sexy!!

(L’idée étant repiqué de mon environnement de travail chez advisa, que j’ai adopté pour développer mes projets perso,et aussi histoire de faire croire que j’ai le net dans le train).

Donc voilà … sous un système debian, on installe apache2, le module PHP, une base de données mysql, le serveur de NDD Bind9, ce qui donne la commande :

apt-get install phpmyadmin mysql-server bind9

Les dépendances de phpmyadmin étant le serveur apache et … ça raccourci pas mal la commande ;).

Pour ma part, je veux accéder à mon environnement de dev sur le nom de domaine : portable.lan, je modifie donc le fichier /etc/bind/named.conf pour rajouter :

zone « portable.lan » {
type master;
file « /etc/bind/db.portable.lan »;
};

avant la ligne contenant : include « /etc/bind/named.conf.local »;

et je créer le fichier /etc/bind/db.portable.lan contenant ce qui suit :

$TTL 3h
@       IN      SOA     ns.portable.lan. hostmaster.portable.lan. (
2005090201
8H
2H
1W
1D )

@       IN      NS      ns.portable.lan.

A       127.0.0.1
ns              A       127.0.0.1
*.portable.lan. IN      A       127.0.0.1

Qui aura pour effet de rediriger toutes les requêtes DNS à destination de portable.lan (www.portable.lan, …) à l’adresse IP 127.0.0.1, mais pour utiliser ce serveur de nom, il faut tout d’abort recharger la zone DNS :

/etc/init.d/bind9 reload

et modifier le fichier /etc/resolv.conf et rajouter ce qui suit :

nameserver 127.0.0.1

et malheureusement là … ce fichier est réécrit à chaque redémarrage, il faut donc modifier le fichier /etc/dhcp3/dhclient.conf et dé-commenter la ligne (en enlevant le # devant) :

prepend domain-name-servers 127.0.0.1;

qui aura pour effet de rajouter le serveur DNS 127.0.0.1 à chaque démarrage de la machine.

Maintenant, il faut configurer le serveur apache, très rapidement, on fait un :

a2enmod vhost_alias

pour rajouter le mod vhost_alias. Puis on modifie le fichier /etc/apache2/sites-enabled/000-default en changeant la ligne :

DocumentRoot /var/www

par :

VirtualDocumentRoot /var/www/%1

qui permettra, lorsque l’on se connecte à http://projet1.portable.lan d’utiliser le répertoire /var/www/projet1comme répertoire par défaut, par contre, il ne faut pas oublier de créer le répertoire www et portable, car si l’on tente de se connecter à http://www.portable.lan, le serveur apache cherchera le dossier /var/www/www ou pour http://portable.lan de chercher le dossier /var/www/portable … logique ^^.

et enfin, on redémarre le serveur apache :

/etc/init.d/apache2 restart

Voilà … c’est terminé ;), par contre, vous remarquerez que pour se connecter à phpmyadmin, on ne doit pas faire http://phpmyadmin.portable.lan, mais bien http://portable.lan/phpmyadmin, pourquoi??

Dans la config d’apache, il on généré un <Location> lors de l’installation, à la place d’un simple dossier dans le dossier /var/www, ce qui a pour effet d’ignorer notre superbe configuration, si ça vous dérange, vous pouvez créer un lien symbolique vers le dossier de phpmyadmin (/usr/share si mes souvenirs sont bon) depuis /var/www.

Voilà … c’était votre cadeaux de noël 😉