Jey Val Star

Как обезопасить WORDPRESS

    Рекомендуемые сообщения

    Jey Val Star    13
    Jey Val Star

    Здравствуйте.

    Есть сайт на wordpress. На хостинг сайт попал 31.12.2014. Сам хостинг Зарегистрирован 30,12,2014.

    Вчера (06,01,2015) сайт заблокировали - "нарушение правил рассылка Спама".

     

    В архиве сайта (от хостера) НОД 32 (8 версия) нашел только один файл - sys.php в папке темы.

     

    Хостер указал что его антивирус нашел 15 файлов

     

     

    /wp-content/plugins/all-in-one-seo-pack/title.php: Php.Trojan.StopPos                 

    /wp-content/plugins/event-calendar-newsletter/config.php: Php.Trojan.               
    /wp-content/plugins/contact-form-7/wp-contact-form-7.php: Php.Trojan.                
    /wp-content/plugins/contact-form-7/includes/css/proxy.php: Php.Trojan           
    /wp-content/plugins/contact-form-7/modules/response.php: Php.Trojan.S             
    /wp-content/plugins/akismet/img/view.php: Php.Trojan.StopPost FOUND
    /wp-content/themes/elizav/img/cache.php: Php.Trojan.StopPost FOUND
    /wp-content/blog.php: Php.Trojan.StopPost FOUND
    /wp-includes/feed-rss2.php: Php.Trojan.StopPost FOUND
    /wp-includes/class-smtp.php: Php.Trojan.StopPost FOUND
    /wp-includes/category.php: Php.Trojan.StopPost FOUND
    /wp-includes/template.php: Php.Trojan.StopPost FOUND
    /wp-includes/ID3/module.audio-video.matroska.php: Php.Trojan.StopPost         
    /wp-includes/js/tinymce/plugins/wpgallery/img/option.php: Php.Trojan.          
    /wp-includes/js/swfupload/config.php: Php.Malware.Mailbot-1 FOUND

    Но этих файлов нет в архиве. И нод на них не ругался...

     

    Вопрос: как обезопасить WoredPress?

     

    PS доступ к админке был тупым (admin/123456) - владелец сайта должен был сам поменять (по договору).

    Есть вероятность что мой комп заражен и через Filezila злоумышленник получил доступ к FTP

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    rus    399
    rus

    у Filezila была такая проблема, все пароли и логины от ftp хранились в открытом виде в xml файле программы.

    чистите комп, потом меняйте пароли от ftp, иных способов не вижу... хотя еще как вариант можно поменять хостера.

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    Jey Val Star    13
    Jey Val Star

    Вот со вторым (смена хостера) боюсь проблема выйдет.

    а через сам wordpress (через админку) залить shell возможно?

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    rus    399
    rus

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

    короче говоря вордпресс тут вряд ли при чем.

    еще как вариант посмотрите логи, и сравните даты...

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    Jey Val Star    13
    Jey Val Star

    файлы, что шли с архивом (.log) пустые.

    Сами файлы с вредным кодом изменены 05,01,2015, а другие 31,12,2014.

     

    Насколько я понял - скорее это дырка в ftp (залили получив доступ по ftp)?

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    hedgehog    149
    hedgehog

    а через сам wordpress (через админку) залить shell возможно?

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

     

    Кроме того, в последнее время подлатали немало критических дыр, советую обновляться :) Это, кстати, относится как к Вордпрессу, так и темам/плагинам

     

    Ну и на закуску для повышения безопасности (что-то из этого умеет мониторить изменения в файлах, а что-то даже сканить на предмет малвари):

    https://wordpress.org/plugins/wordfence/

    https://wordpress.org/plugins/sucuri-scanner/

    https://wordpress.org/plugins/better-wp-security/

     

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    rus    399
    rus

    hedgehog, а разве шелл не из под рута должен запускаться? по крайней мере там права должны отличаться от php, не?

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    hedgehog    149
    hedgehog

    hedgehog, а разве шелл не из под рута должен запускаться? по крайней мере там права должны отличаться от php, не?

     

    Не совсем :) далеко не везде ты можешь вообще как владелец сайта получить рута, а злоумышленнику это и подавно не нужно. Задача - удаленный шел, т.е. скрипт, который позволит ему через веб (пхп скрипт) получить досутп к консоли. Это позволит, например, иметь полный доступ к файловой системе и заливать разные там ботнеты, пихать мылварь и так далее. Как раз недавно такое говно вычищал...

     

    Обычно это файлик с кодом, запрятанным в base64 несколько раз, возможно выполняемый через eval (который может быть "перевернут", в моем случае это было lave :) ) , который принимает команды через POST/GET и выполняет их

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    Jey Val Star    13
    Jey Val Star

    А если использовать вариант запрета выполнения скрипта в папке через htaccess?

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    hedgehog    149
    hedgehog

    А если использовать вариант запрета выполнения скрипта в папке через htaccess?

    Крутая тема  :yahoo:

     

    Вот только ты это можешь сделать в аплоадах (можно и нужно), а вот все остальное тебе выйдет боком. Если запретишь выполнять скрипты, как сайт работать будет?

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    ShumNo    225
    ShumNo

    По мне так любой код популярной cms безопасен. Если сайт тем не менее был взломан через уязвимость системы, то к сожалению пользователь на 99% ничего сделать не может так как не сможет провести 100% аудит кода и исправить те критические уязвимости, которые там содержатся - это задача разработчиков и комьюнити системы.

     

    Я полагаю, что владелец сайта должен трепыхаться не за безопасность сайта в прямом виде, а за:

    • следить за критическими обновлениями и максимально быстро их накатывать
    • иметь бекапы системы (проверенные). частота создания бекапа зависит от частоты изменения контента
    • следить за паролями, за их хранением, задача свести риск компрометации паролей к минимуму и если все такие подобное произошло, то с минимальными потерями восстановить работу (быть готовым к этому).
    • проверить настройки сайта, права и роли, которые получают пользователи.
    • следить за своим компьютером
    • выбирать компетентный хостинг

    Для успокоение себя у многих систем есть модуль проверки файлов движка.

    При соблюдении даже некоторых правил, риск, что сайт будет взломан крайне сильно падает. При соблюдении всех мер предосторожности риск взлома стремится к 0

    • Like 1

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    Erenbur    8
    Erenbur

    Добавлю мысль. Чего я сделал и всем советую. Регистрируете нового пользователя и даете ему права админа. Потом самого админа делаете простым пользователем. Злоумышленник будет пытаться подобрать пароль к логину admin. Даже если получится, то сделать с сайтом ничего не сможет.

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    ShumNo    225
    ShumNo

    Может это и действенно, НО, по крайней мере у меня так:
    1. нельзя допускать систему, когда пароли можно брутить - 3 попытки и блокирование

    2. нельзя допускать чтобы пароль вообще брутился - 16 символов пароля и спим спокойно

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    Erenbur    8
    Erenbur

    Может это и действенно, НО, по крайней мере у меня так:

    1. нельзя допускать систему, когда пароли можно брутить - 3 попытки и блокирование

    2. нельзя допускать чтобы пароль вообще брутился - 16 символов пароля и спим спокойно

     

      :rofl:

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    Erenbur    8
    Erenbur

    P.S. Серега, не обижайся! В удовольствие стебусь, настроение хорошее :)))

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    ShumNo    225
    ShumNo

    Та я разве обижаюсь на кого когда? :)

    Тем более на юмор :)

     

    12 символов в пароле кстати брутятся на хорошей ферме довольно быстро, а вот уже 16 анреал - то ли годы нужны то ли десятки лет, то есть смысла нет.

     

    Так же последнее время закрываю и в htaccess доступ к путям, например административное управление в друпале идет /admin/*  папки такой нет, но есть путь

    <FilesMatch "^admin$">AuthName "Hello"AuthType BasicAuthUserFile /путь до файла с паролями/.htpasswdRequire valid-user</FilesMatch>

    Так же по хорошему не надо пользоваться ftp либо его блокировать на время когда он ненужен
    Можно еще авторизовываться по ftp только с определенного ip

    делаем в корне файл ftp.allow   в котором пишем наш ip

     

    в общем способов много, чтобы в случае компрометации какого-то пароля злоумышленник не смог преодолеть какой-то барьер

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    rus    399
    rus
    делаем в корне файл ftp.allow в котором пишем наш ip

    ты наверное хотел сказать: .ftpaccess ?

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    wwt    608
    wwt

    если это VDS то FTP можно вообще удалить и использовать для загрузки файлов SFTP

     

    12 символов в пароле кстати брутятся на хорошей ферме довольно быстро, а вот уже 16 анреал - то ли годы нужны то ли десятки лет, то есть смысла нет.

     

    тут ещё имеет значение какие наборы символов используются. 12-значный пароль состоящий только из цифр будет брутится быстрее чем состоящий из цифр и букв, а если добавить туда ещё спец символы, добавить зависимость от регистра, добавить русские буквы, тогда все становится совсем по другому.

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    ShumNo    225
    ShumNo


    делаем в корне файл ftp.allow в котором пишем наш ip

    ты наверное хотел сказать: .ftpaccess ?

    Да, на разных виртуальных хостингах по разному

     


    если это VDS то FTP можно вообще удалить и использовать для загрузки файлов SFTP
     
     
     

    12 символов в пароле кстати брутятся на хорошей ферме довольно быстро, а вот уже 16 анреал - то ли годы нужны то ли десятки лет, то есть смысла нет.

     
    тут ещё имеет значение какие наборы символов используются. 12-значный пароль состоящий только из цифр будет брутится быстрее чем состоящий из цифр и букв, а если добавить туда ещё спец символы, добавить зависимость от регистра, добавить русские буквы, тогда все становится совсем по другому.

    Это да, если добавить еще китайский, то и 9 символов будут устойчивы :)

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    wwt    608
    wwt
    Это да, если добавить еще китайский, то и 9 символов будут устойчивы :)

    сомневаюсь что много русскоязычных знают китайский или смогут визуально запомнить пароль с иероглифами =))

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    ShumNo    225
    ShumNo

    Это да, если добавить еще китайский, то и 9 символов будут устойчивы :)

    сомневаюсь что много русскоязычных знают китайский или смогут визуально запомнить пароль с иероглифами =))
    А если некоторые буквы по некоторому алгоритму заменять на китайские иероглифы? Если злоумышленник получит доступ только к БД то к своему удивлению он не отбрутит ни один хеш потому как не будет рассчитывать такой подставы )

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    wwt    608
    wwt
    Если злоумышленник получит доступ только к БД то к своему удивлению он не отбрутит ни один хеш потому как не будет рассчитывать такой подставы )

     

    это же "соль" обыкновенная =)

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    ShumNo    225
    ShumNo

    пускай соль, только не хранить ее в БД и соль китайская :)

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    wwt    608
    wwt
    пускай соль, только не хранить ее в БД и соль китайская :)

    ну соль обычно и не хранят в базе. Кстати был у меня случай правил скрипты написанные не знаю даже кем, там программист видимо в школе изучал немецкий язык, там наименования переменных и функций были на немецком и соль была в виде куска стихотворения на немецком языке =)))

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    ShumNo    225
    ShumNo

    так соль надо рандомную уникальную для каждого пароля...

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах

    Создайте аккаунт или войдите в него для комментирования

    Вы должны быть пользователем, чтобы оставить комментарий

    Создать аккаунт

    Зарегистрируйтесь для получения аккаунта. Это просто!

    Зарегистрировать аккаунт

    Войти

    Уже зарегистрированы? Войдите здесь.

    Войти сейчас

    • Войти через Facebook
    • Войти через Twitter
    • Войти через Microsoft
    • Войти через LinkedIn
    • Войти через Google