Jaki program antywirusowy polecasz dla urządzeń deweloperskich [zamknięte]

27

Jaki program antywirusowy poleciłbyś do komputerów używanych do programowania systemu Windows. Czy użyjesz antywirusa dla tych użytkowników? Ci użytkownicy kompilują się dość często, dlatego odczytują i zapisują mnóstwo plików. Jeśli wdrożę wolno działającego programu antywirusowego, nie będą zadowoleni.

David Pokluda
źródło
Zalecenia dotyczące produktów i usług są nie na temat na wszystkich stronach wymiany stosów - dotyczy to zwłaszcza oprogramowania antywirusowego, w którym stan wiedzy zmienia się tak często, że nigdy nie byliśmy w stanie aktualizować odpowiedzi na to pytanie. Jeśli masz problemy z wybraniem oprogramowania A / V, skontaktuj się z Google (lub zapytaj na czacie).
voretaq7

Odpowiedzi:

28

POTRZEBUJESZ oprogramowania antywirusowego

W tych odpowiedziach powiedziano kilka razy, że programiści powinni wiedzieć lepiej lub powinni instalować tylko oprogramowanie, którego potrzebują ze znanych dobrych witryn itp., Więc jeśli potrzebujesz programu antywirusowego, masz problem społeczny, a nie techniczny. Kilka punktów na ten temat:

  • Zapobieganie jest tylko jedną z funkcji antywirusa. Nawet jeśli twój producent nie chce wydobywać nowych definicji, jeśli twoje oprogramowanie wykrywa wirusa na twoim komputerze po tym, że jesteś o wiele lepiej niż gdybyś nie miał żadnego oprogramowania AV.
  • Każdy, bez względu na to, jak błyskotliwy, popełnia błędy. Nie możesz postawić swojej infrastruktury na doskonałość świadomości swoich pracowników.
  • Pobieranie oprogramowania to tylko jeden wektor ataku wirusa. Co z lukami w oprogramowaniu? Co się stanie, jeśli witryna „znanego dobrego” oprogramowania zostanie przejęta? Co się stanie, jeśli oprogramowanie automatycznej aktualizacji (Java, Adobe, Apple, MS, cokolwiek) zostanie naruszone? Twoje bezpieczeństwo jest zbyt cenne, aby pozostawić je w rękach pracowników i dostawców.
  • Jeśli nie jesteś bardzo małą firmą, pracują z Tobą nietechniczni ludzie. Recepcjoniści, kierownicy biur, sprzedawcy itp. Jeśli twoi deweloperzy są idealni, a recepcjonista kliknie zły link wysłany do niego przez mamę, twoja sieć jest zagrożona.
  • Zainstalowanie oprogramowania AV na wszystkich komputerach z wyjątkiem deweloperów pozostawia (prawdopodobnie) najcenniejsze stacje robocze bez ochrony.
  • Twoi programiści mają na swoich komputerach oprogramowanie, które nie jest „niezbędne” do wykonywania ich zadań. Gwarantowana iTunes, AIM i inne aplikacje, które odkryli, że im się podobają. Są wystarczająco inteligentni, aby ominąć zasady / oprogramowanie, które próbuje temu zapobiec.

Moje rekomendacje

W Fog Creek używamy ESET NOD32.

Testowałem Symantec, Kaspersky, Norton, ZoneAlarm, Avast i AVG. Wszystkie z nich mają zauważalne problemy z wydajnością, a wiele z nich było absolutnie bezużyteczne dla naszych programistów (zablokowane debugery, powodowały problemy podczas podłączania się do wywołań systemowych itp.).

NOD32 jest wdrażany od prawie roku i miałem tylko jednego programistę z jakimś problemem (i zostało to naprawione poprzez sprawdzenie opcji konfiguracji). Nie powoduje zauważalnego spadku wydajności, nie koliduje z żadnym z naszych narzędzi i jest niewiarygodnie prosty w konfiguracji - wdrożyłem go na wszystkich naszych stacjach roboczych i serwerach w środku dnia, nie ruszając się z biurka.

Jedynym problemem, jaki mieliśmy z NOD32, było duże pogorszenie wydajności podczas uruchamiania VMWare Workstation w okresie oceny. Po zwolnieniu wszystkich plików VMWare ze skanowania w czasie rzeczywistym problem zniknął.

sh-beta
źródło
Dobra wskazówka dotycząca zwolnienia Virtual HD ze skanowania. Co ciekawe, sprawdziłem AVG (z którym mieliśmy bardzo dużo szczęścia) i już go zwolniłem .vhd.
Clay Nichols
1
+1, w końcu ktoś z rozsądną odpowiedzią ...
Svish,
+1 Po co powtarzać się, gdy ktoś już wykonał pracę ^^
Oskar Duveborn,
Ciekawy około trzech lat później i Microsoft Security Essentials + Forefront (lub jego następca, nie korzystam teraz z serwerów po wyjściu z IT)
jcolebrand
12

Nie instalowałbym żadnego oprogramowania antywirusowego na tych komputerach, zakładając, że:

  • Komputer działa za routerem z wbudowaną zaporą ogniową, filtrowaniem adresów MAC i NAT.
  • Tylko potrzebne porty są otwarte
  • Zapora systemu Windows jest włączona
  • Programiści instalują tylko oprogramowanie niezbędne do wykonania zadań z zaufanych witryn
  • Nie jest używane pirackie oprogramowanie
  • Systemy operacyjne są regularnie aktualizowane
  • Twórcy nie odwiedzają podziemnych stron

Na komputerach deweloperskich chcesz mieć maksymalną wydajność, a oprogramowanie antywirusowe to znany antonim wydajności. Poza tym ten program antywirusowy nie jest tak skuteczny .

ZĄBKOWAĆ
źródło
2
Dodam, że programiści nie używają pamięci USB z niezaufanych źródeł. Znam kolegę, który przypadkowo zaatakował swoją maszynę programistyczną pendrivem, który otrzymał od klienta. Symantec Antivirus nie wykrył go na swoim komputerze programistycznym w pracy, ale AVG Free na swoim komputerze domowym.
Spoike
2
Nie zgadzam się z bitem zapory systemu Windows, ale zgadzam się ze wszystkim innym.
cletus
9
Nawet znakomici programiści czasami popełniają błędy. POTRZEBUJESZ oprogramowania antywirusowego.
sh-beta
2
Pamiętaj tylko, że jeśli firma ma stażystów, użyje swoich pendrivów do odrabiania lekcji i innych rzeczy, a następnie przyklei je na swoich komputerach programistycznych. Widziałem wirusy rozprzestrzeniające się kilka razy w ten sposób.
Fabio Gomes
4
Nigdy nie korzystałem z AV aż kilka miesięcy temu, kiedy moje okno deweloperów zostało zainfekowane, odwiedzając blog na stronie digg. Do jednego z banerów reklamowych został wykorzystany exploit Adobe PDF 0day. Nie miałem nawet zainstalowanego Adobe PDF Reader, używam czytnika PDF Foxit, ale nadal byłem w stanie wykorzystać i zainfekować mój komputer po prostu odwiedzając stronę.
Element
8

Mam tutaj kilka opinii ...

Oczywiście celem antywirusa nie musi być najszybszy, ale po prostu najbardziej skuteczny. Wolę Symantec, ale każdy ma swój.

Jedną z rzeczy, które możesz zrobić, jest wykluczenie skanowania w czasie rzeczywistym dla folderu programistycznego (tj. C: \ Development) lub coś takiego - w ten sposób nie jest skanowane w czasie rzeczywistym każda kompilacja. Większość wirusów / złośliwego oprogramowania i tak nie umieszczałaby niczego w folderze C: \ Development (99% czasu będzie przechodzić do plików programu, systemu Windows itp.). Skonfiguruj swój program antywirusowy, aby skanował w folderze Programowanie raz dziennie.

Z drugiej strony, programiści zwykle będą bardzo biegli w obsłudze komputera (mamy nadzieję). W takim przypadku nie jestem pewien, czy w tego typu środowisku w ogóle potrzebny jest program antywirusowy. Najlepszą rzeczą jest tutaj dedykowanie maszyn (maszyn wirtualnych lub cokolwiek innego) tylko do programowania, a nie poczty elektronicznej, surfowania po Internecie i tym podobnych. Zapewniłoby to najszybszą wydajność, oczywiście bez narzutów związanych ze skanowaniem.

Brandon
źródło
Wszystkie dobre sugestie oprócz części dotyczącej surfowania po sieci na innym komputerze niż programowanie. Te dwa zadania często się pokrywają :) Nie chciałbym też wykonywać ciężkich zadań na maszynie wirtualnej.
Łukasz
8

tło

W grę wchodzi oczywiście wiele zmiennych, więc nie ma jednej uniwersalnej odpowiedzi. Te zmienne obejmują:

Istniejąca polityka firmy / firmy

Wszelkie zasady dotyczące mandatów bezpieczeństwa (takie jak wymóg uruchomienia AV skonfigurowanego przez firmę) mogą sprawić, że decyzja ta nie będzie stanowić problemu.

Zmienność środowiska „produkcyjnego”.

Jeśli jest to aplikacja wdrażana w środowisku kontrolowanym LUB w środowisku ograniczonym, dobrym pomysłem jest zduplikowanie tego środowiska produkcyjnego dla swoich platform testowych.

Jeśli jednak jest to aplikacja, która zostanie wydana „w środowisku naturalnym”, nie ma oczywiście możliwości przetestowania wszystkich możliwych konfiguracji produkcyjnych.

Środowisko programistyczne i testujące

Jeśli istnieje formalny zespół testujący / QA i środowisko, a nawet tylko serwer kompilacji, jest to prawdopodobnie najlepsze miejsce do naśladowania środowiska produkcyjnego, a nie maszyn deweloperów.

Obawy dotyczące bezpieczeństwa

Jest to książka sama w sobie, ale obawy dotyczące bezpieczeństwa mogą przeważyć wszelkie szczególne kompromisy z maszynami programistów. Zależy to od takich rzeczy jak:

  • Wrażliwość danych i / lub kodu
  • Łączność z zewnętrznymi sieciami / Internetem
  • Nośniki wymienne
  • o wiele wiele więcej

Wydajność maszyny programisty

Oczywistym jest tutaj spadek wydajności podczas programowania ze względu na podatek od procesorów i I / O wprowadzony przez skaner antywirusowy. Nie tak oczywiste są potencjalne skutki: - Przestoje związane ze skurczeniem się wirusa / trojana / złośliwego oprogramowania i późniejszym usunięciem - Wpływ wydajności wirusa / złośliwego oprogramowania, jeśli oprogramowanie AV nie jest obecne w celu wykrycia i powiadomienia użytkownika, aby kontynuował do pracy z obecnym wirusem / złośliwym oprogramowaniem.

Jeśli używasz maszyn wirtualnych lub masz obraz programistyczny lub masz regularne kopie zapasowe, ten potencjał przestoju może być nieznaczny. Jeśli programista będzie musiał ponownie zainstalować i zrekonfigurować wszystko na swoim komputerze od zera (w zależności od nasilenia wirusa), przestój może być poważną karą.

Prawdopodobieństwo skurczu

Prawdopodobieństwo zarażenia się wirusem / złośliwym oprogramowaniem przez maszynę programistyczną to ogromna wieloznaczna / nieznana. Jeśli jednak pracujesz w zamkniętej sieci i nie wnosisz dużo mediów zewnętrznych, ryzyko jest oczywiście znacznie niższe niż w przypadku, gdy wszystkie komputery są bezpośrednio podłączone do Internetu.

Jeśli środowiskiem programistycznym jest Mac OSX, Solaris lub Linux itp., Prawdopodobieństwo skurczu jest znacznie niższe niż na platformie Windows.

Ponadto, jeśli sam charakter rozwoju zwiększa narażenie maszyn programistów na potencjalnie niebezpieczny ruch, zwiększa to prawdopodobieństwo skurczu.


Rekomendacje

W oparciu o powyższy status zmiennych (i prawdopodobnie więcej) istnieje kilka opcji (w celu zwiększenia bezpieczeństwa, zmniejszenia kolejności wydajności):

  • W ogóle nie ma oprogramowania AV
  • Oprogramowanie AV bez ochrony w czasie rzeczywistym, ale zaplanowane skanowanie w poszukiwaniu wirusów poza godzinami pracy
  • Oprogramowanie AV z ochroną w czasie rzeczywistym, ale wyklucza foldery / typy plików zaangażowane w proces tworzenia
  • Oprogramowanie AV z ochroną w czasie rzeczywistym i bez wyłączeń

Istnieje oczywiście wiele odmian tych czterech opcji (takich jak korzystanie z maszyn wirtualnych), ale myślę, że obejmuje to główne opcje.

Wykorzystanie osobiste

Jeśli chodzi o wartość, osobiście korzystam z Symantec Corporate w pracy i Avast Free Edition w domu. Mam włączoną ochronę w czasie rzeczywistym, z jedynymi wyjątkami dotyczącymi moich folderów maszyny wirtualnej / plików vmdk. Część mojego rozwoju wykonuję u gospodarza, a niektóre u gościa. Zajmuję się programowaniem w języku C # i natywnym C ++ dla platformy Windows i uważam, że kary wydajnościowe można kontrolować.

Tęgi
źródło
6

Wdrożyłbym to samo rozwiązanie AV, co w twoim środowisku produkcyjnym. W ten sposób masz jeden interfejs zarządzania i dostajesz porównanie jabłek do jabłek pod kątem wpływu, szczególnie, że nowsze wprowadzają coraz więcej środków zapobiegania włamaniom w każdej wersji. W rezultacie jedno rozwiązanie AV może nie reagować tak samo jak inne.

K. Brian Kelley
źródło
Korzystanie z tego samego AV podczas testowania i produkcji jest dobrym pomysłem (ogólnie, jeśli środowisko produkcyjne jest kontrolowane, powinieneś mieć jak najbardziej identyczny testbed). Jednak nie wiem, czy powinien być taki sam wymóg na pudełkach programistów, szczególnie jeśli powoduje to problemy z wydajnością podczas kompilacji lub znacząco zwiększa koszt itp.
Burly
5

ESET NOD32 to najlżejszy (pod względem użycia procesora) program antywirusowy, jaki znalazłem. Jest również zaliczany do jednego z lepszych programów według AV-Comparatives . Pamiętaj tylko, aby wykluczyć katalogi programistyczne lub VM i nie powinieneś mieć problemu.

Bakanekobrain
źródło
3

Na pewno chcesz skanować w czasie rzeczywistym na tych komputerach.

Od jakiegoś czasu jestem poza grą, ale o ile mi wiadomo, trzy główne obszary, którymi należy się zająć, to infekcja wymiennymi nośnikami, takimi jak dyskietki i pamięć USB (głównie wirusy sektora rozruchowego), poczta e-mail (głównie konie trojańskie) i usługi sieciowe (robaki) ). Maszyna programistyczna prawdopodobnie będzie miała wszystkie trzy.

Radziłbym zastosować się do sugestii routeNpingme dotyczących wyjątków od skanowania systemu plików w celu skanowania w czasie rzeczywistym.

Trevor Bramble
źródło
1

Używamy Trend Micro w produkcji, a ostatnio zainstalowałem go na wszystkich maszynach wirtualnych TEST (po tym, jak dostał wirusa) i nie zauważyłem zauważalnej utraty wydajności (ponad 20 maszyn wirtualnych na jednym ośmio-rdzeniowym hoście), te maszyny są miażdżone przez nasz dział wsparcia przy próbie odtworzenia środowiska klienta, jest to prosty sprzęt AV i załatwia sprawę. Wyłapał kilka rzeczy, które w innym przypadku zainfekowałyby maszynę po odwiedzeniu przerażających podziemnych stron

saschabeaumont
źródło
1

Używamy Symantec Endpoint Protection w pracy i odradzam korzystanie z niego. Jest dość poważny spadek wydajności i nie złapał niczego w dwóch incydentach, w których komputery użytkownika zostały naruszone.

Nic
źródło
1

Jako programista zwykle opowiadam się po stronie, z której nie korzystam z oprogramowania antywirusowego, ale ostatecznie zmieniło się to w tym roku wraz z wydaniem Microsoft Security Essentials. Używam tego zarówno na mojej domowej maszynie, jak i na mojej maszynie deweloperskiej. Wykluczam foldery projektów dla moich rozwiązań, ponieważ większość AV-ów podczas kompilacji szaleje, widząc kilka bibliotek DLL i EXE tworzonych i próbując je przeskanować podczas bardzo ciężkich operacji IO budowania plików.

Chris Marisic
źródło
0

Używam Kaspersky i wydaje się, że nie wpływa to na wydajność mojego pulpitu - chyba że wykonuje automatyczną aktualizację. Jest to najbardziej antywirusowy antywirus, jaki znam i którego używałem.

Ates Goral
źródło
0

Wolę nie mieć zainstalowanego programu antywirusowego, ale przeciętny programista (i mam na myśli 90% programistów) na pewno go potrzebuje, korzystam z McAfee (wymuszonego przez zasady firmy) i nie miałem większych problemów, jeśli masz taką opcję aby odfiltrować foldery, w których znajduje się kod źródłowy, co rozwiąże większość problemów

BlackTigerX
źródło
Pracowałem w miejscu, w którym byłem zmuszony zainstalować McAfee, ponieważ kompilacje zajmują 10–20 minut, ponieważ skanowanie w czasie rzeczywistym infekuje proces kompilacji. Pierwszą rzeczą, jaką zrobię po uruchomieniu komputera, będzie zabicie wszystkich usług. dla AV. Zastanawiałem się nad umieszczeniem ich na czarnej liście całkowicie, ale pomyślałem, że wywołałoby to pewien alarm w firmie.
Chris Marisic
0

Ja osobiście nie prowadzę żadnych. Mam OS X i uruchamiam Visual Studios na maszynach wirtualnych. Nigdy się nie zainfekowałem, ale regularnie tworzę kopie zapasowe moich maszyn wirtualnych, aw przypadku problemów z systemem Windows zawsze mogę pobrać nową maszynę wirtualną (gotową do użycia), wykonać kasę SVN i rozpocząć pracę w ciągu 15 minut.

Zdarzyło mi się, że zepsułem moją maszynę Vista (wirtualną), bawiąc się rejestrem i musiałem zrobić powyższe. To może być problem, jeśli twoja maszyna wirtualna nie obsługuje migawek (VMWare to robi) lub jeśli twoja kopia zapasowa maszyny wirtualnej nie jest „aktualna”.

Martin Marconcini
źródło
2
Szczere pytanie: jeśli nie uruchamiasz programu antywirusowego, skąd wiesz, że nigdy się nie zaraziłeś? Nie wszystkie wirusy mają natychmiast zauważalne efekty.
sh-beta
@ sh-beta: masz rację, ale dopóki wirusy nie były wyraźnie dotknięte wirusem, po co się nimi przejmować?
Cristian Ciupitu
1
wiesz ... kradną dane ...
Tarnay Kálmán
Jeśli zostanie wykryte naruszenie bezpieczeństwa lub zaatakowana maszyna, należy mieć szczęście i usunąć ją. Wiele osób pozostanie niewykrytych, ponieważ wielokrotnie stanowi to cały punkt infekcji - bez sprawdzania ruchu sieciowego przy specjalistycznej wiedzy o tym, jak powinien on wyglądać - w jaki sposób można się upewnić, że żaden komputer nie jest na przykład zombie uczestniczącym w paskudnych rzeczach? ^^
Oskar Duveborn,
Naprawdę nie wiedziałbym, czy jestem zarażony, ale tak naprawdę niewiele się to zmienia. Zajmuję się tylko programowaniem w języku C #, Internet jest używany z OSX (zapory ogniowej), a za zaporą sprzętową. Windows FW zawsze działa. Ale tak, myślę, że jeśli otworzę wirusa, maszyna wirtualna zostałaby zainfekowana. Ale jak już powiedziałem, wyczyść i svn kasy.
Martin Marconcini,
0

ClamWin wydaje się być bardzo lekki w zakresie zasobów. Brak zauważalnego wpływu na wydajność mojego komputera.

Brian Knoblauch
źródło
0

Zainstaluj oprogramowanie antywirusowe na komputerze, ale daj programistom uprawnienia do aktywacji i dezaktywacji skanów, skonfiguruj katalogi wykluczeń itp. Kiedy robią rzeczy, z którymi skaner antywirusowy nie działa dobrze (np. Praca z dużymi aplikacjami z kodem zarządzanym, takimi jak OWB lub VS2005 +) mogą to wyłączyć. Następnie mają możliwość włączenia go, jeśli chcą uruchomić skanowanie.

Najlepsze z obu światów.

ConcernedOfTunbridgeWells
źródło
1
Wypróbowaliśmy to z Symantec, ale większość programistów po prostu tego nie zrobiła. Nie ma zachęty do włączania go, gdy spowalnia ich maszynę i niszczy narzędzia.
sh-beta
0

Jednym ze sposobów, aby znacznie zmniejszyć ryzyko jego braku: rób wszystkie swoje rzeczy sieciowe na maszynie wirtualnej.

Loren Pechtel
źródło