Apache: obtenir l’IP source depuis un en-tête conditionel dans les logs

Dans le cadre d’un environnement web haute disponibilité il y a généralement des répartiteurs de charge HTTP comme HAproxy ou des reverse proxies comme Apache ou Nginx en frontal qui vont s’occuper de répartir la charge et/ou filtrer une partie des requêtes pour ménager les serveurs d’application de backend.

Le principal problème rencontré dans ce type d’architecture est que, généralement, le service web de frontend va masquer l’IP source du client, réduisant la tracabilité de celui-ci sur les backends. Nous allons ici partir du principe que le service web de frontend retransmet l’IP au backend via un en-tête HTTP nommé X-Real-IP. Continuer à lire

Linux: Ajout de CPU à chaud

Sur un système Linux récent (noyau > 2.6.24) il est possible de changer le nombre de CPU de la machines à chaud, qu’on soit en machine virtuelle ou physique.

Pour vérifier l’état d’activation d’un CPU, il suffit d’afficher le fichier concernant le CPU mentionné

Si online est à 1 le CPU est activé et si c’est à 0 il est désactivé

Pour cela il suffit de s’interfacer avec le sous système /sys pour changer l’état actif/inactif du CPU en poussant 0 ou 1 dans le champ online

Pour activer tous les CPU d’un coup, faîtes une boucle:

A des fins de tests vous pouvez également désactiver des CPU en spécifiant 0 au lieu de 1, la seule limitation étant que le cpu0 n’est pas désactivable.

Linux: Ajout de RAM à chaud

Sur les systèmes Linux récents, il est possible d’ajouter de la RAM à chaud si votre Linux est sur une système de virtualisation. Suivant les outils utilisés et le système de virtualisation vous pouvez avoir 2 cas:

  • Lorsque vous ajoutez de la RAM à chaud le système virtualisé la prend en compte directement (virtualisation avec KVM par exemple, ou VMWare + openvm-tools récents)
  • Lorsque vous ajoutez de la RAM à chaud le système ne la prend pas en compte mais le système de virtualisation oui.

Dans le second cas, si votre distribution est assez récente (Debian 7 et 8 par exemple), vous pouvez lancer une action manuelle afin d’activer les nouveaux espaces mémoires de la machine:

Si cela fonctionne vous n’aurez pas d’erreur à l’écran comme quoi l’argument est invalide. Auquel cas, votre système Linux est trop ancien et vous devrez le redémarrer.

Recompiler un paquet officiel sous ArchLinux

Archlinux est une distribution en rolling release très intéressante, réservée à des utilisateurs plus avertis que la normale, le processus d’installation étant manuel (et bien documenté).

Une des fonctionnalités intéressantes d’Archlinux est la possibilité de pouvoir recompiler certains paquets afin d’optimiser les performances de la machine en optimisant le code binaire généré, en ajoutant, retirant des options de compilation ou encore en optimisant les flags passés au compilateur. Continuer à lire

Debian: packager le JAVA Oracle

Dans un environnement de production JAVA sous Linux les mainteneurs d’applications lourdes, web ou non, seront amenés à faire le choix entre OpenJDK et Oracle-JDK

L’OpenJDK a l’avantage d’être libre et open source, il peut être recompilé pour améliorer sensiblement les performances du code java au moyen d’optimisations compilateur GCC pour l’adapter au processeur de vos machines, néanmoins on le fait rarement sous Debian.

Le JDK Oracle a le mérite d’être plus performant sur certains points et certaines structures/entreprises le préfèreront pour des raisons de confiance, de support ou encore de grapiller quelques performmances par rapport à un OpenJDK non compilé. Continuer à lire

Impression vers mail (via lpd)

Je vous propose ici une méthode sous Linux permettant de créer une imprimante virtuelle qui va envoyer l’impression en pièce jointe par mail. On utilisera ici le bon vieux service lpd

Configuration

Pour configurer cette imprimante il convient de modifier le fichier /etc/printcap.local et d’ajouter l’entrée suivante: Continuer à lire

VI: raccourcis essentiels

VI est un éditeur de texte très puissant. Il est intégré de base dans toutes les distributions Linux et BSD

Pour certains il s’agit d’un éditeur compliqué réservé aux barbus. Pour d’autres c’est l’éditeur de choix.

Vous trouverez ci-dessous les raccourcis essentiels de VI classés par thématique. Continuer à lire

[Serveur Dédié]OpenVPN

Dans cette article nous allons mettre en oeuvre un serveur OpenVPN en nous servant de l’article suivant.

Je ne commenterai que les modifications que j’ai faites par rapport à cet article sur le serveur ainsi que le client.

Serveur

J’ai copié le dossier easy-rsa dans /etc/openvpn qui été présent pour ne pas jongler entre différents répertoires concernant la configuration et l’utilisation de OpenVPN.

J’ai noter une différence dans le fichier vars avec la possibilité d’indiquer nativement des informations relatifs a son utilisation au sein d’un annuaire LDAP et l’utilisation de carte à puce via PKCS. Continuer à lire

Shibboleth (IdP): installation et retour d’expérience

Shibboleth est un système de fédération d’identités. Il permet d’authentifier des utilisateurs faisant partie d’établissements/entreprises différentes sur des applications mutualisées.

Peu présent et utile dans le secteur privé, Shibboleth est une référence en terme d’authentification dans le secteur public, au sein du ministère de l’enseignement supérieur et de la recherche. Renater, fournisseur d’accès à Internet réservé aux établissement d’enseignement supérieur et de recherche, est l’un des organismes qui l’utilise le plus.

Shibboleth est composé de plusieurs briques, notamment le Service Provider (SP, fournisseur de services) et dans notre cas le fournisseur d’identité (Identity Provider, IdP)

Continuer à lire

[Serveur Dédié] Commande, Livraison, premiers pas,Recette, Production…

Aujourd’hui je vais vous faire part d’une expérience auxquels nous sommes confrontés, nous les informaticiens, celui de l’installation de notre premier serveur dédié. Dans cette série d’articles nous allons traiter de différents cas de figures :

  • Introduction et premier pas sur le serveur
  • Installations et configuration d’un OpenVPN.
  • Installation et configuration de Libvirt 
  • Déploiement de serveurs virtualisé avec virt-manager. Continuer à lire