Les bases de la sécurité pour les développeurs de sites et les administrateurs

De tous les sujets techniques, la sécurité est peut-être le plus complexe et certainement le plus important. En effet, la sécurité évolue constamment. C’est une évolution forcée, car nous devons nous adapter aux menaces qui apparaissent constamment.

Nous aurons la responsabilité de différents niveaux de sécurité. Le premier niveau est nous-mêmes ou l'organisation pour laquelle nous travaillons. Le deuxième niveau est nos clients. Et le troisième niveau concerne les utilisateurs des sites Web ou des applications que nous développons pour nos clients.

Malgré tous nos efforts, les clients trouveront toujours le moyen de saper les protections que nous leur fournissons. Ils comptent sur nous en tant que professionnels de l'informatique pour les aider à rester en sécurité, mais paradoxalement aussi suivez rarement les conseils de sécurité nous leur fournissons. La plupart des utilisateurs sont vraiment leurs pires ennemis.

Nous devons donc faire en sorte que les clients aient le plus de difficulté possible pour compromettre leur propre sécurité, tout en simplifiant au maximum leur capacité à effectuer les tâches dont ils ont besoin. Il est peut-être impossible d'atteindre ces deux objectifs à la perfection, mais dans cet article, nous expliquerons certaines choses que vous pouvez faire pour réduire les risques d'atteinte à la sécurité.

gif par Patswerk

Protéger vos propres appareils et données

Vous êtes la première ligne de défense pour vous et vos clients. Si vos systèmes sont compromis, tout le monde pour lequel vous travaillez peut être en danger. Voici quelques recommandations sur les mesures minimales à prendre pour éviter de fonctionner dans un environnement à risque accru:

  1. Utilisez un système d'exploitation de bureau sécurisé. Il s’agit de la mise à niveau la plus simple possible, si vous n’utilisez pas déjà un système d’exploitation sécurisé. Les systèmes d'exploitation les plus sécurisés sont Linux, Unix et BSD. Vous devriez utiliser l'un de ces systèmes d'exploitation comme système d'exploitation principal.
    L'avantage pour les développeurs et les administrateurs est que vous avez accès à une bibliothèque beaucoup plus vaste d'outils de développement et de sécurité gratuits, et que la plupart d'entre eux fonctionnent mieux que leurs équivalents Windows ou OSX. Pour vraiment fonctionner en mode paranoïaque, choisissez les distributions Linux plus sécurisées telles que Perroquet, Qubes, et Tails.
  2. Maintenez la séparation entre le système d'exploitation et vos données. Si vous utilisez Linux ou Unix, c'est facile. Vous vous assurez simplement que vous avez créé une partition ou un disque dur séparé pour héberger votre partition personnelle. Ensuite, tous les fichiers utilisateur survivront à n’importe quel nombre d’installations de systèmes d’exploitation et, en bonus, pourront être accédés à partir de plusieurs systèmes d’exploitation sur des systèmes à démarrage multiple.
  3. Utilisez un système de fichiers de journalisation pour éviter toute perte de données si votre système se bloque ou est arrêté de manière inattendue.
  4. Miroir votre partition d'accueil. Sauvegardez régulièrement les fichiers importants et utilisez la gestion des versions pour éviter les écrasements involontaires.
  5. Pensez à utiliser la sauvegarde sur le cloud (à ne pas confondre avec la synchronisation sur le cloud, qui est loin d'être aussi sûre et sécurisée qu'une sauvegarde authentique). Les données sensibles doivent être cryptées avant d'être téléchargées.
  6. Gardez votre système à jour, en ne négligeant jamais les correctifs de sécurité. Les systèmes qui utilisent des mises à jour progressives ont l’avantage de toujours savoir quand les correctifs sont disponibles, ce qui doit être corrigé et pourquoi.
  7. Formez les membres de votre organisation à la vigilance face aux méthodes d'ingénierie sociale pouvant être utilisées contre eux pour accéder à vos systèmes.
  8. Évitez d’exécuter des logiciels à partir de sources non vérifiées. Lors du téléchargement de logiciels à partir de sources fiables, vérifiez les signatures de fichier pour vous assurer que vous en avez une copie authentique.
  9. Maintenez la sécurité physique de vos ordinateurs, en particulier lorsque vous voyagez. Porter votre ordinateur portable partout n’est peut-être pas pratique, mais c’est mieux que de laisser maid malfaisante corrompre votre BIOS. Si ce n’est vraiment pas une option de transporter votre ordinateur, enfermez-le dans un étui verrouillable et rangez-le dans un coffre-fort ou de toute autre manière.
  10. Rappelez-vous toujours qu'il vaut mieux être paranoïaque que d'être un idiot qui s'est fait pirater.

illustration par Phantom Points Creative

Protéger les clients

Il est difficile de protéger les clients des menaces informatiques, car ils ne comprennent pas tous l'ampleur de la menace à laquelle ils sont confrontés. Beaucoup penseront également que si leur site est compromis, alors c'est à vous de régler le problème, pas le leur.

De nombreux sites sont exploités depuis des années sans que leurs propriétaires en soient conscients, car la plupart des attaques malveillantes dirigées contre des sites ne sont pas censées laisser savoir leur présence. Vous ne pouvez donc pas compter sur les clients pour vous informer des problèmes. Vous devrez adopter une approche proactive.

  1. Essayez d'éduquer vos clients sur les risques. Le problème est en grande partie dû à l’ignorance de la menace.
  2. Informez les entreprises clientes que la plus grande menace à laquelle elles seront confrontées est menaces internes créés par leurs propres employés et entrepreneurs (souvent par inadvertance, mais pas toujours). Assurez-vous également qu'ils sont au courant des problèmes tels que l'ingénierie sociale, le surf sur épaule et la plongée dans des poubelles.
  3. Gardez les serveurs patchés. Effectuez des sauvegardes régulières.
  4. Recherchez des preuves d’explosions ou d’autres activités malveillantes. Concevoir la structure de fichiers et de dossiers du site aussi simple que possible facilitera la détection. Sachez quels fichiers doivent figurer dans chaque dossier. Si vous voyez de nouveaux fichiers qui ne sont pas familiers ou qui semblent avoir des noms générés par ordinateur, c'est un grave drapeau rouge.
  5. Sachez quels fichiers doivent figurer dans le dossier cgi-bin (pour la plupart des sites, ce ne seront pas des fichiers), car il s'agit d'un emplacement de prédilection pour le stockage de programmes malveillants.
  6. Vérifiez périodiquement le fichier htaccess pour vous assurer qu'il n'a pas été falsifié.
  7. Le code que vous écrivez est peu susceptible de faire un usage intensif de chaînes de codage et de décodage, ou de contenir un contenu fortement crypté. Si les fichiers PHP contiennent du code inhabituel, il est peu probable qu'il s'agisse de fichiers légitimes. Des instructions de codage de caractères inhabituelles sont également un cadeau. Par exemple, il est peu probable que vos fichiers légitimes soient encodés sous Windows-1251.
  8. Après avoir confirmé une violation, changez vos mots de passe. Vérifiez que les autorisations de fichier sont correctement définies pour tous les fichiers et dossiers. Moniteur signe l'intrus est de retour. Même après avoir changé votre mot de passe, les attaquants peuvent trouver un moyen d'entrer. Vous devrez vous assurer qu'ils ne le font pas. Configurez votre serveur pour vous informer par courrier électronique lorsque des modifications sont apportées au serveur.
  9. Aidez vos utilisateurs à choisir les mots de passe de manière appropriée en leur expliquant les règles de manière compréhensible. C’est ainsi que la plupart des gens aiment définir leurs mots de passe: jenny23T: c’est ainsi que les administrateurs système leur conseillent généralement de définir leurs mots de passe: n @ ^ 2z`jGAnd - le problème est que le premier mot de passe peut être déchiffré en quelques secondes, alors que le deuxième mot de passe peut l'être. Dans quelques heures. De plus, il n’ya aucun espoir que l’utilisateur retienne le mot de passe plus complexe. Voici un exemple de mot de passe qui nécessiterait plusieurs vies et ne pourrait jamais être oublié: Ialwaysfly @ 40,000feet - Les caractéristiques du mot de passe ci-dessus sont les suivantes: Plus de caractères 20, mélange de majuscules et de minuscules, comprenant à la fois des lettres et des chiffres, caractères non alphanumériques faciles à mémoriser. Un exemple similaire pourrait être:

    En tant qu'impression ^ dans la vie, je ne vais jamais4gherehereIstartedIl n'y a vraiment aucune limite à la créativité avec les mots de passe, et il y a tellement plus d'avantages avec

    Comme dans la vie, je ne verrai jamais 4getherIstarted par rapport à n @ ^ 2z`jG. Le premier exemple (caractères mixtes 41) prend jusqu'à la fin du temps pour se fissurer et est facile à mémoriser, alors que le second exemple (caractères mixtes 8) peut être craqué moins de six heures et est presque impossible à retenir.Ne pensez pas que vous pouvez simplement enchaîner des mots et tout ira bien, car les pirates sur ce. Vous devez toujours mélanger les cas et utiliser des caractères non alphanumériques, mais certainement la longueur est plus importante que la complexité dans l'état actuel des choses. La combinaison des deux vous donne un avantage sur ceux qui n'utilisent que l'un ou l'autre.

    La plupart des attaques basées sur un dictionnaire se concentrent sur l'anglais car c'est la langue la plus utilisée et la plupart des meilleurs sites à cibler (en termes de valeur de ce qu'ils peuvent générer) sont des sites gérés par des personnes qui parlent anglais. Si vous connaissez une autre langue, utilisez-la lors de la création de vos mots de passe.

    Aussi excellent que

    Comme je l'aimais mieux, je ne parlerai jamais de moi là où il a commencé, ce n'est pas encore aussi parfait qu'un MédiaQue ^ enLaVida, un non-vilain désenchantement, parce que cela ajoute encore une couche de complexité, forçant le traqueur à recourir à la force brutale. Apprendre une autre langue juste pour créer de meilleurs mots de passe peut être un peu long, alors vous pouvez également devenir (ou rester) vraiment mauvais en anglais lorsque vous créez une phrase secrète. Par exemple:

    dans la mesure du possible

    Pour l’ultime, vous pouvez utiliser des mots de langue étrangère mal orthographiés et remplacer toutes les voyelles par des voyelles de Leet:

    4M3d1d4Qu3^3nL4V1d3,nunc40l1vd4r3d3dond3c0m3nc3

    Je ne sais pas pour vous, mais je n'aurais pas la patience de taper cela. Pourtant, c'est un mot de passe très sécurisé, et oblige le craqueur à faire un travail insensé (pour ensuite découvrir que tout ce à quoi ils ont accès est une collection de photos de chats)

  10. Assurez-vous que les clients comprennent les dangers inhérents à l'envoi d'informations sensibles par courrier électronique, Skype, etc.

gif par Hoang Nguyen

Une note spéciale pour les développeurs

Pour les développeurs, un changement culturel rapide et facile à adopter, qui permettrait d'éviter chaque année d'innombrables violations de la sécurité, consiste simplement à minimiser la chaîne de dépendance externe de leurs sites. Nous nous connectons inutilement à des scripts hébergés par des tiers. Beaucoup de ces scripts peuvent avoir leurs propres dépendances externes. Tout cela dans le but d'économiser quelques octets.

Dans la mesure du possible, nous devrions essayer d’héberger tous nos scripts nous-mêmes. Un script hébergé par un tiers populaire est une cible tentante pour un attaquant, car en prenant le contrôle du script, il est possible d'exécuter des exploits sur des milliers d'ordinateurs.

Remarques finales

La sécurité informatique est un défi sans fin et il y a beaucoup d'argent à gagner des deux côtés. Les enjeux sont très importants et personne n’est totalement en sécurité, même ceux qui pensent ne rien avoir à cacher. Gagner consiste principalement à faire preuve de bon sens et à rester vigilant, sans jamais se laisser aller à la complaisance.

image d'en-tête avec la permission de Josh Warren

Bogdan Rancea

Bogdan est un membre fondateur d’Inspired Mag, ayant accumulé près de 14 années d’expérience 6 au cours de cette période. Dans ses temps libres, il aime étudier la musique classique et explorer les arts visuels. Il est également obsédé par les fixies. Il possède déjà 5.