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

Copier-coller bloqué, ou comment désactiver une fonction Javascript

Aujourd’hui, un p’tit hack rapide que je vous présente aujourd’hui pour contourner des soi-disant « sécurités » de copier-coller bloqué sur certains formulaires web, exemple.

C’est très désagréable pour l’utilisateur, et ça ne sert absolument à rien contre un attaquant qui veut bruteforcer votre formulaire puisqu’il attaquera directement via le flux HTTP (avec un proxy d’attaque type BURP ou ZAP, voir avec CURL en scripting).

S’il s’agit d’une fonctionnalité pour éviter les erreurs de saisie : j’aimerais qu’on m’explique à quel moment on contrôle une adresse e-mail comme ça ? et pas avec un mail de validation au hasard. De même, pour les champs de mots de passe, à part empêcher d’utiliser un gestionnaire de mot de passe, ça incitera juste l’utilisateur à utiliser un secret simple pour ne pas s’emmerder à saisir un truc compliqué deux fois.

Et comme il s’agit d’une protection qui bloque le copier/coller dans le navigateur, elle ne peut être exécutée que du côté de votre poste. C’est-à-dire en JavaScript, et on peut donc agir dessus très facilement. Et sans la moindre « attaque » du site internet puisque qu’on ne modifie que des éléments sur notre poste. Le serveur se contentant de recevoir … 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

App Splunk : développer un TA pour VSFTPD

Splunk Logo

Salut à tous, j’espère que vous avez passé des bonnes vacances ? Aujourd’hui on continue la série d’article sur Splunk et on va intégrer des logs dans Splunk sans utiliser une application existante. On va développer notre propre App Splunk de type « TA » pour intégrer des logs VSFTPD. La documentation officielle de Splunk sur le sujet est ici et .

C’est quoi une « App » Splunk déjà ?

Techniquement, une App Splunk est un ensemble d’éléments Splunk parmi des scripts, rapports, commandes de recherche, d’entrées de données, de sourcetypes, de lookups, d’alertes, etc. packagés ensemble pour une technologie ou un cas d’usage spécifique dans le but de faciliter la vie des utilisateurs, opérateurs ou des admins.

Dans ces Apps, vous entendrez aussi parler d’Add-on de Splunk, il s’agit également d’applications au sens technique, mais dépourvu d’interface graphique.

Et encore parmi ces Add-on, on trouve encore les « TA » (pour « Technology Add-on ») qui sont des Add-on spécialisés dans la collecte, l’analyse et la normalisation (au sens CIM) de sources de données particulières pour aider à leur intégration dans Splunk. Si vous vous souvenez, mes TP Splunk sur Nginx et iptables se basaient sur … Lire la suite