Полный контрольный список безопасности PHP и лучшие практики WordPress
Опубликовано: 2017-11-03мирсад / stock.adobe.com
Процесс обеспечения безопасности вашего веб-сайта, вероятно, касается того, как защитить ваш сайт WordPress на уровне сервера, а также защитить ваш сайт на уровне файлов. Но нужно ли вам защищать свой язык программирования? Существуют ли передовые методы обеспечения безопасности PHP, которым вам следует следовать? Нужно ли защищать PHP?
Да, да и да.
Если вы управляете веб-сайтом WordPress, но не заботитесь о безопасности своего PHP-кода, вы можете подвергнуться серьезному инциденту.
Использование PHP для разработки вашего веб-сайта WordPress имеет массу преимуществ:
- Его достаточно легко использовать новичку и достаточно гибко для профессионалов в области программирования.
- Он отлично работает на всех платформах (например, Linux, Windows и т. д.).
- Он также очень дружелюбен к WordPress.
- Это может улучшить скорость сайта.
Тем не менее, PHP не лишен недостатков. Приложения, запрограммированные на PHP, могут подвергаться риску из-за:
- SQL-инъекции
- Межсайтовый скриптинг
- Открытые учетные данные для входа
- Перехват сеанса
- Поддельные формы
- И другие неприятные угрозы безопасности
Связанный: Как проверить версию PHP вашего сайта WordPress (и совместимость обновления)
Очевидно, это не означает, что вы откажетесь от желания использовать PHP для программирования вашего веб-сайта WordPress. Это очень надежный и гибкий язык, и при правильной защите он может стать невероятно мощным инструментом, который также помогает оптимизировать ваш процесс.
Следующий контрольный список безопасности PHP научит вас всем передовым методам обеспечения безопасности PHP, которые вам необходимо знать, чтобы обеспечить безопасность вашего языка программирования и приложений, созданных на PHP.
Полный контрольный список безопасности PHP для WordPress
Хотите, чтобы ваш сайт WordPress был защищен от хакеров? Затем вы должны убедиться, что все инструменты, которые вы используете для его создания (включая ваш язык программирования), соответствуют лучшим практикам безопасности. В частности, когда дело касается PHP, вам необходимо обратить пристальное внимание на следующее:
- Лучшие практики PHP-кодирования
- Ограничения доступа на серверной части вашего сайта
- Управление учетными записями пользователей и мониторинг
- Проверка, очистка и экранирование данных
- Отправка пользователем данных и мониторинг загрузки
- Надежность веб-хостинга
Если вам нужна дополнительная информация о вышеупомянутых контрольных точках безопасности PHP и о том, как их использовать в разработке WordPress, продолжайте читать полный контрольный список безопасности PHP.
Лучшие практики PHP
- Используйте PHP7 : Всегда используйте последнюю версию PHP. То же самое касается любых библиотек и сторонних приложений, которые вы используете вместе с ним.
- Скрыть версию : текущая версия PHP, которую вы используете, может сообщить хакерам, какие уязвимости вы оставили открытым на своем сайте, поэтому отключите этот параметр в своем заголовке с помощью Expos_php.
- Переименуйте phpinfo : дополнительная информация о вашей установке также должна быть скрыта, поэтому обязательно измените имя файла phpinfo.php.
- Изменить код ошибки : измените сообщение об ошибке по умолчанию, которое отображается пользователям при сбое подключения к вашему сайту. Это не позволит им увидеть информацию о вашем IP-адресе или пути к файлу. Вместо этого просто зарегистрируйте эти ошибки на своей стороне.
- Ограничьте системные команды . По общему мнению, вам не следует использовать функции оболочки в PHP. Однако если вам необходимо, не включайте пользовательские данные.
Защитите серверную часть
- Использовать SFTP : при передаче файлов на сервер всегда используйте SFTP.
- Ограничить доступ к каталогу : измените имя каталога по умолчанию для вашего приложения PHP.
- Настройте путь сеанса . Если вы используете общий хостинг для своего сайта, другие пользователи на сервере могут видеть данные вашего сеанса. Вы можете остановить это, сохранив новые пути сеансов ниже корневого каталога.
- Создайте отдельных администраторов . Если вы используете более одного веб-сайта на базе PHP на одном сервере, убедитесь, что вы используете отдельного администратора с совершенно разными учетными данными для входа в систему для каждого из них. Это предотвратит перекрестное заражение.
- Сделать каталог доступным только для чтения : защитите свой каталог, доступный через Интернет, установив для него доступ только для чтения.
- Храните конфиденциальные файлы вне каталога . Конфиденциальные файлы приложений (например, файлы конфигурации) необходимо помещать в каталог, недоступный через Интернет. Затем вы можете маршрутизировать их с помощью PHP-скрипта.
Защита информации пользователя
- Зашифровать все пароли : это очевидно, но убедитесь, что вы применяете его повсеместно — для своих паролей, а также для всех вошедших в систему пользователей.
- Безопасные сеансы : предотвратите перехват сеансов, создав сложный идентификатор сеанса. Вы также можете добавить специальный токен к каждому URL-адресу.
- Уничтожить старые сеансы . Когда кто-то вышел из системы или его права доступа изменились, всегда удаляйте файлы cookie из его сеанса и принудительно вводите новый идентификатор сеанса.
- Проверка новых пользователей : всегда проверяйте личность новых пользователей и предоставляйте им соответствующие права доступа. Это особенно важно, если они пытаются получить доступ к странице с ограниченным доступом.
- Используйте регулирование пароля . Слишком много неудачных входов в систему следует блокировать с помощью регулирования пароля.
Проверка ввода и вывода пользователей
- Проверка и очистка входных данных . Любые данные, файлы, URL-адреса, встроенный контент, CSS или HTML, отправленные через ваш сайт известным или неизвестным пользователем, должны быть проверены и очищены. Это означает, что должны быть разрешены только те данные, которые вы ожидали получить (например, имя пользователя для имени пользователя, адрес электронной почты для адреса электронной почты и т. д.). Сохраняйте «плохие» слова, такие как «ОТ» или «ОТКУДА», или знаки препинания в виде одинарных кавычек. на вашем радаре , поскольку они могут быть признаком того, что кто-то пытается внедрить на ваш сайт вредоносный код .
- Escape-вывод : прежде чем публиковать какие-либо пользовательские данные или файлы на своем сайте, убедитесь, что они также экранированы, чтобы предотвратить проникновение потенциально опасных символов и кода (например, одинарных кавычек или <script>).
- Ограничьте данные POST . Если хакеры хотят атаковать ваш сайт с помощью огромного количества данных, вы можете предотвратить это, установив ограничения на объем отправляемых данных POST. Вы также можете ограничить время ввода.
- Отключить Register_Globals : никогда не должно быть свободы в выборе типа информации, которую можно отправлять в формах вашего сайта. К сожалению, Register_globals открывает хакерам такую возможность.
- Отключить Magic_Quotes : Magic_quotes сам по себе не нанесет вреда вашему сайту, но люди, которые используют его для защиты от выводимых вами данных, могут непреднамеренно создать уязвимость.
Мониторинг загрузок
- Отключить загрузку файлов : это не всегда возможно. Но если вам не нужно получать файлы или данные от пользователей, избавьтесь от этого функционала.
- Проверка загруженных файлов . Если вам нужно разрешить пользователям загружать файлы на ваш сайт, вам необходимо проанализировать содержимое файла на предмет вредоносных внедрений. В качестве ярлыка вы можете повторно сохранить файл в другом формате. Если он все еще действителен, вероятность возникновения проблемы меньше.
- Используйте антивирусный сканер . Если ваш сайт принимает много загруженных файлов, вам потребуется установить вирусный сканер.
Используйте безопасный веб-хостинг
- Используйте надежный хостинг. Независимо от того, сколько усилий вы вкладываете в обеспечение безопасности своего веб-сайта, файлов, области входа или языка программирования, безопасность должна начинаться на уровне хостинга. Вот почему вам необходимо сотрудничать с надежным веб-хостингом, который уделяет приоритетное внимание безопасности и обеспечивает поддержку специально для PHP7.
- Получите CDN. Еще один способ снизить угрозы безопасности на уровне сервера — создать сеть доставки контента (CDN). Хотя они чаще всего связаны с повышением производительности всемирно известных веб-сайтов, CDN также обеспечивают дополнительный уровень защиты.
- Получите сертификат SSL: это лучшая практика, независимо от того, программируете ли вы на PHP или нет. Сертификаты SSL добавляют дополнительный уровень шифрования между вашим сервером и браузерами ваших посетителей.
Хотя каждый из приведенных выше пунктов действительно верен, именно этот момент стоит подчеркнуть, поскольку качество веб-хостинга, на который вы полагаетесь, в конечном итоге может повлиять на стратегию безопасности вашего сайта.
Поскольку часто бывает трудно отличить хорошее от плохого, особенно если вы ищете что-то столь специфическое, как поддержка PHP7, мы рекомендуем вам начать с таких веб-хостов, как WP Engine и Kinsta.
Связанный: Полностью управляемый хостинг WordPress через WP Engine и Kinsta
WP Engine — это управляемый хостинг-провайдер WordPress, который включает поддержку PHP7 в каждый из своих планов хостинга. Кроме того, WP Engine регулярно освещает тему PHP7 в своем блоге, уделяя особое внимание плагину проверки совместимости PHP. Сказать, что эта компания занимается поддержкой пользователей PHP7, было бы преуменьшением.
Kinsta, еще одна управляемая хостинговая компания WordPress, размещает все свои клиентские веб-сайты на PHP7. Это необходимо для обеспечения высокой производительности и скорости по всем направлениям. Kinsta также предлагает своим пользователям возможность обновить свой PHP Engine до последней версии PHP.
И, конечно же, стоит рассмотреть полностью управляемый хостинг WordPress от WP Buffs. WP Buffs всегда остается на шаг впереди всех, поддерживая актуальность своих серверов и версий PHP до новейших и лучших, поэтому вам никогда не придется беспокоиться об управлении этими обновлениями самостоятельно (что является частью радости аутсорсинга управления WordPress). кому-то другому, да?)
Подведение итогов
При создании веб-сайта WordPress безопасность всегда является первоочередной задачей. Вот почему вы используете надежные плагины и темы и всегда обновляете свое ядро, а также другие передовые методы обеспечения безопасности. PHP ничем не отличается. Обращайтесь с ним так же, как с другими инструментами WordPress: обновляйте его и всегда соблюдайте рекомендации по безопасности, и вы (и ваш веб-сайт) сможете спать по ночам гораздо спокойнее.
Хотите оставить свой отзыв или присоединиться к обсуждению?Добавляйте свои комментарии в Twitter.
Сохранить Сохранить