14 liens privés
Documentation sur comment restreindre l'accès à un Raspberry aux IP "françaises".
🩺Symptômes
- Impossible d'aller sur mon site.
- Voire : impossible d'ouvrir une session ssh vers le serveur.
- Toujours des messages de refus.
❓Raison
Je l'ignore. Je n'ai pas encore compris pourquoi. 🙁
Tout ce que je sais, c'est que fail2ban a banni mon ip.
🪢Liens
- Quelle est sont mes IP (IPv4 & IPv6) ? : je vais avoir besoin de connaître mon IP pour la débannir.
- Fail2ban : comment débannir une adresse IP
💉Remède
2 possibilités
Cas 1 : je peux ouvrir une connexion ssh
Se connecter en root puis à l'aide des commandes suivantes :
tail -20 /var/log/fail2ban.log ➡️ pour trouver les dernières ip bannies dans quels jails
grep " Ban " /var/log/fail2ban.log ➡️ pour trouver toutes les ip bannies dans quels jails
On peut débannir sa propre IP avec la commande :
fail2ban-client set <JAIL> unbanip <IP>
Ça fonctionne aussi bien avec les IPv4 et IPv6.
Ex. :
- Si mon IP est 1.2.3.4
tail -20 /var/log/fail2ban.logme renvoie entre autres lignes :2024-09-01 14:00:56,063 fail2ban.actions [184064]: NOTICE [nextcloud] Ban 1.2.3.4- C'est bien mon IP, et le jail est nextcloud (entre les crochets)
- Je peux débannir l'IP avec
fail2ban-client set nextcloud unbanip 1.2.3.4
💡Pour éviter que l'IP ne soit rebannie trop rapidement (et si je ne suis pas sur un IP tournante), il est possible de la mettre sur liste blanche avec la commande : fail2ban-client set <JAIL> addignoreip <IP>
Cas 2 : Même la connexion ssh ne répond plus 😭
⚠️☠️La manipulation décrite ici consiste à couper temporairement le service fail2ban ! Il faut agir vite pour le réactiver dès que possible et limiter la surface d'attaque.
Lancer le client tor browser pour passer par le réseau tor et utiliser une autre ip. Aller sur l'interface d'administration de mon site puis dans le menu Outils > Services > fail2ban, cliquer sur le bouton d'arrêt du service.
Il est maintenant possible d'ouvrir la connexion ssh qui doit être débloquée. Sinon, je n'ai pas la solution, dans ce cas, il faut relancer le service fail2ban et continuer à chercher une autre façon de débloquer la situation.
Le service étant arrêté, la commande fail2ban-client ne fonctionne plus. Il faut agir directement dans les fichiers de configuration.
Ouvrir le fichier /etc/fail2ban/jail.conf avec les droits d'admin et chercher la ligne commençant par ignoreip. Compléter ladite ligne, en y ajoutant ses IP v4 et v6, séparées par des espaces ou des virgules. Puis quitter le fichier en l'enregistrant (évidemment 😇).
Ouvrir le fichier (le créer s'il n'existe pas) /etc/fail2ban/jail.d/yunohost-whitelist.conf et y ajouter/compléter les lignes suivantes :
[DEFAULT]
ignoreip = 127.0.0.1/8 XXX.XXX.XXX.XXX #<= l'adresse IP (on peut en mettre plusieurs, séparées par un espace et/ou une virgule) que vous voulez passer en liste blanche / whitelist
On peut/doit relancer, sur l'interface d'administration, le service fail2ban et tester le bon fonctionnement des accès : fail2ban-client reload.
Made in David Louapre 👌
Comment créer des UUID v7 dans 20 langages informatiques différents.
UUID v7 intègre le timestamp, ce qui le rend triable.
Livres et documentations sur l'électronique, les appareils et l'informatique.
Qu'est-ce qu'un groupe parlementaire ?
Quel est le rôle du président de l'Assemblée nationale ?
À quoi sert le Règlement de l'Assemblée ?
Qu'appelle-t-on commission des finances ?
Qu'est-ce qu'un vote de confiance ?
En quoi consiste le 49.3 ?
Une autre commande pour rechercher et remplacer du texte dans vi/vim.
:%s/rechercher/remplacer/g
Pour rechercher et remplacer toutes les occurrences d'une chaîne de caractère avec vi/vim, passer la commande suivante :
:g/rechercher/s//remplacer/g
Les identifiants de connexions aux BDD sous DBeaver sont stockés chiffrés. Pour les récupérer/extraire, il y a quelques manipulations à réaliser.
La procédure décrite ici vaut pour Windows. Il faut l'adapter pour les autres OS.
Il y a 2 fichiers json :
- Emplacement %AppData%\DBeaverData\workspace6\General.dbeaver\
- Fichier n°1 :
data-sources.jsoncontient les noms et paramètres de connexion. - Fichier n°2 :
credentials-config.jsoncontient les credentials (user + password) associés.
Les paramètres de connexion du fichier data-sources.json ressemblent à :
[...]
"db2_luw_old-18217802401-33405f2d599592fe": {
"provider": "generic",
"driver": "db2_luw_old",
"name": "TST24 Exemple",
"save-password": true,
"folder": "TEST",
"configuration": {
"host": "pp-db2.serveur.bidon.org",
"port": "50000",
"database": "exemple",
"url": "jdbc:db2://pp-db2.serveur.bidon.org:50003/exemple",
"configurationType": "MANUAL",
"type": "dev",
"auth-model": "native"
}
},
[...]
Après déchiffrement, les credentials du 2nd fichier ressemblent à :
[...]
"db2_luw_old-18217802401-33405f2d599592fe": {
"#connection": {
"user": "utilisateur",
"password": "mot_de_passe_en_clair"
}
},
[...]
Il faut :
1) Chercher le nom de la connexion dans data-sources.json. Ici TST24 Exemple (cf. entrée name).
2) Cette connexion est encapsulée dans une entrée au nom "bizarre" et unique dans le fichier, ici db2_luw_old-18217802401-33405f2d599592fe.
3) Chercher ce nom bizarre dans le fichier credentials-config.json déchiffré pour y trouver les user et password associés.
Pour déchiffrer le fichier de credientials, il faut, sur une machine linux, passer la commande suivante : openssl aes-128-cbc -d -K babb4a9f774ab853c96c2d653dfe544a -iv 00000000000000000000000000000000 -in "%AppData%\DBeaverData\workspace6\General\.dbeaver\credentials-config.json" | dd bs=1 skip=16 2>/dev/null | jq | less
Explication de la commande :
openssldéchiffre le contenuddrécupère la partie contenant les user + passwordjqmet en forme le json pour le rendre lisiblelesspermet de visualiser la sortie pour y rechercher tous les mots de passe à récupérer. Les commandes/et?servent à rechercher en avant et en arrière. Taperqpour quitter.