Projet

Général

Profil

Wiki » Historique » Révision 20

Révision 19 (David Mercereau, 06/07/2026 19:21) → Révision 20/21 (David Mercereau, 07/07/2026 11:42)

# Wiki 

 * [[Audit]] Serveur existant 

 ## Nouveau serveur 

 Résumé des accès 

 

 ### SSH 

 * Port : 4422 
 * IP !  
   * v4 : 51.210.149.44 
   * v6 : 2001:41d0:367:140c::1/128 

 

 ### ISPconfig 

 Panel : https://vps-aabafbfe.vps.ovh.net:8080/ 

 Utilisateur : admin (full privilège) 
 Mot de passe : https://pastebin.retzo.net/?29aa769fb838214c#J9bxW7ZGDJgaNompRpoT4io1znQ4wQRQUgQmsiTZnk9J (expiration dans 1 an) 

 Utilisateur à utiliser courament : chocteau 
 Mot de passe : https://pastebin.retzo.net/?6707fcf4fec61567#Ht62jB4jzv4guXRfZyUvs6tKzap2DzJofmnfWvE7Xi1A (expiration dans 1 an) 

 ### Munin (monitoring) 

 Accès : https://vps-aabafbfe.vps.ovh.net:8080/munin/localdomain/localhost.localdomain/index.html 
 * Utilisateur : guillaume 
 * Mot de passe : https://pastebin.retzo.net/?5357a30134f2d65c#Gcyxt7ao7CTn7dHZMDrTJTjrNSH6aKeXcvxydcq7iAG9  

 #### Gestion authentification 

 Ajouter un autre utilisateur : 

 ```bash 
 htpasswd /etc/admin-htpassword autre_utilisateur 
 ``` 

 Supprimer un utilisateur : 

 ```bash 
 htpasswd -D /etc/admin-htpassword autre_utilisateur 
 ``` 

 ###    PhpMyAdmin 

 Note : même couche d'authentification que munin, même identifiants... voir plus haut. (phpmyadmin est très attaqué...) 

 Accès : https://vps-aabafbfe.vps.ovh.net:8080/phpmyadmin/ 
 Utilisateur : root (full priviège) 
 Mot de passe : https://pastebin.retzo.net/?4a5dbd6c6c7ade9a#2LCQ9xbTSzZacBePgbbveVVgUtqoLTcRXzSzc2VzH9hE (expiration dans 1 an) 

 Gestion des autres accès via ISPconfig 

 Accès mysql extérieur fermé firewall (géré via ispconfig dans système) 

 ## Sécurité 

 Rkhuner remonte des e-mails après analyse des binnaires / changements sur le serveur (scan quotidien) 

 Firewall utilisé via ISPconfig (Système, Pare-Feu) 

 Pot de miel afin d'éviter le scan (blacklist des IP qui tente de se connecter à ces ports :  
 ``` 
   TCP :    22,23,81,111,135,139,445,1080,1433,1521,3307,3389,5900,8082,8443,31337 
   UDP :     19,69,111,135,137,161,162,500,1434,1900,5060,11211,31337 
 ``` 
 Attention le port 22 est dans la liste.... 

 ### Crowdsec 

 Blacklist des IP selon leur comportement (analyse de log) 

 Une liste blanche est ajoutée ici : /etc/crowdsec/parsers/s02-enrich/local-admin-whitelist.yaml (après ajout faire un systemctl restart crowdsec) 

 Scénario en œuvre 
 - `crowdsecurity/apache2` 
 - `crowdsecurity/base-http-scenarios` 
 - `crowdsecurity/http-cve` 
 - `crowdsecurity/linux` 
 - `crowdsecurity/sshd` 
 - `fulljackz/pureftpd` 
 - `crowdsecurity/whitelist-good-actors` 
 - `crowdsecurity/dovecot` 
 - `crowdsecurity/postfix` 
 - `crowdsecurity/mariadb` 
 - `crowdsecurity/mysql` 

 Voir l'etat : 

 ```bash 
 cscli metrics 
 cscli alerts list 
 cscli decisions list 
 ``` 

 Bannir ou debannir manuellement : 

 ```bash 
 cscli decisions add --ip X.X.X.X --duration 4h --reason "manual test" 
 cscli decisions delete --ip X.X.X.X 
 ``` 

 Scénarios dédier à SPIP 
 - /etc/crowdsec/scenarios/retzo-http-spip-login-post.yaml 
 - /etc/crowdsec/scenarios/retzo-http-spip-login-get-probing.yaml 

 Pour SPIP, CrowdSec bannit l’IP après 5 tentatives de connexion POST vers une page de login en moins de 10 minutes ; les simples accès répétés en GET aux pages de login sont traités comme du scan et déclenchent un bannissement après 30 accès en moins de 10 minutes. 

 ### Crowdsec CAPTCHA hors UE 
 Aperçu :  
 ![](https://doc.retzien.fr/_media/user:selection_211.jpg?cache=) 

 Pour désactiver le captcha hors UE ça sur certains sites (cela peut poser problème sur certain script PHP) il faut aller dans “Options” du site ispconfig (connexté en admin uniquement) dans "Paramètre PHP ini" ajouter : 

 ``` 
 auto_prepend_file = "" 
 ``` 

 **Le captcha n'est possible qu'à partir de PHP 8.2 (pas en dessous)** 

 Le script /root/bin/crowdsec-php-bounce-update.py est lancé de façon trimestrielle pour assurer la validité des bounces hors UE. GeoLite2 est mis en place (en systemd-timer : geoipupdate.service) pour actualiser les bases de données de gélolocalisation IP) 

 ## Outils hébergement 

 * https://framagit.org/kepon/isp-php-scanner 
 * https://framagit.org/kepon/hoster-tools 

 Les outils sont disponibles à l'adresse : http://domain/outils_hebergement exemple https://www.ess-et-societe.net/outils_hebergement/ (après migration) 

 Le mot de passe admin/par défaut si jamais https://domain/outils_hebergement) est verrouillé, c'est : https://pastebin.retzo.net/?f0bb0569c59266ab#92HFiqwULSxgAubZ43gDi96KdWQP6D3wrGngoBiqfc8Z 

 Pour ré-initialier le mot de passe il faut supprimer : /private/.hoster-tools-passwd sur le site 

 ### Scan PHP 

 Un scan quotidien (sans mise en quarantaine) est effectué, un e-mail est envoyé tous les jours en cas de fichier suspect.  

 Une possibilité de mettre en liste blanche ou quarantaine est faite via l'interface web/outils hebergement 

 ## Protection non modification 

 Aussi disponible dans l'interface web outils hébergement, cette fonction vous permet de protéger votre site contres les attaques. 

 * Complètement protégé : Rend les attaques quasi impossible, car l'ensemble des fichiers sont verrouillés (sont accessibles uniquement en lecture, aucune écriture n'est permise). 
     * Si vous utilisez un CMS (type Wordpress, dotclear ou autre) celui-ci fonctionnera pour les visiteurs, mais il faudra repasser par ici pour retirer la protection afin de faire les mises à jour, modifier votre site. 
 * Partiellement protégé : Rend les attaques plus difficiles, car l'ensemble des fichiers "systèmes" sont verrouillés, mais aucune écriture n'est permise (donc aucune corruption) 
     * Si vous utilisez un CMS (type Wordpress, dotclear ou autre) celui-ci fonctionnera pour les visiteurs et pour les modifications mineurs, il vous faudra repasser par ici uniquement pour les mises à jour. 
 * Non protégé : Rend les attaques possibles, votre site est totalement accessible en écriture 

 ### Divers 

 * sysgit est installé et journalise les modifications /etc https://framagit.org/kepon/sysgit 
 * Mysql Dump. Une sauvegarde quotidienne "à plat" des bases de données est mise en place dans /var/backups/mysql/ (30 jours de rétention) par le script /root/bin/mysql_dump.sh (un e-mail est envoyé en cas d'erreur)