Projet

Général

Profil

Wiki » Historique » Version 20

David Mercereau, 07/07/2026 11:42

1 1 David Mercereau
# Wiki
2
3
* [[Audit]] Serveur existant
4 2 David Mercereau
5
## Nouveau serveur
6
7 3 David Mercereau
Résumé des accès
8 2 David Mercereau
9 5 David Mercereau
### SSH
10
11
* Port : 4422
12 19 David Mercereau
* IP ! 
13
  * v4 : 51.210.149.44
14
  * v6 : 2001:41d0:367:140c::1/128
15 5 David Mercereau
16 2 David Mercereau
### ISPconfig
17
18 6 David Mercereau
Panel : https://vps-aabafbfe.vps.ovh.net:8080/
19 13 David Mercereau
20 1 David Mercereau
Utilisateur : admin (full privilège)
21 3 David Mercereau
Mot de passe : https://pastebin.retzo.net/?29aa769fb838214c#J9bxW7ZGDJgaNompRpoT4io1znQ4wQRQUgQmsiTZnk9J (expiration dans 1 an)
22 13 David Mercereau
23
Utilisateur à utiliser courament : chocteau
24
Mot de passe : https://pastebin.retzo.net/?6707fcf4fec61567#Ht62jB4jzv4guXRfZyUvs6tKzap2DzJofmnfWvE7Xi1A (expiration dans 1 an)
25 3 David Mercereau
26 6 David Mercereau
### Munin (monitoring)
27
28 17 David Mercereau
Accès : https://vps-aabafbfe.vps.ovh.net:8080/munin/localdomain/localhost.localdomain/index.html
29 7 David Mercereau
* Utilisateur : guillaume
30
* Mot de passe : https://pastebin.retzo.net/?5357a30134f2d65c#Gcyxt7ao7CTn7dHZMDrTJTjrNSH6aKeXcvxydcq7iAG9 
31 1 David Mercereau
32 7 David Mercereau
#### Gestion authentification
33
34
Ajouter un autre utilisateur :
35 1 David Mercereau
36
```bash
37
htpasswd /etc/admin-htpassword autre_utilisateur
38
```
39
40
Supprimer un utilisateur :
41
42
```bash
43
htpasswd -D /etc/admin-htpassword autre_utilisateur
44
```
45 8 David Mercereau
46
###  PhpMyAdmin
47
48
Note : même couche d'authentification que munin, même identifiants... voir plus haut. (phpmyadmin est très attaqué...)
49
50
Accès : https://vps-aabafbfe.vps.ovh.net:8080/phpmyadmin/
51
Utilisateur : root (full priviège)
52
Mot de passe : https://pastebin.retzo.net/?4a5dbd6c6c7ade9a#2LCQ9xbTSzZacBePgbbveVVgUtqoLTcRXzSzc2VzH9hE (expiration dans 1 an)
53
54
Gestion des autres accès via ISPconfig
55
56
Accès mysql extérieur fermé firewall (géré via ispconfig dans système)
57 9 David Mercereau
58
## Sécurité
59
60 18 David Mercereau
Rkhuner remonte des e-mails après analyse des binnaires / changements sur le serveur (scan quotidien)
61
62 9 David Mercereau
Firewall utilisé via ISPconfig (Système, Pare-Feu)
63
64
Pot de miel afin d'éviter le scan (blacklist des IP qui tente de se connecter à ces ports : 
65
```
66
  TCP :  22,23,81,111,135,139,445,1080,1433,1521,3307,3389,5900,8082,8443,31337
67
  UDP :   19,69,111,135,137,161,162,500,1434,1900,5060,11211,31337
68
```
69 10 David Mercereau
Attention le port 22 est dans la liste....
70 9 David Mercereau
71 1 David Mercereau
### Crowdsec
72 10 David Mercereau
73
Blacklist des IP selon leur comportement (analyse de log)
74
75
Une liste blanche est ajoutée ici : /etc/crowdsec/parsers/s02-enrich/local-admin-whitelist.yaml (après ajout faire un systemctl restart crowdsec)
76
77
Scénario en œuvre
78
- `crowdsecurity/apache2`
79
- `crowdsecurity/base-http-scenarios`
80
- `crowdsecurity/http-cve`
81
- `crowdsecurity/linux`
82
- `crowdsecurity/sshd`
83
- `fulljackz/pureftpd`
84
- `crowdsecurity/whitelist-good-actors`
85
- `crowdsecurity/dovecot`
86
- `crowdsecurity/postfix`
87
- `crowdsecurity/mariadb`
88
- `crowdsecurity/mysql`
89
90
Voir l'etat :
91
92
```bash
93
cscli metrics
94
cscli alerts list
95
cscli decisions list
96
```
97
98
Bannir ou debannir manuellement :
99
100
```bash
101
cscli decisions add --ip X.X.X.X --duration 4h --reason "manual test"
102
cscli decisions delete --ip X.X.X.X
103
```
104 11 David Mercereau
105
Scénarios dédier à SPIP
106
- /etc/crowdsec/scenarios/retzo-http-spip-login-post.yaml
107
- /etc/crowdsec/scenarios/retzo-http-spip-login-get-probing.yaml
108
109
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.
110 12 David Mercereau
111
### Crowdsec CAPTCHA hors UE
112 15 David Mercereau
Aperçu : 
113
![](https://doc.retzien.fr/_media/user:selection_211.jpg?cache=)
114 12 David Mercereau
115 16 David Mercereau
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 :
116 12 David Mercereau
117
```
118
auto_prepend_file = ""
119
```
120 14 David Mercereau
121
**Le captcha n'est possible qu'à partir de PHP 8.2 (pas en dessous)**
122
123
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)
124 18 David Mercereau
125
## Outils hébergement
126
127
* https://framagit.org/kepon/isp-php-scanner
128
* https://framagit.org/kepon/hoster-tools
129
130
Les outils sont disponibles à l'adresse : http://domain/outils_hebergement exemple https://www.ess-et-societe.net/outils_hebergement/ (après migration)
131
132
Le mot de passe admin/par défaut si jamais https://domain/outils_hebergement) est verrouillé, c'est : https://pastebin.retzo.net/?f0bb0569c59266ab#92HFiqwULSxgAubZ43gDi96KdWQP6D3wrGngoBiqfc8Z
133
134
Pour ré-initialier le mot de passe il faut supprimer : /private/.hoster-tools-passwd sur le site
135
136
### Scan PHP
137
138
Un scan quotidien (sans mise en quarantaine) est effectué, un e-mail est envoyé tous les jours en cas de fichier suspect. 
139
140
Une possibilité de mettre en liste blanche ou quarantaine est faite via l'interface web/outils hebergement
141
142
## Protection non modification
143
144
Aussi disponible dans l'interface web outils hébergement, cette fonction vous permet de protéger votre site contres les attaques.
145
146
* 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).
147
    * 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.
148
* 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)
149
    * 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.
150
* Non protégé : Rend les attaques possibles, votre site est totalement accessible en écriture
151 20 David Mercereau
152
### Divers
153
154
* sysgit est installé et journalise les modifications /etc https://framagit.org/kepon/sysgit
155
* 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)