File not present : fail2ban.log

Bonjour,

Je démarre ma configuration homeassistant. Comme j’ai ouvert l’accès avec duckDNS, malgré que j’ai pris un certain nombre de protections (pas de réponse au ping sur la box, un mot de passe compliqué), je souhaiterais compléter le dispositif avec fail2ban.

Dans home-assistant.log, j’ai le message suivant : [homeassistant.components.fail2ban.sensor] File not present: fail2ban.log.

Je suis sur haos. J’ai suivi ce qui était indiqué dans la documentation et j’ai ajouté les lignes suivantes dans configuration.yaml :

sensor:
  # Fail2ban
  - platform: fail2ban
    jails:
      - ssh
      - hass-iptables

J’ai regardé tous les tickets que j’ai pu trouvé. Certain indique qu’il faut créer le fichier /var/log/fail2ban.log à la main. D’autre qu’il faut changer les autorisations en 666. J’ai effectué les conseils et voici mon fichier log :

$ ls -l /var/log/fail2ban.log
-rw-rw-rw-    1 root     root             0 Feb 11 09:09 /var/log/fail2ban.log

Par défault, la documentation indique file_path string (optional, default: /var/log/fail2ban.log) et donc que par défaut c’est bien ce fichier qui est cherché.

J’ai même essayé de rajouté l’option :
sensor:

  # Fail2ban
  - platform: fail2ban
    jails:
      - ssh
      - hass-iptables
    file_path: /var/log/fail2ban.log

Mais ça ne fonctionne pas non plus et j’ai un message d’avertissement à la configuration :

Avertissements de configuration
Invalid config for ‹ fail2ban › from integration ‹ sensor › at configuration.yaml, line 29: not a file for dictionary value ‹ file_path ›, got ‹ /var/log/fail2ban.log ›

Là je sèche sur le sujet et votre aide me serait précieuse.


Texte à remplacer par votre configuration

Comment récupérer ma configuration :
Dans votre HA, Menu latéral Paramètres > Système > Corrections puis les trois petits points en haut a droite > Informations Système puis une fois en bas Copier


Salut,

Dommage, il manque le plus important : ton type d’installation !

J’ai pas l’impression que fail2ban soit compatible avec une installation HAOS par exemple

Merci pour ta réponse rapide. Dans mon post il est bien indiqué : Je suis sur haos
Mais j’avoue que ce n’est pas évident vu que la demande est assez longue :slight_smile: J’aurais du le mettre en gras.

Voici pour être précis les informations :
|Version|core-2024.2.1|
|Type d’installation|Home Assistant OS|

Merci pour l’info comment récupérer sa config, cela me permettra d’être plus précis. Je n’ai pas tout recopié mais si nécessaire je peux le faire.

Il n’est pas indiqué que le module ne fonctionne pas sur haos. Si c’est le cas c’est bien domage.

Il se lance bien en tout cas, puisqu’il génère le message d’erreur. Message que l’on retrouve dans le code de l’application :
_LOGGER.warning("File not present: %s", os.path.basename(self.log_file))

Ce qui est dommage c’est que le code ne donne pas le chemin complet mais juste le basename. ET du coup, pas facile de savoir à quel fichier il fait référence.

Il n’apparait pourtant pas dans les modules complémentaires. J’avais pourtant l’impression qu’il avait été intégré à home assistant. Mais c’est un aspect du produit qui n’est pas très clair (en tout cas pour moi).

Effectivement

Le bloc en bas est justement là pour fournir toutes les infos (pas que HAOS par exemple)

En tout cas j’ai toujours l’impression que :

ça c’est typiquement un path OS et pas un path container (la base de HAOS)


Et installer fail2ban sous HAOS, je ne vois pas comment c’est faisable. Sur une installation supervised, ok, mais autrement c’est cuit je pense

Salut,

tu t’es basé sur quelle doc quand tu dis que tu as suivi ce qui était indiqué.?

Sur HA OS c’est possible d’activer un fail2ban inclus dans HA, si tu regardes ce doc, il y a les paramètres "ip_ban_enabled " et "login_attempts_threshold "

IP filtering and banning

If you want to apply additional IP filtering, and automatically ban brute force attempts, set ip_ban_enabled to true and the maximum number of attempts. After the first ban, an ip_bans.yaml file will be created in the root configuration folder. It will have the banned IP address and time in UTC when it was added:

127.0.0.1:
  banned_at: "2016-11-16T19:20:03"

After a ban is added a Persistent Notification is populated to the Home Assistant frontend.

1 « J'aime »

Merci pour ce retour.

Il est vrai que j’avais également vu cette documentation et que j’avais déjà intégré les éléments dans mon fichier de configuration :

http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
  ip_ban_enabled: true
  login_attempts_threshold: 5

J’avais trouvé la configuration qui me pose problème dans cette documentation : Fail2Ban - Home Assistant

Je pensais qu’il fallait mettre ce bout de code pour que le module soit opérationnel. Mais, comme la partie ssh ne m’interesse pas, je vais enlever la partie platform fail2ban, ce qui va résoudre le problème.

C’est la partie http qui m’importe.

Ce qui en revanche est un peu troublant c’est que je ne sais pas comment vérifier que ça fonctionne.
Il est écrit : After the first ban, an ip_bans.yaml file will be created in the root configuration folder.

La seule manière de vérifier serait donc de créer un incident. Pas simple à faire si on ne veut pas se retrouver sans connexion :rofl: Surtout qu’il n’est précisé nul part comment on peut réactiver une adresse en cas de banissement involontaire.

Dans le système, je ne vois aucune trace des fichiers habituellement utilisés par fail2ban.

Du coup j’ai bien fait ce qui est indiqué, je n’ai plus de message d’erreur, je ne comprends pas comment home assistant gère fail2ban, et je n’ai aucune certitude sur le bon fonctionnement.

Il est vrai que je n’ai pas beaucoup d’expérience avec home assistant ça complexifie la chose.

Mais la communauté HACF est TOP et je ne doute pas que je vais finir par m’y retrouver.

Donne moi ton ip, je t’attaque :rofl: :rofl: :rofl:

Sérieusement:
Sinon avec un VPN si tu as…
Ou ton téléphone par le réseau 4G…

Tu prends un deuxième accès X tentatives avec un mdp faux et ça devrait aller…
Et avec l’accès pas banni, tu vire le fichier xml

Il n’y en a pas

Je vais t’éclaicir car je me suis fait piéger.
Je me suis ban en fesant des tests, ca créer un fichier ip_bans.yaml dans /config/.
Faut supprimer le fichier ou l’'ip ban dans le fichier et redémarrer HA pour re avoir acces.

j’ai passer essayer de voir si par samba share, j’avais accès mais j’ai un doute vu que c’était c’est ip ban.
j’ai utiliser ma tablette et l’application pour supprimer le fichier et redémarrer HA.

Tu as l’esprit moqueur et tu as bien raison :rofl:

J’ai fait le test avec un vpn et effectivement ça fonctionne. Il y a bien un fichier ip_bans.yaml qui s’est créé. Et comme j’ai un montage samba et un accès ssh je peux facilement m’en sortir.

Voilà qui est TOP.

Reste plus qu’à cloturer le ticket, si je trouve comment faire …

Merci pour la réactivé et l’efficacité

C’est bon il y a un fichier ip_bans.yaml qui est créé. Merci pour ton aide.

Il y a bien un fichier ip_bans.yaml qui est créé. J’ai un accès samba et également ssh. Je pourrais donc m’en sortir si je deviens étoudi…

Merci pour l’aide