• 8-923-009-07-30 (WhatsApp)
  • info@wp01.ru
  • Будни: 07:00-18:00 MSK




Ручные внедрения для защиты сайта

1. Проверьте наличие уникальные ключей и солей для аутентификации

Выполните действия:
1. В файле «wp-config.php» найдите 8 строчек с define('AUTH_KEY' по define('NONCE_SALT'
2. Если фразы рядом с ними не заполнены (пустые строчки) — срочно исправьте это!

Примечание:
Можете прописать случайный код как вручную, так и воспользоваться официальным WordPress генератором: https://api.wordpress.org/secret-key/1.1/salt/

2. Обновите CMS, тему, плагины, переводы

Внимание!
— Обязательно создайте бэкап FTP файлов и MySQL базы перед выполнением любых обновлений!
— Уточните у вашего хостинг-провайдера наличие бэкапов и возможность их моментального восстановления.
— Правки и ручные простановки кода в файлах CMS/плагинах/теме при обновлении будут уничтожены.
— Устаревшие плагины могут не поддерживать актуальную версию WordPress.
— Ознакомьтесь с минимальными и рекомендуемыми требованиями для работы WordPress.

Рекомендации:
Перейдите в раздел «Консоль» -> «Обновления» и произведите действия:
1. Нажмите «Обновить сейчас» для обновления WordPress до последней версии.
2. Выберите плагины в блоке «Плагины», которые вы хотите обновить, и нажмите «Обновить плагины».
3. Выберите темы в блоке «Темы», которые вы хотите обновить, и нажмите «Обновить темы».
4. Нажмите «Обновить переводы» в блоке «Переводы».

Справка:
Устаревшие плагины могут содержать критические бреши, подробнее: https://blog.sucuri.net (ENG)
Релизы WordPress содержат множественные исправления багов, улучшения защиты, подробнее: история версий CMS (ENG)

3. Проверьте происхождение темы и плагинов

Внимание!
Установленные не с официального репозитория темы, плагины, а также их nulled (взломанные) версии могут содержать вирусы, шеллы, бэкдоры.
Используйте только проверенные веб-продукты!

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

Справка:
WordPress является наиболее заражённой (по данным «SUCURI«) CMS системой.
Доля выявленных инфицированных WordPress: в 2018 году — 90%, в 2019 году — 94%

4. Запретите скачивание сайта Offline браузерам

Дополните robots.txt инструкциями:

User-agent: Aqua_Products
Disallow: /
User-agent: asterias
Disallow: /
User-agent: b2w/0.1
Disallow: /
User-agent: BackDoorBot/1.0
Disallow: /
User-agent: Black Hole
Disallow: /
User-agent: BlowFish/1.0
Disallow: /
User-agent: Bookmark search tool
Disallow: /
User-agent: BotALot
Disallow: /
User-agent: BuiltBotTough
Disallow: /
User-agent: Bullseye/1.0
Disallow: /
User-agent: BunnySlippers
Disallow: /
User-agent: Cegbfeieh
Disallow: /
User-agent: CheeseBot
Disallow: /
User-agent: CherryPicker
Disallow: /
User-agent: CherryPicker /1.0
Disallow: /
User-agent: CherryPickerElite/1.0
Disallow: /
User-agent: CherryPickerSE/1.0
Disallow: /
User-agent: CopyRightCheck
Disallow: /
User-agent: cosmos
Disallow: /
User-agent: Crescent
Disallow: /
User-agent: Crescent Internet ToolPak HTTP OLE Control v.1.0
Disallow: /
User-agent: DittoSpyder
Disallow: /
User-agent: EmailCollector
Disallow: /
User-agent: EmailSiphon
Disallow: /
User-agent: EmailWolf
Disallow: /
User-agent: EroCrawler
Disallow: /
User-agent: ExtractorPro
Disallow: /
User-agent: FairAd Client
Disallow: /
User-agent: Flaming AttackBot
Disallow: /
User-agent: Foobot
Disallow: /
User-agent: Gaisbot
Disallow: /
User-agent: GetRight/4.2
Disallow: /
User-agent: grub
Disallow: /
User-agent: grub-client
Disallow: /
User-agent: Harvest/1.5
Disallow: /
User-agent: hloader
Disallow: /
User-agent: httplib
Disallow: /
User-agent: humanlinks
Disallow: /
User-agent: InfoNaviRobot
Disallow: /
User-agent: Iron33/1.0.2
Disallow: /
User-agent: JennyBot
Disallow: /
User-agent: Kenjin Spider
Disallow: /
User-agent: Kenjin Spider
Disallow: /
User-agent: Keyword Density/0.9
Disallow: /
User-agent: larbin
Disallow: /
User-agent: LexiBot
Disallow: /
User-agent: libWeb/clsHTTP
Disallow: /
User-agent: LinkextractorPro
Disallow: /
User-agent: LinkScan/8.1a Unix
Disallow: /
User-agent: LinkWalker
Disallow: /
User-agent: LNSpiderguy
Disallow: /
User-agent: lwp-trivial
Disallow: /
User-agent: lwp-trivial/1.34
Disallow: /
User-agent: Mata Hari
Disallow: /
User-agent: Microsoft URL Control
Disallow: /
User-agent: Microsoft URL Control - 5.01.4511
Disallow: /
User-agent: Microsoft URL Control - 6.00.8169
Disallow: /
User-agent: MIIxpc
Disallow: /
User-agent: MIIxpc/4.2
Disallow: /
User-agent: Mister PiX
Disallow: /
User-agent: moget
Disallow: /
User-agent: moget/2.1
Disallow: /
User-agent: Mozilla/4.0 (compatible; BullsEye; Windows 95)
Disallow: /
User-agent: MSIECrawler
Disallow: /
User-agent: NetAnts
Disallow: /
User-agent: NetMechanic
Disallow: /
User-agent: NICErsPRO
Disallow: /
User-agent: Offline Explorer
Disallow: /
User-agent: Openbot
Disallow: /
User-agent: Openfind
Disallow: /
User-agent: Openfind data gathere
Disallow: /
User-agent: Oracle Ultra Search
Disallow: /
User-agent: PerMan
Disallow: /
User-agent: ProPowerBot/2.14
Disallow: /
User-agent: ProWebWalker
Disallow: /
User-agent: Python-urllib
Disallow: /
User-agent: QueryN Metasearch
Disallow: /
User-agent: Radiation Retriever 1.1
Disallow: /
User-agent: RepoMonkey
Disallow: /
User-agent: RepoMonkey Bait & Tackle/v1.01
Disallow: /
User-agent: RMA
Disallow: /
User-agent: searchpreview
Disallow: /
User-agent: SiteSnagger
Disallow: /
User-agent: SpankBot
Disallow: /
User-agent: spanner
Disallow: /
User-agent: suzuran
Disallow: /
User-agent: Szukacz/1.4
Disallow: /
User-agent: Teleport
Disallow: /
User-agent: TeleportPro
Disallow: /
User-agent: Telesoft
Disallow: /
User-agent: The Intraformant
Disallow: /
User-agent: TheNomad
Disallow: /
User-agent: TightTwatBot
Disallow: /
User-agent: Titan
Disallow: /
User-agent: toCrawl/UrlDispatcher
Disallow: /
User-agent: True_Robot
Disallow: /
User-agent: True_Robot/1.0
Disallow: /
User-agent: turingos
Disallow: /
User-agent: URL Control
Disallow: /
User-agent: URL_Spider_Pro
Disallow: /
User-agent: URLy Warning
Disallow: /
User-agent: VCI
Disallow: /
User-agent: VCI WebViewer VCI WebViewer Win32
Disallow: /
User-agent: Web Image Collector
Disallow: /
User-agent: WebAuto
Disallow: /
User-agent: WebBandit
Disallow: /
User-agent: WebBandit/3.50
Disallow: /
User-agent: WebCopier
Disallow: /
User-agent: WebEnhancer
Disallow: /
User-agent: WebmasterWorldForumBot
Disallow: /
User-agent: WebSauger
Disallow: /
User-agent: Website Quester
Disallow: /
User-agent: Webster Pro
Disallow: /
User-agent: WebStripper
Disallow: /
User-agent: WebZip
Disallow: /
User-agent: WebZip/4.0
Disallow: /
User-agent: Wget
Disallow: /
User-agent: Wget/1.5.3
Disallow: /
User-agent: Wget/1.6
Disallow: /
User-agent: WWW-Collector-E
Disallow: /
User-agent: Zeus
Disallow: /
User-agent: Zeus 32297 Webster Pro V2.9 Win32
Disallow: /
User-agent: Zeus Link Scout
Disallow: /

5. Перенесите wp-config.php на уровень выше

Внимание!
Обязательно создайте бэкап файла wp-config.php на своём компьютере.
НЕ ПЕРЕНОСИТЕ wp-config.php в папку на уровень выше, если она является общей (например, /www/wp01.ru/) для нескольких сайтов, или в ней уже присутствует данный файл.

Инструкция:
1. Подключитесь к FTP серверу (или воспользуйтесь менеджером файлов в панели управления хостинга), зайдите в папку с файлами вашего сайта.
2. Создайте бэкап файла wp-config.php на своём компьютере.
3. Переместите wp-config.php в папку на уровень выше (например, из папки /home/www/wp01.ru/html/ в папку /home/www/wp01.ru/).

Справка:
Файл wp-config.php в папке на уровень выше корневой недоступен из Интернета, но виден для WordPress

6. Используйте взломоустойчивые пароли

Внимание!
Прежде чем редактировать файл wp-config.php внимательно изучите процедуру изменения пароля для MySQL у вашего хостинг-провайдера.
После изменения пароля для MySQL сайт не будет работать, пока вы не пропишите актуальный в файле wp-config.php

Рекомендации по изменению пароля к MySQL:
1. Создайте бэкап файла wp-config.php на своём компьютере.
2. Измените пароль к базе данных MySQL.
Создайте сложный пароль (от 25 символов используя спецсимволы, цифры, строчные и прописные английские буквы) самостоятельно, или воспользуйтесь генератором:
https://my.norton.com/extspa/passwordmanager
https://www.expressvpn.com/ru/password-generator
3. Измените в файле wp-config.php для define('DB_PASSWORD', 'текущий_пароль'); значение «текущий_пароль»

Рекомендации по изменению пароля администратора сайта:
1. В админ панели выберите «Пользователи» -> «Профиль» и в разделе «Управление учётной записью» нажмите «Создать пароль».
2. Система сгенерирует пароль — оставьте его, или введите свой.
Используйте сложный пароль (от 25 символов с спецсимволами, цифрами, строчными и прописными английскими буквами). Онлайн генераторы:
https://my.norton.com/extspa/passwordmanager
https://www.expressvpn.com/ru/password-generator
3. Сохраните пароль для дальнейшего его использования и нажмите «Обновить профиль» для сохранения изменения.

Справка:
Проверить пароль в базе среди ранее обнаруженных при утечках данных можно на странице https://haveibeenpwned.com/Passwords

7. Удалите неиспользуемые плагины/темы

Внимание!
Обязательно создайте бэкап удаляемых элементов

Рекомендации по удалению неиспользуемых тем:
1. В админ панели перейдите в раздел «Внешний вид» -> «Темы»
2. Удалите неиспользуемые темы

Рекомендации по удалению неиспользуемых плагинов:
1. В админ панели перейдите в раздел «Плагины» -> «Установленные»
2. Выберите «Неактивные (x)» для отображения деактивированных плагинов
3. Удалите ненужные плагины

Справка:
Неиспользуемые темы/плагины не только занимают дисковое пространство, но и могут иметь уязвимости в коде

8. Перейдите на поддерживаемую разработчиками PHP версию

Внимание!
Очень часто переход на более свежую версию PHP вызывает ошибки в работе плагинов, темы и/или CMS.
Рекомендуем производить смену PHP версии непосредственно программистом.
Официальные рекомендации WordPress: https://ru.wordpress.org/support/update-php/

Подтвержденная поддержка:
с WordPress 5.2: PHP 5.6.20-7.3
с WordPress 5.3: PHP 5.6.20-7.4

Алгоритм изменения версии PHP:
1. Проверьте совместимость тем и плагинов с более свежей версией PHP с помощью «PHP Compatibility Checker»
2. Перейдите в панель управления вашим хостингом (например, ISPmanager)
3. В настройках сайта постепенно (например, 5.4 -> 5.5 -> 5.6 -> 7.0) увеличивайте версию PHP до максимально поддерживаемой (по данным «PHP Compatibility Checker»), параллельно тестируя проект на наличие ошибок
4. Если при активации более свежей версии PHP на сайте появляются ошибки — верните версию к ранее используемой, при необходимости обратитесь в техподдержку хостинга

Справка:
Выпущенная версия PHP поддерживается в течение 3 лет, после чего может содержать критические ошибки/проблемы, подробнее: https://www.php.net/supported-versions.php (ENG)
На данный момент максимально поддерживаемая системой WordPress PHP версия 7.4

9. Проверьте файлы сайта облачным антивирусом

Алгоритм подключения сайта:
1. Зарегистрируйтесь на сервисе https://virusdie.com
2. Добавьте свой сайт (потребуется разместить файл на хостинге) в список проверок
3. Запустите сканер, по итогу которого будут отображены зараженные файлы (при их наличии)
4. Изучите вручную результат и примите меры для удаления заражений

Примечание:
Возможны ложные срабатывания антивируса.
Бесплатная версия позволяет осуществить сканирование 1 сайта.
Автоматическое лечение возможно только при покупке дорогостоящей лицензии.

10. Проверьте на утечки (по данным из даркнета) сайты по email

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

Алгоритм проверки:
1. Перейдите на проекты https://haveibeenpwned.com/ и https://monitor.firefox.com/
2. Введите поочередно все используемые вами email и осуществите поиск
3. Проанализируйте результаты
4. Обновите пароль для всех найденных раскрытий
5. Осуществляйте периодические проверки для выявления новых утечек

Советы:
✓ При сохранении паролей в браузере активируйте мастер-пароль
✓ Применение менеджера паролей помогает решить часть задач безопасности. Рекомендуем коммерческий продукт: Kaspersky Password Manager
Яндекс Браузер снабжен технологией защиты «Protect» и является наиболее безопасным для веб серфинга
✓ Частая практика: записывать пароли в текстовый файл, который заархивирован с применением пароля
✓ Актуальность операционной системы, наличие антивируса и отказ от взломанных (пиратских) программ — основа безопасности

11. Уменьшите нагрузку на сайт

Пропишите ограничения
Запрет по ip стран и поисковых систем полезен в случае, если:
— на сайте наблюдается высокая посещаемость из стран, для которых не предоставлен контент;
— краулеры не интересных для вас поисковых систем проявляют высокую активность на сайте;
— наблюдаются признаки DDoS атаки.

Алгоритм:
1. Перейдите на страницу генерации ограничений/разрешений для посетителей по странам или сканеров поисковых систем
2. Выберите условия фильтра (Country/Search Engine) и формат работы (Output Format)
3. Скачайте файл с правилами по кнопке «Download»
4. Внесите в .htaccess файл, находящийся в корне вашего сайта, соответствующие правила

12. Изучите сайт на наличие скрытых администраторов

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

Алгоритм:
1. Перейдите в раздел «Пользователи -> Администратор»
2. Сравните цифру рядом с «Администратор (X)» с количеством пользователей в данном разделе, если значение не совпадает — выполните действия:
2.1. Авторизуйтесь в phpMyAdmin
2.2. Откройте таблицу «wp_users» и запомните значение «ID» для известных вам администраторов
2.3. Откройте вкладку «SQL» и выполните запрос:

select * from wp_usermeta where meta_value LIKE '%administrator%';

В блоке отобразятся все пользователи с правами администратора
2.4. Удалите все значения по столбцу «user_id», которых не было в таблице «wp_users»
3. Проверьте совпадение цифр в разделе «Пользователи -> Администратор» с реальным количеством администраторов

13. Создайте пользователя для публикации статей

Выполните действия
Используя учётную запись администратора для публикации статей на сайте вы упрощаете обнаружение и последующий взлом пользователя с неограниченными правами. Хорошей практикой является внедрение пользователя с правами «Автор» или «Редактор».

Алгоритм:
1. Перейдите в раздел «Пользователи -> Добавить нового»
2. Создайте нового пользователя указав роль «Автор» или «Редактор»
3. Выйдите из администратора и залогинетесь под новой учетной записью
4. Осуществляйте вход в учётную запись администратора только для действий выполнение которых не позволяют ограничения автора/редактора (например, обновление CMS/плагинов)

avatar
error: Контент защищён!