Новости

Как навести порядок на сайте и увеличить его производительность

2022-11-07 08:59 Web
Среду хостинга очень легко заполнить плагинами, темами, тестовыми сценариями и неиспользуемыми файлами. Это может не только снизить производительность сайта, но и сделать его уязвимым для заражения. В этой статье мы расскажем, как очистить серверную среду, чтобы создать порядок, оптимизировать производительность и защитить веб-сайт.  

1. Создавайте резервные копии

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

Резервная копия должна выполнять несколько требований:

  • Надежно хранится вне сайта и в нескольких местах;
  • Создаётся автоматически;
  • Тщательно протестирована, чтобы вы были уверены в ее надежности.

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

2. Удалите неиспользуемые файлы

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

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

Чем больше у вас файлов, тестовых сценариев или плагинов, тем больше будет поверхность атаки для злоумышленников. Нужно избавляться от всего, что не используется и занимает ненужное место на вашем сервере.

Удалите неиспользуемые файлы, темы и плагины

Чтобы выяснить, что именно нужно удалить, сначала нужно понять, какие файлы необходимы для вашего сайта.

Если вы используете WordPress, изменения в основных файлах (Core Files) можно найти, выполнив проверку целостности основного файла — эти основные файлы составляют ключевую функциональность платформы и состоят из PHP и связанных исходных файлов.

Если вы не вносили изменения в основные файлы, содержимое страниц «/wp-admin/» и «/wp-includes/» должно быть идентично исходному ПО с WordPress.org или из официального репозитория «https://core. svn.wordpress.org/».

Чтобы узнать, насколько важен какой-либо файл, нужно добавить «test.» к имени файла, чтобы узнать уровень его влияния на ваш веб-сайт (например, «test.wp-config.php»). Этот шаг можно легко выполнить через файловый менеджер cPanel или через FTP (File Transfer Protocol).

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

  • Файлы и папки с пометками «dev», «backup», «old» и «temp»;
  • Деактивированные темы или плагины;
  • Неправильно или случайно названные папки;
  • Незнакомые файлы размером 0 байт *;
  • Старые журналы ошибок;
  • Старые кэшированные файлы.

*Некоторые файлы размером 0 байт могут быть помещены в определенные каталоги в целях безопасности. Например, пустые файлы «index.html» защищены от перечисления каталогов. Поскольку файл «index.html» является первым файлом, который вызывается сервером, это предотвратит перечисление файлов для этих папок.

3. Обновляйте программное обеспечение

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

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

4. Очистите базу данных вашего сайта

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

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

  • неиспользуемые медиафайлы;
  • старые черновики сообщений и редакции;
  • неутвержденные комментарии;
  • устаревшие данные.

Удалите спам-комментарии

Спам не только создает угрозу безопасности (например, когда бот использует спам-сообщения для добавления вредоносных ссылок на ваш сайт), но также может засорять сайт и снижать его производительность. Некоторые из наиболее распространенных типов спам-комментариев рекламируют:

  • Микрозаймы;
  • Услуги по написанию студенческих работ;
  • Сайты знакомств;
  • Онлайн-казино;
  • Пиратское ПО;
  • Материалы для взрослых.

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

Например, если ваш сайт заполнен спамом сайтов знакомств, вы можете использовать следующую SQL-команду, чтобы удалить все сообщения, содержащие ключевое слово «знакомства» («dating») в своем заголовке:

DELETE FR OM `wp_posts` WH ERE `post_title` LIKE '%dating%';

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

Удалите старых пользователей

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

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

Помня об этой концепции, следуйте рекомендациям по управлению доступом:

  • Создавайте новые учетные записи пользователей с самым низким уровнем разрешений;
  • Предоставляйте временные разрешения и отменяйте доступ, когда они больше не нужны;
  • Удалите учетные записи, которые больше не используются;
  • Убедитесь, что аккаунт пользователя по умолчанию настроен с минимальными разрешениями.

5. Сканируйте сайт на наличие вредоносных программ и бэкдоров

Удаленные сканеры веб-сайтов могут помочь вам обнаружить вредоносные программы, уязвимости, инъекции и другой вредоносный код. Однако, они не могут сканировать на уровне сервера, поэтому результаты не всегда гарантированы.

Лучше всего использовать совместно сканер сайтов и систему мониторинга, которые помогут вам сканировать и проверять все файлы на сервере на наличие признаков вредоносного ПО. Эти сервисы помогут выявить бэкдоры, SEO-спам, фишинговые страницы, DDoS-скрипты и хакерские наборы.

6. Используйте брандмауэр с CDN (Content Delivery Network)

Если вы хотите, чтобы вредоносный трафик не попадал на ваш сайт, используйте брандмауэр. Он фильтрует вредоносный трафик в режиме реального времени, чтобы защитить сайт от вредоносного кода и кибератак.

7. Предотвратите перекрестное заражение

Даже если владелец сайта принимает все необходимые меры безопасности, сайт все равно может быть заражен. Чаще всего это происходит из-за того, что злоумышленник использует уязвимости сайта для бокового перемещения в скомпрометированной среде. Это наблюдается при перекрестном заражении (межсайтовое заражение, Cross-Site Contamination), когда взломанный сайт заражает другие, использующие ту же серверную среду.

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