Outils pour utilisateurs

Outils du site


Panneau latéral

Menu tree

welcome:linux_usually:secure_nextcloud

Ceci est une ancienne révision du document !


Fail2ban pour Nextcloud sur Ubuntu22

Difficulté
Moyen

https://docs.nextcloud.com/server/latest/admin_manual/installation/harden_server.html#setup-fail2ban

HAProxy

  • Régler pour obtenir les IPs de connexion tout en étant derrière le proxy: HAProxy

Fail2ban

source: https://linuxize.com/post/install-configure-fail2ban-on-debian-10/

  • fail2ban n'est pas installé d'origine sur un CT Ubuntu.
    # apt-get install fail2ban 
  • installer whois pour des infos plus détaillées sur les IPs bloquées
    # apt-get install whois 
  • copier le fichier de configuration d'origine qui ne doit pas être modifié
    # cp /etc/fail2ban/jail.{conf,local}
  • paramétrer dans cette copie
    # nano /etc/fail2ban/jail.local
         ...
         ignoreip = 127.0.0.1/8  IPs.reseau.lan.local/24   si besoin
         ...
         bantime  = 60m
         ...
         findtime  = 10m
         ...
         maxretry = 5
         ...
         destemail = admin@domain.tld
         ...
         action = %(action_mw)s
         ...
    # systemctl restart fail2ban 

Activer les jails: activer toutes les jails apache et SSL. sshd, dropbear, apache-auth, apache-badbots, apache-noscript, apache-overflows, apache-nohome, apache-botsearch, apache-fakegooglebot, apache-modsecurity, apache-shellshock.

# nano /etc/fail2ban/jail.local
----
[sshd]
...
enabled = true 
----

Pour Nextcloud

Malheureusement les jails de fail2ban ne suffisent pas car ce n'est pas Apache qui logge pas les tentatives d'identification mais Nextcloud!

  • créer le filtre:
    # nano /etc/fail2ban/filter.d/nextcloud.conf
     
         [Definition]
         _groupsre = (?:(?:,?\s*"\w+":(?:"[^"]+"|\w+))*)
         failregex = ^\{%(_groupsre)s,?\s*"remoteAddr":"<HOST>"%(_groupsre)s,?\s*"message":"Login failed:
                     ^\{%(_groupsre)s,?\s*"remoteAddr":"<HOST>"%(_groupsre)s,?\s*"message":"Trusted domain error.
         datepattern = ,?\s*"time"\s*:\s*"%%Y-%%m-%%d[T ]%%H:%%M:%%S(%%z)?" 
  • créer la jail:
    # nano /etc/fail2ban/jail.d/nextcloud.local
         [nextcloud]
         backend = auto
         enabled = true
         port = 80,443
         protocol = tcp
         filter = nextcloud
         logpath = /var/www/nextcloud-data/nextcloud.log
  • # systemctl restart fail2ban  

Restreindre l'accès au répertoire d'administration

  • Dans la config d'Apache:
    # nano /etc/apache2/sites-available/joomla.conf
    
    et ajouter:
         <Directory /var/www/joomla/administrator>
             Order Deny,Allow
             Deny from all
             Allow from ip1.ou.bien.réseau1/24 ip2.ou.bien.réseau.2/24
         </Directory> 
  • # systemctl restart apache2 
welcome/linux_usually/secure_nextcloud.1696763375.txt.gz · Dernière modification: 2023/10/08 11:09 de arnaud

DokuWiki Appliance - Powered by TurnKey Linux