На днях ко мне обратились по поводу защиты сайта от ддос-атаки. Я согласился помочь, заодно проверить на практике инструкции и рекомендации форума.
Сначала настроили защиту в Cloudflare по инструкции. Но возникла проблема - теперь для фильтрации по странам нужно купить тариф за 20$ в месяц. При этом старые настройки фильтра пока продолжают работать без перехода на платный тариф. Впрочем, режим I'm under attack все еще работает бесплатно, но в данном случае он не помог - сервер все равно падал. При этом по графикам аналитики создавалось впечатление, что идет сильный ддос.
Тогда я решил "помочь" клоудфлару новым php-скриптом. Скрипт отфильтровал всех ботов за 5 минут, их оказалось всего 300 штук. Тогда мы отключили защиту Cloudflare (для этого нужно нажать на облачко в настройках DNS), добавилось еще 50 ботов и ддос затих.
Что примечательно, впс-ка стоит 5$, еще и на бесплатной панельке Vesta. Я не знаю сколько тратят на ддос конкуренты, но средняя атака стоит от 50$ в сутки, при условии что на сайте нет фильтрации. Если человека ддосят уже недели две, то вероятно, это делает сам владелец ботнета.
Список IP ботов прикладываю.
Обратите внимание, что много записей вида 109.177.0.0/16, т.е. блокируются целые подсети. Это делает специальный скрипт для генерации правил iptable. Он смотрит, если много ботов из одной подсети, то банится вся подсеть по маске 24 или 16. Это позволяет значительно сократить количество правил для файервола. Скрипт также определяет страну IP, и, если это, например, не Россия, то применяется более жесткая маска 16, если Россия, то 24.
Сначала настроили защиту в Cloudflare по инструкции. Но возникла проблема - теперь для фильтрации по странам нужно купить тариф за 20$ в месяц. При этом старые настройки фильтра пока продолжают работать без перехода на платный тариф. Впрочем, режим I'm under attack все еще работает бесплатно, но в данном случае он не помог - сервер все равно падал. При этом по графикам аналитики создавалось впечатление, что идет сильный ддос.
Тогда я решил "помочь" клоудфлару новым php-скриптом. Скрипт отфильтровал всех ботов за 5 минут, их оказалось всего 300 штук. Тогда мы отключили защиту Cloudflare (для этого нужно нажать на облачко в настройках DNS), добавилось еще 50 ботов и ддос затих.
Что примечательно, впс-ка стоит 5$, еще и на бесплатной панельке Vesta. Я не знаю сколько тратят на ддос конкуренты, но средняя атака стоит от 50$ в сутки, при условии что на сайте нет фильтрации. Если человека ддосят уже недели две, то вероятно, это делает сам владелец ботнета.
Список IP ботов прикладываю.
1.4.219.237
1.54.243.146
10.174.13.16
102.159.141.222
103.100.136.15
103.108.88.10
103.205.134.21
103.211.108.151
103.217.228.90
103.218.116.164
103.225.50.25
103.255.5.45
103.73.107.228
103.80.116.214
103.81.92.46
103.85.16.62
103.89.244.126
103.98.63.138
104.237.95.32
105.154.1.98
105.229.187.9
105.67.134.126
106.210.254.150
109.173.147.174
109.177.0.0/16
109.248.203.193
109.92.249.236
110.169.220.114
110.54.163.150
111.125.110.47
111.251.211.133
112.133.248.114
112.134.17.134
112.135.11.20
112.202.174.208
112.206.76.230
113.170.215.53
113.210.182.158
113.59.209.244
114.108.225.107
114.124.0.0/16
114.134.185.147
115.49.107.168
116.193.139.218
116.206.138.247
117.240.220.2
117.242.175.162
117.96.192.235
118.137.189.115
118.70.119.58
119.160.117.31
119.67.147.164
120.29.104.96
122.165.202.228
124.104.4.152
124.106.244.241
125.160.226.238
125.162.94.146
125.163.241.66
125.164.23.21
125.212.177.9
130.193.233.135
138.185.192.15
138.204.88.42
138.59.120.175
14.198.19.111
14.234.149.253
14.244.201.54
140.213.42.214
145.132.199.230
146.196.65.20
147.158.82.10
149.202.25.65
150.107.205.35
150.116.250.66
151.242.61.231
152.206.163.169
154.66.224.130
156.195.170.92
156.208.112.100
157.39.220.247
157.51.119.73
160.178.102.124
160.179.213.203
168.121.205.51
171.101.137.203
171.227.239.206
171.231.148.159
171.239.173.91
171.243.76.112
171.5.235.83
171.51.168.125
171.61.192.129
171.79.45.238
173.225.6.19
175.138.51.39
175.140.156.254
175.141.161.198
176.103.175.26
176.145.113.221
176.221.34.58
176.234.13.71
177.132.11.165
177.141.205.157
177.148.182.4
177.194.167.53
177.72.88.22
177.91.137.55
178.132.217.75
178.17.171.235
178.217.33.116
178.235.176.190
178.78.213.66
179.232.189.241
179.43.148.195
180.148.108.205
180.190.50.22
180.251.126.140
180.252.213.27
180.254.118.216
181.114.81.234
181.115.249.20
181.161.253.64
181.188.60.60
181.91.177.253
182.1.0.0/16
182.101.62.50
182.177.33.163
182.185.0.0/16
183.82.160.64
183.88.171.65
184.170.80.11
185.136.198.86
185.159.82.88
185.180.0.0/16
185.29.8.135
185.56.211.75
185.81.113.195
186.1.128.0/24
186.216.162.97
186.249.234.234
186.250.128.193
187.103.59.138
187.126.228.209
187.190.64.114
187.41.163.146
187.63.190.65
188.146.66.54
189.143.106.46
189.213.127.119
190.124.30.14
190.171.251.43
190.197.124.245
190.22.117.72
190.237.183.20
190.73.133.208
191.190.221.157
191.217.77.152
195.110.51.131
195.123.211.84
195.174.141.74
196.186.124.121
196.27.86.76
196.98.124.196
197.184.126.95
197.220.169.142
197.226.248.38
197.237.124.141
197.247.120.92
197.7.128.56
199.38.245.218
2.190.55.107
2.191.250.82
2.49.101.111
200.121.220.215
202.1.184.135
202.166.173.82
202.47.115.186
202.88.239.118
204.44.65.210
210.195.51.29
210.23.68.3
212.252.98.56
212.39.89.0/24
213.160.143.24
213.204.78.170
213.240.224.225
218.248.46.39
223.24.190.71
27.145.136.97
27.5.0.0/16
27.74.103.121
31.145.222.60
31.148.219.169
31.42.165.120
31.43.142.2
36.227.75.143
36.74.174.85
36.77.218.13
36.80.21.236
36.83.143.59
37.236.178.6
37.237.208.36
37.52.34.65
38.101.104.250
39.37.180.242
39.46.212.66
39.52.0.0/16
41.143.178.161
41.232.54.188
41.239.127.234
41.249.225.178
41.251.0.0/16
41.96.68.88
42.117.202.223
42.119.145.235
43.224.173.104
45.116.232.47
45.248.56.0/24
46.201.15.159
46.4.143.48
46.51.185.146
47.247.215.172
47.9.159.53
49.147.196.212
49.148.10.118
49.149.140.51
49.151.133.3
49.161.61.9
49.207.176.34
5.12.234.198
5.149.253.121
5.152.21.217
5.161.99.0
5.22.157.52
5.228.242.86
5.31.141.177
5.47.152.221
51.36.233.209
58.187.170.123
58.65.214.22
59.153.0.0/16
61.94.145.136
62.114.223.48
62.176.125.163
62.248.25.170
67.206.210.102
73.207.158.51
77.217.113.60
78.164.194.68
78.169.183.72
78.189.127.136
78.190.181.236
78.56.208.183
78.58.252.63
79.106.126.135
79.134.147.240
80.218.176.4
81.233.65.200
81.24.245.48
82.78.19.8
83.255.65.190
83.26.124.135
84.108.49.212
85.106.125.109
85.107.59.112
85.238.221.59
85.61.3.148
85.67.173.249
86.147.147.113
86.96.68.149
86.97.250.29
86.99.189.7
87.116.179.0
87.205.79.0
87.254.73.155
88.119.179.10
88.230.19.72
88.231.230.3
88.233.98.182
88.254.28.244
88.255.101.248
89.163.141.108
91.107.180.191
91.205.71.223
92.83.65.107
92.98.90.217
93.123.22.110
94.156.0.0/16
94.244.135.94
94.254.234.57
94.49.180.52
94.54.56.95
94.72.108.108
94.98.220.56
95.134.23.83
95.16.246.178
95.181.179.217
95.46.98.26
97.82.20.178
1.54.243.146
10.174.13.16
102.159.141.222
103.100.136.15
103.108.88.10
103.205.134.21
103.211.108.151
103.217.228.90
103.218.116.164
103.225.50.25
103.255.5.45
103.73.107.228
103.80.116.214
103.81.92.46
103.85.16.62
103.89.244.126
103.98.63.138
104.237.95.32
105.154.1.98
105.229.187.9
105.67.134.126
106.210.254.150
109.173.147.174
109.177.0.0/16
109.248.203.193
109.92.249.236
110.169.220.114
110.54.163.150
111.125.110.47
111.251.211.133
112.133.248.114
112.134.17.134
112.135.11.20
112.202.174.208
112.206.76.230
113.170.215.53
113.210.182.158
113.59.209.244
114.108.225.107
114.124.0.0/16
114.134.185.147
115.49.107.168
116.193.139.218
116.206.138.247
117.240.220.2
117.242.175.162
117.96.192.235
118.137.189.115
118.70.119.58
119.160.117.31
119.67.147.164
120.29.104.96
122.165.202.228
124.104.4.152
124.106.244.241
125.160.226.238
125.162.94.146
125.163.241.66
125.164.23.21
125.212.177.9
130.193.233.135
138.185.192.15
138.204.88.42
138.59.120.175
14.198.19.111
14.234.149.253
14.244.201.54
140.213.42.214
145.132.199.230
146.196.65.20
147.158.82.10
149.202.25.65
150.107.205.35
150.116.250.66
151.242.61.231
152.206.163.169
154.66.224.130
156.195.170.92
156.208.112.100
157.39.220.247
157.51.119.73
160.178.102.124
160.179.213.203
168.121.205.51
171.101.137.203
171.227.239.206
171.231.148.159
171.239.173.91
171.243.76.112
171.5.235.83
171.51.168.125
171.61.192.129
171.79.45.238
173.225.6.19
175.138.51.39
175.140.156.254
175.141.161.198
176.103.175.26
176.145.113.221
176.221.34.58
176.234.13.71
177.132.11.165
177.141.205.157
177.148.182.4
177.194.167.53
177.72.88.22
177.91.137.55
178.132.217.75
178.17.171.235
178.217.33.116
178.235.176.190
178.78.213.66
179.232.189.241
179.43.148.195
180.148.108.205
180.190.50.22
180.251.126.140
180.252.213.27
180.254.118.216
181.114.81.234
181.115.249.20
181.161.253.64
181.188.60.60
181.91.177.253
182.1.0.0/16
182.101.62.50
182.177.33.163
182.185.0.0/16
183.82.160.64
183.88.171.65
184.170.80.11
185.136.198.86
185.159.82.88
185.180.0.0/16
185.29.8.135
185.56.211.75
185.81.113.195
186.1.128.0/24
186.216.162.97
186.249.234.234
186.250.128.193
187.103.59.138
187.126.228.209
187.190.64.114
187.41.163.146
187.63.190.65
188.146.66.54
189.143.106.46
189.213.127.119
190.124.30.14
190.171.251.43
190.197.124.245
190.22.117.72
190.237.183.20
190.73.133.208
191.190.221.157
191.217.77.152
195.110.51.131
195.123.211.84
195.174.141.74
196.186.124.121
196.27.86.76
196.98.124.196
197.184.126.95
197.220.169.142
197.226.248.38
197.237.124.141
197.247.120.92
197.7.128.56
199.38.245.218
2.190.55.107
2.191.250.82
2.49.101.111
200.121.220.215
202.1.184.135
202.166.173.82
202.47.115.186
202.88.239.118
204.44.65.210
210.195.51.29
210.23.68.3
212.252.98.56
212.39.89.0/24
213.160.143.24
213.204.78.170
213.240.224.225
218.248.46.39
223.24.190.71
27.145.136.97
27.5.0.0/16
27.74.103.121
31.145.222.60
31.148.219.169
31.42.165.120
31.43.142.2
36.227.75.143
36.74.174.85
36.77.218.13
36.80.21.236
36.83.143.59
37.236.178.6
37.237.208.36
37.52.34.65
38.101.104.250
39.37.180.242
39.46.212.66
39.52.0.0/16
41.143.178.161
41.232.54.188
41.239.127.234
41.249.225.178
41.251.0.0/16
41.96.68.88
42.117.202.223
42.119.145.235
43.224.173.104
45.116.232.47
45.248.56.0/24
46.201.15.159
46.4.143.48
46.51.185.146
47.247.215.172
47.9.159.53
49.147.196.212
49.148.10.118
49.149.140.51
49.151.133.3
49.161.61.9
49.207.176.34
5.12.234.198
5.149.253.121
5.152.21.217
5.161.99.0
5.22.157.52
5.228.242.86
5.31.141.177
5.47.152.221
51.36.233.209
58.187.170.123
58.65.214.22
59.153.0.0/16
61.94.145.136
62.114.223.48
62.176.125.163
62.248.25.170
67.206.210.102
73.207.158.51
77.217.113.60
78.164.194.68
78.169.183.72
78.189.127.136
78.190.181.236
78.56.208.183
78.58.252.63
79.106.126.135
79.134.147.240
80.218.176.4
81.233.65.200
81.24.245.48
82.78.19.8
83.255.65.190
83.26.124.135
84.108.49.212
85.106.125.109
85.107.59.112
85.238.221.59
85.61.3.148
85.67.173.249
86.147.147.113
86.96.68.149
86.97.250.29
86.99.189.7
87.116.179.0
87.205.79.0
87.254.73.155
88.119.179.10
88.230.19.72
88.231.230.3
88.233.98.182
88.254.28.244
88.255.101.248
89.163.141.108
91.107.180.191
91.205.71.223
92.83.65.107
92.98.90.217
93.123.22.110
94.156.0.0/16
94.244.135.94
94.254.234.57
94.49.180.52
94.54.56.95
94.72.108.108
94.98.220.56
95.134.23.83
95.16.246.178
95.181.179.217
95.46.98.26
97.82.20.178