Outils pour utilisateurs

Outils du site


welcome:linux_usually:secure_nextcloud

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
welcome:linux_usually:secure_nextcloud [2023/10/08 11:02]
arnaud [Fail2ban]
welcome:linux_usually:secure_nextcloud [2023/10/08 11:20] (Version actuelle)
arnaud [Communiquer avec OPNSense]
Ligne 26: Ligne 26:
      ...      ...
 # systemctl restart fail2ban </code> # systemctl restart fail2ban </code>
-Activer les jails: \\ Le plus simple est de faire ça dans webmin. Activer toutes les jails apache et SSL. 
-Également dans  <code># nano /etc/fail2ban/jail.local 
  
 +__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''.
 +<code># nano /etc/fail2ban/jail.local
 ---- ----
 [sshd] [sshd]
 ... ...
-enabled = true </code>+enabled = true  
 +----</code>
 ====== Pour Nextcloud ====== ====== 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!\\ 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: <code># nano /etc/fail2ban/filter.d/nextcloud.conf+===== le filtre: ===== 
 +  
 +<code># nano /etc/fail2ban/filter.d/nextcloud.conf
    
      [Definition]      [Definition]
Ligne 42: Ligne 46:
                  ^\{%(_groupsre)s,?\s*"remoteAddr":"<HOST>"%(_groupsre)s,?\s*"message":"Trusted domain error.                  ^\{%(_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)?" </code>      datepattern = ,?\s*"time"\s*:\s*"%%Y-%%m-%%d[T ]%%H:%%M:%%S(%%z)?" </code>
-  * créer la jail: <code># nano /etc/fail2ban/jail.d/nextcloud.local+      
 +      
 +===== la jail: ===== 
 + <code># nano /etc/fail2ban/jail.d/nextcloud.local
      [nextcloud]      [nextcloud]
      backend = auto      backend = auto
Ligne 52: Ligne 59:
   * <code># systemctl restart fail2ban  </code>   * <code># systemctl restart fail2ban  </code>
  
-====== Restreindre l'accès au répertoire d'administration ====== +===== l'action: ===== 
-  * Dans la config d'Apache: <code># nano /etc/apache2/sites-available/joomla.conf+<code># nano /etc/fail2ban/action.d/opnsense.conf 
 +     # Fail2Ban configuration file  
 +     # from triumvirat.org 
 + 
 +     [Definition] 
 + 
 +     actionban /root/fail2ban-IP.sh ban <ip> 
 +     actionunban = /root/fail2ban-IP.sh unban <ip> </code> 
 +      
 +===== Général ===== 
 +Placer la nouvelle action dans /etc/fail2ban/jail.local 
 +<code>... 
 +banaction = opnsense 
 +... </code> 
 + 
 +<code># systemctl restart fail2ban 
 +# systemctl status fail2ban </code> 
 + 
 +====== Communiquer avec OPNSense ====== 
 +Il faut créer un petit script: 
 +<code># nano fail2ban-IP.sh </code> 
 +<code>#!/bin/sh 
 +KEY="la_clé" 
 +SECRET="le_mot_de_passe" 
 +FWIP="ip.de.la.OPNSense" 
 +FWPORT="n°_de_port" 
 +ALIAS="fail2ban_CT_Joomla" 
 +if [ $1 = "ban" ]; then 
 +TODO="add" 
 +elif [ $1 = "unban" ]; then 
 +TODO="delete" 
 +fi 
 +curl -X POST -d '{"address":"'$2'"}' -H "Content-Type: application/json" -k -u $KEY:$SECRET https://$FWIP:$FWPORT/api/firewall/alias_util/$TODO/$ALIAS </code> 
 +    * La clé et le mot de passe sont les identifiants API de l'utilisateur créé à cet effet 
 +    * le n° de port est celui utilisé pour la connexion https à l'interface web 
 +    * l'alias est celui utilisé pour la règle de blocage du firewall  
 + 
 +<code># chmod 600 fail2ban-IP.sh 
 +# chmod +x fail2ban-IP.sh </code> 
 + 
 +Pour tester le script: <code># ./fail2ban-IP.sh ban 192.168.1.1 
 +# ./fail2ban-IP.sh unban 192.168.1.1</code> 
 +et pour finir:  
 +<code># fail2ban-client set nextcloud.local banip 192.168.1.1 
 +# fail2ban-client set nextcloud.local unbanip 192.168.1.1</code> 
  
-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> </code> 
-  * <code># systemctl restart apache2 </code> 
  
welcome/linux_usually/secure_nextcloud.1696762921.txt.gz · Dernière modification: 2023/10/08 11:02 de arnaud

DokuWiki Appliance - Powered by TurnKey Linux