Août 17

Coffre-fort numérique : sa vie au bout d’un fil

Pour être franc avec vous, à l’origine ce billet était une tergiversation personnelle entre Amazon S3 et Dropbox, et au fil de mes réflexions, j’ai plutôt décider de vous parler un peu des coffres-forts numériques.
D’abord parce que je vois fleurir de tout et n’importe quoi sur le nain ternet, et ensuite parce que ça fait une quinzaine d’années que j’utilise ce concept. (oh oui bon ça va, je sais, je suis VIEUX !).

De plus, a l’heure de la dématérialisation à outrance (a ce propos je vous invite à lire le billet de Abavala.com : Dématérialisation de factures ), le numérique et son stockage à long terme est vraiment d’actualité.

Un coffre-fort numérique c’est quoi ?

La définition de Wikipédia est assez claire : « Un coffre-fort numérique personnel correspond à un service hautement sécurisé pour archiver facilement l’ensemble de ses fichiers numériques sensibles : documents administratifs, factures, relevés, contrats, photos, etc. Ce service peut être accessible en ligne, via Internet. »

Mon concept à moi que j’ai personnellement, s’en rapproche totalement. Stocker à très long terme (plus de 30 ans) et de manière sécurisée, des copies numériques de tout les documents accompagnant ma vie (bulletins de paye, pièces d’identitée, déclarations d’impôts, relevés bancaires, contrats divers et variés, documents administratifs…), bref tout ce qui fait votre vie de citoyen et qui vous permet d’user (et non d’abuser :p) des services de la nation (la vous pouvez vous lever  et fredonner « ta ta ta tann ta ta ta tannnn ta tanneee, ta tanne ta tanneeeee tan ta tanne ! si ca vous chante) (je sais je fait super bien la Marseillaise en phonétique 😀 ), et de pouvoir les récupérer de n’importe où avec une simple connexion au nain ternet.

Pourquoi un coffre-fort numérique ?

Il y a bien longtemps, dans une galaxie très lontaine (euh non…), au début des offres de services Internet, je me suis posé la question de la sauvegarde de ma « vie » au sens papiers du terme. Après tout, si un incendie se déclarer chez moi, un cambriolage, des groupies assoiffées de souvenirs, comment récupérer l’intégralité de toutes cette paperasse obligatoire que nous devons garder ?

L’arrivée du scanner chez le particulier (je sais là vous vous dites, « nan mais sérieux Guiguiabloc il a connu Karen Cheryl à la télé c’est pas possible ! » et bien oui :/ ), a été une révélation pour moi.

J’ai rapidement fait l’acquisition de ce bijou de technologie (sûrement au prix d’une Renault Clio aujourd’hui), pour numériser tout ce que j’avais comme papier à la maison, le chiffrer, et le stocker sur divers points de sauvegarde (officiel ou non) sur internet.

Puis est arrivé Google et Gmail et bien sur, pendant quelques temps, j’ai tout stocké chez eux (ah le gdrive :p)

Maintenant, en 2011, qu’en est-il de mon coffre-fort électronique ?

Il ne faut pas se leurrer, la grande majorité des offres sur le Nain Ternet, sont du vent.

Comment pouvez vous imaginez qu’une boite comme « HomeBubble », « Securibox » et j’en passe et des meilleurs, seront encore la dans 20 ans ?

Rien, je vous l’avoue.

Maintenant, je vous le concois, ils ont raison d’offrir ce service, mais personnellement, j’ai de grand doutes quand à leurs capacités de durée dans le temps et de garantie de l’état de mes données.

De nos jours il existe le fabuleux « Dropbox », rien à redire, c’est parfait, ca marche, et ca explose le marché.

Dropox est basé sur le service Amazon S3.

Si Amazon disparait (mouais, assez peu probable il faut l’avouer), Dropbox disparait. Si Dropbox disparait… bah Amazon est toujours la.

Pour mon coffre-fort électronique, j’utilise les deux services.

Dropbox d’abord.

C’est « user-friendly », ca marche très bien, et c’est gratuit (pour ceux qui comme moi ont opter pour le concept 2go (allez 8go aveec quelques comptes mails qui servent à rien), de stockage.

Je m’en sert pour ce qui est « non -critique » pour moi. Les factures de téléphone mobile, de fournisseur d’accès interrnet, etc.. bref tout ce qui est « perdable » et non important pour « refaire » ma vie aux Bahamas.

Par contre, pour ce que je considère comme très critique (bulletin de paye, pièces d’identités etc…) je me suis abonné a Amazon Web Services et au service S3 (la base de Dropbox aussi).

Alors je sais, vous vous dites « un particulier qui s’offre S3 ??? t’es ouf !!! » Eh ben non mon jeune padawan.

Le service Amazon S3 me coute moins cher que les offres « gros volumes » de Dropbox (normal, ce serait bête de vendre à perte…) et vous pouvez même vous offrir 1 an gratos pour tester.

Après quelques années, le service S3 me coûte en moyenne une trentaine d’euros par an (frais bancaire inclus car oui, il faut le savoir, la facturation se fait en dollars américains et pas en euros, donc votre banque peut vous ponctionner divers frais comme ils savent si bien le faire.). Si vous décidez d’être fidèle au paiement dans la monnaie verte, je vous invite fortement à discuter avec votre banquier (le mien a retirer les divers frais et je ne paye que le taux de change de la banque).

Je dois stocker une vingtaine de Go de données et je simule tout les mois une perte totale de mes données et la récupération de tout mes scans administratifs (Car oui, je dois être encore l’une des rares personnes a vraiment tester périodiquement la destruction totale de mes serveurs persos et à restaurer mes sauvegardes et mes données critiques hors site).

Concernant la confidentialité, je crypte toutes mes données avant synchronisation sur S3 avec Encfs.

Pour la synchro, j’utilise l’excellent S3cmd qui me permet par simple script bash de synchroniser mon répertoire crypté et de l’envoyer dans le cloud Amazon.

Enfin, pour l’accès administrateur a mon compte AWS (Amazon Web Service), j’ai acheté en plus un token qui me permet de m’identifier via OTP sur la console .

.Bon maintenant vous vous dites, t’es gentil Guiguiabloc, mais fait péter un peu les scripts. Dont acte.

Concernant le fonctionnement de Encfs, il existe assez de tuto la dessus pour que je passe outre (par exemple : http://pellelatarte.fr/tag/encfs/ )

Le mode « Paranaoïa » n’est pas un mal nécessaire 😉

Ne reste qu’a »monter » son répertoire crypté (S3 est le répertoire décrypté, S3_enc est crypté) :

encfs /home/guiguiabloc/S3_enc/ /home/guiguiabloc/S3

J’ai pour habitude de faire « tomber » mes documents importants scannés dans un répertoire « Maison » que je synchronise en local dans mon répertoire S3 décrypté :

rsync  -av /home/guiguiabloc/Maison/ /home/guiguiabloc/S3

Pour les synchros sur AWS S3, j’ai créer un utilisateur spécifique (qui n’a pas accès à la console AWS) et j’ai reporté sa clé et son identifiant dans la config de s3cmd :

$ more .s3cfg
[default]
access_key = LACLEDACCESS3DUUSER
acl_public = False
bucket_location = EU
debug_syncmatch = False
default_mime_type = binary/octet-stream
delete_removed = False
dry_run = False
encrypt = False
force = False
gpg_command = /usr/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passph
rase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passph
rase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase = supermotdepasse
guess_mime_type = False
host_base = s3.amazonaws.com
host_bucket = %(bucket)s.s3.amazonaws.com
human_readable_sizes = False
preserve_attrs = True
proxy_host =
proxy_port = 0
recv_chunk = 4096
secret_key = LACLESECRETE
send_chunk = 4096
simpledb_host = sdb.amazonaws.com
use_https = True
verbosity = WARNING

Je spéficie le cloud EU pour les « buckets » (les stockages) afin d’être hébergé en Irlande pour les temps de réponse, mais vous pouvez spécifier US pour être stocker aux USA.

Enfin pour envoyer tout cela sur Amazon S3 :

s3cmd --delete-removed sync S3_enc/ s3://lesdonneesdeguigui/S3/

Prévoir la récupération :

La configuration de votre volume crypté Encfs se trouve dans le fichier .encfs6.xml dans votre répertoire crypté (S3_enc dans mon cas).

Récupérez ce fichier et stocker le en lieu sur (à la racine de votre stockage S3 accessible que par l’administrateur et sur une clé USB par exemple (rassurez vous, il faut quand même le mot de passe (ne lésinez pas sur sa sécurité !)).

Pour récupérer l’ensemble de vos données depuis un poste vierge :

mkdir S3
mkdir S3_enc
 
Configurer le .s3cfg avec la clé qui va bien.
 
Copier le s3://encfs.xml dans S3_enc/.encfs6.xml
 
Récupérer les données :
 
s3cmd sync s3://lesdonneesdeguigui/S3 S3_enc/
 
Décrypté le tout :
 
encfs /user/S3_enc/ /user/S3

Et voila, une façon sereine et plaisante de garder sa « vie » au bout d’un fil.

Soyons clair, je ne dénigre par Dropbox, je trouve même que c’est l’un des meilleurs services gratuit qui existe actuellement. Toutefois, je reste prudent quand a la continuité de son offre gratuite.
On ne fait pas de « freemium » éternellement et le coût mensuel de fonctionnement de Dropbox est hallucinant (je vous invite a lire l’excellent billet de Jean-Nicolas Reyt a ce sujet : http://reyt.net/business-model/dropbox-le-business-model-decortique-en-4-chiffres/1092 )

Après, que choisir comme offre pereine ? Je vous l’avoue, je n’ai trouvé que Amazon S3 comme sérieux (comprendre dans 10 ans, Amazon a de fortes probabilités d’exister encore). Et comme il vaut mieux s’adresser a Dieu qu’a ses saints, je prefere m’adresser au fournisseur de Dropbox.

Stocker « hors site » (comprendre pas chez soi :p) les copies numériques de tout les documents administratifs qui font notre vie et nous permettre de la reconstruire en cas de sinistre, est obligatoire. Ne pas le faire (comme ne pas s’équiper d’un système de sécurité digne de ce nom a son domicile), c’est aller au devant du « si j’avais su j’aurais fait ça.. » que tout les cambriolés ou victimes d’incendie nous sortent après leurs calvaires.
Prevoyez donc le pire et faites le bon choix (je vous déconseille les Bahamas sinon :p)

Amusez vous bien 😀

Classé dans domotique, geekerie | Taggé , , , | 25 Commentaires
Mai 14

Domotique : suivi des appels entrants téléphoniques

Vous le savez, la domotique devient un passe temps de plus en plus prenant à domicile.
C’est quand même une activité qui a le mérite d’être tout de suite visible et dont les avantages ou pas, sont intégrés immédiatement à la vie quotidienne.
De plus, la communauté française est très active et peuplée de personnes amicales et prêtes a partager leurs expériences dans un domaine que l’on essaye tous, de rendre abordable.
Je salue donc au passage toutes les personnes qui partagent la même passion que moi, dont vous retrouverez les blogs/sites dans ma blogroll ou dans mes articles et avec qui j’ai eu des contacts des plus enrichissants grâce à la même passion qui nous anime 🙂

Alors que je déploie petit à petit mon installation domotique, un des éléments essentiels de la maison reste le téléphone.

Ma ligne principale n’est pas dégroupée (ouf) et je suis très attaché a garder ma ligne RTC France Telecom.

Pourquoi ? Pour plusieurs raisons  fort simple :

– J’ai besoin d’un accès téléphonique en cas de panne de courant (ah bah oui, une box adsl sans courant ça marche beaucoup moins bien…)

– Je capte très difficilement un opérateur de  téléphonie mobile chez moi (et oui, je vis dans un lieu très… isolé :p (par contre je ne suis qu’à 320m de mon NRA ce qui me donne un débit de synchro à 22Mbps… va comprendre…)

– J’aime basculer sur du RTC en cas de panne ADSL (rare mais probable et moi j’ai de l’autonomie électrique :p)

– FT m’aime si je reste chez eux (illusoire de le croire, mais les histoires de coupure physique de ma ligne m’ont donné raison puisque j’ai eu le droit à l’armada FT pour enterrer ma ligne FT, gratuitement…)

– J’aime jouer avec le réseau analogique FT, mais chut 😀

Bref, vous le comprendrez, je suis assez attaché à ma ligne FT et son numéro associé sur lequel je reçois mes appels (mais ne me prenez pas pour un débile quand même, les appels externes je les passe forcément sur ma freeteuse…)

Donc recevant mes appels sur ma ligne FT, je cherchais un moyen de stocker en base les appels reçus, de pouvoir consulter cette liste d’appels et comble du luxe, de pouvoir afficher sur mon portable quand je suis au sous-sol pour fumer mon clop (oui c’est mal, mort toussa, perte de fécondité et honte sur ma famille etc..), le numéro de l’appelant sur mon écran (accessoirement d’ailleurs sur tout les écrans des pcs de la maison).

Petit bonus que je me suis offert après, le « killer d’appel entrant ». Surnommé également le « kill -9 commercial », il me permet de décrocher et raccrocher le modem automatiquement suivant le numéro en blacklist.
Terriblement efficace après m’être fait un peu embêter avec des appels automatisés de la série des numéros 0177690400, 0173779002 et consorts de Completel. C’est j’avoue, extrêmement jouissif de savoir qu’un centre d’appel téléphonique pratiquant l’abus d’appels se mange une porteuse à chaque fois 😀

Sympa, non ? donc mise en oeuvre.

« Ké ki nous faut comme matos ? »

– Un pc sous Nux déjà (ah ah) avec la panoplie habituelle apache, mysql toussa

– Ensuite un modem RTC récent.

Et oui, en fait lors de mes premiers tests, j’avais ressorti mes vieux modems 3com USR Robotics (toute la panoplie du Voice au Voice/Fax en passant par le MessagePlus) avant de me rendre compte (après plusieurs recherches sur le nain Ternet) que la technologie CallerID ou CID  (la présentation du numéro quoi)  avait changé chez FT vers le début des années 2000 et que donc, cela ne fonctionnait plus avec ses modems :/

NB: je ne retrouve plus le lien parlant de ces modifications, donc si un lecteur le retrouve, je suis preneur 🙂

donc sur notre ami Ibêêêhhh, pour une poignée d’euros, je me suis acheté celui ci :

l’US Robotics 56k USB FaxModem USR5637.

(allez 20 euros à tout casser)

– Le service Présentation du Numéro de France Telecon (1,5 euros/mois)

– des doigts pour taper les scripts

Voila, on a tout ce qu’il nous faut.

Première étape, l’interception silencieuse des numéros.

Une fois branché sur la prise FT, il faut que le modem, réagisse passivement (pour l’instant) et ne fasse que récupérer le numéro de l’appelant.

L’outil qui  va bien pour cela : mgetty

donc apt-get install mgetty

On configure ( en supputant (j’adore ce verbe…) que votre modem est sur /dev/ttyACM0) :

cat /etc/mgetty/mgetty.config
# mgetty configuration file
debug 4
rings 3
speed 38400
port ttyACM0
init-chat "" AT#CID=1 OK
cnd-program /home/guiguiabloc/appelentrant.sh

Inutile de décrire, c’est assez explicite. La commande AT CID=1 signifie que nous activons la fonction de présentation du numéro. (Caller IDentification)

Pour le charger au boot et le recharger quand il s’achève, on rajoute a la fin du /etc/inittab :

S1:2345:respawn:/sbin/mgetty ttyACM0

Maintenant ca se complique un peu.

– On veut stocker ça en base, donc création des bases mysql toutes bêtes et des tables qui vont avec :

pour les appels :
 
CREATE DATABASE appels ;
 
CREATE TABLE appels (id INT not null AUTO_INCREMENT, date VARCHAR( 20 ) not null, numero CHAR(10), PRIMARY KEY (id));
 
Pour l'annuaire (cela peut servir ;) ) :
 
CREATE DATABASE annuaire ;
 
CREATE TABLE annuaire (id INT not null AUTO_INCREMENT, prenom VARCHAR( 30 ) not null, nom VARCHAR (30) not null , adresse VARCHAR (255) not null , numero CHAR(20), PRIMARY KEY (id));

– On veut notifier les pcs se la maison (par le pop-up graphique notify-send)

apt-get install libnotify-bin (sur tout les pcs (clients et serveur)

On crée une clé ssh sur le pc serveur (ssh-keygen, pas de mot de passe…)

Et sur les pcs recevant l’appel on rajoute la clé publique du pc serveur en verrouillant un peu l’accès :

client:~$ cat .ssh/authorized_keys
command="/home/guiguiabloc/system/ssh_notify.sh $SSH_ORIGINAL_COMMAND" ssh-dss AAA...
client:~$ cat /home/guiguiabloc/system/ssh_notify.sh
 
#!/bin/bash
DISPLAY=:0.0 XAUTHORITY=~/.Xauthority notify-send -u critical SERVEUR $SSH_ORIGINAL_COMMAND

-Maintenant le script qui s’execute à l’appel entrant :

#!/bin/sh
NOW="$(date +"%d-%m-%Y %T")"
NUMBER="$2"
 
# On se garde un petit fichier texte pour vérifier
echo "Appel entrant le $NOW de . $NUMBER" >> /tmp/appel
 
# On enregistre l'appel dans la base
mysql -uuser -pmotdepasse -h serveurmysql -D appels -e "INSERT INTO appels (date,numero) VALUE ('$NOW', '$NUMBER') ;"
 
# On recherche dans la base Annuaire une correspondance
prenom=`mysql -uannuaire -pannuaire -h serveur-mysql -D annuaire -e "select PRENOM from annuaire where numero=$NUMBER ;"`
nom=`mysql -uannuaire -pannuaire -h serveur-mysql -D annuaire -e "select NOM from annuaire where numero='$NUMBER' ;"`
 
# On s'envoit ca par mail
echo "APPEL DU $NUMBER le $NOW Identifiant : $prenom $nom" | mail -s "Appel du $NUMBER" guiguiabloc@monemail.fr
 
msgnotif="$NUMBER $prenom $nom"
 
# Affichage en local
su - user  -c "DISPLAY=:0.0 XAUTHORITY=~/.Xauthority notify-send -u critical APPEL "$msgnotif""
 
# Affichage sur les clients
ssh -i /home/guiguiabloc/.ssh/clepriveserveur_dsa user@client "Appel_du_"$NUMBER 2>&1
 
exit 1 # on sort en erreur pour que mgetty ne décroche pas

Sympa déjà 🙂

Pour l’annuaire, je vous laisse le travailler avec votre convenance, en le remplissant à la main ou plus fun, en faisant une requète sur http://www.pagesjaunes.fr/trouverunnom/rechercheInverse.do ou sur http://www.118000.fr/search?sb_Phone= .

Il existe des scripts sur le net en perl, bash, php etc.. pour cela.

Sinon vous pouvez aussi vous baser sur l’excellent travail de Clément pour la récupération des messages vocaux de la Freebox : http://clement.storck.me/?p=318

Pour afficher tout cela sur votre site web maison, une simple page php qui va interroger votre base mysql pour afficher la liste des numéros entrants avec la date et l’heure vous permettra d’avoir une vision succinte de votre historique d’appels entrants (ce n’est pas les exemples sur le nain Ternet qui manque pour ce genre de page).

Cadeau Bonus

Maintenant qu’on est capable de traiter les appels entrants, après avoir reçu quelques appels commerciaux non sollicités, je me suis demandé comment laisser l’ordinateur traité ses indésirables.

Tout simplement en faisant décrocher puis raccrocher le modem à la détection du numéro indésirable.

On rajoute au début de notre script appelentrant.sh :

...NUMBER="$2"...
 
if [ $NUMBER = "0177690400" ] ||  [ `echo $NUMBER | grep "01702382"` ] ||  [ `ec
ho $NUMBER | grep "01737790"` ] ||  [ `echo $NUMBER | grep "01788135"` ]
then
screen -d -L -m /home/guiguiabloc/scripts/kill_appel_entrant.sh
echo "APPEL DU $NUMBER le $NOW" >> /home/guiguiabloc/LISTE_APPELS_MALVEILLANTS
exit 0
else
echo
fi
... suite du script

Et le fameux script « kill_appel_entrant.sh » dont je me suis inspiré la lecture du billet de Queued sur http://www.goodjobsucking.com/?p=244

#/bin/bash
PID=$$
cd /tmp
echo send "ATZ" >> /tmp/minicom.$PID
echo expect { >> /tmp/minicom.$PID
echo \"OK\" >> /tmp/minicom.$PID
echo } >> /tmp/minicom.$PID
echo send "AT+FCLASS=1" >> /tmp/minicom.$PID
echo expect { >> /tmp/minicom.$PID
echo \"OK\" >> /tmp/minicom.$PID
echo } >> /tmp/minicom.$PID
echo send "ATH1" >> /tmp/minicom.$PID
echo expect { >> /tmp/minicom.$PID
echo \"OK\" >> /tmp/minicom.$PID
echo } >> /tmp/minicom.$PID
echo send "ATH0" >> /tmp/minicom.$PID
echo expect { >> /tmp/minicom.$PID
echo \"OK\" >> /tmp/minicom.$PID
echo } >> /tmp/minicom.$PID
echo send "ATZ" >> /tmp/minicom.$PID
echo expect { >> /tmp/minicom.$PID
echo \"OK\" >> /tmp/minicom.$PID
echo } >> /tmp/minicom.$PID
echo "sleep 1" >> /tmp/minicom.$PID
echo >> /tmp/minicom.$PID
echo sleep 2 >> /tmp/minicom.$PID
echo ! killall minicom >> /tmp/minicom.$PID
/usr/bin/minicom -S /tmp/minicom.$PID
cat /tmp/minicom.$PID
rm /tmp/minicom.$PID

Rhaaaa 😀

Alors je vous préviens, l’inconvénient en France sur le réseau RTC c’est que le numéro de l’appelant ne s’affiche qu’a partir de la deuxième sonnerie :/ donc votre téléphone sonnera au moins 2 fois avant que le script ne se déclenche mais bon, déjà certains téléphones fixes permettent de régler le fait de sonner uniquement à partir de X sonneries, et si votre tél ne propose pas cette option, il vous suffit d’attendre la troisième sonnerie pour décrocher 🙂

Et puis, avouons le, c’est extrémèment plaisant de suivre le déroulement de l’appel avec le modem qui décroche et le téléconseiller qui parle dans le vide avant de se faire raccrocher au nez.

Après plusieurs semaines d’utilisation, ce script s’est avéré terriblement efficace pour la simple raison que la plus grande partie des automates qui composent les numéros détectent ce qu’il y a au bout (et oui, faites le test, si vous avez un blanc au bout du fil quand vous décrochez, c’est au moment où vous dites « allo » que l’appel est basculé sur un téléconseiller) et que l’automate semble détecter la porteuse du modem et donc « grille » votre numéro dans sa base.

En tout cas, pour moi, j’ai remarqué une chute impressionnante des appels commerciaux non sollicités avec cette technique.

Amusez vous bien 😀

Classé dans domotique | Taggé , | 9 Commentaires
Avr 10

Palo Alto Networks : Faut-il repenser notre vision du Firewall ?

Photographe:Cpl Barry Lloyd RLC Crédit : www.defenceimages.mod.uk

Aujourd’hui je vous propose de vous parler d’une nouvelle génération de Firewall mais aussi, je l’espère, vous pousser à la réflexion sur notre conception du firewall telle qu’on l’a aujourd’hui en se demandant, si, après tout, on n’est pas un peu rétrograde.

Petit historique.

Palo Alto Networks est une société créée en 2005 par un monsieur très connu du monde de la sécurité : Nir Zuk.
Si son nom ne vous dit rien (bouh ! Honte à vous, que vous soyez flageller sur la place publique et que les corbeaux viennent écorcher votre peau blanchâtre (euh non, je suis un peu trop extrémiste là…) ), sachez que Nir Zuk est l’un des créateurs du Stateful inspection de Checkpoint, l’ancien directeur technique de Netscreen Technologies (racheté par Juniper) et aussi créateur d’un des premiers IPS du marché via son ancienne société OneSecure. Bref, un type qui s’y connait « un peu » 😉

Notre vision généraliste du Firewall telle qu’on l’a aujourd’hui, est un filtrage de niveau 3 et 4, parfois 7 de la couche OSI (allez hop, pour ceux qui aurait rater mes anciens billets vous martelant d’avoir un minimum de connaissance des couches OSI, on y retourne), ce à quoi l’on va rajouter, bien sûr, cette fameuse inspection stateful.

pause

« Mais dites moi Monsieur Abloc, c’est quoi ça l’inspection Stateful ??? »

« Je te remercie de poser la question, jeune padawan, mais vu que tu es un fidèle lecteur, dans ma grande mansuétude, je t’autorise à m’appeler guiguiabloc. »

« Oh merci vous êtes bien bon avec moi ! C’est trop d’honneur »
« De rien mon petit, vas en paix et écoute »

(désolé, une crise passagère…)

Dans un firewall vous allez, au niveau  3, par exemple, autoriser telle adresse ip à accéder à telle autre adresse ip. Au niveau 4, vous allez autoriser cette ip source à accéder depuis un port tcp supérieur à 1023 à accéder au serveur web de l’autre adresse ip sur le port 80.

(pourquoi supérieur à 1023 ? parce qu’une requête cliente vers un serveur prend aléatoirement un port source supérieur à ce nombre, les ports inférieurs à 1023 ne pouvant être « réservé » qu’à des services reconnus (je simplifie hein !)).

D’ailleurs il vous suffit de regarder vos connexions établies pour le voir :

guiguiabloc@Thanatos:~$ netstat -tan | grep 80
tcp        0      0 192.168.8.201:44450     174.36.30.59:80         ESTABLISHED

où 192.168.8.201 est le client et 174.36.30.59, le serveur web.

Donc, remarque aux gens qui configurent leurs firewalls pour la première fois, autoriser le 80 depuis l’extérieur vers l’intérieur pour surfer, bah ça sert à rien (on le voit souvent :p)

Jusqu’à maintenant on est en mode « stateless ».

Le mode stateful va allez jusqu’à la notion de session du protocole TCP.

Quand Kevin veut se connecter au serveur web de Tatiana (qui offre avec gentillesse des apercus non négligeable de son architecture)), en tcp (donc niveau 4 😉 ), il envoit un SYN  (je veux me connecter à toi, Tatiana, t’es trop de la balle), le serveur de Tatiana répond SYN/ACK (j’ai pris connaissance de ton désir passionné de venir visiter mes zolies pages et de contempler la façon dont j’enroule mes câbles), le pc de Kevin renvoit un ACK (oh oui, je veux voir tes zolies pages et tes câbles si bien disposés, merci de me répondre Tatiana (flap,flap, flap)).

C’est ce qu’on appelle un triple-handshake (ou poignée de main à 3 temps). (NB: le flap flap flap ne faisant pas partie de la négociation et je vous interdit dans vos esprits pervers de faire un quelconque rapport entre « hand » et « shake » dans l’exemple ci-dessus ! Ignoble individu que vous êtes !)

En plus, lors de cet échange, des numéros de séquence sont générés et par le client (numéro de séquence initial), repris par le serveur (+1) qui y rajoute ses numéros d’acquittement, que le client reprend aussi.

(je vais pas vous faire un cours sur tcp, Google est votre ami 🙂 )

A cet instant, nous avons une session d’établie que le firewall, en mode stateful connait.

Il va donc considérer que vu que le flux existe et que la session est établie, il est désormais inutile d’analyser les paquets entre le client et le serveur pour cette session tcp, il considère que c’est autorisé (c’est du filtrage dynamique).

En mode Stateful, le firewall a donc connaissance de l’existence ou non d’une session entre deux ips. Il rejettera un paquet tcp de type SYN/ACK s’il n’a pas vu un SYN du client sur cette session auparavant.

L’inspection stateful permet donc un filtrage avancé sur les connexions établies ou non, même si le port tcp est ouvert, il ne sera pas forcément accepté par le firewall.

Exemple d’intrusion en mode stateless (schématiser sans NAT/PAT toussa) :

Le pc client (Thanatos, 192.168.8.201) a un vnc server sur son poste en écoute sur le port 5900.

Le firewall entre lui et internet à une règle de type :

permit tcp host ip client gt 1023 any eq 80

(le client en source port supérieur à 1023 peut aller voir des sites en http sur le port 80).

Je suis sur internet, j’initie une connexion depuis le port 80 (serveur Alixe, 192.168.43.100) vers l’ip du client sur le port 5900, et bien ca passe… 😀

Un firewall stateful, lui,  rejettera ce genre de trafic puisque le SYN ne peut venir que du client, pas du serveur web.

NB : Pour les curieux qui voudrait savoir comment j’ai reproduit un mode stateless/stateful dans cet exemple via des ACLs Cisco, voici les règles utilisées (192.168.8.201 est le client, 192.168.43.100 est le serveur)  :

Exemple 1 (stateless) :

permit tcp host 192.168.43.100 eq www any gt 1023

Exemple 2 (stateful) :

permit tcp host 192.168.43.100 eq www any gt 1023 established

Sous votre *BSD favori, il vous suffit de positionner l’option « flags » (S/SA pour un SYN/SYN-ACK).

Bien entendu je simplifie à l’extrème (d’autres éléments entre en jeux) mais j’espère avoir éclairer ceux qui ne connaissait pas ce mode de suivi de transaction entre deux machines.

fin de la pause

Sauf qu’au bout d’un moment, le stateful inspection, le filtrage de niveau 4, on en atteint vite les limites.

Alors, on va rajouter des couches et des couches d’IDS, d’IPS, au détriment souvent des performances du firewall.

Palo Alto Networks propose donc une nouvelle génération de Firewall, avec des  filtrages portant sur :

– l’identifiant de l’utilisateur (on ne gère plus l’ip du poste client mais son identification propre par corrélation avec un ActiveDirectory ou un LDAP, ou au pire en le renvoyant sur un portail captif pour une authentification Radius) (User-id)

– l’application utilisée (j’ouvre le http et j’autorise skype mais pas facebook), mais aussi le contenu qui passe dans le flux (ouh la toi tu fais du tunneling ssh dans du http avec Corkscrew, je te l’interdit) (app-id). Sachez que la liste des applications reconnues par le Palo Alto est assez conséquente et que bien sûr, vous pouvez vous même y définir vos propres applications.

– le contenu des trames cyptées en faisant du « Man-in-the-Middle » SSL pour décrypter en temps réel les flux SSL/HTTPS et regarder ce qu’il y ‘a dedans pour vérifier sa dangerosité (nan nan, ton facebook par SSL, non plus, tu passeras pas)

– l’analyse du contenu des paquets (charge virale, DoS, filtrage URL etc…) (Content-id). Evidemment le Palo Alto ne se base pas uniquement sur l’extension d’un fichier pour en connaitre le contenu 😉

Bien sûr; quitte a faire tout cela bien et rapidement, on va traiter le flux en  1 seule passe et côté hardware, dédier des CPUs à chaque usage avec quelques FPGA pour faire bonne mesure.

Intéressant non ?

« D’accord mon grand, t’es gentil, mais pourquoi tu nous causes de ça ? »

Parce que çà  :

Et oui, j’ai eu la chance d’avoir un des ses boîtiers a la maison 😀

Après une formation condensée et efficace (merci Philippe 😉 ), on se positionne le PaloAlto en mode bridge derrière la freeteuse.

(Rassurez vous, le boîtier a rapidement rejoint un environnement de production digne de ce nom pour subir la batterie de tests habituels.)

Mais qu’en est-il des premiers résultats ?

Le Firewall Palo Alto peut fonctionner en plusieurs mode :

– le mode TAP, vous le branchez sur un port mirroring ou un boitier TAP justement et il vous ressort l’ensemble du trafic qu’il voit passer (analyse etc…). C’est forcément une première étape pour le brancher dans votre infrastructure. Non intrusif, ce mode vous permet d’avoir déjà une première idée de ce qui passe dans votre réseau (applications utilisées, statistiques de consommation par flux et application etc…)

– le mode bridge (appelé VirtualWire chez eux), en passerelle transparente. Les flux entrent d’un côté et ressortent de l’autre. A ce niveau la, vous coder une règle autorisant tout et vous pouvez petit à petit alimenter les « policy » suivant le trafic que vous voyez.

– le mode routeur/firewall (en couche 3 donc) que tout le monde connait, avec ses interfaces à configurer, ses vlans, ses routes etc… La il remplace votre firewall actuel.

Le Palo Alto a un processeur et une interface dédié au Management.

La CLI ne surprendra pas les habitués de Juniper. C’est clairement du Netscreen OS (rassurez vous, si vous utilisez Vyatta, c’est sensiblement pareil).

Ce qui est flagrant de sa parenté avec les Netscreen, ce sont ses couches VSYS et VROUTER (virtual system et virtual routeur de Netscreen/Juniper). Les zones de type Trust/Untrust sont également là. Bref, clairement, c’est la touche Netscreen qui prédomine.

Côté administration graphique, c’est du web, en ajax… Et là, vous le verrez plus loin, c’est la partie noire du produit.

Quand on prend la bête en main pour la première fois via le port console (standard 9600/8/1 comme pour un Cisco), on configure l’ip de management, gateway, dns pour rapidement pouvoir prendre la main, puis on « pousse » la conf par un « commit ».

Première surprise, le commit, montre en main, prend plus de 2 minutes ! 😮

Euh la on commence a avoir des angoisses, un commit à vide (pas de règles, une conf de base)  qui prend tant de temps c’est angoissant. On se dit que ca ira mieux plus tard…

Bref, on laisse tourner et on regarde.

Là les premiers résultats sont bluffants. Tout est clairement identifié, les flux bien sûr, mais également les applications utilisées,

mes tunnels ssh dans le proxy,

les attaques de types Naphta/Slowloris que j’ai envoyé sur un serveur Web, etc..

En testant des règles génériques de types « deny application deezer », c’est redoutable 🙂

Petit bonus à tester, le man-in-the-middle SSL.

On se génère un certicat SSL dans le boîtier.

On pose un filtrage SSL avec décryption.

Et hop, on teste depuis un navigateur client. Le truc tout bête, allez télécharger le fichier EICAR antivirus en https.

Surprise, le certificat serveur sur le poste client à changer, en regardant en détail , on retrouve notre certificat SSL généré sur le Palo Alto en tant qu’émetteur, et les informations du certificat serveur dans les restes du contenu.

Côté détection, le Palo Alto a décrypter le flux SSL et à trouver la fausse charge virale dans le contenu. Bluffant.

Il se comporte donc comme un proxy forward SSL, agissant en temps qu’intermédiaire entre le serveur et le client, et en profitant pour analyser le contenu qu’il peut bien sur décrypter.

Cela marche également sur https://mail.google.com… Effrayant 😉

Alors bien sûr le navigateur client remonte une alerte sur le certificat qui n’est pas reconnu en tant que Root CA connue mais rien ne vous interdit de signer votre certificat SSL du Palo Alto par une autorité reconnue par les navigateurs, Verisign par exemple).

Maintenant j’en pense quoi ?…

Palo Alto Networks nous pousse vers une nouvelle façon de surveiller et de gérer les flux réseau dans notre infrastructure.

Il est évident que l’on n’a pas attendu leur venue pour faire du filtrage au niveau 7, pour filtrer les requètes SQL via GreenSQL , faire du firewall authentifiant ou du décryptage SSL.

Maintenant, plutôt que réécrire ce qui a été dit, je vous invite à lire les différents documents et comparatifs que Palo Alto a pondu :

http://www.paloaltonetworks.com/literature/index.php

Toutefois, c’est clairement le type de Firewall a positionner entre vos utilisateurs et vos serveurs.

En frontal Internet pour protéger l’accès à vos DMZ cela ne changera rien à un bon Checkpoint/ASA/OpenBSD (après tout, si l’on ouvre l’accès public à une application depuis internet, cela n’a pas de sens d’utiliser le User-id ou l’App-id. Quand au filtrage du contenu, ou effectivement vous mettez votre Palo Alto pour cela, ou vous continuez à utiliser votre IPS).

C’est vrai qu’en y réfléchissant, l’accès de vos utilisateurs à vos ressources internes demande à dépasser ce niveau de filtrage basique.

L’équipe de développeurs du projet A, que je reconnais par leurs User-Id, ne peut accèder qu’aux applications les concernants et pas aux applications d’un autre projet B, même s’ils sont dans le même vlan (oui oui, le fameux tcp/3306 autorisé pour l’ensemble des dev sur le vlan de bases de données 😉 ).

Cibler l’accès à des applications suivant le profil des utilisateurs, c’est peut être cela qui nous manquait aujourd’hui.

Quand a filtrer l’accès des utilisateurs sur Internet, c’est une question de politique d’entreprise. Certains vont laisser ouvert (en passant par un proxy filtrant (type SquidGuard), d’autres vont refuser toute utilisation d’outils sociaux perturbant la rentabilité de l’entreprise (par exemple). Question de choix. Ce n’est pas à nous d’en décider, mais dans ce cas, Palo Alto répond clairement au besoin.

Si par contre je devais remonter un point noir, c’est l’interface d’administration du Palo Atlo. Que ce soit pour coder des règles de filtrages et surtout les appliquer (2minutes 30 à vide alors que sur mes Checkpoint avec plus de 1000 règles de filtrage et autant de NAT cela me prend moins de temps), c’est inutilisable au quotidien par une équipe habituée à pousser de nombreuses règles par jour. A régler donc.

En résumé, par la découverte de cette nouvelle génération de Firewall, il est évident qu’il nous faut repenser la façon de filtrer les différents éléments de nos infrastructures.

Si le danger vient beaucoup de l’extérieur, il existe aussi clairement à l’intérieur d’un SI, que le suivi des utilisateurs par autre chose que leurs adresses IPs, que l’accès précis aux applications doit être un devenir du rôle du firewall interne, c’est sûrement un axe de réflexion à avoir dès maintenant, car comme dirait Nir Zuk :

« Votre choix : innover ou disparaître. »

Bonne réflexion 😉

Classé dans réseau, sécurité | Taggé , , , | 20 Commentaires
Mar 27

L’Hippie est à sec avec un Cisco Pix

Ah vous m’avez manqué 🙂 J’avoue avoir un peu délaissé mon blog dernièrement et a force de me faire houspiller (ah oui, ahan, encore, fais-moi mal (pardon)), je vous propose donc un petit billet technique sous forme d’atelier @home.

Comme vous l’avez deviné au titre  de ce billet (dont le jeu de mot bien pourri est digne de la lignée des meilleurs calembours Carambar), nous allons parler d’IPsec.

Bien évidemment, comme je ne fais pas comme tout le monde, j’ai du faire face à une situation un peu différente de ce que l’on rencontre généralement.

Je dispose @home, derrière la Freeteuse, d’un Cisco PIX, et je souhaite me connecter en IPsec, en mode tunnel (LAN to LAN) sur mes serveurs dédiés sous linux, ou sur des serveurs derrière d’autres équipements (dans le cas de ce billet, me connecter a un réseau local chez un pote derrière un Netopia R9100.

Seul petit point à souligner, je suis en ip dynamique et les autres en ip fixe (ca change 🙂 ).

Nous allons donc voir  différentes approches d’une connexion IPsec, le Cisco Pix en client, les Linux avec Racoon en serveurs, et le Netopia R9100 en serveur également.

Bien évidemment, comme je ne veux pas exposer les plans d’adressage ip de mon LAN, je vais NATer et filtrer tout ce qui part dans les tunnels.

Un petit dessin valant mieux qu’un grand discours :

Allez, maintenant au boulot.

J’ai décider d’utiliser les plans d’adressages suivant :

10.250.250.0/24 pour NATer mes ressources internes (comment les serveurs de mon LAN sont vus par les autres au travers du tunnel IPsec).

10.40.0.0/24 les ressources du serveur_dédié vu par mon LAN

10.10.150.0/24 les ressources du LAN derrière le Netopia du copain vu depuis mon LAN

Tout ces plans d’adressage vont devenir nos Domaines d’Encryption.

Linux IPsec Tools et RACOON

Sous Linux, la configuration IPsec se fait grace a la suite d’outils IPsec-Tools.

Cette suite d’outil comprend 2 élements importatns :

– Setkey : un outil pour interagir avec la couche ipsec du kernel

– Racoon : un démon IKE pour gérer les clés de connexion IPsec

Sur votre serveur Debian :

apt-get install ipsec-tools racoon

on se créé un fichier /etc/ipsec-tools.conf dans lequel on va détailler notre tunnel IPsec (mode ESP) :

spdadd 10.40.0.0/24 10.250.250.0/24 any -P out ipsec
esp/tunnel/99.99.99.1-0.0.0.0/require;
spdadd 10.250.250.0/24 10.40.0.0/24 any -P in ipsec
esp/tunnel/0.0.0.0-99.99.99.1/require;

Nous définissons donc nos 2 domaines d’encryptions et les deux extrémités du tunnel.

Comme j’ai une ip dynamique, je spéficie 0.0.0.0 (c’est a dire, n’importe qui).

On charge : setkey -f  /etc/ipsec-tools.conf

Vous pouvez jeter un oeil aux SA avec : setkey -D

Pour racoon :

/etc/racoon/racoon.conf
 
...
path pre_shared_key "/etc/racoon/psk.txt";
timer {
phase1 60 seconds ;
phase2 60 seconds ;
}
remote anonymous {
exchange_mode aggressive ;
doi ipsec_doi ;
situation identity_only ;
lifetime time 1 hour ;
generate_policy on;
passive on;
my_identifier address 99.99.99.1 ;
peers_identifier fqdn "pix.guiguiabloc.fr" ;
proposal {
encryption_algorithm aes 256;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group modp1024;
}
proposal_check obey ;
}
sainfo anonymous {
pfs_group modp1024;
lifetime time 1 hour ;
encryption_algorithm aes 256;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}

Explication :

On défini ici les différents paramètres de sécurité du tunnel pour les Phase 1 (IKE) et 2 (IPsec) a savoir les méthodes de chiffrement, de hachage, les temps de vie, l’activation du PFS (pour échanger des clés supplémentaires ) etc…

Je ne vais pas entrer dans les détails d’IPsec, donc un peu de lecture 😀 :

http://www.securiteinfo.com/cryptographie/IPSec.shtml

http://www.tcpipguide.com/free/t_IPSecurityIPSecProtocols.htm

La partie importante qui nous intéresse ici est le mode « Agressive » et non « Main ». En effet, j’ai une ip dynamique et je ne peux donc pas me baser dessus pour la négociation. J’utilise donc le fqdn de mon Pix (pix.guiguiabloc.fr) comme identifiant, et pour faire du fqdn+ pre-shared key, bah il faut etre en mode Agressive 🙂

Enfin dans le fichier /etc/racoon/psk.txt je renseigne la Pre-shared key (le mot de passe si vous préférez) :

pix.guiguiabloc.fr motdepassesupersecretamoi

Vous pouvez lancer Racoon : /etc/init.d/racoon start et le démon doit écouter sur les ports UDP 4500 et 500.

NETOPIA R9100

Le Netopia R9100 est un vieux routeur qui fait papa/maman. On peut le retrouver dans certaines TPE/PME ou chez des potes Geek qui font de la récupération :p , c’est le cas ici.

Ouf….

Allez on s’occupe de la maison.

On NAT notre pc 192.168.100.1 en une ip du domaine d’encryption

r-backbone
 
int fa 0/0 (interne)
 
ip nat inside
 
int fa 0/1 (externe)
 
ip nat outside
 
ip nat inside source static 192.168.100.1 10.250.250.1
 
ip route 10.250.250.0 255.255.255.0 FastEthernet0/0

On route les domaines d’encyptions des serveurs distants :

ip route 10.40.0.0 255.255.255.0 10.254.254.254
 
ip route 10.10.150.0 255.255.255.0 10.254.254.254
 
Coeur de Réseau
 
ip route 10.40.0.0 255.255.255.0 10.144.1.254
 
ip route 10.10.150.0 255.255.255.0 10.144.1.254

Cisco PIX

# Les ACLS qui vont bien
access-list outside-ipsec extended permit ip 10.250.250.0 255.255.255.0 10.10.150.0 255.255.255.0
access-list outside-ipsec extended permit ip 10.250.250.0 255.255.255.0 10.40.0.0 255.255.255.0
 
access-list outside_serveur extended permit ip 10.250.250.0 255.255.255.0 10.40.0.0 255.255.255.0
access-list outside-pote extended permit ip 10.250.250.0 255.255.255.0 10.10.150.0 255.255.255.0
 
 
# on ne natte pas les ips des domaines d'encryption
 
nat (inside-test) 0 access-list outside-ipsec
 
# La partie IPSEC elle meme
 
crypto ipsec transform-set ESP-AES-256-MD5 esp-aes-256 esp-md5-hmac
crypto ipsec transform-set ESP-DES-SHA esp-des esp-sha-hmac
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto ipsec transform-set ESP-DES-MD5 esp-des esp-md5-hmac
crypto ipsec transform-set ESP-AES-192-MD5 esp-aes-192 esp-md5-hmac
crypto ipsec transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac
crypto ipsec transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto ipsec transform-set ESP-AES-128-SHA esp-aes esp-sha-hmac
crypto ipsec transform-set ESP-AES-192-SHA esp-aes-192 esp-sha-hmac
crypto ipsec transform-set ESP-AES-128-MD5 esp-aes esp-md5-hmac
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
crypto map map-ipsec 1 match address outside_serveur
crypto map map-ipsec 1 set pfs
crypto map map-ipsec 1 set peer 99.99.99.1
crypto map map-ipsec 1 set transform-set ESP-AES-128-SHA ESP-AES-128-MD5 ESP-AES-192-SHA ESP-AES-192-MD5 ESP-AES-256-SHA ESP-AES-256-MD5 ESP-3DES-SHA ESP-3DES-MD5 ESP-DES-SHA ESP-DES-MD5
crypto map map-ipsec 1 set nat-t-disable
crypto map map-ipsec 1 set phase1-mode aggressive
crypto map map-ipsec 20 match address outside-pote
crypto map map-ipsec 20 set pfs
crypto map map-ipsec 20 set peer 88.88.88.88
crypto map map-ipsec 20 set transform-set ESP-3DES-SHA
crypto map map-ipsec 20 set nat-t-disable
crypto map map-ipsec 20 set phase1-mode aggressive
crypto map map-ipsec interface outside
crypto isakmp identity hostname
crypto isakmp enable outside
crypto isakmp policy 5
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
crypto isakmp policy 10
authentication pre-share
encryption des
hash sha
group 2
lifetime 86400
crypto isakmp policy 20
authentication pre-share
encryption aes-256
hash sha
group 2
lifetime 86400
 
group-policy IPSEC_POLICY internal
group-policy IPSEC_POLICY attributes
vpn-filter none
vpn-tunnel-protocol IPSec
tunnel-group 99.99.99.1 type ipsec-l2l
tunnel-group 99.99.99.1 general-attributes
default-group-policy IPSEC_POLICY
tunnel-group 99.99.99.1 ipsec-attributes
pre-shared-key *
tunnel-group 88.88.88.88 type ipsec-l2l
tunnel-group 88.88.88.88 general-attributes
default-group-policy IPSEC_POLICY
tunnel-group 88.88.88.88 ipsec-attributes
pre-shared-key *

N’oubliez pas que vous ne pouvez avoir qu’1 crypto map par Interface, il faut donc juste rajouter un identifant numerique supplémentaire pour chaque nouveau tunnel (ici 1 pour le premier tunnel, 20 le deuxieme).

Et beh..

Allez maintenant on test 😀 :

ssh 10.10.150.1

Mar 27 18:12:58 pix Mar 27 2011 18:12:58: %PIX-5-713041: IP = 88.88.88.88, IKE Initiator: New Phase 1, Intf inside-test, IKE Peer 88.88.88.88  local Proxy Address 10.250.250.0, remote Proxy Address 10.10.150.0,  Crypto map (map-ipsec)
Mar 27 18:13:01 pix Mar 27 2011 18:13:01: %PIX-6-713219: IP = 88.88.88.88, Queuing KEY-ACQUIRE messages to be processed when P1 SA is complete.
Mar 27 18:13:07 pix Mar 27 2011 18:13:07: %PIX-6-713219: IP = 88.88.88.88, Queuing KEY-ACQUIRE messages to be processed when P1 SA is complete.
Mar 27 18:13:11 pix Mar 27 2011 18:13:11: %PIX-6-113009: AAA retrieved default group policy (IPSEC_POLICY) for user = 88.88.88.88
Mar 27 18:13:11 pix Mar 27 2011 18:13:11: %PIX-5-713119: Group = 88.88.88.88, IP = 88.88.88.88, PHASE 1 COMPLETED
Mar 27 18:13:11 pix Mar 27 2011 18:13:11: %PIX-3-713122: IP = 88.88.88.88, Keep-alives configured on but peer does not support keep-alives (type = None)
Mar 27 18:13:11 pix Mar 27 2011 18:13:11: %PIX-6-713220: Group = 88.88.88.88, IP = 88.88.88.88, De-queuing KEY-ACQUIRE messages that were left pending.
Mar 27 18:13:24 pix Mar 27 2011 18:13:24: %PIX-5-713073: Group = 88.88.88.88, IP = 88.88.88.88, Responder forcing change of IPSec rekeying duration from 28800 to 3600 seconds
Mar 27 18:13:24 pix Mar 27 2011 18:13:24: %PIX-5-713049: Group = 88.88.88.88, IP = 88.88.88.88, Security negotiation complete for LAN-to-LAN Group (88.88.88.88)  Initiator, Inbound SPI = 0xe4e88f39, Outbound SPI = 0x94160878
Mar 27 18:13:24 pix Mar 27 2011 18:13:24: %PIX-6-602303: IPSEC: An outbound LAN-to-LAN SA (SPI= 0x94160878) between 192.168.1.250 and 88.88.88.88 (user= 88.88.88.88) has been created.
Mar 27 18:13:24 pix Mar 27 2011 18:13:24: %PIX-6-602303: IPSEC: An inbound LAN-to-LAN SA (SPI= 0xE4E88F39) between 192.168.1.250 and 88.88.88.88 (user= 88.88.88.88) has been created.
Mar 27 18:13:24 pix Mar 27 2011 18:13:24: %PIX-5-713120: Group = 88.88.88.88, IP = 88.88.88.88, PHASE 2 COMPLETED (msgid=f0cb61bd)

Rhââ Lovely 😀

Idem l’autre tunnel avec un ping 10.40.0.1 par exemple

Si vous voulez filtrer les paquets dans vos tunnels ipsec, utilisez des ACLS de type :

access-list acl-ipsec extended permit tcp 10.40.0.0 255.255.255.0 eq www 10.250.250.0 255.255.255.0 gt 1023

(le reseau distant d’abord, puis votre propre reseau ensuite).

Dans le Pix, modifier l’éntrée vpn-filter none par :

vpn-filter value acl-ipsec

Amusez vous bien 😀

Classé dans architecture, réseau | Taggé , , , | Commentaires fermés sur L’Hippie est à sec avec un Cisco Pix