web-dev-qa-db-fra.com

Comment fonctionne admin-ajax.php?

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

Nous voulons limiter l'accès au site wp-admin à 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 pas vouloir 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 de l’extérieur pour que la page puisse fonctionner. spécifiquement la page admin-ajax.

Que fait la page admin-ajax.php?

Il se trouve dans la section admin de WordPress. Est-il accessible sans authentification par les utilisateurs finaux? Est-ce une pratique dangereuse de la mettre à la disposition d'utilisateurs externes?

12
nick

admin-ajax.php fait partie de la WordPress AJAX API , et oui, elle gère les demandes de back-end et de front. Essayez de ne pas vous inquiéter du fait qu'il soit dans wp-admin. Je pense que c'est un endroit étrange pour cela 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.

4
s_ha_dum

Pour les utilisateurs non authentifiés et non fiables, vous souhaiterez créer deux exceptions spécifiques à votre .htaccess VPN/Firewall/Apache, à savoir:

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

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

Voici une explication de ce que fait Admin-post.php: - https://www.sitepoint.com/handling-post-requests-the-wordpress-way/

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

3
haz

Mon opinion personnelle est que c'est une idée terrible. Il y a environ deux mois, notre directeur du développement a insisté pour que nous fassions exactement cela, en dépit des conseils 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 pose de nombreux problèmes d'administration.

Nous avons 40 employés réguliers et 4 développeurs qui tentent parfois d’utiliser le vpn et il s’agit simplement de bégayer, de même que tous les utilisateurs ont maintenant besoin de deux jeux de mots de passe, l’un pour wp et l’autre pour vpn, et il ne s’agit pas uniquement d’un mot de passe partagé. autrement dit, comment feriez-vous un audit de sécurité? Il est déjà assez difficile de retenir un mot de passe sécurisé, et encore moins deux.

Ajoutez à cela que beaucoup de gens ne savent pas comment utiliser un vpn et que souvent, cela cause 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 les supérieurs hiérarchiques qui ne connaissent ni ne comprennent WordPress. Ils le voient sous un jour terrible: comme il est open source, il doit également s'agir d'un problème de sécurité, rempli d'exploits faciles à exploiter, etc.

WordPress est sécurisé et coller wp-admin derrière un vpn ne fait pas que craindre que cela ne soit un cauchemar pour tous les membres de l'équipe

Pourquoi est-ce que les types de gestion n’ont pas confiance en WordPress, ils semblent oublier que les sites majeurs utilisent WordPress et n’utilisent pas de vpns, regardez mashable par exemple.

Donc, pour récapituler:

Ajax ne fonctionnera pas derrière un vpn.

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 sont à jour.

Écoutez votre Dev, vous les payez pour leur expertise. Je peux vous promettre que rien ne sape une relation de travail comme ne pas mettre votre confiance en une personne et avoir à vérifier ses connaissances.

Si vous y allez avec vpn, assurez-vous d'acheter suffisamment de licences utilisateur.

2
MichaelJames

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

Consultez cet article pour un aperçu général: Protégez un répertoire à l’aide de .htaccess

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

2
skim-