Points Principaux
- Donne pas la permission de s'exécuter dans le téléchargement des répertoires (un attaquant peut être de l'intérieur).
- Obtenez tous les possibles de l'utilisateur l'information qui est de se connecter au serveur (cookie est un seul).
- Surveiller le serveur et les alertes (trouvé/le voir, l'arrêter, fermer la porte).
Réponse à
Supposons que l'utilisateur a téléchargé un mauvais fichier qui était accessible uniquement dans son
compte; de l'autre utilisateur alors involontairement les téléchargements de fichiers, l'exécution de
aucun code exécutable qui est là.
Tout d'abord, vous ne devez pas permettre à exécuter quoi que ce soit sur votre téléchargé répertoires, parce que de même, les utilisateurs peuvent télécharger une page aspx et de l'exécuter et de parcourir vos fichiers. La première étape consiste à ajouter sur votre télécharger des répertoires web.config (mais aussi de définir les autorisations pour ne pas permettre d'exécuter quoi que ce soit).
<configuration>
<system.web>
<authorization>
<deny users="*" />
</authorization>
</system.web>
</configuration>
relatif : j'ai été piraté. Mal aspx fichier téléchargé appelé AspxSpy. Ils essayent toujours. M'aider à les piéger‼
Voler les cookies
Permet de voir comment nous pouvons identifier l'utilisateur.
- Cookie
- Navigateur ID
- Propriété intellectuelle, y compris de proxy et de l'avant ips.
- Navigateur javascript activer (ou pas).
- Direct demander de mot de passe.
- Autre fichier stocké sur le client.
Maintenant, pour chaque enregistré dans la session, nous pouvons relier les quatre premières informations de l'ensemble, et si l'un d'eux le changement, nous pouvons nous connecter à lui et demander à nouveau de vous connecter.
Aussi est essentiel pour vous connecter d'une façon (avec une ligne de la base de données) le cookie avec le statut de connexion de l'utilisateur, de sorte que si l'utilisateur de se déconnecter, peu importe si certains voler son cookie, de ne pas être en mesure de voir les pages - ce que je veux dire, c'est le cookie qui l'amenèrent à connecter doit pas la seule que nous nous appuyons sur, mais aussi de nos données afin de suivre l'état de l'utilisateur.
Dans ce cas, même si certains de voler le cookie, si l'utilisateur de se déconnecter après certaines actions, le cookie n'est plus utile.
Donc, ce que nous faisons, c'est que nous nous connectons le cookie+ip+navigateur id+javascript informations de connexion, et si l'un d'entre eux à changer, nous ne pas confiance en lui, pas plus, jusqu'à ce que de vous connecter à nouveau.
Les Cookies
Un cookie n'est pas assez. Nous avons besoin d'au moins deux témoins, l'un qui ne fonctionnent que sur des pages sécurisées, et doit être sécurisé https et un que les travaux sur toutes les pages. Ces deux témoins doivent être connectés ensemble et cette connexion doit également être prise sur le serveur.
Donc, si l'un de ce cookie n'existe pas, ou que la connexion n'est pas de match, alors l'utilisateur à nouveau de ne pas avoir l'autorisation et la nécessité de se connecter à nouveau (avec alerte pour nous)
relative: certains pirates de voler le cookie de l'utilisateur et se connecter avec son nom sur un site web?
Une idée de connecter les témoins ensemble. Avec cette idée que je peux brancher le cookie de session avec le cookie d'authentification.
En cas d'échec
Il ya quelques étapes (ou des actions) qu'un hacker suivre (ne) quand se rendre à un site afin de pouvoir bénéficier de cette fenêtre d'opportunité et de gauche, une porte arrière ouverte.
- Créer un nouveau compte administrateur.
- Télécharger un fichier à exécuter en tant que navigateur et exécutable.
Comme je l'ai dit nous n'avons jamais permettre d'être en mesure de télécharger un fichier qui peut être exécuté, donc c'est facile.
Les autres pour créer un nouveau compte administrateur est celle que nous avons besoin d'ajouter un mot de passe qui n'est pas enregistré sur un cookie, ou du néant existe de toute façon sur le client.
Donc, pour les rares actions comme, Nouvel Utilisateur de backoffice, modifier les privilèges des utilisateurs, de supprimer un utilisateur, etc, nous avons besoin de demander un deuxième mot de passe à chaque fois que seul l'administrateur sait.
De sorte que la deuxième mot de passe est le dernier messure.
Une dernière idée
Une idée que je n'ai pas fait, est de stocker de la façon dont les informations sur le client autre que le cookie, le ne peut pas être volé comme les cookies, ou même si il peut être volé est caché quelque part sur l'ensemble des données qu'il est impossible de le trouver.
Cette information peut être une extra id de l'utilisateur ainsi qu'avec les cookies, les données du navigateur, IP.
Je suis chose certains endroits possibles, mais ne pas avoir testé ou essayer encore dans la vie réelle. Ce sont quelques placé.
- Extension personnalisée, ou un plugin, malheureusement différent pour chaque navigateur qui ont la capacité d'enregistrer les données et ensuite nous pouvons les utiliser pour communiquer avec le serveur. Cela est nécessaire à l'action de l'utilisateur, pour installer ce plugin et pour les utilisateurs réguliers, cela peut lui faire peur et aller.
- Code caché à l'intérieur d'une bonne image de cache, sur l'en-tête de il, par exemple, sur l'etag. C'est aussi facile de ne pas travailler parce que nous ne pouvons pas être sûr que la demande d'image pour recharger...
- Certains de navigateur et d'autres capacités, par exemple, de lire et d'utiliser un certificat client, qui peut être utilisé pour échanger des données cryptées avec le serveur. Cette demande l'intervention de l'utilisateur pour installer ce certificat, et de notre part de les créer différent pour chaque utilisateur. Bon pour les comptes bancaires, mais pas pour les simples utilisateurs.
Donc, c'est mes idées... toute critique, ou une solution (pour savoir comment stocker de petites informations sur le client autre que le cookie) est la bienvenue.
La mise en œuvre
Pour le rendre réel sécurisée nous avons besoin de garder une trace de l'utilisateur sur le serveur, et sur la base de données. Une table qui se connectent à l'utilisateur, avec l'adresse ip, le navigateur id, et de l'autre, comme si maintenant, c'est connecter ou pas, est une mesure que nous pouvons utiliser pour prendre des décisions.
Si ne pas être en mesure d'utiliser une base de données, ou pas comme il est difficile, ensuite, la connexion peut être bu de hachage certaines données de l'ensemble et vérifier si cette empreinte est la même.
Par exemple, nous pouvons définir un cookie avec l'algorithme de hachage (Ip+BrowserID) et de vérifier si ce beaucoup ou pas.
Alertes - Journal
Tous les ci-dessus, ils se veulent automatiser. Comment jamais, je suggère aussi de montrer à l'utilisateur et à l'administrateur de certaines informations pour diagnostiquer et prévenir une attaque. Cette information peut être.
Pour l'utilisateur
- Les 10 dernières informations de connexion de l' (IP, DateTime, Succès ou pas)
- Envoyer un email sur l'utilisateur à propos de certaines actions (pour les sites de haute sécurité), comme connexion, déconnexion, les actions critiques.
Pour l'administrateur.
- Journal et de montrer toute l'échec de la connexion sur les quatre paramètres de Cookie+IP+BroserID+Javascript Activer). Le plus de l'échec en peu de temps, plus d'attention nécessaire.
- Vérifier l'échec de la connexion.
- Vérifiez la page de lecture de l'utilisateur avec cookie activer (ou enregistrer) et le javascript est désactivé, parce que c'est comment scanner identifiés à partir de mon expérience.