Utiliser varnish/apache et ssl avec certbot

Logo varnish
Logo varnish

Qu’est-ce que varnish ?

Varnish est un serveur de cache http, permettant une accélération notable des sites web. Il agit comme un proxy inversé.

Problématique

Il est assez facile de mettre en place varnish pour un site web en http (port 80). Toutefois, varnish ne gère pas les certificats ssl, et est donc incapable de diffuser nativement du https. Il existe plusieurs moyens de le contourner, souvent en mettant un nginx “devant” varnish. Cette solution ne me convenait pas, car je voulais rester en tout apache.

Solution

Apache doit rester en frontend sur les ports 80 et 443. Cela permettra à letsencrypt de générer des certificats de façon automatique et de les renouveler. Toutefois, ces ports ne doivent servir qu’à rediriger vers varnish, qui lui écoute sur son port par défaut (le 6081). Apache va également écouter sur le port local (127.0.0.1) sur un port inutilisé pour diffuser le “vrai” site. Dans cet exemple, j’ai choisi le port 9001. read more

ELK, étape 2 : logstash

Maintenant que nous avons paramétré ELK, voyons comment on peut aller un peu plus loin.

grok

Logstash : Input

Fichiers

Reprenons le code utilisé précédemment

On peut dans cette section multiplier les entrées. Par exemple, on peut avoir plusieurs blocs de type “file”, qui vont aller chercher sur des fichiers différents.

De même, l’option path peut contenir des wildcard et on demande dans ce cas à logstash d’analyser. Par exemple, imaginons qu’on veut analyser tout le répertoire de logs d’apache, on pourra mettre “/var/log/apache2/*”. En revanche, grâce à logrotate, on va trouver dans ce répertoire des fichiers compressés, qui va falloir exclure. On peut écrire : read more

Analyser les logs en temps réel avec ELK

Tout bon admin système le sait, les logs d’un serveur sont critiques. ELK est une suite logicielle qui permet d’analyser ses logs en temps réel, mais aussi de faire des recherches poussées, et générer des dahsboards.

elastic-logo

ELK c’est quoi ?

C’est une suite logicielle formée de 3 composants :

  • Elasticsearch
  • Logstash
  • Kibana

Elasticsearch

icon-elasticsearch-bbElasticsearch est une base de données full text. Son but est d’encaisser de très gros volumes de données en texte, et de pouvoir faire des recherches rapides sur ces données.

En plus de ça, c’est un outil capable de fonctionner en cluster de façon très simple, et d’assurer ainsi une haute disponibilité. read more

UFW, docker et iptable

dockerPostulat : utilisation de docker

Suite à un changement d’OS, je dois faire tourner des sites en php 5.5 sur un serveur en php7. Je me suis naturellement tourné vers docker pour cela.

La mise en place s’est faite rapidement. J’ai créé une image docker apache/php, en me basant sur les informations présentes ici.

J’ai ensuite lancé un container avec l’option -p 8080:80. Le site est donc accessible via le port 8080. J’ai ensuite mis en place un reverse proxy apache pour diffuser ce site sur le port 80 et 443 en fonction du hostname. La gestion du certificat https se fait par letsencrypt via apache. Je n’ai pas besoin de définir un certificat dans le container, c’est le reverse proxy qui fait tout pour moi. read more

Sauvegarder une machine linux avec Veeam Agent for Linux

Veeam

Jusqu’à maintenant, j’utilisais Bacula pour faire les sauvegardes de mes serveurs Linux. Même si cette solution est très efficace, l’interface n’est pas vraiment un modèle d’ergonomie…
J’ai découvert il y a peu Veeam agent for Linux, un outil gratuit, qui est confondant de simplicité. Il est encore en béta (donc à utiliser avec précaution), mais il a des avantages très agréables :

  • il s’installe en un clin d’oeil : le lien de téléchargement ci dessus propose des paquest .deb et .rpm pour 32 et 64 bits.
  • Il y a une interface très simple d’utilisation (il faut lancer la commande veeamconfig ui pour la voir), mais vous pouvez tout commander en ligne de commande
  • Il propose des sauvegardes Full, ou de partition, ou par répertoire
  • Vous pouvez faire des sauvegardes en local ou bien vers des partages nfs/cifs. Bien sur, vous ne pouvez pas sauvegarder une partition sur elle même…
  • Il est fourni avec une image iso sur laquelle vous pouvez booter votre machine, afin de remonter un système complet depuis une sauvegarde
  • Les restaurations de fichiers sont sécurisées : il monte une sauvegarde dans un répertoire (/mnt/backup par défaut), et vous choisissez ce que vous restaurez.
  • Il ne nécessite pas de base de données tierce (MySql, PostGreSQL) pour fonctionner. Tout est stocké sur des fichiers XML qui font partie de la sauvegarde (ceux qui utilisent bacula et dont la base de données a déjà été corrompue apprécieront…)
  • Il contient un planificateur pour lancer automatiquement les jobs.
  • Il gère automatiquement les types de sauvegarde (complète, incrémentielle…) en fonction de la durée de rétention choisie.

Dans les points négatifs, il n’y pas d’envoi de mail en automatique à la fin du backup, il faut écrire un bout de script pour être averti. De plus, quand on lance deux jobs en même temps, le second passe en erreur au lieu de se mettre en attente pour se lancer une fois que le premier est terminé. read more