Во первых что Вы подразумеваете под вирусами? :)
Вам подсадили rootkit? :) Или в чудо скрипты на php кто то запихнул бекдор?
В общем случае массовых способов проникновения всего 3:
1) Уязвимость в серверном ПО. (нашумевшие heartbleed, уязвимость в bash и многое другое)
При использовании дешевых shared/vps хостингов - вам остается только надеяться что хостер все обновит.
Решение - аренда выделенного сервера и самостоятельное обновление.
Стоит кстати не дорого, нормальные сервера в hetzner начинаются от 70 евро в месяц.
2) Уязвимость в логинах/паролях.
В идеале использовать авторизацию только по сертификатам.
3) Самое частое - кривые скрипты :) В массовых cms нереальное количество говнокода и дыр порожденных им.