Ко мне сегодня постучался один из заказчиков с жалобой на такую ошибку: ПРЕДУПРЕЖЕДЕНИЕ: Cannot modify header information - headers already sent by (output started at /home/u32953/medicinkoru/www/main_classes.php:118) в файле /home/u32953/medicinkoru/www/index.php (строка 868)
После выяснения обстоятельств, в конце файла main_classes.php обнаружилась следующая вставка:
Вставку убрали и проблема исчезла. И все бы хорошо, но меня насторожил результат поиска в Яндексе по слову main_classes.php:
На первой же странице 6 результатов из 10 ведут на сайты работающие на HostCMS версий 4 и 5, и все эти сайты отмечены Яндексом как зараженные. И Ксаперский при попытке зайти туда находит трояна.
Скажите, это какая-то уязвимость в системе, ошибки в безопасности хостеров или недостаточно "чистые" веб-разработчики?
После выяснения обстоятельств, в конце файла main_classes.php обнаружилась следующая вставка:
Kotoff писал(а):
Скажите, это какая-то уязвимость в системе, ошибки в безопасности хостеров или недостаточно «чистые» веб-разработчики?
см.
Внедрением вредоносного кода занимается программа-троян, похищающая у пользователя пароли FTP-доступа и часто не определяющаяся антивирусными программами. Анализ механизма заражения сайтов показывает, что файлы меняются посредством легального (!) FTP-подключения, т.е. никакого взлома сайта не производилось, а всего лишь осуществлялся вход по логину/паролю и последующая модификация файлов сайта.
Подобное поведение присуще программам семейства Pinch, которые умеют обходить брандмауэры и антивирусные программы и похищает пароли, сохраненные в InternetExplorer, CuteFTP, TotalCommander, WindowsCommander и др.
Порядок решения проблемы:
1. (!!!) Необходимо проверить свой компьютер антивирусом с самыми последними обновлениями. (!!!)
2. (!!!) Сменить пароли доступа ко всем FTP-аккаунтам. (!!!)
3. Восстановить сайт из резервной копий, предварительно проверив, что сайт в резервной копии не заражен вирусом, т.к. резервная копия могла создаваться уже после заражения сайта или вручную удалить код вируса из файлов, в которых он содержится. Чаще всего код внедряется в index.php файлы в корне и в /admin/, также могут быть повреждены php-файлы в корне, вирус чаще всего находится в самом начале или конце файла и начинается с <script. Определять зараженные файлы можно также по дате их изменения. Также часто повреждаются все JS-файлы, размещенные в /admin/, /modules/, /hostcmsfiles/, /templates/ и т.д.
4. Никогда не сохранять пароли в программах, в том числе в файловых и FTP-менеджерах!
5. Учитывая большой список известных уязвимостей Internet Explorer, воспользоваться альтернативными браузерами, например, Firefox.
Описания найденных вирусов можно прочитать на сайте
Kotoff писал(а):
На первой же странице 6 результатов из 10 ведут на сайты работающие на HostCMS версий 4 и 5, и все эти сайты отмечены Яндексом как зараженные.
Правильно, эти сайты находятся, т.к. на их странице выводится ошибка из-за модификации файла с указанием как раз имени модифицированного файла main_classes.php, приведу Вашу же цитату текста ошибки: Kotoff писал(а):
ПРЕДУПРЕЖЕДЕНИЕ: Cannot modify header information — headers already sent by (output started at /home/u32953/medicinkoru/www/main_classes.php:118) в файле /home/u32953/medicinkoru/www/index.php (строка 868)
В принципе, для бОльшей безопасности, (в смысле снижения вероятности снова подцепить вирус, крадущий пароли и тп), в дополнение к уже сказанному, можно
- для хождения по интернету, почты и тп пользовать юзера Виндоус с ограниченными правами (не администратора)
- при хождении по интернету, отключать в браузере javascript, flash и тп (кроме тех сайтов, которым особо доверякете), например, в Firefox можно подключить дополнения типа Noscript, Flashblock, Adblock Plus
- настроить антивирус на режим повышенной защиты, например, для Dr.Web в настройках Spider Guard, поставить режим проверки на лету с галочками "Запуск и открытие" и "Создание и запись"
- если хостер позволяет, пользовать не FTP, а защищенный SFTP
Отдельная тема, из немного другой области - дополнительная защита по паролю директории с админкой, - но у нас сайты, в которых запаролена директория с админкой, нормально заработали только на платной версии hostcms (на Халяве не получилось, при попытке запаролить админку стало выскакивать окно с запросом пароля и при попытке захода посетителя на сайт)
Отдельная тема, из немного другой области — дополнительная защита по паролю директории с админкой
К теме вирусов дополнительная защита ЦА еще и HTTP-авторизацией не имеет никакого отношения. Если Вы хотите обсудить этот вопрос - можем сделать это в отдельной теме.
Приятно видеть на форуме поддержку даже во время новогодних каникул, пользуясь случаем, поздравляю с наступившим Новым годом и желаю благополучия и всяческих успехов
По теме дополнительной защиты админки http авторизацией - просто к слову озвучил, что получилось, но даже не знаю, что можно обсуждать в отдельной ветке по этому вопросу (конечно, если у нас получилось так, как это и должно быть)