Archives pour l'étiquette Sarge

Voici.fr preuve par l’image de l’intérêt de l’optimisation web cache et des performance des reverses proxys

Suite à mes articles sur la configuration eZ publish pour l’utilisation des caches web, sur l’optimisation des reverse proxy squid j’ai tenté de faire la démonstration de l’intérêt de l’ optimisation web cache et des performance des reverses proxys. Je vais apporter quelques preuve de plus dans cet article.

Tenir les versions des logiciels à jours

L’optimisation de ces web cache et la performance des reverses proxys passe tout simplement pas la mise à jour régulière du système et des logiciels. Dans l’exemple ci dessous le gains de performance est flagrant entre une configuration Debian Sarge avec Squid 2.5 et une configuration Debian Etch avec Squid 2.6. Au mois d’octobre 2008 le taux d’utilisation du cpu par le système à chuté, un goulot d’étranglement à été supprimé.

Squid de Sarge a Etch

Soigner la configuration eZ et apache pour squid

Suite à la mort de Michael Jackson Gala.fr et principalement Voici.fr ont connu un très fort pic de charge. Durant cette épisode d’audience intense nous avons poussé en production différente optimisation que nous avions précédemment préparé. Ces optimisations porte sur la configuration de eZ Publish 4 et de Apache pour l’utilisation des caches web. L’effet principale étant obtenue en allongeant le temps de rétentions des images et en instaurant la compression pour les fichiers css et javascript.

Squid Modif conf

Affiner la configuration système des serveurs squid

Une configuration optimum des squid passe également par une adaptation du système à leur mission de reverse proxy tel que nous l’avons réalisé récemment. Le résultat est la et guère discutable pour un charge CPU légèrement supérieur nous desservons plus de client et stockons plus d’objet ce qui conduit à une plus faible sollicitation des frontaux.

Squid.Cpu.Utilisation.png
Squid.Number.Of.Client.png
Squid.Nombre.Objet.Cache.png

Java sur Debian Sarge et Etch

Installation de JDK SUN

Pour les fans d’Ubuntu, je leurs conseille de lire cette documentation sur doc.ubuntu-fr.org

La première étape consiste à configurer APT(Advanced Packaging Tool ) éditer le fichier de configuration /etc/apt/sources.list et ajouter les lignes suivant :


deb http://ftp.debian.org/debian/ unstable non-free
deb-src http://ftp.debian.org/debian/ unstable non-free

Une fois APT configuré, executez apt-get update pour mettre à jour la liste des logiciels disponible sur les dépôts qu’on vient d’ajouter. Maintenant on est prés pour installer JDK de Sun, lancez la commande :


apt-get -t unstable install sun-java5-jdk

Pour tester si l’installation, entrez la commande :


java -version

Normalement elle doit retourner quelque chose du genre :


java version "1.5.0_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04)
Java HotSpot(TM) Client VM (build 1.5.0_12-b04, mixed mode, sharing)

Création de paquet debian Java

Cette méthode permet d »installer facilement la Java Runtime Environment à la manière Debian, c »est-à-dire à l »aide d »un paquet précompilé. L »avantage de cette méthode est que vous êtes sûr d »installer la toute dernière version de la JRE disponible à l »heure actuelle.

Le JDK

Commencez par télécharger le fichier dénommé JRE 5.0 Update 6 (la version 5.0 Update 6 est celle disponible à ce jour ; s »il y a plus récent, prenez une version plus récente ;-)) à partie de la page de téléchargements du site de Sun. Prenez la version « Linux self-extracting file” (jre-1_5_0_06-linux-i586.bin). Le fichier doit donc s »appeler :

- jre-1_5_0_06-linux-i586.bin (environnement d »exécution)
- jdk-1_5_0_06-linux-i586.bin (kit de développement)
- j2re-1_4_2_09-linux-i586.bin (ancienne version de l »environnent d »exécution)
- j2sdk-1_4_2_09-linux-i586.bin (ancienne version du kit de développement)

Si vous avez un amd 64 comme processeur, prenez la version « Linux AMD64 Platform  » ( en bas de la page).

Les outils

Installez ensuite les paquets fakeroot et java-package, à l »aide de l »interface graphique Synaptic ou par la l »outil dpkg en ligne de commande :


apt-get install fakeroot java-package

Sur une ubuntu si « java-package” n »est pas disponible, vous devez activer les dépôts Multiverse (ou Universe ?). Dans Synaptic : Catégories > Dépôts > Ajouter, sélectionnez « Maintenu par la communauté (Universe)” ou « Non-libres (Multiverse)”.

Sur debian si si « java-package” n »est pas disponible ajouter à votre /etc/apt/sources.list les dépots contrib et non-free

Fabriquer un paquet .deb

Dans un terminal, rendez-vous dans le répertoire dans lequel vous avez téléchargé l »installateur de la JRE (voir page ligne_de_commande pour les commandes de base). Exécutez make-jpkg, qui va transformer l »installateur de Sun en un paquet Debian, à l »aide de la commande suivante depuis un compte utlisateur lamda :


fakeroot make-jpkg le_fichier_telecharge.bin

Installer configurer

Finalement, installez le paquet Debian ainsi généré à l »aide de l »outil en ligne de commande dpkg, avec la commande suivante depuis le compte root :


dpkg -i sun-j2re1.5_1.5.0+update06_i386.deb

NB : Le chiffre suivant le « update” peut être plus élevé, reportez-vous à la ligne « The Debian package has been created in the current directory. You can install the package as root (e.g. dpkg -i sun-j2re1.5_1.5.0+update06_i386.deb).” dans votre terminal.

Il faut maintenant indiquer à Ubuntu quelle version de la machine virtuelle Java vous voulez utiliser. Pour cela, tapez cette commande dans un terminal :


update-alternatives --config java

Puis choisissez la version que vous venez d »installer (chez moi, il s »agissait du choix numéro 3).

Pour vérifier si vous avez bien la bonne version :


java -version

Voilà, vous disposez maintenant de l »environnement Java installé sur votre machine ! Vous pouvez désormais bénéficier de cette technologie pour tous vos besoins dans Internet et pour les logiciels basés autour de cette plate-forme.

Ipsec : Racoon vs Checkpoint

Expérience vpn ipsec

Suite à un expérience de lien vpn ipsec entre une linux box avec racoon et un firewall appliance avec un logiciel Chekpoint j’ai tiré la conclusion que :

Le Checkpoint initialisant une communication ipsec vérifie que son interlocuteur dispose des SA (régles d’association de sécurité) pour les deux sens. Même si un seul est utilisé. Une linux box avec Racoon n’a pas besoin de cela quant elle initialise une communication, seul le SA du sens de connexion est utile.

Ainsi dans la cas d’un vpn de télémaintenance pure. Vous initialisé une communication en direction de votre client. Votre linux box ouvre le tunnel vpn en dialoguant avec son interlocuteur Checkpoint. Dans ce cas Raconn n’a besoin que de la règle de SA correspondant au sens du flux (unidirectionnel). Dans le cas inverse, depuis le Checkpoint vers la linux box, le checkpoint a besoin des deux régles de SA correspondant au deux sens du flux (comme en bidirectionnel), même si l’ouverture du tunnel ne nécessite logiquement qu’un (flux unidirectionnel).

Les paramètres racoon qui fonctionnent.

Avec clé partagé /etc/racoon/psk.conf

  • Phase 1 Hash : sha1
  • Phase 1 Chiffrement : 3des
  • Phase 1 groupe : 2
  • Phase 1 Lifetime : 3600
  • Phase 2 Hash : sha1
  • Phase 2 Chiffrement : 3des
  • Phase 2 PFS : non
  • Phase 2 Lifetime : 3600

Exemple de configuration Racoon

/etc/ipsec-tools.conf

Client (avec Checkpoint) <-> Linux Box (avec raccon)

spdadd <span style="color: #000000;">192.168</span><span style="color: #000000;">.1</span><span style="color: #000000;">.0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> <span style="color: #000000;">10.100</span><span style="color: #000000;">.1</span><span style="color: #000000;">.0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> any -P <span style="color: #000000; font-weight: bold;">in</span> ipsec esp<span style="color: #000000; font-weight: bold;">/</span>tunnel<span style="color: #000000; font-weight: bold;">/</span>ipcheckpoint-iplinuxbox<span style="color: #000000; font-weight: bold;">/</span>require; &nbsp; spdadd <span style="color: #000000;">10.100</span><span style="color: #000000;">.1</span><span style="color: #000000;">.0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> <span style="color: #000000;">192.168</span><span style="color: #000000;">.1</span><span style="color: #000000;">.0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> any -P out ipsec esp<span style="color: #000000; font-weight: bold;">/</span>tunnel<span style="color: #000000; font-weight: bold;">/</span>iplinuxbox-ipcheckpoint<span style="color: #000000; font-weight: bold;">/</span>require;

/etc/racoon/racoon.conf

Pour une télémaintenance unidirectionnel depuis la linux box racoon

<span style="color: #808080; font-style: italic;">#!/usr/sbin/setkey -f</span> &nbsp; <span style="color: #808080; font-style: italic;"># NOTE: Do not use this file if you use racoon with racoon-tool</span> <span style="color: #808080; font-style: italic;"># utility. racoon-tool will setup SAs and SPDs automatically using</span> <span style="color: #808080; font-style: italic;"># /etc/racoon/racoon-tool.conf configuration.</span> <span style="color: #808080; font-style: italic;"># </span> &nbsp; <span style="color: #808080; font-style: italic;">## Flush the SAD and SPD</span> <span style="color: #808080; font-style: italic;">#</span> flush; spdflush; remote ipcheckpoint <span style="color: #7a0874; font-weight: bold;">&#123;</span> exchange_mode main; passive off; proposal <span style="color: #7a0874; font-weight: bold;">&#123;</span> encryption_algorithm 3des; hash_algorithm sha1; authentication_method pre_shared_key; dh_group <span style="color: #000000;">2</span>; <span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span> sainfo address <span style="color: #000000;">10.100</span><span style="color: #000000;">.1</span><span style="color: #000000;">.0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> any address <span style="color: #000000;">192.168</span><span style="color: #000000;">.1</span><span style="color: #000000;">.0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">25</span> any <span style="color: #7a0874; font-weight: bold;">&#123;</span> pfs_group <span style="color: #000000;">2</span>; lifetime <span style="color: #000000; font-weight: bold;">time</span> <span style="color: #000000;">3600</span> secs; encryption_algorithm 3des; authentication_algorithm hmac_sha1; compression_algorithm deflate; <span style="color: #7a0874; font-weight: bold;">&#125;</span>

/etc/racoon/racoon.conf

Pour une télémaintenance unidirectionnel depuis checkpoint

<span style="color: #808080; font-style: italic;">#!/usr/sbin/setkey -f</span> &nbsp; <span style="color: #808080; font-style: italic;"># NOTE: Do not use this file if you use racoon with racoon-tool</span> <span style="color: #808080; font-style: italic;"># utility. racoon-tool will setup SAs and SPDs automatically using</span> <span style="color: #808080; font-style: italic;"># /etc/racoon/racoon-tool.conf configuration.</span> <span style="color: #808080; font-style: italic;"># </span> &nbsp; <span style="color: #808080; font-style: italic;">## Flush the SAD and SPD</span> <span style="color: #808080; font-style: italic;">#</span> flush; spdflush; remote ipcheckpoint <span style="color: #7a0874; font-weight: bold;">&#123;</span> exchange_mode main; passive off; proposal <span style="color: #7a0874; font-weight: bold;">&#123;</span> encryption_algorithm 3des; hash_algorithm sha1; authentication_method pre_shared_key; dh_group <span style="color: #000000;">2</span>; <span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span> sainfo address <span style="color: #000000;">10.100</span><span style="color: #000000;">.1</span><span style="color: #000000;">.0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> any address <span style="color: #000000;">192.168</span><span style="color: #000000;">.1</span><span style="color: #000000;">.0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">25</span> any <span style="color: #7a0874; font-weight: bold;">&#123;</span> pfs_group <span style="color: #000000;">2</span>; lifetime <span style="color: #000000; font-weight: bold;">time</span> <span style="color: #000000;">3600</span> secs; encryption_algorithm 3des; authentication_algorithm hmac_sha1; compression_algorithm deflate; <span style="color: #7a0874; font-weight: bold;">&#125;</span> sainfo address <span style="color: #000000;">192.168</span><span style="color: #000000;">.1</span><span style="color: #000000;">.0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">25</span> any <span style="color: #000000;">10.100</span><span style="color: #000000;">.1</span><span style="color: #000000;">.0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> address any <span style="color: #7a0874; font-weight: bold;">&#123;</span> pfs_group <span style="color: #000000;">2</span>; lifetime <span style="color: #000000; font-weight: bold;">time</span> <span style="color: #000000;">3600</span> secs; encryption_algorithm 3des; authentication_algorithm hmac_sha1; compression_algorithm deflate; <span style="color: #7a0874; font-weight: bold;">&#125;</span>

A lire sur racoon