Противостояние сканерам

123 4
Animegirl
На сайте с 03.04.2013
Offline
19
2210

Ресурс ещё толком не появился, а лог файлы замусорены сканерами, которые ищут дыры походу, что-то вроде этого:

[Fri Jul 19 22:45:39 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/jmx-console

[Fri Jul 19 22:45:40 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/manager
[Fri Jul 19 22:45:40 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/administrator
[Fri Jul 19 22:45:41 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/joomla
[Fri Jul 19 22:45:41 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/cms
[Fri Jul 19 22:45:41 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/Joomla
[Fri Jul 19 22:45:41 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/phpmyadmin
[Fri Jul 19 22:45:41 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/phpMyAdmin
[Fri Jul 19 22:45:41 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/mysql
[Fri Jul 19 22:45:42 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/sql
[Fri Jul 19 22:45:42 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/myadmin
[Fri Jul 19 22:45:42 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/sqlite
[Fri Jul 19 22:45:42 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/SQLite
[Fri Jul 19 22:45:42 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/SQLiteManager-1.2.4
[Fri Jul 19 22:45:42 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/sqlitemanager
[Fri Jul 19 22:45:42 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/SQlite
[Fri Jul 19 22:45:43 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/SQLiteManager
[Fri Jul 19 22:45:43 2013] [error] [client 85.222.216.225] File does not exist: /pics_server/public/webdav
[Thu Jun 13 20:21:24 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/muieblackcat
[Thu Jun 13 20:21:25 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/PHPMYADMIN
[Thu Jun 13 20:21:25 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/admin
[Thu Jun 13 20:21:25 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/admin
[Thu Jun 13 20:21:26 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/admin
[Thu Jun 13 20:21:26 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/db
[Thu Jun 13 20:21:27 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/dbadmin
[Thu Jun 13 20:21:27 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/myadmin
[Thu Jun 13 20:21:27 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/mysql
[Thu Jun 13 20:21:28 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/mysqladmin
[Thu Jun 13 20:21:28 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/p
[Thu Jun 13 20:21:29 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/php-my-admin
[Thu Jun 13 20:21:29 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.2.3
[Thu Jun 13 20:21:29 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.2.6
[Thu Jun 13 20:21:30 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.5.1
[Thu Jun 13 20:21:30 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.5.4
[Thu Jun 13 20:21:30 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.5.5-pl1
[Thu Jun 13 20:21:30 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.5.5-rc1
[Thu Jun 13 20:21:31 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.5.5-rc2
[Thu Jun 13 20:21:31 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.5.5
[Thu Jun 13 20:21:31 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.5.6-rc1
[Thu Jun 13 20:21:31 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.5.6-rc2
[Thu Jun 13 20:21:32 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.5.6
[Thu Jun 13 20:21:32 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.5.7-pl1
[Thu Jun 13 20:21:33 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2.5.7
[Thu Jun 13 20:21:33 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin-2
[Thu Jun 13 20:21:33 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpMyAdmin
[Thu Jun 13 20:21:33 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpadmin
[Thu Jun 13 20:21:34 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpmyadmin
[Thu Jun 13 20:21:34 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpmyadmin1
[Thu Jun 13 20:21:34 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/phpmyadmin2
[Thu Jun 13 20:21:34 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/pma
[Thu Jun 13 20:21:35 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/typo3
[Thu Jun 13 20:21:35 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/web
[Thu Jun 13 20:21:35 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/web
[Thu Jun 13 20:21:35 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/websql
[Thu Jun 13 20:21:36 2013] [error] [client 201.173.90.16] File does not exist: /pics_server/public/xampp

Потом если будет скучно и нечего делать, я наверно потроллю таких ботов кучей false positive, но сейчас мне бы хотелось от этого дерьма избавится. Что характерно для них, это всё прямые переходы(без рефералов)... на субдоменах статического контента. Вот мне и подумалось, а может быть подрезать все запросы без рефералов на этих доменах? Вопроса два:

1. Как это лучше всего реализовать?

2. Нету ли браузеров, которые ленивятся посылать рефералы подгружая контент?

В идеале было бы какое-нибудь правило в конфиге типа "404 + нету реферала -> редерикт на сайт скажем интерпола" :bl:

---------- Добавлено 06.08.2013 в 16:06 ----------

Да кстати, как поставит запрет на запросы кроме GET?

Накидайте мне пожалуйста -10к репутации, и успокойтесь в поисках во мне иностранного агента, я просто новичок, который задаёт вопросы.
Z
На сайте с 06.09.2012
Offline
129
#1
Animegirl:
2. Нету ли браузеров, которые ленивятся посылать рефералы подгружая контент?

Валом, точнее дело не в браузерах, а во всяких персональных файрволах, корпоративных прокси и т.д.

Черный список врунов и обманщиков: ua-hosting.company, riaas.ru, takewyn.ru, yahoster/cadedic, Andreylab
Animegirl
На сайте с 03.04.2013
Offline
19
#2
zzzit:
Валом, точнее дело не в браузерах, а во всяких персональных файрволах, корпоративных прокси и т.д.

А какой ещё способ их вычислить на автомате?

Вообще думаю им рандомно выдавать ошибки 4хх и 5хх, все подряд, пускай мозг ломают, что не так 😂

kxk
На сайте с 30.01.2005
Offline
970
kxk
#3

Animegirl, Баньте все ip кто ругаеться на File does not exist в логах

Ваш DEVOPS
Animegirl
На сайте с 03.04.2013
Offline
19
#4
kxk:
Animegirl, Баньте все ip кто ругаеться на File does not exist в логах

Ну во первых, это ручками много работы, а во вторых, это борьба со следствием, а не с причиной, там весь мир рандомно в ИП, смысл банить диалапные прокси в мексике и прочих странах. Интересней им наперёд фигу показать, чтоб в логах не гадили. Нет, конечно прикольно посмотреть на список папок, которые не стоит создавать, но с нашим уровнем паранойи, у нас и так идёт от запретить всё и всем, и только потом где надо разрешить, так что такие дыры тьфу тьфу тьфу не держим.

kxk
На сайте с 30.01.2005
Offline
970
kxk
#5

Animegirl, Запретите Азию через geoip :)

Animegirl
На сайте с 03.04.2013
Offline
19
#6
kxk:
Animegirl, Запретите Азию через geoip :)

Ну во первых, там не только азия, я же написала, те ИП, что из любопытства пробивала, были из Мексики и Канады. А вообще, никого по странам блокировать нельзя, ресурс глобальный.

Glueon
На сайте с 26.07.2013
Offline
172
#7
Animegirl:
Ну во первых, это ручками много работы, а во вторых, это борьба со следствием, а не с причиной, там весь мир рандомно в ИП, смысл банить диалапные прокси в мексике и прочих странах. Интересней им наперёд фигу показать, чтоб в логах не гадили. Нет, конечно прикольно посмотреть на список папок, которые не стоит создавать, но с нашим уровнем паранойи, у нас и так идёт от запретить всё и всем, и только потом где надо разрешить, так что такие дыры тьфу тьфу тьфу не держим.

Так для этого есть fail2ban. Натравить его на 'File does not exist' и все :) log файл для статики сделать отдельным.

Фигу по реферу можно показывать с помощью http://nginx.org/ru/docs/http/ngx_http_referer_module.html, в том числе если рефер плохой - писать в лог и банить тем же fail2ban.

Есть много IP-сетей в аренду под прокси, парсинг, рассылки (optin), vpn и хостинг. Телега: @contactroot ⚒ ContactRoot команда опытных сисадминов (/ru/forum/861038), свой LIR: сдаем в аренду сети IPv4/v6 (/ru/forum/1012475).
Z
На сайте с 06.09.2012
Offline
129
#8

Через куки их можно вычислить на автомате, а за баны по IP я бы руки отрывал :)

Glueon
На сайте с 26.07.2013
Offline
172
#9
Animegirl:
Да кстати, как поставит запрет на запросы кроме GET?

Можно:


limit_except GET {
allow 1.1.1.1; #Если вдруг нужно разрешить для себя
deny all;
}

А так вообще:


if ($request_method != 'GET') {
return 403;
}
Animegirl
На сайте с 03.04.2013
Offline
19
#10
zzzit:
Через куки их можно вычислить на автомате, а за баны по IP я бы руки отрывал :)

Куки на статике не держим, в соседней теме, пытаюсь от ГА куки со статики убрать, а вы предлагаете ещё довесить.

---------- Добавлено 06.08.2013 в 17:07 ----------

Glueon:
Можно:

limit_except GET {
allow 1.1.1.1; #Если вдруг нужно разрешить для себя
deny all;
}

А так вообще:

if ($request_method != 'GET') {
return 403;
}

Хммм, а первой командой, вы резве не запрещаете доступ к ГЕТ всем кроме 1.1.1.1?

А второй код куда прописывать в конфиг апача, у него разве есть такие переменные? 😮

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий