Открытые резервные копии и файлы без ссылок и как их найти
Опубликовано: 2021-08-24Обеспечение безопасности вашего WordPress включает в себя непрерывный процесс тестирования, укрепления, мониторинга и улучшения. Администраторы WordPress могут позаботиться о нескольких вещах, чтобы обеспечить безопасность своих веб-сайтов. От обеспечения соответствия паролей определенным критериям до усиления безопасности PHP — эти процессы могут иметь большое значение, помогая вам обеспечить бесперебойную и чистую работу корабля. Одна вещь, которую часто упускают из виду, — это незащищенные резервные копии и файлы без ссылок. Эти файлы могут представлять угрозу безопасности, с которой можно легко справиться, следуя рекомендациям.
WordPress использует каталоги для организации информации. Все страницы и медиа находятся в этой структуре. В типичной установке эта структура будет выглядеть примерно так: var/www/html/wordpress/wp-content.
Веб-серверы, в том числе серверы, на которых размещены веб-сайты WordPress, обычно настроены на обслуживание клиентов всеми файлами, находящимися в определенном каталоге. Есть несколько исключений, таких как файлы PHP; однако, если администратор явно не заблокировал доступ, есть вероятность, что если клиент запрашивает его, веб-сервер обязуется.
Вообще говоря, это хорошо, и это то, что вы хотите, поскольку именно так файлы, относящиеся к вашим веб-страницам, такие как файлы CSS, файлы JS и изображения, предоставляются посетителю. Однако такое поведение также означает, что вы можете непреднамеренно обслуживать файлы, которые вы никогда не планировали показывать публике, такие как резервные копии и файлы без ссылок.
Что такое резервные копии и файлы без ссылок?
Как следует из названия, резервные копии и файлы без ссылок — это фактические резервные копии, которые могут быть резервными копиями определенных файлов, обычно создаваемых при редактировании файлов, таких как файлы конфигурации, или даже полными резервными копиями. Понимание того, что представляют собой эти файлы резервных копий и как они генерируются, — это первый шаг, который необходимо предпринять для решения проблемы.
Есть много причин, по которым вам может понадобиться редактировать файлы WordPress. Однако редактирование файлов вашего сайта WordPress без предварительного резервного копирования требует некоторой нервотрепки — одна отсутствующая точка с запятой может вывести ваш сайт из строя!
Конечно, поскольку такие ошибки легко допустить, не рекомендуется редактировать файлы непосредственно на рабочих веб-серверах. Передовой опыт говорит нам сначала тестировать любые изменения на тестовом или промежуточном сервере. Только после тщательного и успешного тестирования изменения могут быть перенесены на рабочий/рабочий сервер.
Однако в реальной жизни не всегда соблюдаются лучшие практики. Это может быть особенно верно, когда это крошечное изменение. Процесс загрузки файла, внесения изменений, тестирования и повторной загрузки может занять значительно больше времени, чем редактирование файла на рабочем сервере. Мы все были там.
Редактирование на живом сервере может быть очень простым. С клиентом SSH и Vi (или Vim, если вы предпочитаете улучшенную версию) вы можете творить чудеса. Как только вы подключитесь к серверу и доберетесь до каталога, скорее всего, вы сначала сделаете резервную копию файла (например, wp-config.php.bak), отредактируете активный файл, убедитесь, что все в порядке, и это все хоки-дори. Однако этот файл резервной копии, оставленный в папке (на всякий случай, вы знаете), может стать источником многих болей. Скорее всего, любой может загрузить его, а вместе с ним и всю конфигурацию в виде обычного текста, не меньше.
Более того, многие администраторы WordPress могут не знать, что редактирование файлов на месте с помощью редактора файлов, такого как Vim, может автоматически создавать файлы резервного копирования, восстановления и блокировки. Vim создает эти файлы, чтобы вы могли восстановить свою работу, если Vim неожиданно выйдет из строя. Хотя это, несомненно, ценная функция, это также означает, что вы можете непреднамеренно оказаться с файлами резервных копий, которые вы никогда не собирались создавать, разбросанными по всему вашему веб-сайту, ожидая, пока кто-нибудь получит доступ.
Точно так же резервные копии целых каталогов, оставленные в общей папке, могут быть такими же разрушительными. Хотя создание резервных копий вашего веб-сайта WordPress имеет решающее значение, это необходимо делать безопасно, не создавая новых угроз безопасности. Подробнее об этом мы поговорим далее в этой статье.
Типичные примеры файлов резервных копий включают переименованные старые версии измененных файлов конфигурации, файлы PHP или другой исходный код, а также автоматические или ручные резервные копии в виде сжатых архивов (таких как архивы .zip, .gz или .tar.gz).
С другой стороны, файлы без ссылок — это потерянные файлы, которые из-за конфигурации или дизайнерского решения оказываются там, где им не место.
Каковы риски?
Случайно оставленные доступными резервные копии и файлы без ссылок могут привести к утечке конфиденциальной информации. В зависимости от файла конфиденциальные данные могут включать параметры конфигурации или исходный код, которые помогают злоумышленникам лучше понять, как работает ваш веб-сайт, что упрощает разработку атаки на ваш веб-сайт. В некоторых случаях пароли, которые могут дать злоумышленникам контроль над всей установкой WordPress, также могут быть утеряны.
Есть несколько способов найти оставшиеся файлы на вашем веб-сервере. В то время как некоторые из методов требуют определенных технических знаний, другие так же просты, как поиск в Google, что увеличивает риск разоблачения. Если вы не уверены, есть ли у вас оставшиеся файлы на сервере, продолжайте читать, чтобы узнать, как их искать и находить раньше, чем это сделает кто-то другой.
Как найти файлы резервных копий и файлы без ссылок на вашем сайте WordPress
Есть несколько различных методов, которые можно использовать для поиска резервных копий и файлов без ссылок. Как владелец сервера, у вас есть преимущество, поскольку вы можете сделать это более непосредственно. В этом разделе будут рассмотрены эти различные инструменты, начиная с инструментов, которые вы можете использовать для поиска и удаления этих файлов. Затем мы посмотрим, как любопытный кот может найти резервные копии и файлы без ссылок на вашем сервере.
При поиске файлов резервных копий, которые вы могли оставить на своем веб-сервере, вы можете воспользоваться одним (или несколькими) из трех подходов. Самый простой способ — установить плагин, который отслеживает изменения в файлах. В качестве альтернативы вы можете попытаться найти файлы резервных копий, оставшиеся в файловой системе, с помощью инструментов командной строки, таких как find, или вы можете попытаться найти файлы резервных копий, используя метод, называемый фаззинг .
Плагин контроля целостности файлов
Решение для мониторинга целостности файлов для WordPress может легко помочь отслеживать изменения файлов на вашем веб-сервере и предупреждать вас, если обнаруживает, что что-то было добавлено, удалено или изменено.
Этого можно добиться с помощью плагина Website File Changes Monitor. Плагин берет отпечаток ваших каталогов, а затем сравнивает его с последующими отпечатками пальцев. По сути, он работает по тем же принципам, что и контрольная сумма, что делает его очень безопасным и надежным.
Монитор целостности файлов может быть особенно эффективным, если вы не имеете доступа ко всем каталогам, используемым WordPress. Еще одним существенным преимуществом этого плагина является то, что мониторинг автоматизирован, поэтому вам не нужно помнить о проверке файлов — плагин делает это автоматически.
Находить
Давайте теперь посмотрим, как мы можем найти файлы резервных копий с помощью команды find. Следующая команда будет искать несколько часто используемых расширений файлов, которые используются при создании файлов резервных копий.
find /var/www -type f \( -name '*.bak' -o -name '*.backup' -o -name '*.bac' -o -name '*.zip' -o -name '* .tar' -o -name '*.jar' -o -name '*.log' -o -name '*.swp' -o -name '*~' -o -name '*.old' -o - name '*.~bk' -o -name '*.orig' -o -name '*.tmp' -o -name '*.exe' -o -name '*.0' -o -name '*. 1' -o -name '*.2' -o -name '*.3' -o -name '*.gz' -o -name '*.bz2' -o -name '*.7z' -o - name '*.s7z' -o -name '*.lz' -o -name '*.z' -o -name '*.lzma' -o -name '*.lzo' -o -name '*.apk ' -o -name '*.cab' -o -name '*.rar' -o -name '*.war' -o -name '*.ear' -o -name '*.tar.gz' -o -name '*.tgz' -o -name '*.tar.z' -o -name '*.tar.bz2' -o -name '*.tbz2' -o -name '*.tar.lzma' - o -name '*.tlz' -o -name '*.zipx' -o -name '*.iso' -o -name '*.src' -o -name '*.dev' -o -name '* .a' -o -name '*.ar' -o -name '*.cbz' -o -name '*.cpio' -o -name '*.shar' -o -name '*.lbr' -o -name '*.mar' -o -name '*.f' -o -name '*.rz' -o -name '*.sfark' -o -name '*.xz' -o -name '*. ace' -o -name '*.afa' -o -name '*.alz' -o -name '*.arc' -o -nam e '*.arj' -o -name '*.ba' -o -name '*.bh' -o -name '*.cfs' -o -name '*.cpt' -o -name '*.dar ' -o -name '*.dd' -o -name '*.dgc' -o -name '*.dmg' -o -name '*.gca' -o -name '*.ha' -o -name '*.hki' -o -name '*.ice' -o -name '*.inc' -o -name '*.j' -o -name '*.kgb' -o -name '*.lhz' -o -name '*.lha' -o -name '*.lzk' -o -name '*.pak' -o -name '*.partimg.' -o -name '*.paq6' -o -name '*.paq7' -o -name '*.paq8' -o -name '*.pea' -o -name '*.pim' -o -name '*.pit' -o -name '*.qda' -o -name '*.rk' -o -name '*.sda' -o -name '*.sea' -o -name '*.sen' -o -name '*.sfx' -o -name ' *.sit' -o -name '*.sitx' -o -name '*.sqx' -o -name '*s.xz' -o -name '*.tar.7z' -o -name '*. tar.xz' -o -name '*.uc' -o -name '*.uc0' -o -name '*.uc2' -o -name '*.ucn' -o -name '*.ur2' - o -name '*.ue2' -o -name '*.uca' -o -name '*.uha' -o -name '*.wim' -o -name '*.xar' -o -name '* .xp3' -o -name '*.yz1' -o -name '*.zoo' -o -name '*.zpaq' -o -name '*.zz' -o -name '*.include' -o -name '*_1' -o -name '*_2' -o -name '*_x' -o -name '*bak' -o -name '*_bak' -o -name '*old' -o -name '*_old' -o -name '*_a' -o -name '*_b' -o -name '*_c' -o -name '*_d' -o -name '*_e' -o -name '*_f' -o -name '*inc' -o -name '*_inc' -o -name '*_backup' -o -name '* — Копия' -o -name '* — Копия (2)' -o -name '* — Копия (3)' -o -name '*backup' -o -name '*-backup' -o -name '*-bak' -o -name '*-old' -o -name '*-1' -o -name '*-2' -o -name '* — Копировать — Копировать' -o -name '*( copy)' -o -name '*(другая копия)' -o -name '*(вторая копия)' -o -name '*(третья копия)' -o -name '*(четвертая копия)' -o - name '*(2-я копия)' -o -name '*(3-я копия)' -o -name '*(4-я копия)' -o -name '* (копия)' -o -name '* (другая копия) '-o -name '* (вторая копия)' -o -name '* (третья копия)' -o -name '* (четвертая копия)' -o -name '* (2-я копия)' -o -name ' * (3-я копия)' -o -name '* (4-я копия)' -o -name 'Копия *' -o -name 'Копия (2) *' -o -name 'Копия (3) *' -o -name 'Копия копии *' -o -name 'backup*' -o -name 'backup_*' -o -name 'backup_*' -o -name 'bak*' -o -name 'bak_ *' -o -name 'бак-*' -o -name'old*' -o -name 'old_*' -o -name 'old-*' -o -name '1*' -o -name '1_*' -o -name '1-*' -o -name '2*' -o -name '2_*' -o -name '2-*' \)
Фаззинг
В следующем методе используется инструмент на основе командной строки под названием ffuf со списком слов (список имен файлов и путей к файлам, собранный в виде обычного текста), который фокусируется на файлах WordPress. ffuf можно настроить для выполнения запросов с использованием разделенного запятыми списка распространенных расширений файлов резервных копий (в этом примере используется только сокращенный список, который включает только .bak и .backup, но на самом деле он, вероятно, будет намного длиннее).
ffuf -u http://example.com/FUZZ -w список слов.txt -e '.bak,.backup'
Поисковая система ищет
Поисковые системы очень хорошо умеют находить и каталогизировать информацию на веб-серверах. Кто-то может сделать это, используя расширенные операторы, которые могут, например, детализировать запрос, чтобы найти определенные типы файлов на данном сервере.
Этот тип поиска также известен как Google Dorking и может использовать комбинацию расширенных фильтров и логических выводов. Вывод — это то, как кто-то, не знающий, что находится на сервере, использует общую информацию, чтобы сделать вывод о том, какие файлы и структуры могут находиться на сервере, а затем ищет эти конкретные вещи.
Сканеры безопасности
Существуют различные типы сканеров, которые могут сканировать каталоги веб-сайта. Первый тип сканера называется поисковым роботом, который представляет собой ту же базовую технологию, которую поисковые системы используют для чтения веб-сайтов. Однако эти типы сканеров не являются исключительными для поисковых систем и могут быть загружены бесплатно.
Сканирование целевого веб-сайта в большинстве стран является незаконным, даже если у вас хорошие намерения. Вы можете и должны использовать сканер только для принадлежащих вам веб-сайтов. Если вы сканируете сторонний веб-сайт, убедитесь, что у вас есть согласие. Тем не менее, кто-то со злыми намерениями может использовать сканер безопасности, чтобы узнать больше о вашем веб-сайте и понять, какие файлы на нем находятся.
Другой тип сканера — это сканер для тестирования на проникновение, который может сканировать веб-сайт на наличие уязвимостей, включая оставшиеся файлы.
Нашли резервную копию или файлы без ссылок? вот что делать
Хранение файлов резервных копий на веб-сайте — не лучшая идея. К сожалению, владельцы и администраторы веб-сайтов WordPress нередко настраивают задания cron (запланированные задачи) для создания резервных копий базы данных только для хранения этих резервных копий на том же сервере. Хотя вы, безусловно, должны делать резервную копию своего веб-сайта, вы должны позаботиться о том, чтобы файлы резервных копий не хранились где-либо в системе, для которой вы создали резервную копию.
Наличие хорошо продуманной стратегии резервного копирования WordPress, соответствующей лучшим практикам, имеет решающее значение не только с точки зрения безопасности, но и в равной степени с точки зрения непрерывности бизнеса. В конце концов, резервные копии ничего не стоят, если вы не можете использовать их для восстановления данных.
Как предотвратить перечисление файлов резервных копий
Как мы видели в этой статье, хранение файлов резервных копий на вашем веб-сайте WordPress может быть довольно рискованным. Таким образом, вы всегда должны использовать тестовую или промежуточную среду для выполнения ваших изменений, прежде чем отправлять их на рабочий/рабочий сервер. Большинство управляемых учетных записей хостинга WordPress поставляются с тестовой средой прямо из коробки. Вы также можете использовать программное обеспечение, такое как Local, которое позволяет запускать экземпляры WordPress на вашем ПК.
Тем не менее, если вы решите хранить файлы резервных копий на своем веб-сервере, в идеале держите их вне каталога, для обслуживания которого вы настроили свой веб-сервер.
Кроме того, настройте права доступа к файлам WordPress, чтобы запретить доступ пользователю веб-сервера — это гарантирует, что даже в случае неправильной настройки веб-сервер не сможет предоставить файл запрашивающему его клиенту. В качестве дополнительной меры рекомендуется зашифровать любые резервные копии базы данных и убедиться, что ключ шифрования недоступен для пользователя веб-сервера.