Comme beaucoup d’autres responsables de sites internet, je surveille les statistiques de mes sites spip.
J’ai pu constater, par périodes, des aberrations sur les visites. D’anciens articles, certains ayant peu de contenu ou d’intérêt, se trouvaient propulsés dans le top dix des articles les plus fréquentés.
Des articles ayant eu un forum ouvert se trouvaient aussi très sollicités, malgré les contenus devenus obsolètes et les forums fermés.
J’ai donc décidé de surveiller le trafic en enregistrant les accès aux sites. La lecture de ces logs fait apparaître rapidement et aisément des adresses IP qui ciblent certains articles, qui utilisent des paramètres anormaux dans les adresses demandées, qui recherchent des fichiers sensés ne pas se trouver sur le site.
Il est possible, si tout cela ne pose pas de problèmes de fonctionnement aux sites, de constater et de laisser les choses en l’état. Il est aussi possible après vérification, d’interdire l’accès à partir de certaines IP à un site en modifiant son fichier .htaccess à la racine du site.
Exemple : (pour voir les explications sur cette syntaxe, faire une recherche sur .htaccess)
order allow,deny
#deny from 67.195.37.122 #http://www.projecthoneypot.org/ip_67.195.37.122
deny from 67.195.37 #on interdit la plage
Deny from .cn .ru # un peu d'ostracisme
allow from all # on autorise tous les autres
La procédure retenue :
création d’un fichier acces_page.php déposé dans le répertoire /squelettes
inclusion de ce fichier dans /inc-head.php <?php include_spip('acces_page'); ?>
ce code crée un fichier de log log_acces.log dans le répertoire /tmp (sur un site très fréquenté, il est nécessaire de surveiller la taille de ce fichier qui peut prendre très rapidement un poids important). Le code est exécuté à chaque hit ! Le désactiver si non utile.
à la lecture de ce fichier, les adresses IP qui se répètent fréquemment peuvent être recherchées à l’aide de google par exemple. Si la fréquence de cette IP est importante sur le web, on peut décider de l’interdire à l’aide du code présenté précédemment.
Sinon on peut les ajouter à listecas.txt (voir ci-dessous).
Ce dispositif conduit à assainir un peu les statistiques et à son échelle protéger le site.
Il ne se substitue pas bien entendu aux divers moyens existants pour protéger les forums et formulaires des malveillances variées et diverses.
Dans le fichier acces_page.php, il y a quelques exemples qui montrent comment rejeter certains paramètres passés avec les url des articles. Ils peuvent bien sûr être supprimés. Ils se trouvent en début de fichier, après la fonction de suivi des rejets qui logue les ip rejetées. Ils affichent la propre IP du visiteur mal intentionné.
Exemple de paramètres parasites : ....ues/// ?aide=http://teamhondacuracao.com/orca/layout/iddd.txt ??
Ce type de fichier passé en paramètre est indiqué comme Back Door => BDS/PHP.........
Ces logs sont stockées dans /tmp/log_rejet.log et squelettes/listecas.txt
Elles permettent de filtrer automatiquement les ip indésirables. Un exemple ci-dessous.
Un fichier compte.txt est créé. Il informe sur le retour de ces ip.
La version 2 gère tous les fichiers dans le répertoire /squelettes/acces_log/ + IP spammer
lire le fichier a_lire.txt
IP bannies
Cette liste est produite par le modèle bannies.html.
Syntaxe à ajouter dans un article par exemple : <bannies|>
8.7.26.27
12.135.55.199
24.0.82.74
24.11.4.251
24.130.128.185
24.155.247.138
24.17.179.150
24.185.49.90
24.187.100.171
24.198.11.238
24.21.99.150
24.61.236.106
24.67.162.87
24.72.140.11
24.89.138.219
24.95.243.128
24.98.224.231
24.99.184.62
41.235.36.104
58.150.99.144
58.223.251.70
58.27.140.58
58.61.31.49
59.45.207.24
59.56.174.199
59.90.213.141
60.10.134.103
60.160.130.119
60.190.24.138
60.190.240.68
60.190.240.66
60.2.89.128
60.217.248.77
60.217.227.211
60.217.248.146
60.22.156.41
60.241.47.239
60.247.2.241
61.12.231.84
61.134.60.254
61.143.225.61
61.160.212.118
61.187.187.28
61.20.32.228
61.38.53.248
61.47.7.71
61.49.7.135
61.54.82.130
61.8.139.249
62.146.68.61
62.149.67.49
62.178.217.28
62.193.236.62
62.221.120.110
62.43.160.66
62.43.130.247
62.99.163.242
64.191.50.60
64.191.93.6
64.22.118.170
64.27.9.117
64.34.168.77
64.56.66.210
64.56.64.60
64.6.231.215
64.66.192.61
65.39.228.126
65.55.109.147
65.55.232.26
65.55.107.182
65.55.207.54
65.55.106.120
65.55.110.208
65.55.207.76
65.55.165.39
65.55.110.188
65.55.106.148
65.55.110.180
65.55.165.38
65.55.106.162
65.55.207.119
65.55.210.85
65.55.106.230
65.55.109.169
65.55.106.155
65.55.207.139
65.55.106.181
65.55.107.239
65.55.106.114
65.55.106.133
65.55.207.69
65.55.107.191
65.55.106.232
65.55.165.49
65.55.106.191
65.55.107.197
65.55.165.44
65.55.207.26
65.55.109.61
65.55.109.231
65.55.109.132
65.55.207.134
65.55.231.47
65.55.207.132
65.55.106.137
65.55.110.161
65.55.207.77
65.55.232.23
65.55.106.113
65.55.210.66
65.55.207.51
65.55.106.182
65.55.207.98
65.55.106.227
65.55.210.67
65.55.106.217
65.55.232.28
65.55.207.138
65.55.107.180
65.55.207.24
65.55.107.228
65.55.109.162
65.55.207.94
65.55.207.135
65.55.106.186
65.55.207.123
65.55.106.228
65.55.107.185
65.55.207.101
65.55.106.138
65.55.106.163
65.55.106.173
65.55.216.55
65.55.207.70
65.55.207.137
65.55.51.111
65.55.207.27
65.55.106.239
65.55.210.70
65.55.207.52
65.55.106.235
65.55.110.238
65.55.106.172
65.55.106.122
65.55.106.141
65.55.207.45
65.55.216.33
65.55.109.187
65.55.106.131
65.55.106.143
65.55.3.176
65.55.106.156
65.55.106.119
65.55.110.51
65.55.106.146
65.55.106.231
65.55.110.93
65.55.106.134
65.55.106.161
65.55.215.74
65.55.106.234
65.55.107.207
65.55.106.136
65.55.165.75
65.55.106.110
65.55.210.80
65.55.109.44
65.55.106.187
65.55.232.18
65.55.106.123
65.55.106.205
65.55.106.203
65.55.106.180
65.55.210.81
65.55.107.215
65.55.106.196
65.55.106.215
65.55.107.194
65.55.107.181
65.55.207.25
65.55.106.108
65.55.210.84
65.55.210.83
65.55.106.121
65.55.207.30
65.55.51.110
65.55.106.179
65.55.110.130
65.55.106.212
65.55.210.71
65.55.106.194
65.55.165.113
65.55.207.48
65.55.106.229
65.55.216.31
65.55.165.51
65.55.207.117
65.55.110.164
65.55.207.47
65.55.110.173
65.55.106.107
65.55.207.93
65.55.106.112
65.55.106.236
65.55.106.238
65.55.51.112
65.55.106.111
65.55.107.179
65.55.210.69
65.55.106.207
65.55.210.68
65.55.106.135
65.55.109.35
65.55.207.53
65.55.107.203
65.55.207.72
65.55.207.99
65.55.210.72
65.55.207.136
65.55.106.157
65.55.207.50
65.55.231.77
65.55.106.211
65.55.207.74
65.55.207.121
65.55.207.122
65.55.207.102
65.55.104.73
65.55.106.233
65.55.110.172
65.55.106.185
65.55.207.131
65.55.207.73
65.55.106.214
65.55.207.96
65.55.106.188
65.55.109.110
65.55.51.114
65.55.106.237
65.55.106.160
65.55.106.240
65.55.110.25
65.55.106.139
65.55.210.82
65.55.106.204
65.55.104.71
65.55.106.132
65.55.165.23
65.55.207.29
65.55.207.118
65.55.207.78
65.55.110.197
65.55.106.244
65.55.109.51
65.55.106.166
65.55.106.118
65.55.106.168
65.55.106.184
65.55.106.183
65.55.218.158
65.55.51.115
65.55.210.64
65.55.106.140
65.55.106.210
65.55.207.46
65.55.207.22
65.55.106.115
65.55.106.109
65.55.106.213
65.55.207.71
65.55.207.125
65.55.106.167
65.55.106.209
65.55.165.73
65.55.165.121
65.55.110.170
65.75.250.16
66.103.152.151
66.155.118.55
66.197.167.99
66.197.159.133
66.230.225.218
66.232.124.243
66.249.66.176
66.249.65.24
66.249.65.116
66.249.68.146
66.249.72.66
66.249.66.135
66.249.65.81
66.249.66.16
66.249.71.246
66.249.65.20
66.249.66.45
66.249.65.78
66.249.66.249
66.249.71.202
66.249.66.25
66.249.65.35
66.249.71.196
66.249.66.165
66.249.72.142
66.249.71.153
66.249.65.120
66.249.71.135
66.249.65.55
66.249.65.117
66.249.65.48
66.249.66.167
66.249.66.103
66.249.65.148
66.249.71.118
66.249.65.37
66.249.71.144
66.249.66.231
66.249.65.108
66.249.65.97
66.249.66.48
66.249.71.199
66.249.70.179
66.249.65.110
66.249.65.26
66.249.65.23
66.249.71.145
66.249.65.56
66.249.66.71
66.249.65.75
66.249.66.57
66.249.66.199
66.249.66.7
66.249.71.71
66.249.71.103
67.165.232.3
67.171.53.46
67.176.23.10
67.19.148.234
67.195.37.172
67.195.111.241
67.195.37.94
67.195.112.229
67.195.111.23
67.195.114.34
67.195.115.61
67.195.111.180
67.195.110.182
68.198.164.75
68.42.247.66
68.45.202.49
68.83.150.151
68.87.76.154
69.10.157.18
69.120.170.158
69.123.189.244
69.123.121.20
69.175.58.122
69.22.209.19
69.248.63.163
69.250.172.204
69.254.7.168
69.64.49.2
69.72.232.122
69.84.207.147
69.94.45.22
70.38.31.50
70.86.118.194
71.109.162.71
71.199.156.57
71.205.113.124
71.229.228.20
71.61.176.210
71.8.59.93
71.87.97.206
71.88.192.73
72.10.167.106
72.18.192.176
72.30.79.108
72.30.161.220
72.30.142.105
72.30.79.124
72.30.65.29
72.30.81.162
72.30.65.44
72.30.142.234
72.30.87.117
72.30.79.105
72.30.142.167
72.9.154.74
74.118.192.164
74.118.192.159
74.208.173.192
74.220.207.83
74.222.3.10
74.52.45.250
74.53.91.58
74.54.46.82
74.6.22.154
74.6.22.121
74.6.22.159
74.6.17.182
74.6.22.187
74.6.22.151
74.6.8.124
74.63.81.11
75.101.252.225
75.182.124.169
76.107.69.129
76.123.16.97
76.188.217.172
76.78.62.77
76.90.194.147
76.90.200.49
77.104.239.1
77.23.217.176
77.232.68.17
77.247.21.17
77.247.23.120
77.79.246.241
78.106.25.11
78.110.175.12
78.110.175.31
78.110.175.18
78.111.216.215
78.141.117.33
78.141.68.95
78.141.117.170
78.141.68.170
78.141.68.50
78.155.97.94
78.165.99.30
78.31.64.178
78.36.39.220
78.38.70.131
78.51.233.163
78.96.119.121
79.111.181.147
79.111.81.124
79.111.55.164
79.111.137.204
79.114.94.178
79.114.94.247
79.116.136.118
79.116.143.253
79.116.143.249
79.64.224.47
79.84.175.159
80.218.1.50
80.243.153.69
80.247.76.181
80.252.252.91
80.45.54.27
81.170.33.156
81.176.230.136
81.23.34.4
81.24.211.33
81.242.249.235
81.27.108.62
81.52.143.33
81.52.143.29
81.52.143.32
81.52.143.35
81.52.143.26
81.52.143.16
81.52.143.15
81.52.143.31
81.52.143.37
81.52.143.30
81.52.143.36
82.119.205.130
82.154.37.67
82.244.223.81
82.99.30.33
82.99.30.3
83.138.168.158
83.167.62.168
83.167.62.176
83.233.30.159
83.233.168.25
83.237.242.244
83.87.56.144
83.9.21.30
83.9.35.162
84.16.235.23
84.16.231.195
84.19.186.140
84.23.101.198
85.113.244.201
85.114.85.37
85.132.55.8
85.140.249.24
85.152.38.1
85.17.139.15
85.244.70.169
86.174.139.235
86.18.41.157
86.66.161.166
87.106.210.221
87.110.136.173
87.118.112.25
87.118.94.85
87.118.108.79
87.118.110.173
87.118.124.82
87.118.90.189
87.118.118.116
87.126.59.208
87.245.155.179
88.109.14.255
88.109.69.107
88.110.80.170
88.131.106.11
88.191.26.237
88.191.43.7
88.191.80.205
88.199.14.1
88.216.54.84
89.113.78.131
89.149.241.231
89.149.244.89
89.149.197.241
89.189.215.72
89.212.109.247
89.222.170.56
89.246.172.250
89.246.166.241
89.248.172.14
89.249.246.105
89.251.107.21
89.28.114.111
89.28.3.241
90.14.24.207
90.25.178.53
91.121.23.156
91.121.210.42
91.121.21.164
91.121.102.57
91.121.181.60
91.121.2.160
91.121.81.15
91.124.203.12
91.124.134.87
91.188.59.2
91.201.66.84
91.205.153.197
91.205.175.4
91.207.225.2
91.207.7.202
91.210.106.103
91.212.226.129
91.214.44.182
91.214.128.22
91.214.45.253
91.214.45.104
91.214.128.23
91.216.122.46
91.216.122.47
91.64.167.67
91.64.166.114
91.66.225.38
91.77.49.180
92.112.201.199
92.112.197.99
92.112.55.238
92.113.123.89
92.113.238.110
92.115.154.33
92.243.69.5
92.48.193.55
92.52.54.77
92.52.54.151
92.52.40.119
92.52.40.114
92.52.40.90
92.52.40.208
92.52.40.171
92.52.19.156
92.62.113.33
93.0.99.163
93.100.106.193
93.158.151.25
93.186.171.86
93.190.137.242
93.214.180.49
93.45.36.108
93.45.114.121
93.80.247.219
93.80.213.231
93.81.183.214
93.81.182.154
93.81.185.34
93.81.187.105
94.142.131.179
94.142.129.98
94.142.128.140
94.142.128.151
94.142.134.131
94.142.128.224
94.178.223.124
94.229.65.176
94.23.145.228
94.23.26.29
94.23.226.25
94.23.145.229
94.23.145.230
94.23.200.54
94.23.28.120
94.247.3.175
94.41.169.84
94.43.222.138
94.75.221.71
94.75.229.132
95.105.152.63
95.105.168.218
95.105.152.106
95.105.212.166
95.108.151.5
95.110.224.127
95.132.146.176
95.134.184.154
95.153.69.224
95.215.0.9
95.24.113.66
95.24.181.209
95.24.74.202
95.24.165.235
95.24.162.76
95.27.54.123
95.28.35.89
95.28.22.75
95.68.87.69
95.68.73.157
95.68.68.72
95.68.85.81
96.21.187.192
96.251.138.121
98.129.108.117
98.206.126.103
98.232.83.177
98.246.111.238
98.25.218.118
99.181.251.76
109.86.108.184
113.252.205.231
115.124.102.24
115.124.108.7
115.192.142.252
116.127.121.39
116.48.14.42
116.80.106.118
118.98.232.202
119.150.212.122
119.63.198.23
120.28.64.69
121.102.13.20
121.126.12.7
121.18.42.90
121.28.7.181
121.52.49.218
121.72.9.238
121.96.233.170
122.139.5.106
122.168.193.100
123.203.106.155
123.237.178.60
124.106.46.93
124.119.145.2
124.207.102.94
124.237.86.62
124.26.180.131
124.53.159.169
125.120.88.4
125.120.81.129
125.121.220.169
125.192.128.217
125.2.202.161
125.2.201.123
125.3.193.134
125.76.228.201
140.113.156.245
142.162.104.231
142.22.16.58
146.151.22.152
146.151.22.178
146.151.22.155
146.151.22.154
150.70.84.27
162.83.95.16
173.203.206.253
173.212.206.186
173.242.113.176
173.242.112.76
173.80.28.16
174.129.116.210
174.129.162.249
174.133.177.66
174.133.211.122
174.142.104.55
183.178.154.212
184.73.202.112
188.112.151.198
188.163.44.97
188.165.1.21
188.92.74.83
188.92.74.23
188.92.75.82
188.92.75.244
188.92.76.210
188.92.75.148
189.55.220.61
189.79.63.28
192.251.226.205
193.200.150.137
193.252.149.14
193.252.149.13
193.252.149.15
193.252.118.176
193.252.149.16
193.252.118.173
193.252.118.175
193.252.118.174
193.27.209.200
193.41.116.26
193.47.80.50
194.149.234.21
194.165.130.118
194.176.176.82
194.44.170.183
194.8.75.251
194.8.75.62
194.8.74.53
194.8.75.206
194.8.75.159
194.8.75.239
194.8.75.214
194.8.75.50
194.8.75.96
194.8.75.155
194.8.75.212
194.8.75.44
194.8.75.145
195.101.129.66
195.169.128.11
195.2.240.126
195.2.240.105
195.210.57.83
195.34.78.110
195.42.160.19
195.46.32.77
195.5.220.18
195.5.168.93
195.5.196.37
195.88.32.158
195.88.112.18
195.88.33.144
196.203.190.226
196.35.158.180
198.110.164.4
199.120.90.222
201.130.79.47
201.200.221.114
201.218.198.164
201.229.208.2
201.232.54.48
201.41.39.74
201.52.102.71
202.108.50.70
202.123.212.188
202.222.31.136
202.60.234.22
202.67.44.125
202.98.141.200
203.110.240.22
203.130.236.211
203.151.232.104
204.124.182.251
204.152.194.210
205.234.252.62
206.220.64.3
206.248.136.152
206.51.230.20
206.82.130.25
207.157.9.169
207.158.22.34
207.46.13.135
207.46.13.40
207.46.13.43
207.46.204.244
207.46.195.240
207.46.204.240
207.46.204.230
207.46.13.87
207.46.13.88
207.46.204.229
207.46.199.45
207.46.204.242
207.46.204.216
207.46.204.236
207.46.13.138
207.46.204.181
207.46.195.227
207.46.204.231
207.46.13.92
207.46.204.243
207.46.13.95
207.46.199.47
207.46.204.206
207.46.199.42
207.46.13.145
207.46.204.187
207.46.199.53
207.46.204.235
207.46.199.55
207.46.13.137
207.46.199.46
207.46.13.86
207.46.204.241
207.46.204.194
207.46.195.225
207.46.195.239
207.46.199.50
207.46.195.236
207.46.204.205
207.46.13.142
207.46.12.67
207.46.204.239
207.46.12.106
207.46.204.189
207.46.13.100
207.46.204.197
207.46.13.132
207.46.195.230
207.46.199.44
207.46.199.43
207.46.204.233
207.46.13.90
207.46.195.241
207.46.199.51
207.61.241.100
207.91.150.41
208.115.111.250
208.36.144.8
209.132.238.188
209.254.236.210
209.62.4.50
210.143.111.54
210.175.255.89
210.52.15.210
210.6.132.89
211.233.89.196
211.234.110.174
211.76.175.5
212.117.160.9
212.117.183.163
212.139.68.150
212.178.8.22
212.227.136.205
212.235.107.171
212.235.92.142
212.235.92.172
212.59.20.27
212.92.240.107
212.92.239.234
212.95.54.122
212.95.58.208
213.132.44.39
213.145.131.66
213.163.65.76
213.186.117.226
213.239.146.118
213.5.66.16
213.5.104.179
213.5.70.38
213.5.67.4
216.157.27.59
216.177.135.4
216.236.225.9
216.240.136.189
217.198.113.35
217.21.115.170
217.8.225.24
218.206.194.247
218.22.177.234
218.249.35.246
218.26.204.66
218.38.136.251
218.4.65.118
218.5.18.252
218.57.11.112
218.76.207.31
218.97.194.94
219.111.57.147
219.131.223.122
219.139.73.230
219.148.168.211
219.157.127.237
219.159.199.34
219.239.90.85
219.93.178.162
220.199.184.27
221.12.147.80
221.130.193.14
221.130.48.67
221.141.1.113
221.170.164.95
221.234.24.46
221.249.144.93
222.178.184.14
222.237.78.50
222.35.140.73
222.72.132.166
222.88.11.22
222.92.51.221
911 occurrences

