Développement de site Web - Sécurité

Sécuriser vos pages Web est aussi important que les développer, car toute menace pouvant compromettre la sécurité peut nuire à la réputation de votre entreprise, vous nuire financièrement (en volant vos dépôts en ligne), nuire à vos clients qui visitent votre site Web, etc.

Selon les experts en sécurité, ils suggéreront de faire le contrôle de sécurité du site Web en fonction du OWASP TOP 10, qui est un document de sensibilisation puissant pour la sécurité des applications Web. Le Top 10 de l'OWASP représente un large consensus sur les failles de sécurité des applications Web les plus critiques.

Injections SQL

Des failles d'injection, telles que l'injection SQL, OS et LDAP, se produisent lorsque des données non approuvées sont envoyées à un interpréteur dans le cadre d'une commande ou d'une requête. Les données hostiles de l'attaquant peuvent inciter l'interpréteur à exécuter des commandes involontaires ou à accéder aux données sans autorisation appropriée.

Solution - Pour sécuriser votre page Web contre iSQL, vous devez valider les entrées et les symboles de filtrage.

Authentification et gestion de session interrompues

Les fonctions applicatives liées à l'authentification et à la gestion de session ne sont souvent pas correctement implémentées, ce qui permet aux attaquants de compromettre les mots de passe, les clés, les jetons de session ou même d'exploiter d'autres failles d'implémentation pour assumer l'identité des autres utilisateurs.

Solution - Pour sécuriser votre site de cette faille, vous devez créer des cookies et des sessions avec un délai d'expiration.

Scripts intersites (XSS)

Des failles XSS se produisent chaque fois qu'une application prend des données non fiables et les envoie à un navigateur Web sans validation ou échappement approprié. XSS permet aux attaquants d'exécuter des scripts dans le navigateur de la victime, qui peuvent alors détourner les sessions des utilisateurs, déformer les sites Web ou rediriger l'utilisateur vers des sites malveillants.

Solution - La protection contre cela est sur les mêmes lignes que pour iSQL.

Référence d'objet directe non sécurisée

Une référence d'objet directe se produit lorsqu'un développeur expose une référence à un objet d'implémentation interne, tel qu'un fichier, un répertoire ou une clé de base de données. Sans vérification de contrôle d'accès ou autre protection, les attaquants peuvent manipuler ces références pour accéder à des données non autorisées.

Solution - Vous devez mettre en œuvre des mécanismes de protection spécifiques tels que des mots de passe pour protéger ces fichiers.

Mauvaise configuration de la sécurité

Une bonne sécurité nécessite d'avoir une configuration sécurisée définie et déployée pour l'application, les frameworks, le serveur d'applications, le serveur Web, le serveur de base de données et la plate-forme. Les paramètres sécurisés doivent être définis, mis en œuvre et maintenus, car les valeurs par défaut ne sont souvent pas sécurisées.

Solution - Le logiciel doit être mis à jour.

Exposition des données sensibles

De nombreuses applications Web ne protègent pas correctement les données sensibles, telles que les cartes de crédit, les identifiants fiscaux et les informations d'authentification. Les attaquants peuvent voler ou modifier ces données faiblement protégées pour mener une fraude par carte de crédit, un vol d'identité ou d'autres crimes.

Solution - Les données sensibles méritent une protection supplémentaire telle que le cryptage au repos ou en transit, ainsi que des précautions particulières lors de l'échange avec le navigateur.

Contrôle d'accès au niveau de fonction manquant

La plupart des applications Web vérifient les droits d'accès au niveau de la fonction avant de rendre cette fonctionnalité visible dans l'interface utilisateur. Cependant, les applications doivent effectuer les mêmes vérifications de contrôle d'accès sur le serveur lors de l'accès à chaque fonction. Si les demandes ne sont pas vérifiées, les attaquants pourront forger des demandes d'accès aux fonctionnalités sans autorisation appropriée.

Solution - Vous devez vérifier les niveaux d'authentification.

Falsification de requêtes intersites (CSRF)

Une attaque CSRF force le navigateur d'une victime connectée à envoyer une requête HTTP falsifiée, y compris le cookie de session de la victime et toute autre information d'authentification automatiquement incluse, à une application Web vulnérable. Cela permet à l'attaquant de forcer le navigateur de la victime à générer des requêtes que l'application vulnérable considère comme des requêtes légitimes de la victime.

Solution - La prévention la plus couramment utilisée consiste à attacher des jetons basés sur des défis imprévisibles à chaque demande provenant d'un site Web et à les associer à la session de l'utilisateur.

Utilisation de composants avec des vulnérabilités connues

Les composants, tels que les bibliothèques, les frameworks et autres modules logiciels, fonctionnent presque toujours avec tous les privilèges. Si un composant vulnérable est exploité, une telle attaque peut faciliter de graves pertes de données ou une prise de contrôle du serveur. Les applications utilisant des composants avec des vulnérabilités connues peuvent saper les défenses des applications et permettre une gamme d'attaques et d'impacts possibles.

Solution - Vérifiez si cette version du composant présente des vulnérabilités et essayez d'éviter ou de changer avec une autre version.

Redirections et transferts non validés

Les applications Web redirigent et redirigent fréquemment les utilisateurs vers d'autres pages et sites Web. Ces applications utilisent des données non approuvées pour déterminer les pages de destination. Sans une validation appropriée, les attaquants peuvent rediriger les victimes vers des sites de phishing ou de logiciels malveillants ou utiliser des redirections pour accéder à des pages non autorisées.

Solution - Validez toujours une URL.

Protocoles utilisés sécurisés

C'est le cas lorsque vous avez un plan VPS et que vous gérez tout par vous-même. Lorsque les services sont installés, ils utilisent les ports par défaut. Cela rend le travail plus facile pour un hacker car il sait où regarder.

Certains des principaux ports de service utilisés pour l'hébergement de sites Web sont indiqués ci-dessous -

  • SSH - port 22
  • FTP - port 21
  • MySQL - port 3306
  • DNS - port 53
  • SMTP - port 25

Le changement de port de ces services varie en fonction du système d'exploitation et de ses différentes versions. En plus de cela, vous devez installer un pare-feu. S'il s'agit d'un système d'exploitation Linux, nous vous recommanderonsIPtableset bloquez tous les autres ports inutiles. Si votre système d'exploitation est Windows, vous pouvez utiliser son pare-feu intégré.

Pour bloquer les connexions par force brute dans vos services, vous pouvez utiliser Fail2ban, qui est un logiciel basé sur Linux et bloque toutes les adresses IP, ce qui fait de nombreuses tentatives de connexion infructueuses.