LINUX.ORG.RU

История изменений

Исправление shell-script, (текущая версия) :

В коде какой-нибудь формы ввода сайта/плагина разработчики забыли сделать валидацию, злоумышленник вбил туда однострочник, который прописался в код шаблона сайта куда-нить в дебри footer'а и теперь выполняется каждый раз на каждой странице твоего файла.

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

Или в какой-нибудь плагин, модуль яваскрипта или пхп внедрили вредоносный код, которой прозевали мантейнеры и это прилитело к тебе с обновлением.

Разнообразные sql-injections.

Это самые простые и очевидные способы, которым уже сто лет в обед, но всё-равно регулярно выскакивают новости о новых подобных косяках. На самом деле этих способов огромное количество.

Если уже залезли - то бекапы, поиск типовых ошибок по базам(выше я писал), но это тоже не панацея.

Варианты предотвращения: держать весь код сайта в readonly, выделив отдельную директорию для загружаемого контента и запретив запуск чего бы то ни было из этой директории; следить за обновлениями, подписаться на рассылку и ченджлоги используемых CMS; регулярные инкрементные бекапы, чтобы откатиться можно было не на условную вчерашнюю версию, потому как не всегда известно, когда сайт был взломан и возможно в бекапе уже сидит зловред; настроить систему мониторинга на анализ активности(ну, например, чаще всего со среднестатистического сайта не может быть исходящих коннектов - т.е. если мы увидим в мониторинге от пользователя www-data коннект на подозрительный адрес, нужно как минимум увидеть это в варнингах). И это тоже далеко не полный список.

Исходная версия shell-script, :

В коде какой-нибудь формы ввода сайта/плагина разработчики забыли сделать валидацию, злоумышленник вбил туда однострочник, который прописался в код шаблона сайта куда-нить в дебри footer'а и теперь выполняется каждый раз на каждой странице твоего файла.

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

Или в какой-нибудь плагин, модуль яваскрипта или пхп внедрили вредоносный код, которой прозевали мантейнеры и это прилитело к тебе с обновлением.

Это самые простые и очевидные способы, которым уже сто лет в обед, но всё-равно регулярно выскакивают новости о новых подобных косяках. На самом деле этих способов огромное количество.

Если уже залезли - то бекапы, поиск типовых ошибок по базам(выше я писал), но это тоже не панацея.

Варианты предотвращения: держать весь код сайта в readonly, выделив отдельную директорию для загружаемого контента и запретив запуск чего бы то ни было из этой директории; следить за обновлениями, подписаться на рассылку и ченджлоги используемых CMS; регулярные инкрементные бекапы, чтобы откатиться можно было не на условную вчерашнюю версию, потому как не всегда известно, когда сайт был взломан и возможно в бекапе уже сидит зловред; настроить систему мониторинга на анализ активности(ну, например, чаще всего со среднестатистического сайта не может быть исходящих коннектов - т.е. если мы увидим в мониторинге от пользователя www-data коннект на подозрительный адрес, нужно как минимум увидеть это в варнингах). И это тоже далеко не полный список.