Как обезопасить новую установку Joomla?

34

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

ИЛИАС
источник
1
@ Администраторы: как насчет сообщества вики на этот вопрос?
MattAllegro

Ответы:

36

Обеспечение безопасности сайта Joomla

  1. Используйте надежные пароли.
  2. Минимизируйте количество учетных записей администраторов.
  3. Отключить или удалить неиспользуемые учетные записи пользователей.
  4. Сведите к минимуму количество сторонних расширений, а там, где необходимы сторонние расширения, используйте хорошо поддерживаемые расширения от известных разработчиков, которым вы доверяете.
  5. Регулярно применяйте последние обновления к Joomla и сторонним расширениям, включая исправления безопасности для версий Joomla EOL, где это применимо.
  6. Подпишитесь на новостную ленту Joomla Security, чтобы быть в курсе основных обновлений безопасности Joomla
  7. Подпишитесь на список уязвимых расширений Joomla (VEL), чтобы быстро найти новые уязвимости. Прокрутите вниз до страницы для ссылки подписки - вы также можете следовать VEL на Twitter .
  8. Используйте качественный безопасный веб-хостинг, включая соответствующий обработчик файлов PHP, такой как suPHP или FastCGI, и расширения безопасности, такие как mod_security. Используйте поддерживаемую версию PHP .
  9. Вместо того чтобы полагаться исключительно на резервные копии вашей веб-хостинговой компании, регулярно выполняйте собственные резервные копии веб-сайта, копируйте файлы резервных копий вне сайта и регулярно запускайте тестовые восстановления в тестовом месте, чтобы проверить качество ваших резервных копий.
  10. Включить https.
  11. Внедрите брандмауэр веб-приложений, например, предоставляемый в профессиональной версии Akeeba Admin Tools.
  12. Не используйте стандартный префикс таблицы.
  13. Измените имя пользователя и идентификатор Super Administrator по умолчанию на другое. Профессиональная версия Akeeba Admin Tools содержит инструмент для изменения идентификатора Super Administrator.
  14. Ограничить доступ к Joomla Admin по IP. Разрешить только доверенные IP-адреса.
  15. Включите двухфакторную аутентификацию для учетных записей администратора (относится к Joomla 3.2 и более поздним версиям).
  16. Повторите описанные выше действия для других веб-сайтов, имеющих общую учетную запись хостинга или, в идеале, разделите веб-сайты на собственные учетные записи веб-хостинга, чтобы предотвратить перекрестное заражение.
  17. Убедитесь, что персональные компьютеры администраторов веб-сайтов защищены аналогичным образом. Например, внедрить качественный сканер вирусов и вредоносных программ. Это помогает защитить любые учетные данные сайта, которые хранятся на персональных компьютерах. В идеале используйте инструмент шифрования или приложение для хранения веб-сайта и других учетных данных.
  18. Прочтите Топ-10 самых глупых уловок администратора для информации о том, что не следует делать.

Более подробные инструкции см. В официальном контрольном списке безопасности .

Нил Робертсон
источник
Этот список, вероятно, можно добавить в (не стесняйтесь редактировать). :)
Нил Робертсон
2
Может быть, вы могли бы дать ссылку на «Список уязвимых расширений»? (Я не могу отредактировать ваш ответ по какой-то причине; я могу редактировать другие?)
MrWhite,
Спасибо @ w3d - я добавил ссылку на страницу подписки VEL, а также на ленту новостей Joomla Security.
Нил Робертсон
14

Очень важно хранить резервные копии на отдельном сервере. Я вижу много людей, которые верно работают с резервными копиями Akeeba ... и они хранятся на том же сервере в том же корневом каталоге. Не очень полезно, если вас серьезно взломали, и уж точно не полезно восстанавливаться после сбоя хостинга.

Akeeba Backup Pro позволяет хранить и управлять файлами резервных копий во внешнем хранилище, например в облаке Amazon.

Деб Цинкус
источник
4
Также важно проверять резервные копии на предмет поврежденного сжатия после переноса из вашего хостинг-каталога. Поврежденная резервная копия не является резервной копией. Это касается всех систем резервного копирования, Akeeba, CPanel и так далее.
UhlBelk
7

В качестве альтернативы файлу .htaccess или блокировке его по IP, вы также можете использовать jSecure для защиты вашего имени администратора.

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

Основная идея, вы хотите кого-то, кто ..

  • будет вокруг
  • не летать ночью
  • будет работать с тобой
  • и обеспечивает прочную среду.

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

Надеюсь это поможет.

Дональд Чемпион
источник
6

Попробуйте это тоже,

  • Держите Joomla в актуальном состоянии вместе с его расширениями.
  • Регулярно храните резервные копии вашего сайта в облаках .
  • Не открывайте robots.txtдля защищенных папок.
  • Для последних версий Joomla использование двухфакторной аутентификации будет более безопасным.
  • Убедитесь, что для папок и файлов разрешены права доступа.
  • Используйте Cloudfare для Joomla .

Надеюсь, это помогает ..

Джобин Хосе
источник
5

В основном по моему опыту, с размером Joomla нет никакого способа действительно обеспечить его полностью. Поэтому вместо идеальной политики безопасности, которая останавливает все это, лучше всего снизить ваши ожидания, чтобы попытаться снизить общий ущерб.

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

Большинство хаков, которые мы видим, принадлежат сторонним компонентам или ядру Joomla, мы даже видели, как хаки сумели проникнуть и в последние версии Joomla. Это связано с тем, что хак обычно может выглядеть как обычный запрос, использующий плохую фильтрацию для передачи файла на сервер. Когда файл находится на сервере, все становится честной игрой, он может находиться на ЛЮБОМ сайте на всем общем сервере и по-прежнему влиять на ваш, поэтому, если один человек на общем сервере не обновляется, это может повлиять на вас.

Это может быть немного экстремально, но, основываясь на личном опыте, лучше быть готовым к худшему, а затем быть уверенным, что ваша политика предотвратит все это.

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

Джордан Рамстад
источник
"опусти свои стандарты" ??? Должно ли это быть «улучшить ваши стандарты»
chesedo
Подумал, что это получит отрицательный голос, я просто не хочу, чтобы кто-то думал, что если они будут следовать рекомендациям, они в безопасности. Имейте в виду, снизьте ваши стандарты, так как не ожидайте, что их не взломают, а вместо этого будьте готовы к тому, что это произойдет. Большинство людей, которых я знаю, могут делать резервные копии раз в неделю или раз в месяц, потому что они чувствуют, что их взломали редко, но это не так.
Джордан Рамстад
Тогда вы, вероятно, должны были использовать « преуменьшить ваши ожидания » (чтобы вас не взломали) :)
chesedo
Хорошая заметка, отредактировал это, спасибо. Не пытаясь сказать что-нибудь плохое о Joomla, я люблю это, просто борьба с хакерами никогда не пройдет, так что лучше подготовиться :).
Джордан Рамстад
Совершенно верно - иногда лучший способ помочь - это быть прямым :).
Chesedo
4
  1. Измените имя пользователя и сохраните пароль администратора, используйте двухфакторную аутентификацию (встроенная для 3.3+, для других http://www.readybytes.net/labs/two-factor-authentication.html )

  2. Установите kSecure ( http://extensions.joomla.org/extensions/access-a-security/site-security/login-protection/12271 )

  3. Защитите свой сайт от различных атак с помощью этого htaccess http://docs.joomla.org/Htaccess_examples_(security)

Shyam
источник
3

Заимствование этого списка из документа "Ручное тестирование сайта Joomla", найденного в блоге. Я думаю, что этот список является подробным руководством по основам безопасности Joomla.

  1. Всегда держите вас Joomla в курсе. Установите последнее обновление, как только оно будет выпущено.
  2. Какие бы расширения ни использовались, они должны быть исправлены в последних выпусках обновлений. Любое старое расширение может дать злоумышленнику возможность взломать сайт.
  3. Не используйте расширения, которые не использовались или не были должным образом протестированы.
  4. Все пользовательские данные должны быть правильно проверены. Эти входные данные могут быть входными данными в формах, URI, загрузках изображений и т. Д. Предположим, что если кнопка BROWSE позволяет пользователю загружать изображение, она должна разрешить ему загружать только изображение, а не оболочку PHP, которая впоследствии может работать как бэкдор на сервер.
  5. Используйте надежные пароли для всех входов в систему. Не менее 8 символов, один специальный символ, один номер и одна буква с учетом регистра. Это защитит вашу установку от грубой силы.

  6. Всегда отслеживайте «Последние посетители» в файлах журналов веб-сервера для выявления потенциальных атак. Никогда не считайте свои файлы журналов просто частью информации. Это очень полезно для отслеживания и мониторинга пользователей.

  7. Сделайте акцент на реализации большей безопасности на весь сервер, на котором размещен ваш сайт на Joomla; будучи размещенным на общем сервере или выделенном.

  8. Составьте список всех используемых вами расширений и продолжайте следить за ними.

  9. Будьте в курсе последних уязвимостей и раскрытий в различных советах по безопасности. Exploit-db, osvdb, CVE и т. Д. - некоторые из хороших ресурсов.

  10. Измените разрешение для вашего файла .htaccess, как оно есть по умолчанию, используя разрешения на запись (поскольку Joomla должна его обновить). Лучше всего использовать 444 (r-xr-xr-x).

  11. Должны быть предоставлены надлежащие разрешения для файлов в общедоступных каталогах, чтобы любой вредоносный файл не мог быть загружен или выполнен. Лучшая практика в этом контексте - 766 (rwxrw-rw-), т.е. только владелец может читать, писать и выполнять. Другие могут только читать и писать.

  12. Никто не должен иметь разрешение на запись в файлы PHP на сервере. Все они должны быть установлены с 444 (r-r-r--), каждый может только читать.

  13. Делегируйте роли. Это делает вашу учетную запись администратора в безопасности. Если кто-то взломает ваш компьютер, он должен иметь доступ только к соответствующему пользователю, а не к учетной записи администратора.

  14. Пользователи базы данных должны иметь разрешение только на команды типа INSERT, UPDATE и DELETE. Они не должны быть допущены к DROP таблицам.

  15. Измените имена внутренних папок, например, вы можете изменить / administrator на / admin12345. 16. И последнее, но не менее важное: будьте в курсе последних уязвимостей.

Ф.Фрюин
источник
Дополнительное предложение, объявление 12: никто, кроме веб-сервера, не должен иметь разрешения на чтение файлов PHP на сервере. Установите пользователя на пользователя веб-сервера (www-data или http) и установите его равным 400 или 600 для редактируемых файлов через бэкэнд (css, ...).
Том
3

Ваша первая линия защиты - ваш хостинг

  • Аренда выделенного сервера от надежного хостинга
  • Убедитесь, что вы активировали 2FA на своем сервере и использовали «ОЧЕНЬ СИЛЬНЫЙ» пароль
  • Установите надежный брандмауэр на вашем сервере - я использую ConfigServer
  • Установить / настроить антивирусную программу, использую ClamAV
  • Убедитесь, что каждое имя пользователя веб-сайта НЕ использует первые 8 символов имени домена и использует «ОЧЕНЬ СИЛЬНЫЙ» пароль
  • Убедитесь, что на каждом сайте установлен сертификат SSL
  • Убедитесь, что каждый веб-сайт находится в тюрьме, что означает, что он не имеет доступа с правами root, если вам не нужен доступ к корневому каталогу сервера. В этом случае убедитесь, что у вас установлена ​​и настроена Secure Shell (SSH). Я использую свой веб-сайт домена сервера, но все остальные веб-сайты находятся в тюрьме.
  • Убедитесь, что все обновления сервера установлены быстро !!!!

Ваша следующая линия защиты - ваша cPanel

  • Используйте «ОЧЕНЬ СИЛЬНЫЙ» пароль
  • Настройка надежности пароля пользователя для пользователей
  • Настройте задачу cron для полного резервного копирования cPanel и сохранения во внешний источник
  • Убедитесь, что cPanel настроен на использование SSL для доступа
  • Запустите «Проверка безопасности сайта», чтобы увидеть, какие другие настройки могут быть необходимы
  • Убедитесь, что все обновления cPanel установлены быстро !!!!

Ваша следующая линия защиты - ваша панель администратора

  • Отредактируйте требования к формату пароля, чтобы обеспечить надежные пароли (прописные / строчные буквы, цифры и не менее 1 знака препинания с минимальной длиной 18 символов).
  • Включить 2FA для пользователей - использовать для учетных записей суперпользователя и администратора
  • Ограничить количество учетных записей суперпользователей (лучше всего иметь только одну)
  • Ограничьте количество учетных записей администратора (чем меньше, тем лучше)
  • Ограничьте области, к которым могут получить доступ администраторы
  • Ограничьте области, к которым издатели, редакторы и авторы могут получить доступ
  • Установите и настройте AdminTools
  • Установите пароль администратора URL через AdminTools
  • Убедитесь, что для критических файлов (HTACCESS, ROBOTS.TXT, WEBCONFIG, INDEX.PHP (как корневых, так и шаблонных) задано значение 444. Все еще можно редактировать файлы с помощью файлового менеджера панели управления cPanel pr Plesk
  • Установите и настройте AkeebaBackup
  • Настройте AkeebaBackup для внешнего сохранения резервных копий
  • Устанавливайте надстройки только через страницы Расширения Joomla, никогда не устанавливайте надстройки от сторонних разработчиков, которых нет на странице Расширения Joomla.
  • Отключите и / или удалите надстройки, которые не используются и не нужны для работы Joomla
  • Установите Joomla и обновления дополнений в кратчайшие сроки!

Я уверен, что есть и другие шаги, но это основные, которые я использую на своем сервере, на котором размещено более 70 веб-сайтов со всей страны. Недавно у меня была массивная атака, подобная DDoS-атаке, и ни один сайт не был доступен. Я чувствовал себя 10 футов ростом и пуленепробиваемым, но я знаю, что не могу быть удовлетворенным, потому что завтра другой день! смешно

Люк Дуглас
источник
-4
  1. Я не фанат двухфакторной аутентификации

  2. Установите Akeeba Admin Tools, включите расширенный htaccess, проверьте параметры и программный брандмауэр

https://www.akeebabackup.com/download/admin-tools.html

  1. Включить внутренний URL-пароль
Анибал
источник
1
Не могли бы вы рассказать, почему вы не являетесь поклонником двухфакторной аутентификации?
Chesedo
2
Я вижу - это имеет смысл. Но почему бы не использовать его среди пунктов, чтобы помочь с безопасностью? Если вы хотите, чтобы это было в вашем посте, то почему бы не указать это вместе с указанием причины?
chesedo
1
Вы правы. Я только учусь отвечать на вопросы здесь ;-) Кстати, этот ответ получил -2 :-(
Анибал
4
Оставим это как первый наивный ответ в системе этого автора. У этого есть некоторое очарование по-своему.
Анибал
1
Хехе! Действительно, смысл системы SE - «получать лучшие ответы» или делать хорошие ответы лучше - я бы предложил, чтобы ваш ответ с его объяснением мог быть удален и добавлен в качестве комментария, так как вместе с объяснением он действительно улучшает понимание влияние двухфакторной аутентификации при решении вопросов безопасности.
NivF007