Avant toute chose, un peu de théorie.

A quoi sert radius?

http://fr.wikipedia.org/wiki/Remote_Authentication_Dial-In_User_Service

En bref, il sert a authentifier une personne à un service, il permet d’autoriser ou refuser toto a se connecter a un service.
Par exemple: l’utilisateur toto veux se connecter à un serveur FTP, ce serveur est configuré pour tourner avec un serveur radius.
L’utilisateur se connecte au FTP, le FTP va demander au serveur RADIUS si la personne à bien la permission de se connecter au service FTP à l’heure actuelle. Le serveur RADUIS va retrouver l’utilisateur toto dans un annuaire LDAP ou comme ici dans une base de donnée SQL,  RADIUS va ensuite vérifier si l’utilisateur a bien la permission d’accéder ou non suivant les préférences. Et il va contacter le FTP pour lui dire si oui ou non l’utilisateur peux se connecter.

On y va

Installation des paquets nécessaires :

apt-get install mysql-server mysql-client phpmyadmin freeradius freeradius-utils freeradius-mysql

Création de la table et de l’utilisateur

echo "create database radius;" | mysql -u root –p
echo "grant all on radius.* to radius@'localhost' identified by 'password_bdd'; flush privileges;" | mysql -u root –p
mysql –u root -p radius < /etc/freeradius/sql/mysql/schema.sql
mysql –u root -p radius < /etc/freeradius/sql/mysql/nas.sql

Creation d’un utilisateur

echo "INSERT INTO radcheck(UserName,Attribute,Value) VALUES (‘Toto’,’Password’,'Azerty123');" | mysql -u root -p radius

Configuration de freeradius

nano /etc/freeradius/sql.conf

Modifier le contenu:

password=motDePasseSQL
readclient=yes

nano /etc/freeradius/radiusd.conf

Décommenter $INCLUDE sql.conf

nano /etc/freeradius/sites-available/default

Décommenter sql dans “authorize”, “accounting” et “session”

nano /etc/freeradius/clients.conf

secret = superSecret (mot de passe pour le radtest notamment)

On test :

service freeradius stop
freeradius -X

(et regarder si tout est OK, pas de message d’erreur)

radtest Toto Azerty123 127.0.0.1 0 superSecret

-> acces-accept = OK
CTRL+C

service freeradius restart

Voici les manipulations à faire pour mettre en place des vlans avec un trunk.

Nettoyage

Premiérement, nettoyage du switch, de l’ancienne configuration

Switch enable
Switch#erase startup-config
Switch#delete flash:vlan.dat
Switch#reload
Switch enable
Switch#conf t
Switch(config)# no ip domain-lookup

Info : no ip domain-lookup supprime la recherche DNS (notamment en cas de mauvaise commande)

Configuration des VLANs

Ici nous passons à la configuration des VLANs sur les différents ports (changez les ports en fonction de votre utilisation)

Switch(config)# int Fa0/1
Switch(config-if)# switchport access vlan 1
Switch(config-if)# switchport mode access
Switch(config-if)# spanning-tree portfast
Switch(config)# int Fa0/20
Switch(config-if)# switchport access vlan 2
Switch(config-if)# switchport mode access
Switch(config-if)# spanning-tree portfast

Suivre la même procédure pour affecter d’autres ports à un VLAN.

Info : La commande spanning-tree portfast fait passer le port de l’état blocking à forwarding directement permettant ainsi une connexion plus rapide. A effectuer sur les ports connectés aux périphériques finaux.

Configuration du trunk

Switch(config)# int Fa0/24
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 1,2
Switch(config-if)# switchport trunk encapsulation dot1q

Sauvegarde de la configuration

Switch# copy running-config startup-config

Vérification

Switch#show interfaces Fa0/24 switchport
Switch#show running-config

Voila, la configuration de base est finie 🙂

Dat « Jeu de mot » :p

Bref, de nouveau moi! Et cette fois-ci avec une super technique de la mort qui tue pour pas se faire capter lorsqu’on télécharge des choses toute à fait légales comme Debian NetInstall par exemple 🙂

J’ai nommé le SSH Tunneling.

Déjà je remercie M4T pour m’avoir rapellé comment cela marchait ;). Ensuite je préviens que cette version est pour les semi-kikoo, c’est à dire pour les utilisateurs de Windows (Oui, si Windows sont les semi-kikoo, par abstraction qui sont les autres? Mystère 🙂 ).

En effet, pour cela nous allons utiliser le plus simple des programmes de SSH mais aussi le plus compet, j’ai nommé PuTTY. Pour ce petit tuto, il nous faudra:

– Un navigateur dédié à ça, c’est mieux 🙂 (Evitez IE de préférence car il a la facheuse tendance de foutre sa configuration par défaut pour tout le système.)

-Un serveur (hors France de préférence 😉 Ca serait balot de se faire cafter par Had**i :p )

– PuTTY, le bien nommé

– OpenSSH installé sur ce serveur.

Donc pour ma part, j’utilise un VPS Debian en France (Oui je sais, mais ya une bonne raison caché derrière cela 🙂 ), Waterfox (FF 64 bits) et un Windows 7 normal :p

C’est parti!

0. Je vous explique pas comment installer OpenSSH ni Waterfox. Rapellez-vous, vous n’êtes que des semi-kikoo :p Votre Grand amis est là 😉

1. Téléchargez PuTTY : http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

2. Lancez le et entrez l’adresse de votre VPS. Mettez lui un nom puis cliquez sur Save

tutossh1-1024x622

tutossh2

3. Ensuite, dans le menu à gauche, allez dans Connection > SSH> Tunnel

4. Mettez un numéro de port dans « Source Port », cochez « Dynamic » et cliquez sur « Add »

tutossh3

5. Revenez sur Session (tout en haut du menu), cliquez sur « Save », puis « Open ». Acceptez le certificat et vous y voila! Loggez-vous avec un utilisateur qui peut utiliser le net sur le serveur (root par exemple même si c’est pas une bonne idée ^^ )

tutossh4

6. Dans votre navigateur, ici WaterFox, allez à l’endroit ou se situe les options réseaux et mettez vos infos dans le champ proxy

tutossh5

7. Un petit coup de showip.net et hop vous pouvez être sur que cela fonctionne.

Note: Il faut garder PuTTY ouvert tout le long de l’opération 🙂

Voilà, c’est bon! 🙂 Par contre, si j’ai uniquement mentionné le téléchargement, les tunnels SSH ne servent pas qu’à ça: Ils protègent les données qui transitent à l’intérieur. Ceux qui regarderaient par hasard votre connexion y verraient une connexion vers quelque part, un flux de donnée, une « masse » de donnée, mais en aucun cas le contenu. Cela veut dire que cela peut être aussi bien le dernier film de vacance de Mamie Tromblon ou encore le code source super secret de Curiosity.

Vos données sont protégées, du moins, pour le moment…. 🙂

Phoenix