cyberia
@cyberia
Веб-разработчик, плавно перехожу в мобильные разра

Как бороться с хакерами на сервере?

История: По требованию SEO-шника установил на один из доменов WP и передал все доступы к сайту ему же. С год прожили без проблем, а после заметил что мобильный трафик стал сливаться с основного домена. Беглый взгляд по файлам установил иньекции в htaccess и index.php. Долго не мог понять откуда они, но потом путем анализа выяснил что проникли через дыру в вордпрессе. Нашел шелл, удалил. Проблема не решилась: только затрешь иньекции в index.php они через день появляются. Потом нашл еще с десяток шелов, все удалил. Ситуация не изменилась. Наняли сисадмина на аутсорсе, потому что я не особо силен в настройке unix-based дистрибутивов. На какое-то время иньекции прекратились.

Где-то через 3 месяца заметил трафик с поисковых систем по запросам типа «как сделать (мужской/женский половой орган) в домашних условиях», «прохождение (популярной игры)» и т.д. Поискал — нашел файл. Удалил. Через несколько часов он снова появился. Затёр. Восстановился. Закрыл в .htaccess доступ к нему. Появился. Тогда я поставил rewrite на этот файл и после часового ожидания он немного изменился (латинские буквы, схожие по начертанию с русскими были заменены, соответственно, на русские). Тут у меня отпало всякое сомнение что это некая система — 100% орудует человек.

Следующим шагом я начал выдумывать как раскрыть подлеца, так как админ не мог предоставить даже IP адреса, говорит в логах сервера ничего нет, где в http логах искать непонятно. Вообщем неким способом я получил IP негодяя, и теперь не знаю что с ним делать. IP этот сервера в нидерландах, скорее всего там у него прокси или вообще какой нибудь backtrack установлен. Сервер этот в публичных прокси-листах не нашел, думаю собственный. И на этом я уткнулся в стену, и теперь не могу предположить что делать дальше. Куда обращаться? В хостинг компанию? Прикроют ли они сервер и какие для этого нужны доказательства? Подскажите что делать дальше?
  • Вопрос задан
  • 5894 просмотра
Пригласить эксперта
Ответы на вопрос 11
ValdikSS
@ValdikSS
вообще какой нибудь backtrack установлен

backconnect?

Вы бы сначала дыру нашли. Если вы уверены, что это дыра в вордпрессе, то в логах веб-сервера все видно, как на ладони. Ищите нормального сисадмина.
Ответ написан
Комментировать
madguru
@madguru
Wordpress довольно часто подвергается взломам, и большей частью благодаря установленным дополнениям, которые пользователь не обновляет. В декабре была найдена уязвимость в популярном модуле ( редактор текста, точно не помню какой ), через который ботами заливают shell на сервера.
Если заливали действительно через уязвимость в Wordpress или его дополнении, то можно сделать поиск по файлам через find, примерно так:

find /WWWDIR \( -name "*.php" -o -name "*.html" -o -name "*.htm" \) -exec egrep -Hni 'gzinflate\(base64_decode|eval\(base64_decodeshell_exece|doced_46esab|eval\(' {} \; | cut -c 1-150

WWWDIR — каталог где у Вас сайт располагается.
Советую проверить в настройках апача ( если перед ним нет nginx, раздающего статику ), есть ли для файлов типа *.png, *.html и т.п. x-httpd-php Aplication Type, ну и в .htaccess так же проверить через find

find /WWWDIR -name ".htaccess" -exec egrep -iHnr 'application\/x-httpd-php .*(gif|html|jpeg|jpg|doc|txt)' {} \;
Можно сканировать вобще по всем файлам.

Если у Вас на сервере на апаче много сайтов и все работают от одного пользователя — сканировать нужно все сайты :)
Если взломали через ssh — тут тяжелее, в любом случае стоит проверить кто последний и откуда подключался к серверу.

Да, желательно иметь доступ к серверу по ssh :)
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
snoopy поставьте, если живой человек лапками делает по ssh — засветится.
Если по http — внимательно читайте логи веб-сервера.
Ответ написан
Комментировать
charon
@charon
бороться с хакерами на сервере несложно: настройте фаервол, регулярно обновляйте всё ПО (особенно то, которое смотрит наружу), настройте систему обнаружения вторжений, читайте логи, читайте рассылки безопасности используемого вами ПО. Если вы это не умеете, или нет возможности нанять грамотного спеца — то сдавайтесь, у вас ничего не получится. ШАРЫ НЕ БУДЕТ! А в двух словах описать решение вашей проблемы тут в коментах вряд ли получится.
Ответ написан
Комментировать
demimurych
@demimurych
Если бы на сервере был руткит, то автор топика ничего бы не нашел.

По всем внешним признакам работает робот который не имеет прав рута.
Самый вероятный сценарий — автоматический сканер нашел дырявый вордпресс, залил шел, залил стандартный набор вроде какого нить irc сервера. Запустил от пользователя от которого запущен веб сервер.

Не исключено что от него же прописана запись в кронтабе.

Проверьте все процессы запущенные от пользователя от которого у вас запущен веб сервер. Уверен найдете что нибудь странное вроде apache3 или crond.

Таких компромитаций через меня уже с два десятка прошло.
Ответ написан
stan_jeremy
@stan_jeremy
по вашему личному запросу никто ничего не сделает, был бы шанс если бы вы были в той же самой стране, а так — дохлый номер, IP вообще скорее всего VPN, Нидерланды очень популярная страна с тоннами предложений double/triple и тд VPN. Максимум что могут сделать после запроса оффициальных органов (которого добиться опять же практически нереально) — закрыть ему данный впн аккаунт и сделать новый :) безысходность
Ответ написан
Комментировать
@DwINS
Я бы на вашем месте сначала попытался определить каким образом эти действия производятся, для этого включил бы дополнительноее логгирование, и искал бы в логах события со временем модификации файла. Если это скрипт, то проанализировал бы его содержимое. Сложно давать какие-то рекомендации, не зная точной задачи, к сожалению.
Ответ написан
Комментировать
Radriga
@Radriga
В первую очередь — обновите Wordpress и все его модули. Поменяйте пароли к серверу. Сохраните логи веб-сервера, ftp демона, auth.log (ssh логины)
Во вторых — смотрите более внимательней в логи веб-сервера. достаньте нужную информацию. А именно — попытки залить веб-шелл. Ориентироваться можете по времени создания/изменения файлв веб-шелла
В третьих — «нужную» вырезку из логов отправьте в качестве абузы. Куда слать — найдете информацию во whois'e по ипу. Смотрите на технические / abuse контакты.
В четвертых — в копию письма-абузы поставьте полицию страны, которой принадлежит ип. Это ускорит рассмотрение абузы
— Дальше импровизируйте
Ответ написан
Комментировать
@crazyASD
Что-то мне сдается, что ломают вас не через дыры вордпресса, а тупо через FTP.
Ответ написан
Комментировать
@egorinsk
У вас на сервере может быть руткит. То есть, злоумышленник получил полный доступ к серверу с правами администратора и что бы вы не делали, он может поменять в любой момент. Способ борьбы с руткитами только один — попросить хостера полностью очистить диск и установить новую версию операционной системы с нуля (после чего вам надо будет установить и настроить веб-сервер и вернуть на место все файлы с кодом и данными). То есть, если у вас руткит, то придется потратить время и деньги.

Если руткита нет, то ситуация лучше. В таком случае, скорее всего, у вас оставлен бекдор, но он не дает прав администратора. Надо перепроверить все файлы с кодом на предмет изменений, все подозрительное удалить. Перепроверить все конфиги на предмет изменений. После этого следить за логами, чтобы увидеть, через какую уязвимость злоумышленник попадает на севрер. Логи, естественно, не только веб-сервера, но и auth.log, логи крона (так как злоумышленник мог оставить свой скрипт в кронтабе). Тщательная проверка опять же, потребует времени и денег.

Кстати, еще бекдор может быть скрыт, например, в теме для вордпресса или плагине — бывают и такие случаи.

> так как админ не мог предоставить даже IP адреса, говорит в логах сервера ничего нет, где в http логах искать непонятно

Скорее всего, он просто недостаточно квалифицирован для этой задачи.

Также, для борьбы с уязвимостями в веб-скриптах можно попробовать применить на сервере разные ограничения вроде safe_mode, disable_functions, но это все костыли, по-хорошему надо не устанавливать сомнительные open source скрипты в открыто доступную папку.

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

Вы, конечно, можете написать жалобу тому хостеру в Нидерландах (приложив логи где видно когда с этого сервера заходили на ваш), но ведь это может оказаться абузоустойчивый (то есть созданный преступниками) хостинг, который не выдаст своих. В таком случае вам могут помочь только правоохранительные органы. но захотят ли они этим заниматься? Вряд ли.
Ответ написан
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Wordfence поставь. Он сверяет хеши файлов с репозиторием, чтобы избавиться от проблемы модификации системных файлов нечестью.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы