Il est à la base d'authentification d'accès sécurisé?
À l'aide d'Apache, il est assez simple à mettre en place une page qui utilise l'authentification d'accès de base pour inviter un utilisateur à un nom/mot de passe et utiliser ces informations d'identification, d'une certaine façon à accorder l'accès à cet utilisateur.
Est-ce sûr, en supposant que la connexion entre le client et le serveur est sécurisé?
Vous devez vous connecter pour publier un commentaire.
L'inquiétude à propos de l'authentification basique, c'est que les informations d'identification sont envoyés en texte clair et sont vulnérables à l'packet sniffing, si la connexion est sécurisée à l'aide de TLS/SSL puis il est aussi sûr que les autres méthodes qui utilisent le chiffrement.
C'est un vieux thread, et je ne crois pas que le plus voté/la réponse choisie est correcte.
Comme le fait remarquer @Nateowami, le la sécurité de la pile d'échange fil décrit un certain nombre de problèmes avec l'authentification de base.
Je voudrais souligner un autre: si vous faites votre vérification du mot de passe correctement, alors l'authentification de base rend votre serveur plus vulnérable à un déni de service. Pourquoi? Dans l'ancien temps, c'était la croyance commune que salé de hachage a été suffisant pour la vérification du mot de passe. Ce n'est plus le cas. Aujourd'hui, nous disons que vous avez besoin de ralentir les fonctions pour éviter que de force brute des mots de passe dans le cas où la base de données est exposée (ce qui arrive trop souvent). Si vous utilisez l'authentification basique, alors vous forcez votre serveur pour faire ces lentes calculs sur tous les appels de l'API, ce qui ajoute un lourd fardeau pour votre serveur. Vous êtes le rendant plus vulnérable à DoS en utilisant simplement cette datée du mécanisme d'authentification.
Plus généralement, les mots de passe sont de plus grande valeur que les sessions: compromission d'un mot de passe utilisateur permet de détournement de compte de l'utilisateur indéfiniment, pour ne pas mentionner la possibilité de détournement d'autres systèmes que l'utilisateur accède par un mot de réutilisation; attendu qu'une session utilisateur est limitée dans le temps et limité à un seul système. Par conséquent, comme une question de la défense en profondeur, de haute valeur, des données comme les mots de passe ne doit pas être utilisé à plusieurs reprises si pas nécessaire. L'authentification de base est datée de la technologie et devraient être abandonnées.
La raison pour laquelle la plupart des sites préfèrent OAuth sur l'Authentification Basique, c'est que l'Authentification Basique oblige les utilisateurs à entrer leur mot de passe dans une 3ème partie, app. Cette 3e partie de l'app a pour stocker le mot de passe en texte clair. La seule façon de révoquer l'accès est pour l'utilisateur à changer son mot de passe. Cela, toutefois, n'révoquer l'accès pour toutes les applications 3ème partie. Donc vous pouvez voir quel est le problème ici.
D'autre part, OAuth nécessite un web image. Un utilisateur saisit ses informations de connexion à la page de connexion de ce site lui-même. Le site génère ensuite un jeton d'accès de l'application à utiliser pour s'authentifier lui-même dans l'avenir. Pros:
Basic auth sur http dans un environnement qui peut être reniflé n'est pas comme les auth, car le mot de passe peut facilement être inversée et puis re-utilisé. En réponse à l'sarcastique commentaire ci-dessus à propos de cartes de crédit sur ssl étant "un peu" plus sûr, le problème est que l'authentification de base est utilisé maintes et maintes fois sur la même chaîne. Si vous compromettre le mot de passe une fois, vous compromettre la sécurité de chaque transaction sur ce canal, et pas seulement un seul attribut de données.
Si vous saviez que vous seriez en passant le même numéro de carte de crédit au cours d'une session web et plus, j'espère que vous serait venu avec un autre contrôle en s'appuyant sur le protocole SSL, parce que les chances sont que d'un numéro de carte de crédit utilisé fréquemment qu'il sera compromise... éventuellement.
Si vous générez des mots de passe avec
htpasswd
envisager de passer àhtdigest
.L'authentification Digest est sûr, même sur des connexions non chiffrées et il est tout aussi facile à mettre en place. Bien sûr, l'authentification de base est ok quand vous allez sur le ssl, mais pourquoi prendre une chance quand vous pourriez tout aussi bien utiliser l'authentification digest?
Comme son nom l'indique, 'Authentification de Base" est juste mécanisme de sécurité de base. Ne comptez pas sur elle pour vous fournir des soucis de sécurité.
À l'aide de SSL sur le dessus de celui-ci ne rend peu plus sécurisé, mais il ya de meilleurs mécanismes.