История о том, как через мой сервер на облачном хостинге майнили биткоин и какие инструменты использовали при этом.
В один из прекрасных дней ноябрьских праздников мне пришла смс от хостера, что баланс в системе исчерпан. Я, не понимая, что могло послужить такому резкому скачку расходов на сервере, полез в панель управления.
Картина была такова:
Мои процессоры просто разрывало от нагрузки. Перезагрузил сервер, понимая что это какой-то глюк в системе. Все нормализовалось. И со спокойной душой я ушел спать…
На утро меня ждало очередное смс-уведомление о том, что деньги на счете снова закончились. Процессоры были опять в полной завязке по нагрузке. При этом подобная картина была уже на 3 моих серверах, расположенных у данного хостера. Это подвергло меня в шок.
Я незамедлительно обратился в службу поддержки с просьбой разобраться в данной ситуации. В ответ я, конечно же, получил решение своей проблемы стандартный ответ, что у них все в порядке и решайте свои проблемы сами. Хабрахабр – не жалобная книга, поэтому упустим момент общения с техподдержкой. Тем более, о качестве услуг данной компании недавно поднималась тема. Я до последнего надеялся, что руководство компании обратит внимание на негативные моменты и все наладится. Наивный раб!
Нужно было срочно решать проблему. Перезагрузка сервера помогала только на небольшой период времени. Расход денежных средств был просто молниеносным.
Полез на сервер и начал выяснять причины. До последнего не хотел верить, что проблема во взломе. Однако это было именно так… Найдя брешь в настройках сервера, умелые руки злоумышленник начал майнить биткоин, пользуясь неограниченными ресурсами сервера (вот она польза расширяемых ресурсов).
Для нетерпеливых логи apache раз и два.
Сразу оговорюсь, я не специалист по серверным вопросам, а искать хорошего администратора просто не было времени. Ремарка. В таких ситуациях проще техподдержке хостера назначить цену для решения подобной задачи, чем отвечать стандартными фразами о том, что нет никаких проблем…
Полез в логи apache. И что вы думаете я там вижу?! Ничего! Так так сервер в этот момент отключают от сети как абузу. И предлагают решить все проблемы с сервером используя до ужаса неудобную консоль в браузере…
Тут моя злость просто пересилила разум. Я запаниковал…
Собравшись духом, полез в браузерную консоль и начал вытягивать логи apache.
Злоумышленник использовал POST запрос на IP сервера (ниже приведен один из запросов), залил шел и скрипты по майнингу биткоина. Архив используемых скриптов и подробные логи приложил (думаю по ip адресам уже нет возможности скачать скрипты к которым обращались).
80.237.159.104 - - [05/Nov/2013:22:20:23 +0000] "POST /cgi-bin/php5?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1" 200 125 "-" "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26(KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25"
Не углубляясь в разновидности запросов и используемых скриптов продолжу дальше свой рассказ.
Я полез в настройку: /etc/apache2/sites-available/default и удалил секцию:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
После перезагрузки, я увидел, что это помогло:
[Sat Nov 09 17:00:57 2013] [error] [client 212.91.170.132] File does not exist: /var/www/cgi-bin
[Sun Nov 10 03:32:11 2013] [error] [client 75.74.198.226] Invalid method in request x80wx01x03x01
Это была моя маленькая победа! (А возможно и нет… Как Вы думаете?!)
Сервер же разблокировали после долгого, напористого обращения к тех.поддержке…
Мораль данной истории – будьте бдительны к резким скачкам ресурсов на вашем сервере и обращайтесь к специалистам по грамотной настройке сервера.
PS: Думаю я не единственный у кого возникла данная проблема. В комментариях найдутся люди, кто сможет оценить мой костыль мое решение данной проблемы и предостеречь умельцев самостоятельно настраивать сервер.
Автор: Wadik