Назад | Перейти на главную страницу

Следует ли мне подозревать такое поведение?

Пользователи моего веб-сайта заметили, что иногда производительность сервера не такая, как раньше (в основном они говорят, что страница, которая обычно загружается немедленно, может занять более 3 секунд). Это происходит в течение 15–30 минут, а затем сервер снова начинает отвечать.

Сегодня пользователь предупредил меня, когда это происходило. У меня было время запустить пару команд от имени root, и вот что я обнаружил:

root@[redacted]:~# netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
    22 185.25.18.43
     4 79.153.178.230
     3 83.45.74.248
     2 83.59.9.137
     1 77.89.254.178
     1 77.89.252.156
     1 77.89.252.149
     1 209.85.160.41
root@[redacted]:~# netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'
root@[redacted]@~# netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
     1 142.166.98.36
     1 180.76.5.194
     1 79.151.200.177
     1 83.59.9.137
     1 91.121.82.227
    22 185.25.48.43
    29
root@[redacted]:~# uptime
    10:53:26 up 133 days, 11 min,   1 user,   load average: 28.82, 29.89, 20.97

Через 5 минут время работы составит: 3.07 13.60 19.44 и теперь все значения ниже 4 и нет подключений из 185.25.48.43.

Whois для подозрительного IP-адреса 185.25.48.43:

 [Querying whois.arin.net] [Redirected to whois.ripe.net:43] [Querying
 whois.ripe.net] [whois.ripe.net] % This is the RIPE Database query
 service. % The objects are in RPSL format. % % The RIPE Database is
 subject to Terms and Conditions. % See
 http://www.ripe.net/db/support/db-terms-conditions.pdf

 % Note: this output has been filtered. %       To receive output for a
 database update, use the "-B" flag.

 % Information related to '185.25.48.0 - 185.25.48.63'

 % Abuse contact for '185.25.48.0 - 185.25.48.63' is
 'abuse@bacloud.com'

 inetnum:        185.25.48.0 - 185.25.48.63 netname:        IST-NET
 descr:          Informacines sistemos ir technologijos, UAB country:  
 LT admin-c:        BAC2006-RIPE tech-c:         BAC2006-RIPE status:  
 ASSIGNED PA mnt-by:         BACLOUD-MNT source:         RIPE #
 Filtered

 role:           BACLOUD NOC address:        Informacines sistemos ir
 technologijos, UAB address:        Pramones 15 address:       
 LT-78137 Siauliai address:        Lithuania phone:          +370 41
 210000 phone:          +370 52 044044 fax-no:         +370 65 002611
 admin-c:        NB5547-RIPE tech-c:         TM9791-RIPE nic-hdl:      
 BAC2006-RIPE abuse-mailbox:  abuse@bacloud.com mnt-by:        
 BACLOUD-MNT source:         RIPE # Filtered

 % Information related to '185.25.48.0/22AS61272'

 route:          185.25.48.0/22 descr:          BACLOUD-COM origin:    
 AS61272 mnt-by:         AS61272-MNT source:         RIPE # Filtered

 % This query was served by the RIPE Database Query Service version
 1.70.1 (WHOIS3)

Это облачный сервис из Литвы, что делает его более подозрительным, поскольку все мои пользователи говорят по-испански (это испанский сайт).

Возникает вопрос: атакует ли 185.25.48.43 мой сервер? И что я могу с этим поделать?

РЕДАКТИРОВАТЬ: После просмотра моих access.log, этот IP-адрес пытался получить доступ ко всем моим сайтам с такими запросами:

site1.es:80 185.25.48.43 - - [27/Jan/2014:10:38:11 +0100] "GET /?author=2 HTTP/1.1" 200 16569 "http://site1.es/?author=2" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; 125LA; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"
inusion.es:80 185.25.48.43 - - [27/Jan/2014:10:38:03 +0100] "GET /wp-login.php HTTP/1.1" 200 2551 "http://inusion.es/wp-login.php" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; 125LA; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"
site1.es:80 185.25.48.43 - - [27/Jan/2014:10:38:12 +0100] "GET /?author=3 HTTP/1.1" 200 16569 "http://site1.es/?author=3" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; 125LA; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"
site2.com:80 185.25.48.43 - - [27/Jan/2014:10:38:03 +0100] "GET /wp-login.php HTTP/1.1" 200 2811 "http://site2.com/wp-login.php" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; 125LA; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"
site3.com:80 185.25.48.43 - - [27/Jan/2014:10:38:03 +0100] "GET /wp-login.php HTTP/1.1" 200 2811 "http://site3.com/wp-login.php" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; 125LA; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"

Похоже, он ищет блоги Wordpress.

Я предполагаю, что в Литве скрипт-детка ищет WordPress на широком спектре IP-адресов. Не найдя его на вашем сайте, он, вероятно, двинется дальше. Такое случается постоянно, и, вероятно, не является причиной вашей высокой нагрузки.

Также то, что сказал symcbean.

Предоставлено недостаточно информации, чтобы определить, является ли этот IP-адрес причиной проблемы, или определить причину проблемы (следовательно, голосование за закрытие). Это не приглашение предоставить дополнительную информацию - это слишком сложная проблема, чтобы здесь ответить.

Если мы предположим, что IP-адрес является причиной высокой нагрузки (при условии, что она высока - вы не сказали, какая конфигурация оборудования), то, вероятно, было бы хорошей идеей заблокировать диапазон сети.

Fail2ban очень полезен для автоматизации такого рода ответов, но вам все равно нужно реализовать часть обнаружения самостоятельно.