Quel antivirus recommandez-vous pour les ordinateurs utilisés pour le développement de Windows. Utiliseriez-vous un antivirus pour ces utilisateurs ? Ces utilisateurs compilent assez souvent et lisent et écrivent donc des tonnes de fichiers. Si je déploie un antivirus peu performant, ils ne seront pas contents.
Réponses
Trop de publicités?Vous avez besoin d'un logiciel antivirus
Il a été dit plusieurs fois dans ces réponses que les développeurs devraient être mieux informés, ou ne devraient installer les logiciels dont ils ont besoin que sur des sites connus, etc. Quelques remarques à ce sujet :
- La prévention n'est qu'une des fonctions de l'antivirus. Même si votre fournisseur met du temps à publier de nouvelles définitions, si votre logiciel détecte un virus sur votre machine après coup, vous êtes bien mieux loti que si vous n'aviez pas de logiciel antivirus du tout.
- Tout le monde, aussi brillant soit-il, fait des erreurs. Vous ne pouvez pas parier votre infrastructure sur la perfection de la prise de conscience de vos employés.
- Le téléchargement de logiciels n'est qu'un vecteur d'attaque virale. Qu'en est-il des vulnérabilités des logiciels ? Que se passe-t-il si un site de logiciels "réputés bons" est détourné ? Que se passe-t-il si un logiciel de mise à jour automatique (Java, Adobe, Apple, MS, etc.) est compromis ? Votre sécurité est trop précieuse pour la laisser entre les mains de vos employés et de vos fournisseurs.
- À moins que vous ne soyez une très petite entreprise, vous avez des personnes non techniques qui travaillent avec vous. Réceptionnistes, chefs de bureau, vendeurs, etc. Si vos développeurs sont parfaits et que votre réceptionniste clique sur un mauvais lien que sa mère lui a envoyé, votre réseau est compromis.
- L'installation d'un logiciel AV sur toutes les machines, à l'exception de celles de vos développeurs, laisse sans protection les postes de travail (sans doute) les plus précieux.
- Vos développeurs ont sur leurs machines des logiciels qui ne sont pas "nécessaires" à leur travail. C'est garanti. iTunes, AIM, d'autres applications qu'ils ont découvertes et qu'ils aiment. Ils sont assez intelligents pour contourner les politiques/logiciels qui tentent d'empêcher cela.
Mes recommandations
À Fog Creek, nous utilisons ESET NOD32.
J'ai testé Symantec, Kaspersky, Norton, ZoneAlarm, Avast et AVG. Tous ont des problèmes de performance notables, et beaucoup étaient carrément inutilisables pour nos développeurs (ils bloquaient les débogueurs, causaient des problèmes lors de l'accrochage aux appels système, etc).
NOD32 est déployé depuis près d'un an maintenant, et je n'ai rencontré qu'un seul problème avec NOD32 (qui a été résolu en vérifiant une option de configuration). Il ne provoque aucune baisse de performance notable, n'interfère avec aucun de nos outils et est incroyablement simple à configurer. Je l'ai déployé sur l'ensemble de nos postes de travail et serveurs en milieu de journée, depuis mon bureau.
Le seul problème que nous avons rencontré avec NOD32 a été une baisse importante des performances lors de l'exécution de VMWare Workstation pendant notre période d'évaluation. Après avoir exempté tous les fichiers VMWare de l'analyse en temps réel, le problème a disparu.
Je n'installerais pas de logiciel antivirus sur ces machines en supposant les points suivants :
- L'ordinateur fonctionne derrière un routeur avec un pare-feu intégré, un filtrage d'adresses MAC et un NAT.
- Seuls les ports nécessaires sont ouverts
- Le pare-feu de Windows est activé
- Les développeurs n'installent que les logiciels dont ils ont besoin pour effectuer leurs tâches à partir de sites de confiance.
- Aucun logiciel piraté n'est utilisé
- Les systèmes d'exploitation sont mis à jour régulièrement
- Les développeurs ne visitent pas sites souterrains
Sur les machines de développement, vous voulez des performances maximales et les logiciels antivirus sont un antonyme connu des performances. De plus les antivirus ne sont pas si efficaces .
J'ai quelques opinions ici...
Évidemment, l'intérêt d'un antivirus n'est pas forcément d'avoir le plus rapide, mais simplement le plus efficace. Je préfère Symantec mais chacun son truc.
Une chose que vous pouvez faire est de créer des exclusions d'analyse en temps réel pour un dossier de développement (par exemple, le dossier de développement de l'entreprise). C:\Development ) ou quelque chose comme ça - de cette façon, il ne s'agit pas d'une analyse en temps réel à chaque compilation. La plupart des virus/logiciels malveillants ne mettraient rien dans un fichier de type C:\Development (99% du temps, il sera placé dans Program Files, Windows, etc). Configurez votre antivirus pour qu'il exécute une analyse du dossier Development une fois par jour.
D'un autre côté, les développeurs seront normalement assez doués en informatique (nous l'espérons). Dans ce cas, je ne suis pas sûr que l'antivirus soit nécessaire dans ce type d'environnement. La meilleure chose à faire ici est de dédier des machines (machines virtuelles ou autres) uniquement pour le développement et non pour le courrier électronique, la navigation sur Internet, etc. C'est ainsi que l'on obtiendra les performances les plus rapides, sans frais d'analyse, évidemment.
Contexte
De toute évidence, de multiples variables entrent en jeu, de sorte qu'il n'existe pas de réponse unique. Ces variables comprennent :
Politiques existantes de l'entreprise/de la société
Toute politique impliquant des mandats de sécurité (comme l'obligation d'exécuter le système audiovisuel configuré par l'entreprise) peut rendre cette décision inutile.
Variabilité de l'environnement de "production".
S'il s'agit d'une application qui est déployée dans un environnement contrôlé OU un environnement limité, il est bon de reproduire cet environnement de production pour vos bancs d'essai.
Toutefois, s'il s'agit d'une application destinée à être diffusée "dans la nature", il n'y a évidemment aucun moyen de tester toutes les configurations de production possibles.
Environnement de développement et de test
S'il existe une équipe et un environnement formels de test/QA ou même simplement un serveur de construction, c'est probablement le meilleur endroit pour imiter l'environnement de production, et non les machines des développeurs.
Problèmes de sécurité
Il s'agit là d'un livre à part entière, mais les problèmes de sécurité peuvent l'emporter sur les compromis particuliers des machines des développeurs. Cela dépend de choses telles que :
- Sensibilité des données et/ou du code
- Connectivité aux réseaux extérieurs/internet
- Supports amovibles
- beaucoup beaucoup plus
Performance de la machine du développeur
Ce qui est évident ici, c'est l'impact sur les performances pendant le développement en raison de la taxe sur le CPU et les E/S introduite par le scanner de virus. Ce qui n'est pas si évident, ce sont les impacts potentiels : - Temps d'arrêt associé à la contraction d'un virus/trojan/malware et à sa suppression ultérieure. - L'impact sur les performances du virus/logiciel malveillant si aucun logiciel AV n'est présent pour détecter et avertir l'utilisateur afin qu'il continue à travailler avec le virus/logiciel malveillant présent.
Si vous utilisez des machines virtuelles, si vous disposez d'une image de développement ou si vous effectuez des sauvegardes régulières, ce risque d'interruption de service peut être insignifiant. Si le développeur doit réinstaller et reconfigurer tout ce qui se trouve sur sa machine à partir de zéro (en fonction de la gravité du virus), le temps d'arrêt peut être très pénalisant.
Probabilité de contraction
La probabilité qu'un virus/malware soit contracté par la machine du développeur est un énorme aléa/inconnu. Cependant, si vous travaillez sur un réseau fermé et n'apportez pas beaucoup de médias extérieurs, le risque est évidemment beaucoup plus faible que si toutes les machines sont directement connectées à Internet.
Si l'environnement de développement est Mac OSX, Solaris ou Linux, etc., la probabilité de contraction est beaucoup plus faible que sur la plate-forme Windows.
De plus, si la nature même du développement augmente l'exposition des machines des développeurs à un trafic potentiellement dangereux, cela augmente la probabilité de contraction.
Recommandations
En fonction de l'état des variables ci-dessus (et probablement d'autres), il existe plusieurs options (par ordre croissant de sécurité et décroissant de performance) :
- Pas de logiciel AV du tout
- Logiciel AV sans protection en temps réel, mais avec des analyses de virus programmées en dehors des heures de travail.
- Logiciel AV avec protection en temps réel mais exclusions sur les dossiers/types de fichiers impliqués dans le processus de développement.
- Logiciel AV avec protection en temps réel et sans exclusions
Il existe évidemment un certain nombre de variantes de ces quatre options (comme celles qui impliquent l'utilisation de machines virtuelles), mais je pense que cela couvre les principales options.
Usage personnel
Pour ce que cela vaut, j'utilise personnellement Symantec Corporate au travail et Avast Free Edition à la maison. La protection en temps réel est activée et les seules exclusions concernent les dossiers/vmdk de ma machine virtuelle. J'effectue une partie de mon développement sur l'hôte et une autre partie sur l'invité. Je développe en C# et en C++ natif pour la plate-forme Windows et je trouve les pénalités de performance gérables.
Je déploierais la même solution AV que dans votre environnement de production. Ainsi, vous disposez d'une interface de gestion unique et vous pouvez comparer l'impact de chaque solution, d'autant plus que les nouvelles solutions intègrent de plus en plus de mesures de prévention des intrusions à chaque version. Par conséquent, une solution AV peut ne pas réagir de la même manière qu'une autre.
- Réponses précédentes
- Plus de réponses