Archives pour la catégorie Hacklab

Panel LED sous Arduino avec interface graphique en React et interface en ligne de commande Python

Avec l’aide technique de Vivian R, Thierry E, Michael P, Daniel D, Alexandre P, Rémy M et Samuel G

Code en Arduino et en Python3 :
https://github.com/HacklabIlard/PanelLed

Interface graphique en React :
https://github.com/rmondi/LED-panel-GUI
(Compatible avec la version : https://github.com/HacklabIlard/PanelLed/commit/ed46c1b2e192c5e5a02d6a5ee895d424bb4d08f9)

Boite en impression 3D :
https://www.thingiverse.com/thing:5920310

filtre fail2ban pour DokuWiki

Comme vous le savez, dokuwiki est le wiki par excellence. Il permet de créer des wiki pour les geeks que nous sommes. Il est léger, réactif, et il est de bon goût pour tout geek d’en posséder un.

Le revers de la médaille étant que sa notoriété fait qu’il devient la cible d’attaques en tout genre.

On trouve dans le fichier /var/log/apache2/access.log de nombreuses lignes telles que

149.62.41.158 – – [14/Jan/2023:18:52:09 +0100] “GET /titiwiki/doku.php?do=register HTTP/1.1” 200 8668 “https://escola.fr/titiwiki/doku.php?id=%D1%80%D0%B0%D0%B7%D0%B1%D0%B8%D0%BB%D1%81%D1%8F-%D1%80%D1%82%D1%83%D1%82%D0%BD%D1%8B%D0%B9-%D0%B3%D1%80%D0%B0%D0%B4%D1%83%D1%81%D0%BD%D0%B8%D0%BA_-%D1%80%D0%B5%D1%88%D0%B8%D0%BB%D0%B0-%D1%81%D0%BE&do=login&sectok=” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Vivaldi/5.3.2679.68”

C’est un peu obscure, je n’ai d’ailleurs pas tenté de creuser le pourquoi de cette ligne de log, mais le résultat de ce type d’attaque a été que mon serveur a servi de passerelle de spam pendant quelques jours.

Comme j’ai déjà un fail2ban d’installé sur ma machine, pour bannir les tentatives d’accès à SSH et à l’administration de WordPress, j’ai décidé de créer un filtre supplémentaire pour bannir les machines qui ont tenté de se logguer sur mon DokuWiki de cette manière.

Tout d’abord on crée le jail

#nano /etc/fail2ban/jail.d/dokuwiki.conf
[dokuwiki]
# To use more aggressive modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
enabled = true
mode = aggressive
port = http,https
filter = dokuwiki
action = iptables-multiport[name=DOKUWIKI, port="http,https", protocol=tcp]
logpath = /var/log/apache2/access.log
maxretry = 1
bantime = 4w

il y a ici un réglage simplifié qui fonctionne, on peut le tweaker bien plus, mais je vous laisse le loisir de consulter la documentation.

Pour résumer : on vérifie le fichier de log d’Apache, on bannit à 1 seule tentative, pendant 4 semaines, en utilisant le filtre dokuwiki qu’il faut créer

#nano /etc/fail2ban/filters.d/dokuwiki.conf
[Definition]
failregex = ^<HOST> .*(GET|POST) .*/titiwiki/doku\.php.*(%%.*){10,}.*
ignoreregex =

La seule chose étant une expression régulière, alias  Regex, qui stipule qu’on détecte un GET ou un POST suivi d’un /titiwiki/doku.php puis un minimum de 10 fois le caractère % entrecoupés d’autres caractères.

une fois ces fichiers créés, on peut faire le test

#fail2ban-regex /var/log/apache2/access.log /etc/fail2ban/filter.d/dokuwiki.conf 
Results
=======
Failregex: 470 total
|- #) [# of hits] regular expression
| 1) [470] ^<HOST> .*(GET|POST) .*/titiwiki/doku\.php.*(%.*){10,}.*

On voit bien qu’il à a eu 470 correspondances entre la regex et le fichier access d’Apache.

#fail2ban reload dokuwiki
va charger ce filtre dans dokuwiki
#fail2ban status dokuwiki
au bout de quelques heures va donner

Status for the jail: dokuwiki
|- Filter
| |- Currently failed: 0
| |- Total failed: 59
| `- File list: /var/log/apache2/access.log
`- Actions
|- Currently banned: 587
|- Total banned: 587
`- Banned IP list: 103.41.106.199 135.181.74.243 139.59.186.196

et je vous fais grâce des 587 IP qui ont été bannies

FPGA

qu’est qu’un FPGA : on a la description sur Wikipédia.
Pour appréhender la programmation FPGA, j’ai trouvé une carte qui correspond à ce que je désirais pour de la découverte.
Cette carte est une Tang nano 4K


équipée d’une prise USB-C et d’une prise HDMI et de nombreuses entrées/sorties.
L’USB permet de programmer et de déboguer sans câble spécifique. La prise HDMI est connecté au FPGA, qui une fois correctement programmé va être une sortie vidéo.
J’ai décidé de travailler sur une machine Windows.
En tout premier, on installe l’IDE qu’on trouve sur sur le site de GOWIN.
On prend la version éducation qui ne demande pas de licence.
Une fois l’IDE installé, on trouve dans le dossier d’installation, un dossier « programmer », ce dossier contient les logiciels de programmation et de debug, mais qui fonctionnent avec les câbles spécifiques de GOWIN, et on doit donc télécharger le programmer de chez Tang.
on le décompresse et on copie le dossier programmer vers le dossier d’installation de Gowin IDE afin de remplacer le dossier programmer d’origine. Dans ce dossier, il y a un dossier driver, on installe les drivers qui s’y trouvent.
Pour le premier test, j’ai utilisé un tutoriel d’un brésilien.
les premiers tests étant concluants, l’apprentissage du langage Verilog est la prochaine étape.

Prochaines sessions Hacklab/ILArd

18/11/2017
14h00 – 18h30
Atelier Hacklab
MCL « Ma Bohème », Charleville Mézières
02/12/2017
14h00 – 18h00
Atelier Hacklab
Médiathèque « Voyelles », Charleville Mézières
16/12/2017
14h00 – 18h30
Atelier Hacklab
MCL « Ma Bohème », Charleville Mézières
13/01/2018
14h00 – 18h00
Atelier Hacklab
MCL « Ma Bohème », Charleville Mézières
27/01/2018
14h00 – 18h30
Atelier Hacklab
Médiathèque « Voyelles », Charleville Mézières

 

Calendrier 2016-2017 des “Hacklab” de ILArd

Voici les dates des prochains Hacklab/ILArd à la MCL “Ma Bohème” :

Samedi 17 sept. 2016 Atelier Hacklab #1
Samedi 24 sept. 2016 Atelier Hacklab #2
Samedi 1 oct. 2016 Atelier Hacklab #3
Samedi 15 oct. 2016 Atelier Hacklab #4
Samedi 5 nov. 2016 Atelier Hacklab #5
Samedi 26 nov. 2016 Atelier Hacklab #6
Samedi 10 déc. 2016 Atelier Hacklab #7
Samedi 7 janv. 2017 Atelier Hacklab #8
Samedi 21 jav. 2017 Atelier Hacklab #9
Samedi 4 fév. 2017 Atelier Hacklab #10
Samedi 25 fév. 2017 Atelier Hacklab #11
Samedi 4 mars 2017 Atelier Hacklab #12
Samedi 18 mars 2017 Atelier Hacklab #13
Samedi 1 avril 2017 Atelier Hacklab #14
Samedi 29 avril 2017 Atelier Hacklab #15
Samedi 6 mai 2017 Atelier Hacklab #16
Samedi 20 mai 2017 Atelier Hacklab #17
Samedi 3 juin 2017 Atelier Hacklab #18
– Samedi 20 juin 2017 Atelier Hacklab #19
– Samedi 1 juil. 2017 Atelier Hacklab #20

Horaires : De 13h45 à 18h30 (Horaires d’ouverture du samedi après-midi)

Logo de la Maison de la Culture et des LoisirsAdresse :
MCL “Ma Bohème”
Maison de la Culture et des Loisirs
21 rue d’Aubilly
08000 Charleville-Mézières

tél. 03.24.33.31.85 (aux heures d’ouverture)