Борьба с взломом сайта

Главные вкладки

Аватар пользователя roman-yrv roman-yrv 7 июня 2016 в 15:56

Добрый день.

Вопрос не по Drupal, в по вопросам взлома сайта.

Так вот, есть один проект, реализованный на старом движке (не Drupal). И туда периодически записываются вредоносные скрипты, предназначенные, как я понимаю, для спама или еще чего. Они имеют названия типа blog.php, gallery.php и т.д. Проект хостится на VPS c CentOS.

Хочу задать несколько вопросов специалистам по администрированию.

1. Подскажите, как можно отследить, каким образом эти вредоносные файлы оказываются на хостинге. Через что они записываются туда ? Пароли я постоянно меняю, у меня на компьютере стоит платный DrWeb, вирусов не обнаружено.

2. Есть ли какой-нибудь сервис под CentOS, который при запуске просто тупо запрещал бы запись таких-то файлов по такому-то пути, включая дочерние ? Например, запретить запись php-файлов в такую-то папку и вложенные подпапки. То есть, я бы его запускал по умолчанию, а при необходимости на время останавливал.

3. Может, есть другие способы решения этого вопроса ? Советы, типа "обновить движок до последней версии" и вообще "перейти на Drupal 7 последней версии", пожалуйста, не пишите - это будет уж точно не быстро и недешево.

Комментарии

Аватар пользователя roman-yrv roman-yrv 7 июня 2016 в 17:59

У меня сервер vstfpd, также используется ISPManager.
Если не трудно, дайте наводку, как можно настроить для определенного пользователя работу с FTP только с определенных адресов ?
В инете ничего вразумительного не нашел.

Аватар пользователя gun_dose gun_dose 7 июня 2016 в 19:26

Согласен, три семёрки хороший портвейн, но если сделать мини-бар на сервере, то какие-нибудь алкаши точно взломают

Аватар пользователя Studio VIZA Studio VIZA 7 июня 2016 в 19:41

roman-yrv wrote:

как можно настроить для определенного пользователя работу с FTP только с определенных адресов ?

Проще грохнуть пользователя фтп, при желании создать 3 сек. А так нет - пользователя, нет проблемы. К базе ограничить по айпи можно.

Аватар пользователя roman-yrv roman-yrv 7 июня 2016 в 20:23

Я установил другой ftp-сервер (proftpd), он, как пишут, позволяет ограничивать доступ по IP.
Сейчас с этим разбираюсь.

Аватар пользователя Mihail.space Mihail.space 7 июня 2016 в 22:41

А зачем ftp сервер? Пользователи сайта обмениваются файлами друг с другом через сервер, используя ftp?
Если нет, то пользователю сервера в чьей директории находится домен сайта можно заливать файлы через SFTP-SSH File Transfer Protocol в Filezilla, а сервер ftp снести вообще. Или сайтик в ядровой паке www крутится?

Аватар пользователя bsyomov bsyomov 8 июня 2016 в 20:32

А по логу видно, что файлы залиты по ftp заражённые?
Я практически уверен, что на самом деле, проблема вообще не связана с ftp, и файлы заливаются через дыру сайта.
Это случается куда чаще, чем утечка паролей ftp, и тем более, чем компрометация ftp сервера.

1. Логи.
2. Изучите матчасть про пользователей и права в linux. Никакого дополнительного по не требуется.
3. Безусловно, обновить скрипт если это вообще возможно, или искать дыру если нет.

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

Аватар пользователя dashiwa dashiwa 8 июня 2016 в 22:26

bsyomov wrote:

Рассказать как бороться с такого рода проблемами просто не реально - это масштабы большой книги, и целая профессия.

Полностью согласен

Аватар пользователя roman-yrv roman-yrv 8 июня 2016 в 22:33

Ну а такое решение, как наличие "демона", который будет запрещать сохранять php-файлы в некоторой папке и её дочерних папках всех уровней, могло бы помочь ?
Или вообще всем запрещать, пока этот демон не деактивировать, или, например, только для root это разрешать ?

Аватар пользователя bsyomov bsyomov 8 июня 2016 в 22:49

Зачем для этого демон? Запретить создавать файлы можно средствами ОС, отобрав у пользователя под которым запущен скрипт соответствующие права, или сменив владельца папок/файлов. Ну и естественно, не только php файлы, а файлы вообще надо запретить создавать.
А там, где пользователю, из под которого запускается скрипт надо писать файлы, и только там, надо разрешить (например это папка кеша или загрузки), но при этом, надо запретить выполнение php скриптов в этой папке (например engine off, или соответствующим локейшеном nginx или ещё как-нить в зависимости от софта).