Как работает admin-ajax.php?


14

У нас возникли проблемы с внешним разработчиком.

Мы хотим ограничить доступ к wp-adminсайту только внутренним доступом (через VPN ). Просто так он не будет атакован внешними пользователями. Мы можем перечислить администраторов с сайта и не хотим, чтобы они были фишинговыми.

Наш разработчик говорит, что мы не можем этого сделать, потому что сайт должен иметь страницу администратора, доступную извне, чтобы страница функционировала. конкретно admin-ajaxстраница.

Что делает admin-ajax.phpстраница?

Он находится в разделе администратора WordPress. Доступ к нему не аутентифицирован конечными пользователями? Это небезопасная практика, чтобы сделать это доступным для внешних пользователей?


ajax-admin.phpобрабатывает .. запросы ajax. Пожалуйста, очистите свой заголовок и вопрос в целом, wordpress.stackexchange.com/faq
Wyck

Ответы:


6

admin-ajax.phpявляется частью WordPress AJAX API , и да, он обрабатывает запросы как из бэкэнда, так и из front. Постарайтесь не беспокоиться о том, что оно есть wp-admin. Я думаю, что это тоже странное место, но само по себе это не проблема безопасности. Как это относится к «перечислению админов», я не знаю.


Вы бы порекомендовали перенести страницу администрирования wp из внешнего доступа? и знаете ли вы, что это нарушит работу администратора ajax?
ник

Я не уверен на 100%, что это значит, но если вам требуется, чтобы доступ к файлам wp-adminбыл с IP вашего VPN, то да, это должно испортить AJAX. Вызовы AJAX поступают из браузера пользователя, поэтому поступают с IP-адреса пользователя.
s_ha_dum

1
Можете ли вы объяснить, почему, в частности, это не проблема безопасности для нас, n00bs? В противном случае достойный ответ.
Daaxix

3

Для неаутентифицированных и ненадежных пользователей вам нужно сделать два конкретных исключения для вашего VPN / Firewall / Apache .htaccess:

  • example.com/wp-admin/admin-post.php
  • example.com/wp-admin/admin-ajax.php

Это две автоматические конечные точки, которые часто используются как внутренним WP, так и различными плагинами.

Вот некоторые объяснения того, что admin-post.phpделает:

admin-ajax.phpработает очень похожим образом, и полезное объяснение здесь .


2

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

У нас 40 штатных сотрудников и 4 разработчика, пытающихся время от времени использовать vpn, и он просто заикается, и при этом всем пользователям теперь требуется два набора паролей, один для wp и один для vpn, и это не просто общий пароль, а отдельные. Я имею в виду, как еще вы сделали бы аудит безопасности. Достаточно сложно запомнить один безопасный пароль, не говоря уже о двух.

Добавьте к проблеме, что многие люди не знают, как использовать VPN и часто это просто вызывает больше проблем.

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

WordPress безопасен и придерживается wp-admin за vpn - это не только распространение страха, но и кошмар для каждого члена команды.

Почему типы управления не доверяют WordPress, они забывают, что основные сайты используют WordPress и не используют vpns, посмотрите на mashable, например.

Итак, резюмируем:

Аякс не будет работать за VPN.

Vpn - ужасная идея по причинам, упомянутым выше

WordPress безопасен и останется таковым, если вы сохраните его и плагины в актуальном состоянии.

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

Если вы заходите с vpn, обязательно купите достаточно пользовательских лицензий.


11
У меня пока недостаточно очков, чтобы вас понизить, но я бы сделал это, если бы сделал. Вы говорите о том, что доверяете своим разработчикам, но нигде не говорите: 1) что он делает, или 2) почему это нормально в wp-admin. Я не впечатлен этим ответом.
Daaxix

Уязвимые плагины могут быть использованы с admin-ajax.php в зависимости от того, как разрабатывается плагин. Многие плагины не проходят статический или динамический анализ кода для тестирования уязвимостей. Ядро WordPress также постоянно исправляет уязвимости. Если вы будете следовать рекомендациям по безопасности WordPress, которые включают в себя усиление защиты, например ограничение wp-admin, поддержание актуальности всего и ограничение устанавливаемых плагинов, ваша экспозиция будет более ограниченной. Однако вы не на 100% защищены.
Tacotuesday

2

Если вы хотите ограничить доступ к бэкэнду WP (например:) wp-admin, просто используйте .htaccessправило для wp-adminкаталога.

Проверьте эту статью для общего обзора: Защита паролем каталога с помощью .htaccess

Также проверьте эту тему для вашего конкретного случая: Защита паролем / wp-admin /


1
Или, если вы предпочитаете делать это по IP: betterwp.net/wordpress-tips/protect-wordpress-wp-admin-folder
skim- 27.12.12
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.