Wordpress - защита админ панели
Материал из 1GbWiki.
| Версия 09:48, 7 августа 2020 (править) Moofer (Обсуждение | вклад) (Новая: == Общие сведения == В этой статье описываются варианты защиты административной панели Вашего сайта на...) ← К предыдущему изменению |
Версия 10:20, 7 августа 2020 (править) (отменить) Moofer (Обсуждение | вклад) К следующему изменению → |
||
| Строка 72: | Строка 72: | ||
| </IfModule> | </IfModule> | ||
| + | </pre> | ||
| + | '''ОБРАТИТЕ ВНИМАНИЕ!''' '''site.cc.ua''', в коде, нужно заменить на свой адрес, вместо '''Ваши IP''' указать нужные IP. | ||
| + | === Решение №2.2 === | ||
| + | * '''Ограничение доступа к админ панели с определённых адресов через .htaccess. в админ каталоге''' | ||
| + | * Этот способ подойдёт тем, у кого '''динамический''' IP адрес. Можно использовать как отдельно этот вариант, так и вместе с первым. | ||
| + | Хакеры используют ботов, чтобы пытаться попасть в админ панель сайта. Это правило определяет, что только те пользователи, которые вручную набрали wp-login.php или wp-admin в браузере, получат доступ к этим страницам. | ||
| + | '''ВЫПОЛНЕНИЕ.''' В корневом каталоге сайта найти файл .htaccess, открыть его и в начале добавить код: | ||
| + | |||
| + | <pre> | ||
| + | # Ограничение доступа с IP к определённой странице | ||
| + | ErrorDocument 401 http://site.cc.ua/index.php?error=404 | ||
| + | ErrorDocument 403 http://site.cc.ua/index.php?error=404 | ||
| + | |||
| + | <IfModule mod_rewrite.c> | ||
| + | RewriteEngine on | ||
| + | RewriteCond %{REQUEST_METHOD} POST | ||
| + | RewriteCond %{HTTP_REFERER} !^http://(.*)?site.cc.ua [NC] | ||
| + | RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR] | ||
| + | RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$ | ||
| + | RewriteRule ^(.*)$ - [F] | ||
| + | </IfModule> | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | '''ОБРАТИТЕ ВНИМАНИЕ!''' '''site.cc.ua''', в коде, нужно заменить на свой адрес. | ||
| + | |||
| + | == Решение №3 == | ||
| + | * '''Отключение XML-RPC''' | ||
| + | * XML-RPC — это API интерфейс, который используется для доступа к сайту через мобильные приложения, для трекбэков и пингбэков и используется плагином Jetpack. Если вы пользуетесь чем-то из этого, то оставьте эту функцию включенной или частично включенной. С другой стороны, XML-RPC может быть использован хакерами для атак с перебором логинов и паролей. | ||
| + | '''ВЫПОЛНЕНИЕ.''' В корневом каталоге сайта найти файл .htaccess, открыть его и в начале добавить код: | ||
| + | |||
| + | <pre> | ||
| + | # Блокировка XML-RPC запросов | ||
| + | <Files xmlrpc.php> | ||
| + | Order Allow,Deny | ||
| + | Deny from all | ||
| + | </Files> | ||
| </pre> | </pre> | ||
| '''ОБРАТИТЕ ВНИМАНИЕ!''' '''site.cc.ua''', в коде, нужно заменить на свой адрес, вместо '''Ваши IP''' указать нужные IP. | '''ОБРАТИТЕ ВНИМАНИЕ!''' '''site.cc.ua''', в коде, нужно заменить на свой адрес, вместо '''Ваши IP''' указать нужные IP. | ||
Версия 10:20, 7 августа 2020
Содержание |
Общие сведения
В этой статье описываются варианты защиты административной панели Вашего сайта на CMS WordPress.
Решение №1
- Смена адреса админ панели (пример, с site.cc.ua/wp-admin на site.cc.ua/newadmin) через .htaccess.
ВЫПОЛНЕНИЕ. В корневом каталоге сайта найти файл .htaccess, открыть его и в начале добавить код:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^newadmin/?$ /wp-login.php?secretcode[R,L]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^newadmin/?$ /wp-login.php?secretcode&redirect_to=/wp-admin/ [R,L]
RewriteRule ^newadmin/?$ /wp-admin/?secretcode[R,L]
RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php
RewriteCond %{HTTP_REFERER} !^(.*)site.cc.ua/wp-admin
RewriteCond %{HTTP_REFERER} !^(.*)site.cc.ua/wp-login\.php
RewriteCond %{HTTP_REFERER} !^(.*)site.cc.ua/newadmin
RewriteCond %{QUERY_STRING} !^secretcode
RewriteCond %{QUERY_STRING} !^action=logout
RewriteCond %{QUERY_STRING} !^action=rp
RewriteCond %{QUERY_STRING} !^action=postpass
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^.*wp-admin/?|^.*wp-login\.php /not_found [R,L]
RewriteCond %{QUERY_STRING} ^loggedout=true
RewriteRule ^.*$ /wp-login.php?secretcode[R,L]
</IfModule>
ОБРАТИТЕ ВНИМАНИЕ! newadmin, в коде, нужно заменить на желаемый адрес, site.cc.ua заменить адресом своего сайта, secretcode заменить на свой набор символов, они в коде встречаются несколько раз.
Решение №2
- Ограничение доступа к админ панели с определённых адресов через .htaccess. в корне сайта
- Этот способ подойдёт тем, у кого статический IP адрес. Можно использовать как отдельно этот вариант, так и вместе с первым.
ВЫПОЛНЕНИЕ. В корневом каталоге сайта найти файл .htaccess, открыть его и в начале добавить код:
# Ограничение доступа с IP к определённой странице
ErrorDocument 401 http://site.cc.ua/index.php?error=404
ErrorDocument 403 http://site.cc.ua/index.php?error=404
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^Ваши IP$
RewriteCond %{REMOTE_ADDR} !^Ваши IP$
RewriteCond %{REMOTE_ADDR} !^Ваши IP$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>
ОБРАТИТЕ ВНИМАНИЕ! site.cc.ua, в коде, нужно заменить на свой адрес, вместо Ваши IP указать нужные IP.
Решение №2.1
- Ограничение доступа к админ панели с определённых адресов через .htaccess. в админ каталоге
- Этот способ подойдёт тем, у кого статический IP адрес. Можно использовать как отдельно этот вариант, так и вместе с первым.
ВЫПОЛНЕНИЕ. В корневом каталоге сайта найти файл .htaccess, открыть его и в начале добавить код:
# Ограничение доступа с IP к определённой странице
ErrorDocument 401 http://site.cc.ua/index.php?error=404
ErrorDocument 403 http://site.cc.ua/index.php?error=404
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^Ваши IP$
RewriteCond %{REMOTE_ADDR} !^Ваши IP$
RewriteCond %{REMOTE_ADDR} !^Ваши IP$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>
ОБРАТИТЕ ВНИМАНИЕ! site.cc.ua, в коде, нужно заменить на свой адрес, вместо Ваши IP указать нужные IP.
Решение №2.2
- Ограничение доступа к админ панели с определённых адресов через .htaccess. в админ каталоге
- Этот способ подойдёт тем, у кого динамический IP адрес. Можно использовать как отдельно этот вариант, так и вместе с первым.
Хакеры используют ботов, чтобы пытаться попасть в админ панель сайта. Это правило определяет, что только те пользователи, которые вручную набрали wp-login.php или wp-admin в браузере, получат доступ к этим страницам. ВЫПОЛНЕНИЕ. В корневом каталоге сайта найти файл .htaccess, открыть его и в начале добавить код:
# Ограничение доступа с IP к определённой странице
ErrorDocument 401 http://site.cc.ua/index.php?error=404
ErrorDocument 403 http://site.cc.ua/index.php?error=404
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_REFERER} !^http://(.*)?site.cc.ua [NC]
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteRule ^(.*)$ - [F]
</IfModule>
ОБРАТИТЕ ВНИМАНИЕ! site.cc.ua, в коде, нужно заменить на свой адрес.
Решение №3
- Отключение XML-RPC
- XML-RPC — это API интерфейс, который используется для доступа к сайту через мобильные приложения, для трекбэков и пингбэков и используется плагином Jetpack. Если вы пользуетесь чем-то из этого, то оставьте эту функцию включенной или частично включенной. С другой стороны, XML-RPC может быть использован хакерами для атак с перебором логинов и паролей.
ВЫПОЛНЕНИЕ. В корневом каталоге сайта найти файл .htaccess, открыть его и в начале добавить код:
# Блокировка XML-RPC запросов <Files xmlrpc.php> Order Allow,Deny Deny from all </Files>
ОБРАТИТЕ ВНИМАНИЕ! site.cc.ua, в коде, нужно заменить на свой адрес, вместо Ваши IP указать нужные IP.
