Fail2ban, xmlrpc et nginx – Créer sa règle fail2ban maison

Fail2ban xmlrpc et nginx

Salut à tous, je vous propose un nouveau TP sur fail2ban, xmlrpc & nginx. Ceux qui n’ont pas suivi ou qui débutent avec fail2ban sur WordPress devraient commencer par lire cet article qui fait parfaitement le boulot contre 99% des attaques. Néanmoins, ma supervision Splunk m’a permis de repérer une IP qui arrivait à contourner mes protections en créant des codes d’erreurs 499 sur le serveur web via des requêtes foireuses.

Vu que la fonctionnalité XMLRPC est désactivée sur le site, il y a peu de chance que celui-ci arrive à faire quoi que ce soit. Ce n’est pas une raison pour le laisser faire en saturant le serveur de requêtes inutiles…

Pour ceux qui ont lu mon article sur Splunk et Nginx, la requête Splunk qui m’a permis de générer le graphique pour cet article est la suivante :

index=nginx xmlrpc  | timechart count by src

Fail2ban, xmlrpc et nginx

Pour votre culture, les protections en place ne fonctionnaient pas puisque la requête HTTP en code 499 n’arrivait jamais jusqu’à WordPress qui n’avait donc pas la chance d’écrire une ligne de log sur le sujet. Seul le serveur Web traitait la requête, pour rien donc.

Alors j’aurai pu … Lire la suite

Fail2ban pour Splunk avec une basic Auth Nginx

Fail2ban

Salut tous, aujourd’hui on continue dans la série des articles sur fail2ban et Splunk en regardant comment mettre en place et protéger une BasicAuth HTTP devant Splunk avec Fail2ban. En effet, un « petit » défaut de la version free de Splunk est l’absence d’authentification… Wait What ??? Oui oui, vous avez bien lu, d’ailleurs je cite la doc : « There is no login. The command line or browser can access and control all aspects of Splunk Free with no user and password prompt.« . C’est bien traitre de la part de Splunk car lorsque vous installez la version d’essai, vous avez bien la mire de login pendant 60j et c’est seulement lorsque vous repasser en free que celle-ci disparait…

Shame on you Splunk ! que vous ne fournissiez pas l’authentification, pourquoi pas, mais la faire sauter à la fin de la période de trial : c’est franchement criminel de votre part.

Bref, ceci étant dit, le plus simple pour remettre une authentification en place c’est de configurer votre serveur web pour ajouter une auth basic, et on verra comment la protéger avec fail2ban.

Prérequis

Du coup cet article fait appel à pas mal de truc … Lire la suite

Fail2ban pour wordpress pour se protéger des bruteforce

Fail2ban

Salut à tous, aujourd’hui on va voir comment mettre en place Fail2ban pour WordPress.

En fait, je gratte mes logs dans Splunk de Nginx depuis quelque temps et je me suis rendu compte que mon site se faisait bruteforcer dans les règles depuis un bon mois par quelques IP… Du coup, d’une part, j’ai désactivé ou blindé quelques services du site dont je ne me servais pas (xmlrpc, API REST), ce qui a bien limité les tentatives. Mais ça ne protège pas des attaques classique contre la page « wp-login.php« . Du coup, j’ai regardé comment on pouvait sécuriser ça (dans la doc de WordPress). Et j’ai retenu la solution avec fail2ban dont je vous avait déjà parlé précédemment, d’ailleurs. Je vous montre donc ci-dessous comment on peut activer Fail2ban pour WordPress.… Lire la suite

Fail2ban : « t’as des baskets, tu rentres pas ! »

Fail2banSalut à tous, aujourd’hui je vous fait un point rapide sur fail2ban que vous avez installé sur votre serveur linux. Vous ne connaissez pas ? fail2ban c’est un petit utilitaire qui analyse les logs de votre serveur à la recherche d’échecs d’authentification successifs dans ces derniers. Lorsqu’il trouve, il récupère l’adresse IP essayant de se connecter et bloque celle-ci pour empêcher tout autre tentative.

C’est diablement efficace contre les scan-bots si vous avez un serveur avec un port SSH accessible depuis tout l’internet. Et si vous pensiez que votre serveur n’est pas scanné : allez-donc faire un tour dans vos logs SSH… Je vous propose ce TP car sur mon ancien serveur j’utilisais DenyHost qui n’est plus dispo avec Debian 8, j’ai donc basculer sur son remplaçant.

Fail2ban

Comme d’habitude sur une Debian pour installer fail2ban :… Lire la suite