17 Déc

Let’s Encrypt !

Avec les révélations Snowden, de plus en plus de sites sont en train de migrer en SSL. Google échaudé pousse maintenant à fond à l’encryption, voir le « https as ranking signal ». Mais d’autres organisations ne sont aps en reste avec la campagne « Encrypt All the Things ». Ce qui change maintenant est la possibilité d’obtenir gratuitement des certificats SSL grâce à Let’s Encrypt depuis le début de l’année !

Croissance de Let's Encrypt en 2016
Ce tutoriel va donc présenter comment paramétrer Nginx sous Debian/Jessie pour obtenir et utiliser des certificats SSL avec Let’s Encrypt. Lire la suite

24 Déc

Configurer NzbDrone et NzbGet avec Nginx

Après avoir installé NzbGet et NzbDrone (récemment renommé sonar), il ne reste plus qu’à les configurer et à en sécuriser l’accès. Pour ce faire, le principe de base consiste à utiliser Nginx en reverse proxy ssl devant ces deux applicatifs.

Quel est l’intérêt ? Nginx va permettre de « masquer » NzbGet et NzbDrone en évitant de les rendre accessibles directement depuis Internet. Nginx est un serveur connu et fiable, est-ce que l’on peut en dire autant des deux autres ? Personnellement, j’éviterai de parier la sécurité de mon serveur là-dessus.

* La version de Sonarr/NzbDrone 2.0.0.2663 a apporté pas mal de changements et la configuration nginx ci-dessous doit-être modifiée en conséquence. L’article reflète maintenant ces changements

Lire la suite

16 Juin

Outils Web d’Administration – GateOne

Cet article présente l’installation de GateOne, un client SSH écrit 100% en HTML5. Mais quel est l’intérêt? Deux cas de figures sont possibles.

1er cas, on se trouve dans un environnement restrictif, par exemple derrière un proxy avec authent ntlm qui ne laisse passer que le http/https, ou sur un windows sans possibilité d’installer un client SSH. GateOne ne requiert qu’un navigateur en html5 et une connexion https standard, pas besoin de plugin, jvm ou autre.

2ème cas, on souhaite permettre un accès externe à une zone privée (intranet, etc.) sans pour autant ouvrir les accès SSH à travers sa DMZ. On peut monter GateOne derrière un reverse proxy en frontal sans compromettre sa sécurité.
Lire la suite

10 Juin

Test en Charge de son Serveur Web

Je viens de tomber sur LoadImpact, un site sympa pour tester en charge son serveur web. La version gratuite mise à disposition est bien sûr limitée, mais elle permet déjà de se faire une idée. Le résultat complet est disponible en ligne et c’était l’occasion de voir la solidité de mes optimisations.

Résultat d'un test Load Imapct sur ce blog
Malheureusement, sans s’enregistrer et/ou payer il n’est pas possible de monter la charge ou de mener des tests plus fins. Mais j’ai pu constater que :

  • le site encaisse sans soucis 50 clients actifs simultanés/li>
  • les temps de chargements des utilisateurs restent plats à 300ms
  • la charge cpu de Nginx et php-fpm (mesurée avec htop) n’a jamais dépassé 1%

Nginx peut donc certainement encore encaisser une charge très supérieure. Vu le trafic de mon blog, j’ai de quoi voir venir !

27 Mai

Outils Web d’Administration – Zend Opcache

Opcache-status et Opcache-gui sont deux interfaces très pratiques pour superviser l’état de Zend Opcache. Elles permettent de mieux comprendre son fonctionnement et d’en améliorer le paramétrage. Elles sont toutes les deux assez similaires, à ceci près qu’Opcache-gui est un peu plus détaillée et permet de vider le cache, ce qui s’avère utile lors de tests.

Bien évidemment, il est nécessaire d’avoir avant installé et activé Zend Opcache !
Lire la suite

23 Mai

Outils Web d’Administration – phpMyAdmin

Cet article présente l’installation de phpMyAdmin dans une zone d’administration sécurisée dont la base est présentée dans l’introduction de cette série. Est-ce la peine de présenter phpMyAdmin ? Il s’agit d’une interface web d’administration de ses bases de données MySQL. Elle permet d’exécuter, facilement et sans grandes connaissances, de nombreuses requêtes, d’effectuer la plupart des tâches administratives comme la sauvegarde/restauration des bases, etc.

La plupart des distributions linux (Debian, Ubuntu, Fedora, etc.) disposent du package, alors quel est l’intérêt d’installer depuis les sources ? Bien souvent, les versions fournies ne sont pas les plus à jours. De plus on ne maîtrise pas vraiment les répertoires d’installation et leur intégration dans l’architecture globale de son serveur web. rien ne remplace donc une installation customisée pour ses besoins.
Lire la suite

21 Mai

Optimiser PHP avec Zend Opcache

Zend Opcache (ex Zend Optimizer+) est un accélérateur PHP et il fonctionne plutôt bien. Comment ? Il faut savoir que les scripts PHP doivent être compilés en PHP bytecode à chaque exécution, et on constate pour cette raison des temps de réponse de l’ordre de 500ms sur un back-end PHP faisant tourner un WordPress. Zend Opcache stocke et optimise ce code compilé pour une ré-utilisation ultérieure. Et il est plutôt performant.

Zend Opcache est compatible avec PHP depuis la version 5.2 et y est même intégré depuis la 5.5. Malheureusement il n’est pas disponible sur Debian (Wheezy en 7.5) à l’heure actuelle. Alors comment faire ?
Lire la suite

19 Mai

Outils Web d’Administration – Intro

Cette série d’article propose d’expliquer l’installation d’un ensemble d’outils d’administrations web bien pratiques qui aident à la gestion de son serveur tout en en sécurisant l’accès. Ce dernier point est critique, en effet combien de fois peut-on voir des phpMyAdmin installés directement dans le sous répertoire d’un site web ? Bien évidemment, ces installations simplistes sont la cible de scanners sur internet qui les recherchent pour leurs vulnérabilités connues.

Cette introduction pose donc les bases d’une installation sécurisée et sera suivi par d’autres articles expliquant comment implémenter différents outils pratiques que j’ai pu trouver comme phpMyAdmin, Cacti, munin, etc.
Lire la suite

15 Mai

Optimiser WordPress avec NGINX et W3 Total Cache – Fin

Suite à l’article précédent, on dispose maintenant, grâce aux mécanismes de cache de W3 Total Cache (W3TC), d’un site WordPress relativement bien optimisé et résistant aux pannes PHP/MySQL. Il ne reste plus maintenant qu’à précharger ce cache afin qu’une version de chaque page y soit déjà présente à chaque nouvelle visite. Ce point est particulièrement important avec les paramètres « Inline CSS minification » et « Inline JS minification » qui assomment le CPU avec, sur ce blog, 6 à 8s pour générer la page d’accueil.
Lire la suite