Archives de mots clés: IPv6

“SimpleBan”: une alternative à “fail2ban” compatible IPv6

“fail2ban”, c’est puissant, mais ce n’est pas (nativement) compatible IPv6 !

Sans avoir la prétention de ré-inventer la roue, j’ai écrit un petit script shell très simple qui fonctionne sur le même principe:

  • parser les logs à la recherche de motifs,
  • extraire les adresses IP de ces motifs,
  • bloquer les adresses IP.

Le but est de bloquer les adresses IP “indélicates”. Ce script Bash n’a pas besoin de base de données et fonctionne de la façon suivante:

  • lancement régulier via “crontab”,
  • parcours des logs avec “logtail”,
  • extraction des adresses IP avec “grep” et “sed”,
  • mise en place des règles de blocage avec “iptables” et “ip6tables”
  • planification de la suppression des règles de blocage avec “atq”,
  • sérialisation des commandes “iptables” / “ip6tables” avec “tsp”.

La configuration est beaucoup plus simple qu’avec “fail2ban”, la seule difficulté étant l’écriture des motifs de détection et d’extraction.

Script sur le Wiki

Site du projet

 

Installer Nginx et OpenSSL (compilé en statique)

Cette procédure permet d’installer une version récente de “Nginx” en intégrant une version également récente d’OpenSSL (compilée en statique) sur une vieille distribution Debian ou Ubuntu (plus maintenue / obsolète).

Il s’agit d’une rustine qui permet de contourner les failles des implémentation obsolètes d’OpenSSL:

  • améliorer la sécurité SSL/TLS lorsque la mise à jour d’Apache ou de libSSL est difficile voire impossible,
  • remplacer un vieux serveur Apache 2 / OpenSSL (pas de mise à jour possible) par un frontal Nginx configuré en reverse-proxy.

La mise en oeuvre nécéssite quelque modifications de configuration:

  • désactiver l’écoute sur https/433 du serveur Apache,
  • changer le port d’écoute http/80 Apache (par exemple http/8080),
  • configurer Nginx en reverse-proxy / mandataire SSL
    • écoute sur http/80 => “redirect temporary” vers https/443
    • écoute sur https/443 => reverse-proxy vers http/8080 assuré par le serveur Apache.

Cette procédure ne casse pas les paquets et les librairies installés sur la machine (libSSL est compilée en statique avec Nginx).

Cette procédure a été écrite pour Debian Lenny (5.0).

Procédure sur le Wiki

Installer Nginx à partir du code source

Le script suivant permet d’installer automatiquement la version la plus récente de “Nginx” et de profiter des dernières innovations telles que le protocole HTTP/2.

  • Installation préalable du paquet “nginx-light” pour bénéficier de l’arborescence Debian,
  • Téléchargement du code source,
  • Compilation et installation:
    • intégration du module externe “header more” qui permet de jouer avec toutes les entêtes HTTP,
    • options de compilation: HTTP/2, SSL, IPv6, WebDav.

Cette procédure a été écrite pour Ubuntu 14.04 LTS.

Procédure sur le Wiki