Nginx support HTTP/2 et Let’s Encrypt en béta publique

La révolution du web est en marche, SSL devient obligatoire et il est maintenant simple d’avoir des certificats valides gratuitement, de plus HTTP/1.1 qui date de 1999.

Pour compiler Nginx avec le support HTTP2 il faut avant tout avoir OpenSSL 1.0.2e.
J’utilise aussi Google PageSpeed, j’ai compilé OpenSSL avec la configuration par défaut et il a était installé dans le dossier “/usr/local/ssl/”, j’ai donc compilé Nginx avec les arguments suivant :

./configure –add-module=$HOME/ngx_pagespeed-release-${NPS_VERSION}-beta –prefix=/home/nginx/ ${PS_NGX_EXTRA_FLAGS} –conf-path=/etc/nginx/nginx.conf –pid-path=/var/run/nginx.pid –with-http_ssl_module –with-ipv6 –with-poll_module –with-http_stub_status_module –with-http_v2_module –with-cc-opt=”-I /usr/local/ssl/include -I/usr/include” –with-ld-opt=”-L /usr/local/ssl/lib/ -Wl,-rpath -lssl -lcrypto -ldl -lz”

Une fois Nginx mit a jour il suffit de configurer votre serveur comme ceci :

server {
listen 443 ssl http2;

ssl_certificate server.crt;
ssl_certificate_key server.key;
}

Pour le certificat SSL :

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto certonly –webroot -w /var/www/example -d example.com -d www.example.com -w /var/www/thing -d thing.is -d m.thing.is

Ensuite configurez la clé SSL dans nginx et vous aurez un serveur web avec un certificat SSL valide en HTTP/2.

La communication, seul outil du succès

Communiquer, c’est bien.
Organiser la communication est un art.

Le réseautage ?
Le réseautage consiste à utiliser des outils de communications afin de créer et d’entretenir son réseau professionnel.

Mais comme il y a toujours un «mais», il faut noter que le réseau le plus important à développer est celui de votre entreprise, vous pouvez imaginer des outils comme Zimbra avec un gestionnaire de domaine, le tout lié a un PBX.
Vous aurez ainsi des moyens de communication performant sur le plan technologique.

La technologie c’est bien !
Pouvoir avoir son agenda synchronisé et un chat direct avec son équipe et ses supérieurs hiérarchiques, un rêve ?
Aujourd’hui ceci n’est plus un rêve, nous somme en 2015 l’âge du réseau social est lancé !

Attention toute fois a ne pas abuser du téléphone et des pixels, l’informatique c’est bien, mais il ne faut pas oublier que de partager un café avec des membres de son équipe, son patron et même les membres d’autre service aide a la cohésion de groupe, ne j’amais négliger la valeur du temps partagé (cela peut créer des brainstormings inopinés).

Je suis un patron stressé
Alerte rouge !! vous devez apprendre a gérer vos émotions pour gérer votre équipe en créant des relations humaines saines, travailler dans le stress détruit la productivité de vos équipes en les incitant a la procrastination.

En cas de stress je vous conseille de prendre une chaise et de vous mettre au même niveau que vos salariés et de leur demander ce qu’ils sont en train de faire, cela sans créer un sentiment de surveillance malsaine, poser les bonnes questions Quoi ? Quand ? Comment ? Pourquoi ?

Évitez absolution les «Oui, mais si vous faisiez comme cela …» c’est la question a ne jamais poser, il faut noter que vos employés sont spécialisés dans leur domaine d’expertise, faite donc confiance a votre salarié.

Organisation horizontale
Essayez de vous organiser de manière la plus horizontale possible.

C’est-à-dire que vous devez dans un service informatique seulement un directeur technique qui gérera a votre place l’équipe puis l’équipe elle-même.

Cherchez à bien définir les rôles de chacun, votre directeur technique doit avoir le soutien complet de votre directeur commercial, car il n’est pas aisé de gérer la technique et les clients, ne jamais mélanger les rôles.

Pensez aussi à bien communiquer à chaque membre de l’entreprise la liste de chaque membre de l’entreprise afin d’éviter ce que j’appelle le syndrome de l’Ouroboros, vous savez quand un problème n’est la responsabilité de personne et que vous êtes redirigé en boucle, énervant non ?

Et maintenant la gestion du temps
Il existe une application superbe sur iPhone nommé 30/30, cette application permet de gérer les temps de pauses, de travail et même le temps personnel.

Je préconise une pause de 15 minutes toutes les heures de travail, suivi de 2h de travail libre.
Le travail libre est un excellent moyen de dynamiser les équipes autour de projets peut être inutile en apparence, mais qui ont souvent un grand potentiel, dans le pire des cas cela revient a de l’autoformation.

Ne pas croire que la liberté génère de la procrastination, cela motive les équipes à en faire plus.
Imaginez vous travaillez sur un site web d’e-commerce et bien durant le temps libre les développeurs peuvent faire un système qui va faire de la formalisation RNVP avec autocomplétion des champs d’adresse, deux heures de travail tous les soirs durant une semaine et vous obtenez une superbe fonctionnalité pour votre site, encore une fois vous avez de la valeur ajoutée.

En cas de conflits
Si vous avez des conflits dans votre entreprise, cherchez avant tout les responsables du conflit, personne ne dénoncera personne, soyez ferme !

Il faut adopter des techniques de médiation, chercher à comprendre les enjeux et trouver un compromis.
Attention, car un conflit peut être tumorale, un conflit entre deux salariés peut généré une tension dans une équipe, qui celle-ci sera capable de s’énerver contre une autre équipe par décompensation du stress, donc la plus grande prudence est requise.

Si vous vous sentez débordé n’hésitez pas a demander de l’aide, être aidé n’est pas être lâche, car cela demande une bonne dose de courage d’appeler a l’aide.

Le mot de la fin
Je conclus cet article en le résumant aux simples principes de générer de la communication, de respecter l’humain et créer de la cohésion de groupe.

Si vous appliquez ces quelques principes de base, vous avez la clé du succès, car comme je dit toujours une entreprise c’est comme une famille, il faut prendre soin de sa famille.

Sécurité informatique : les principes de bases

La sécurité informatique est un sujet bien souvent pris à la légère, mais il est primordial de perfectionner sa sécurité informatique et au même titre que la sécurité de nos locaux.

Pourquoi ?
La première raison est évidemment de se prémunir contre le vol d’informations sensibles qui bien entendu doit être votre principale préoccupation, mais ce n’est pas la seule raison, je vais en énumérer quelques-unes

  1. Le coût : un serveur qui est attaqué est un serveur qui va consommer plus de ressources, si les attaques sont bloquées vous allez économiser de précieuses ressources et donc de l’argent, en plus c’est bon pour l’environnement
  2. La qualité de service : un serveur qui est attaqué va répondre plus lentement, votre image de marque et le SEO (s’il s’agit d’un site web), peuvent en pâtir
  3. Baisse des ventes : si une application est piratée et qu’il est possible de l’utiliser gratuitement il est moins probable qu’elle soit vendue
  4. Réputation : une entreprise aillant subit une attaque peut perdre sa réputation surtout si elle ne communique pas sur le problème

Les quatre raisons citée peuvent conduire à la fermeture d’une entreprise ou une forte baisse de son chiffre d’affaire même si aucune donné utilisateur n’a été dérobé

Comment s’en prémunir ?
La sécurité est une chose de très simple qui se résume à ne pas laisser la possibilité a quelqu’un de faire ce qu’il ne doit pas faire, si l’on veut que quelqu’un ne fasse pas quelque chose il suffit de l’en empêcher.

C’est ce principe simple que j’applique tous les jours, quand je code si une valeur doit être en 0 et 5 je vérifie par une condition si c’est strictement le cas, je vais prendre un exemple concret celui de Test ADSL Pro, dans un usage normal l’utilisateur doit entrer un numéro de dix chiffres qui commencent par 01 à 05 et a accès au nom et à l’adresse du titulaire seulement s’il a pris la version pro :

  • En parfait parano je ne fais pas confiance en l’utilisateur, il pourrait faire de la rétro ingénierie et vendre sa propre application donc l’application et la communication avec le serveur est chiffrée, ceci évite donc le piratage
  • Les valeurs en entrées doivent être la preuve d’achat et le numéro de téléphone, si le numéro de téléphone ne correspond pas strictement à un numéro FT ((+)331 à (+)335 ou 01 à 05 suivis de 8 chiffres compris entre 0 et 9 ) la requête renvoie un message d’erreur, la preuve d’achat est en base64 si elle n’est pas en base64 elle est invalidée, celle-ci est systématiquement vérifiée sur les serveurs d’Apple si elle n’est pas valide elle est aussi invalidée, l’utilisateur ne peut donc pas faire de manipulations et doit envoyer des informations conformes.
  • L’utilisateur n’aillant pas la version pro n’a pas accès a toutes les informations, même si la réponse est chiffrée les informations aux quelles il n’a pas accès ne sont pas envoyées, comme cela en cas de modification du logiciel client les informations restent inaccessibles.
  • Un client qui fait plus de 3 requêtes simultanément viole les conditions d’utilisation du service car cela signifie qu’il utilise sa licence sur des téléphones dont il n’est pas l’utilisateur, une surveillance manuelle permet de limiter la fraude.
  • Le client est forcément un terminal IOS donc si les requêtes sont effectués par d’autres appareils cela peut signifier que le service est piraté, dans ce cas il faut trouver ce qui est anormal dans la requêtes, dans ce cas l’en-tête user agent et donc de bloquer ceux qui ne correspondent pas à un terminal IOS.

De manière générale je protège les serveurs avec Fail2ban contre les requêtes qui ne sont pas légitimes, par exemple le flood, le scan du serveur avec des outils d’analyse de sécurité, de DDOS, d’injection SQL etc., de cette façon une personne malveillante aura plus de mal à obtenir des informations sur le serveur et cela permet de limiter sa charge, car les bots vont arrêter de le scanner si leurs IPs sont bannies.

Petite faille deviendra grande
Il ne faut jamais considérer qu’une faille est petite et sans gravité, une faille reste une faille sinon ça ne s’appellerait pas comme cela et aussi « petite » soit elle celle-ci peux être exploité, même si cela doit prendre 15 ans.

On peut aisément citer le problème d’OVH :

Après les
investigations en interne, il s’avère qu’un
hackeur a réussi à obtenir les accès sur un compte
email d’un de nos administrateurs système. Grâce
à cet accès email, il a obtenu l’accès sur le VPN
interne d’un autre employé. Puis grâce à cet
accès VPN, il a fini par compromettre les accès
de l’un des administrateurs système qui s’occupe
du backoffice interne.

Je peux aussi citer une entreprise dont je ne communiquerais pas le nom qui avait une faille d’injection SQL, je pouvais modifier des requêtes SQL, cette injection était faite totalement à l’aveugle, au fur et à mesure des tests j’ai trouvé comment faire un INSERT et j’ai compris la structure de certaines tables j’ai donc codé un petit outil qui effectuait des requêtes pour insérer le résultat d’un SELECT dans une page publique, cette page était lue puis remplacé par le résultat de la requête suivante, j’ai donc obtenu grâce à cet outil spécialement conçu une copie de la base de données, j’ai donc vu que certaines pages étaient chargées en fonction du contenu de la BDD, j’ai donc altéré cette table pour y insérer l’URL d’un backdoor, le backdoor m’a permis d’aller encore plus loin, car il donne accès au code source, il permet de modifier les fichiers et donc de modifier le comportement du logiciel, cela peut par exemple permettre de récupérer les mots de passe des administrateurs puis continuer afin d’obtenir un accès a tous les serveurs de l’entreprise.

Évidemment comme je ne suis pas malveillant j’ai conseillé à l’entreprise de sécuriser son service, le préjudice aurait été énorme si une personne mal intentionné aurait trouvé cette faille car le nombre de clients avec leurs informations personnelles ce compte en dizaines de millions.

Diviser pour mieux régner
Comme vous l’avez compris on n’est jamais à l’abri d’une faille et celle-ci peut vite s’avérer dangereuse mais, il existe bien un moyen de limiter la propagation de la gangrène, il suffit de partitionner un maximum les services et leurs permissions, je vais prendre l’exemple concret d’un service de cloud.

Premièrement, il y a le frontend qui lui n’a accès à rien sauf les banalité telle que, les news, l’usage du serveur etc., le frontend a donc un compte sur le serveur SQL, celui-ci peux être identifié par une signature ou un mot de passe, la signature est préférable, il y a aussi un filtrage des adresses IPs et en interne une table ARP statique.

Il y a le backend est un logiciel serveur qui va être la passerelle pour accéder aux données de l’utilisateur, mais absolument toutes les informations vont être chiffrées, la première information est la fiche utilisateur qui contient les informations personnelles et les lieux de stockage des fichiers, l’espace disque utilisé et utilisable, cette fiche est chiffrée, elle peut être déchiffrée avec le login et le mot de passe de l’utilisateur et par ceux des administrateurs du système ainsi que les serveurs avec des tâches programmé.

Les données de l’utilisateur quant à elles ne peuvent être déchiffrées et modifiées seulement avec le login et le mot de passe de l’utilisateur, chaque fichier aura une clé de chiffrage différente dans le cas ou l’on souhaiterait partager un fichier avec un groupe, cette clé privée étant elle-même chiffrée avec celle des utilisateurs aillant accès à ce fichier, comme le chiffrage n’est réversible que si l’on connait le mot de passe il est donc presque impossible de voler les fichiers, je dis presque, car dans le cas d’un service de cloud les fichiers peuvent être disponible depuis une page web et notamment une veille version d’IE ce qui oblige à effectuer ce chiffrage côté serveur, ce qui implique que si quelqu’un a accès à la mémoire de la machine il peut dumper cette mémoire et récupérer les fichiers ou la clé de déchiffrage et ceci n’est normalement possible que si la personne a un accès physique au serveur, on en reviens donc à la sécurisation des locaux de l’entreprise.

Dans cet article je ne vais pas rentrer dans les détails techniques de la protection par cryptographie ni vous expliquer comment bien compartimenter les droits d’accès, car il ne s’agit là que d’évoquer les principes de bases.

Conclusion
Pour conclure je dirais qu’il faut toujours penser que notre service va être victime de piratage et donc qu’il faut plusieurs niveaux de sécurité et toujours tout vérifier, il faut que ce soit assez difficile de pirater le service afin que celui qui s’y essaye soit lassé avant d’y arriver.

Protection des serveurs d’emails

Bonjour, si comme moi vous avez pour habitude d’utiliser SpamAssassin car il est simple à installer, gratuit et que vous n’avez pas besoin de plus, sachez qu’il existe une solution de qualité professionnelle et gratuite, en effet BitDeffender offre le logiciel FRAMS (Free Antispam for Mail Servers) pour un utilisateur.

bitdefender_frams_02-300x250-fr

Celui-ci offre une détection de 99,91% des SPAM sans aucun faux positif (Selon VBSpam de septembre 2010), il a reçu une récompense pour chaque test ce qui tend à prouver sa fiabilité.

Pour ce qui est de la simplicité d’usage il est très simple a utiliser mais aussi configurable a souhait, il faut moins d’une heure pour finaliser une configuration complète, du moment où j’ai obtenue ma licence gratuite je n’ai eu besoin que d’un quart d’heure pour qu’il fonctionne, quel que soit votre niveau en administration vous saurez l’utiliser, il dispose d’un installer autonome et d’une interface web.

Il fonctionne localement sans diffuser les emails reçus sur d’autres serveurs, il n’est donc pas en contradiction avec la confidentialité des échanges.

Je vous recommande vivement de l’essayer
http://frams.bitdefender.com/fr/

Ce que pensent mes clients

Bonjour, voici une liste non exhaustive des retours de mes clients :

excellent travail.  C’est une personne très investie dans son travail  et j’utilise quotidiennement son application dans mon metier
je recommande vivement.

Patrice Lalumiere
Ingénieur informatique
33700 Merignac

Excellent travail.
C’est une personne très investie dans son travail je recommande vivement.

TOFUS.EU
Christophe Calcus
5866 / LESSINES
Belgique

Travail fourni dans les temps et impeccable, très sérieux et propre dans son codage.
Je recommande vivement.Assimile très vite les besoins.

ROLLBACK.FR
Frédéric PON
31270 Frouzins

Mon Auto Entreprise

Bonjour,

Je viens de me déclarer en auto entrepreneur, j’aurais pour activité la réalisation des projets informatiques des entreprises et de l’assistance aux particuliers, mon domaine d’activité sera de grande amplitude (Programmation Web, Infogérance, PABX, ADSL, etc.), mon but est de relevé des défis techniques et mètre en place des architectures inédites en associant mes différentes compétences.

Je propose aussi des Audits de sécurité sur les sites web et les réseaux d’entreprises (Test de pénétration interne et externe) et je formerais les développeurs PHP aux différentes stratégies de Sécurité web.

(This post will stay in French)