Проверка безопасности - взлом или повреждение?
Список действий Онлайн
Переведите сайт в режим оффлайн (рекомендуется метод htaccess)
Запустите ассистент записей форума и утилиту безопасности
В архиве содержатся более подробные инструкции. Вам потребуется распаковать архив и загрузить файл fpa-en.php в корень сервера Joomla.
Сканируйте все машины через FTP, суперадмина Joomla и доступ Joomla на вредоносный софт, вирусы, трояны, шпионов и т.д.
Убедитесь, что у вас последняя версия Joomla. Оповестите вашего хостера и попросите помощи для чистки сайта, убедитесь, что нет никаких скрытых путей на сайт.
Просмотрите список уязвимых расширений, чтобы узнать пользуетесь ли вы какими либо из них. Существует файл log, он расскажет о том какие расширения были подвергнуты атаке. Вот пример того, что нужно искать:
//administrator/components/com_extension/admin.extension.php?mosConfig.absolute.path=http:
или
../../../../../../../../../../../../../../../../proc/self/environ
- Ознакомьтесь с Чек-листом Безопасности, чтобы убедиться, что вы прошли все шаги (некоторые необязательны).
- Смените все пароли и, если возможно, логины для контрольной панели домена, mysql, FTP, Joomla Super Admin, пароль администратора Joomla; меняйте их чаще.
- Используйте в пароле не менее 12ти цифр и букв, не используйте фразы.
- Замените все файлы и шаблоны копиями. Проверьте и/или замените все .pdf файлы, изображения. Проверьте журнал сервера на запросы IP к подозрительным файлам, попытки публикации не форматных значений.
- Используйте соответствующие права для файлов и каталогов. Не должны встречаться такие как 777[1], идеальными будут 644 для файлов и 755 для папок.
- Отключите анонимный FTP.
chmod и cron
Если у вас есть доступ к SSH (secure shell) вы можете исправить файлы и папки с помощью chmod. Если у вас нет доступа к командной оболочке, меняйте настройки, запустив временный режим cron. Скопируйте команды в cron, подождите около 2х минут перед сохранением. При использовании этих методов рекомендуется использовать полный физический путь к public_html.
Для использования с файлами найдите:
find /home/xxxxxx/domains/xxxxxxx.com/public_html -type f -exec chmod 644 {} \;
с папками:
find /home/xxxxxx/domains/xxxxxxx.com/public_html -type d -exec chmod 755 {} \;
Для проверки последних изменений в файловой системе за последний день можете использовать эти команды SSH или cron.
find /home/xxxxxx/domains/xxxxxxx.com/public_html -type f -ctime -1 -exec ls -ls {} \;
Обратите внимание на то, что файлы могут быть расположены в public_html, httpdocs,www, или других местах и физический путь к ним будет отличаться от пути в примерах. Отрегулируйте его в соответствии с расположением файлов.
Права 777
Если сервер на котором вы находитесь требует прав 777, чтобы Joomla работала корректно, попросите перенести сайт на другой, с обновлёнными apache, php и т.д. на вашем хостинге, либо на другом.
Чтобы защитить директории используйте этот код в файле .htaccess в открытой папке.
# secure directory by disabling script execution
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI
особенно в папках с изображениями
- Убедитесь, что файл htaccess находится в каталоге, который не запускает никаких скриптов и не удалит никакие расширения. Настоятельно рекомендуется проводить проверки с вашим хостинг провайдером.
Безопасный маршрут
- сохраняйте ваши изображения, configuration.php файл отдельно, а не всей папкой, т.к. в ней могут содержаться нежелательные файлы
- проведите уборку в папке, где установлена Joomla!
- загрузите новый чистый пакет установки Joomla
- перезагрузите ваши файлы configuration.php и изображений
- перезагрузите или переустановите установленные расширения, шаблоны (а лучше использовать шаблоны по умолчанию)
Чтобы сделать это понадобится 15 минут. Чтобы узнать взломан ваш сайт или повреждён html код понадобятся часы, а может и больше.
Локальная безопасность
- Не храните пароль или логин в FTP программах
- Используйте менеджеры паролей, например keepass
- Сканируйте все машины через FTP, суперадмина Joomla и доступ Joomla на вредоносный софт, вирусы, трояны, шпионов и т.д.
- Помните о возможности отката изменений в системе WIndows
Другие советы
- Не используйте стандартный префикс jos_table и избегайте использования пакетов установки в один клик, если это возможно
- Установите joomla sequrity newsfeed (http://feeds.joomla.org/JoomlaSecurityNews?format=xml) главным модулем в административной панели.
- Там где это возможно используйте sFTP вместо FTP
- Никогда не включайте и не позволяйте использование анонимного FTP
- Используйте сервер с правильно установленным mod_security
- Проверьте нет ли добавленных суб-доменов и добавочных директорий
- Проверьте наличие cgi скриптов
- Проверьте cron на активность не заданную администратором
- Установите запрет на любые IP, которые числятся в бане на сайте, но не занесены в бан на прокси-версии
- Проверьте сайт на устранение прошлых атак, были ли все обезврежены
- Попробуйте удалить “Добро пожаловать на главную страницу”, чтобы снизить возможность атак из поисковых систем
- Полностью удалите (а не снимайте чек бокс “использовать”) неиспользуемые или уязвимые расширения
Вредоносный код или незнакомые ссылки на сайте
Убедитесь, что исходный файл шаблона не содержит неизвестного кода или вредоносного JavaScript или проверьте не был ли шаблон скачан с непроверенного сайта
iFrames
В последнем iFrame вредоносный код был обнаружен только в файлах с наиболее распространёнными именами (index.html, index.php и т.п.)
Проверьте себя
- Никогда никаких прав 777
- Несовместимые версии
- Пересмотрите разрешения прямого доступа и логи ошибок
Когда ваш хост провайдер использует PHP как модуль Apache, он выполняется как пользователь/группа веб сервера, отображаемая обычно как “nobody”, “httpd” или “apache”. В соответствии с этим режимом, файлам и каталогам, которые будут прописаны в php скриптах понадобятся права 777 (чтения/создания/удаления в группах/пользователях/на всём сайте). Такое развитие событий абсолютно недопустимо для безопасности сайта. Права 777 не только допускают веб сервер переписывать файлы, но и позволяют редактировать, добавлять и удалять файлы любому пользователю. Если ваш провайдер не в силах этого изменить, настоятельно рекомендуем сменить хостинг!
Журналы
Убедитесь, что в вашей админке присутствуют журналы чистого доступа.
Журналы чистого доступа могут показать кто прошёл на ваш сайт без введения адресов, перехода по ссылкам и любых других видимых способах перехода. Это может быть очень удобно, если хотите быстро посмотреть кто зашёл на сайт. Многие пользователи забывают, что журналы включает пользователь аккаунта на хостинге, но изначально они выключены.
Несовместимые версии
Этот документ подходит для всех версий Joomla. Чтобы восстановить ваш сайт используйте версию совместимую с нынешней. Некоторые версии требуют миграции и переход на другую выведет ваш сайт из строя. Например не переписывайте сайт на 1.5.х.х версией 2.5.х.х. Неподготовленная переустановка просто напросто выведет сайт из строя если не сразу, то со временем.