Expérience de sécurité du serveur : empêcher les connexions illégales
Auteur:Eve Cole
Date de mise à jour:2009-07-24 15:42:20
1. Configurez la sécurité de la base de données, telle que le compte/mot de passe/autorisations utilisé par votre programme pour vous connecter à la base de données. Si vous parcourez les actualités, utilisez les autorisations en lecture seule. Vous pouvez utiliser différents comptes/autorisations pour différents modules ; de plus, les procédures stockées de la base de données qui peuvent être appelées doivent également être strictement configurées, et toutes celles inutilisées sont désactivées (en particulier cmd) pour empêcher l'utilisation des procédures stockées de la base de données pour effectuer des appels système après injection ;
2. Lors de l'obtention des paramètres soumis par le client, effectuez un filtrage strict, y compris la longueur des paramètres, le type de paramètre, etc. ;
3. Protégez strictement les antécédents de l'administrateur. Si possible, ils doivent être configurés pour autoriser uniquement un accès IP spécifique (par exemple, autoriser uniquement l'accès au segment réseau de l'administrateur) - cela dépend de la situation réelle ;
4. Configurez le système d'exploitation en toute sécurité pour empêcher les fonctions système d'être appelées après l'injection, telles que
cmd.exe/tftp.exe/ftp.exe/net.exe
Tous ces fichiers sont transférés vers d'autres répertoires et des autorisations strictes sont attribuées aux répertoires ;
5. Configurer le contrôle d'accès au réseau ;
6. Si possible, configurez le filtrage de contenu pour HTTP afin de filtrer les virus, les scripts malveillants, etc. ;
7. Si nécessaire, vous pouvez envisager de choisir HTTPS, qui peut empêcher de nombreuses analyses de l'outil d'injection. Lorsque j'ai développé moi-même l'outil de détection d'injection, j'ai envisagé de prendre en charge HTTPS, mais il n'a pas encore été implémenté.
Je pense que vous avez également remarqué qu'en général, le programme prend principalement en compte des problèmes tels que les autorisations et le filtrage des paramètres ; les autorisations incluent principalement les autorisations de navigation IIS et les autorisations d'appel à la base de données. De plus, la configuration de sécurité de la base de données et du système d’exploitation doit également être prise en compte. De plus, je me demande si vous utiliserez des composants développés par d'autres pendant le processus de développement, tels que le téléchargement d'images, ou pendant le processus de développement, la plupart des gens les utiliseront. Les codes créés fournis sur Internet et dans les livres, tels que la vérification de la connexion des utilisateurs, etc., doivent également être étudiés.