Attaque pirate?

Il n’est quand même pas prudent de laisser exposé au monde entier sa machine abritant jeedom.
Une solution que je trouve intéressante est de la mettre derrière un proxy inverse.
Elle ne peut être atteinte qu’en connaissant le nom de la machine (FQDN).
Si l’on ne se déplace pas à l’étranger, le proxy inverse peut être protégé par un parefeu qui n’accepte que les ip françaises.
La mise en place d’un proxy inverse donne aussi d’autres avantages.

Donc c’est bien ce que je pensais. Ok, merci pour les retours, je vais bloquer tout ca!

tu le trouve ou ce type de logs ?

C’est compliqué a mettre en place le reverse proxy ?

Première phrase du post. :wink:

ha oui. merci.

Il y a plein de tuto sur le net.

Techniquement un reverse-proxy, ça implique quand même :

  • une seconde machine dans une DMZ
  • forcement des lan différents…

Chez un particulier c’est pas forcement facile à mettre en place
Et de toute façon, filtrer sur le nom, c’est seulement une rustine… Convertir une IP en Nom ou l’inverse c’est le principe d’internet.

L’apache de jeedom, configuré correctement, fait déjà largement le boulot (ça fait reverse proxy aussi et pourra ne répondre que sur le nom). Fail2ban faisant le boulot de voir les anomalies dans les logs.
ça ne pourra jamais totalement se prémunir de quelqu’un qui vient essayer un login/mot de passe mais c’est mieux que rien et pour pas très compliqué

Voilà ce que j’ai mis chez moi dans le jail.local

[DEFAULT]
#Ne pas bloque localhost ni s'auto-bloquer. ici j'ai mis tout mon réseau local (192.168.1.0 chez moi), j'aurais pu mettre juste 2-3 ip fiables
ignoreip = 127.0.0.1/8 192.168.1.0/24

# ban de  60 minutes
bantime  = 14400

# on regarde les attaques sur les 2 dernières heures. Les 5 minutes par défaut, ça ne marche plus, les pirates se sont adaptés
findtime = 7200
maxretry = 3

# mail a contacter et mail de la machine (necessaire chez certains FAI d'avoir une adresse d'envoi valide)
destemail = mail@gmail.com
sender = mail@gmail.com
mta=sendmail

# on surveille tous les ports
banaction = iptables-multiport

# action a prendre: ban + log détaillé
action = %(action_)s

[apache-multiport]
enabled = true
port      = http,https
filter    = apache-auth
logpath   = /var/www/html/log/http*.error
maxretry = 3

[apache-botsearch]
enabled  = true
port     = http,https
filter   = apache-botsearch
logpath   = /var/www/html/log/http*.error
maxretry = 6

[apache-overflows]
enabled  = true
port     = http,https
filter   = apache-overflows
logpath   = /var/www/html/log/http*.error
maxretry = 2

[apache-noscript]
enabled  = true
port     = http,https
filter   = apache-noscript
logpath   = /var/www/html/log/http*.error
maxretry = 1
1 « J'aime »

Presque tout d’accord avec @naboleo
Sachant que beaucoup de RP sont des Apache/Nginx eux-même peu d’utilité à rajouter un composant. On est à la maison pas dans le monde professionnel.
Bon après le concept même de RP ne veut pas dire forcément composant différents et LAN/DMZ, c’est une conséquence, mais on peut faire simple.

Bloquer les IP venant de France, c’est de la poussière d’étoile, un placebo qui aide juste à se sentir en sécurité. Faut arrêter de croire que les méchants viennent tous de Chine et qu’aux US ils ont que des super héros bienveillants.

Alors oui, sécurisé le serveur web pour ne répondre que sur les requetes justifiées, c’est la base. Et banir les petits malins. Basta.

1 « J'aime »

pour ceux qui ont un pfsense pour remplacer le routeur du fournisseur, une solution facile a mettre en place:

l’avantage, aussi c’est d’avoir plusieurs serveurs interne (nas, jeedom, …) accessible sur la meme IP et le meme port. c’est le nom dns qui redirige a gauche ou a droite. de plus, si vous ne voulez pas vous compliquer la vie avec la gestion des certificats sur chaque serveur, il est possible de générer un certificat letsencrypt sur le pfsense et donc encrypter des sites http.

1 « J'aime »

Une autre solution, en quelques clics, pour ceux possédant un NAS Synology.

2 « J'aime »

Question bête surement… mais pourquoi autorises tu les connexions externes vers ton jeedom ?

tu peux éventuellement modifier le port externe pour en mettre un plus grand (>40000). La solution fail2ban reste clairement la meilleure pour réagir automatiquement sur ce genre de scan.

J’ai fait le choix de mettre en place un RP à la maison.
Mon RP est sous apache et hebergé sur un rpi3 en effet sur une DMZ de mon Pfsense.

Le RP à du sens quand on a plusieurs site web
Il permet de concentrer toutes les requetes sur un même equipement sans avoir à faire 36 règle de nat et surtout permet de garder toujours le port standard 443 pour tous les sites.

Accessoirement cela ajoute une couche de sécurité et tous les logs sont concentré sur le RP

1 « J'aime »

Pourquoi dans une DMZ ?
Ça ne sert à rien que le proxy inverse reçoive toutes les requêtes. Chez moi, il ne reçoit que les requêtes adressées au port 443.

Pourquoi forcement des lan différents ?
Chez moi, le proxy inverse est sur le même LAN .

1 « J'aime »

Si moins de requêtes arrivent sur les machines finales, plus leurs logs sont épurés et plus les vraies attaques sont faciles à détecter.

pourquoi dans une DMZ: si jamais ton reverse proxy a un bug et donc le pirate a acces a ce serveur, il n’est pas capable d’ateindre les autres serveurs sur les ports de mgt tel que le ssh.

Oui, d’accord, mais il n’y a pas d’obligation.

Si il a accès au proxy inverse, il fait ce qu’il veut puisqu’il y a déjà des règles pour aller de la DMZ vers le LAN.

Si il a accès au proxy inverse, il fait ce qu’il veut puisqu’il y a déjà des règles pour aller de la DMZ vers le LAN.

Pas vrai, tu peux n’ouvrir que le port https et donc, limiter le risque. sur le même réseau, tous les ports sont ouverts sauf si tu as mis un FW sur le server même

il n’y a jamais d’obligation pour de la securité. Mais plus tu augmentes ta securité plus tu diminues le risque de te faire hacker.

tu ne sauras jamais être sur a 100% sauf si tu n’es pas conncté a internet.
De même, il faut que cela reste gérable. d’ou ma proposition pour PFsense. on est sur le FW, si celui-ci se fait hacké, les pirates ont accès a tout.

il faut aussi que la sécurité que l’on cherche a mettre en place soit bien gérée et configurée, cela ne sert a rien de créer des Vlan différents pour avoir une DMZ si l’on laisse tout ouvert au niveau FW…

et dernier point super important, cela doit etre compatible WAF

Si il a accès au proxy inverse, il peut changer les règles de redirection, donc rentrer avec le port 443 puis aller sur une autre machine avec le port qu’il souhaite.

dans le cas d’une DMZ, non. puisque le FW le bloquera. celui-ci n’autorise que le 443

c’est en gros, ce que fait le modune DNS de jeedom.