Вопросы безопасности WordPress (приняты некоторые меры, но требуется мнение эксперта)

Вопрос или проблема

Как следует из темы, у меня есть некоторые проблемы с безопасностью, и я ищу советы, так как я только начинаю работать с WordPress, поэтому любые идеи будут полезны.

В настоящее время я управляю сайтом WordPress, размещенным на A2 Hosting, где клиент хранит информацию о клиентах (в основном контактные данные) на отдельных страницах WordPress. Хотя я считаю, что это может быть не лучший подход, именно так система была настроена на данный момент, и они хотят, чтобы я гарантировал, что эти данные полностью защищены от несанкционированного доступа, только клиент (чьи данные это) и администратор (мой клиент) должны иметь к ним доступ. Я принял некоторые меры для добавления уровней безопасности на сайте любыми возможными способами, которые смог придумать, например, ограничение доступа к файлам (например, wp-config.php) с помощью правил htaccess, блокировка ботов и поисковых систем с использованием robots.txt (хотя я знаю, что это имеет свои ограничения), некоторые меры по усилению безопасности, такие как отключение xml-rpc, изменение адреса для входа по умолчанию, отключение редактирования файлов, двухфакторная аутентификация и т. д. Я пробовал множество решений, которые нашел в интернете. По поводу фаервола и вредоносных программ A2 Hosting утверждает, что предоставляет обе услуги (хотя я не видел интерфейса фаервола на панели управления, провайдер хостинга настаивает на том, что он активен). Для большего спокойствия я настроил Wordfence для фаервола на уровне приложения и безопасности.

Клиент особенно беспокоится о безопасности учетных данных базы данных, хранящихся в файле wp-config.php в открытом виде. Я применил соответствующие права доступа к файлам и ограничил доступ с помощью .htaccess, но они хотят, чтобы я изучил варианты шифрования учетных данных базы данных в качестве дополнительного уровня защиты на случай, если кто-то получит доступ к этому файлу. Моя забота заключается в том, что даже если учетные данные зашифрованы, хранение ключа расшифровки в безопасном, но доступном месте (например, в переменных окружения или другом конфигурационном файле) кажется бессмысленным, поскольку злоумышленник, получивший доступ к файлам, может найти как ключ, так и учетные данные (это только мое мнение, я не знаю, существует ли жизнеспособное решение). Я ищу экспертный совет о том, является ли шифрование жизнеспособным решением в этом случае или есть лучшие методы для защиты учетных данных базы данных и общей безопасности сайта для обеспечения безопасности базы данных и доступности страниц (я знаю, что мы можем защитить страницы паролем, но мой клиент этого не хочет, так как они хотят, чтобы их клиенты могли получать к ним доступ без особых проблем. Что есть, то есть, наверное). Поэтому любые мнения и рекомендации приветствуются.

Ответ или решение

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

1. Защита базы данных

Вы абсолютно правы, что хранение учетных данных базы данных в файле wp-config.php в открытом виде может вызывать опасения. Хотя вы уже применили правильные разрешения файла и правила .htaccess, существует несколько дополнительных подходов:

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

  • Использование сервиса управления секретами: Если ваш хостинг поддерживает это, использование сервисов управления секретами (например, AWS Secrets Manager или HashiCorp Vault) может добавить дополнительный уровень безопасности.

2. Безопасность сайта в целом

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

  • Регулярные обновления: Убедитесь, что все плагины, темы и сам WordPress всегда обновлены до последних версий, так как большинство изъянов безопасности устраняются в новых обновлениях.

  • Резервные копии: Настройте регулярное резервное копирование сайта и базы данных. Это очень важно для восстановления после потенциальных атак.

  • Использование HTTPS: Убедитесь, что ваш сайт работает по протоколу HTTPS для защиты передаваемых данных.

3. Доступ к страницам с клиентской информацией

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

  • Ограниченная видимость: Рассмотрите вариант использования плагинов, которые предоставляют доступ к страницам на основе ролей пользователя. Например, вы можете разрешить доступ только зарегистрированным пользователям или пользователям с определенной ролью, обеспечивая тем самым некоторую степень защиты.

  • Запись журнала активности: Внедрите логи активности пользователей, чтобы отслеживать, кто и когда получает доступ к конкретным страницам. Это может помочь вам выявить подозрительное поведение.

Заключение

Защита конфиденциальной информации — это многослойный процесс, и вы уже на правильном пути, реализуя множество мер безопасности. Шифрование учетных данных базы данных может быть трудоемким и не всегда эффективным, особенно если ключи для расшифровки могут быть обнаружены. Вместо этого сосредоточьтесь на усилении общей безопасности вашего сайта и контроле доступа к важным данным. Регулярные аудиты безопасности и бэкапы также помогут уменьшить риски.

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

Оцените материал
Добавить комментарий

Капча загружается...