Comment fonctionne admin-ajax.php?

14

Nous rencontrons des problèmes avec un développeur externe.

Nous voulons limiter l'accès au wp-adminsite à un accès interne uniquement (via VPN ). Simplement pour ne pas être attaqué par des utilisateurs externes. Nous pouvons énumérer les administrateurs du site et ne voulons pas qu'ils soient phishing.

Notre développeur dit que nous ne pouvons pas faire cela car le site doit avoir la page d'administration accessible en externe pour que la page fonctionne. spécifiquement la admin-ajaxpage.

Que fait la admin-ajax.phppage?

Il se trouve dans la section admin de WordPress. Est-il accessible non authentifié par les utilisateurs finaux? Est-il dangereux de mettre ces informations à la disposition des utilisateurs externes?

pseudo
la source
ajax-admin.phpgère .. les demandes ajax. Veuillez effacer votre titre et la question en général, wordpress.stackexchange.com/faq
Wyck

Réponses:

6

admin-ajax.phpfait partie de l' API WordPress AJAX , et oui, il gère les demandes du backend et du front. Essayez de ne pas vous inquiéter du fait qu'il se trouve wp-admin. Je pense que c'est un endroit étrange pour lui aussi, mais ce n'est pas un problème de sécurité en soi. Comment cela se rapporte à «énumérer les administrateurs», je ne sais pas.

s_ha_dum
la source
recommanderiez-vous que la page d'administration wp ne soit plus disponible en externe? et savez-vous si cela perturberait quoi que ce soit avec l'administrateur ajax?
nick
Je ne suis pas sûr à 100% de ce que cela signifie, mais si vous exigez que l'accès aux fichiers wp-adminsoit à partir de l'IP de votre VPN, alors oui, cela devrait gâcher AJAX. Les appels AJAX proviennent du navigateur de l'utilisateur et proviennent donc de l'adresse IP de l'utilisateur.
s_ha_dum
1
Pouvez-vous expliquer pourquoi, en particulier, ce n'est pas un problème de sécurité pour nous n00bs? Sinon, réponse décente.
daaxix
3

Pour les utilisateurs non authentifiés et non fiables, vous souhaiterez faire deux exceptions spécifiques à votre VPN / pare-feu / Apache .htaccess, qui sont:

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

Ce sont deux points de terminaison auto-magiques utilisés par beaucoup à la fois par WP interne et par divers plugins.

Voici une explication de ce qui admin-post.phpfait:

admin-ajax.phpfonctionne de manière très similaire, et une explication utile est ici .

Haz
la source
2

Mon opinion personnelle est que c'est une idée horrible de Dieu. Il y a environ deux mois, notre directeur du développement a insisté pour que nous fassions exactement cela, bien contre l'avis de l'équipe de développement. C'est un véritable cauchemar et une douleur incroyable pour nous, non seulement il tue ajax tous ensemble, mais il présente tant de problèmes d'administration pour nous.

Nous avons 40 employés réguliers et 4 développeurs essayant d'utiliser le vpn à certains moments et il bégaie simplement, avec le fait que tous les utilisateurs ont maintenant besoin de deux ensembles de mots de passe un pour wp et un pour vpn et ce n'est pas seulement un mot de passe partagé, c'est individuel, je dire comment feriez-vous autrement un audit de sécurité. Il est assez difficile de se souvenir d'un mot de passe sécurisé, sans parler de deux.

Ajoutez au problème que beaucoup de gens ne savent pas comment utiliser un VPN et souvent cela ne fait que causer plus de problèmes.

En fin de compte, c'est une idée terrible et elle est souvent mise en avant par la direction ou un supérieur qui ne connaît pas ou ne comprend pas WordPress. Ils le voient sous un jour terrible, car parce qu'il est open source, cela doit aussi être un problème de sécurité, rempli d'exploits faciles à exploiter et ainsi de suite ... ça vieillit.

WordPress est sécurisé et coller wp-admin derrière un vpn n'est pas seulement la peur de faire du commerce, il présente un cauchemar pour chaque membre de l'équipe

Pourquoi les types de gestion n'ont-ils aucune confiance en ce qui concerne WordPress, ils semblent oublier que les principaux sites utilisent WordPress et n'utilisent pas de VPN, regardez mashable par exemple.

Donc, pour récapituler:

Ajax ne fonctionnera pas derrière un vpn.

Le VPN est une idée terrible pour les raisons mentionnées ci-dessus

WordPress est sécurisé et le restera si vous le gardez et les plugins à jour.

Écoutez votre Dev, vous le payez pour son expertise. Je peux vous promettre que rien ne sape une relation de travail comme ne pas faire confiance à un individu et devoir vérifier ses connaissances.

Si vous optez pour vpn, assurez-vous d'acheter suffisamment de licences utilisateur.


la source
11
Je n'ai pas encore assez de points pour vous voter, mais je le ferais si je le faisais. Vous vous contentez de faire confiance à vos développeurs, mais vous ne dites nulle part 1) ce qu'il fait, ou 2) pourquoi c'est ok dans wp-admin. Je ne suis pas impressionné par cette réponse.
daaxix
Les plugins vulnérables peuvent être exploités avec admin-ajax.php selon la façon dont le plugin est développé. De nombreux plugins ne subissent pas d'analyse de code statique ou dynamique pour les tests de vulnérabilité. Le noyau WordPress corrige également constamment les vulnérabilités. Si vous suivez les directives de sécurité de WordPress, qui incluent le renforcement comme la restriction de wp-admin, la mise à jour de tout et la limitation des plugins que vous installez, votre exposition est plus limitée. Cependant, vous n'êtes pas sûr à 100%.
mardi
2

Si vous souhaitez limiter l'accès au backend WP (ex:) wp-admin, utilisez simplement une .htaccessrègle sur le wp-adminrépertoire.

Consultez cet article pour un aperçu général: Protéger un répertoire par mot de passe à l'aide de .htaccess

Consultez également cette rubrique pour votre cas spécifique: Protection par mot de passe / wp-admin /

parcourir-
la source
1
Ou si vous préférez le faire par IP: betterwp.net/wordpress-tips/protect-wordpress-wp-admin-folder
skim-