Security Lab

Безопасная работа по FTP

Безопасная работа по FTP
Вирусы и другой вредоносный код могут попасть на сайт различными способами. Один из них – через FTP соединение, которым пользуются владельцы сайтов для загрузки, удаления и редактирования файлов на хостинге.
Взлом и заражение по FTP происходит всегда примерно по одной и той же схеме: выполняется подбор, перехват или кража логина/пароля от FTP, после чего в ручном или автоматическом режиме на хостинг загружается вредоносный код. При взломе по FTP могут изменяться существующие файлы (например, index.php или .htaccess) и загружаться новые (например, WSO шелл).

Один из вероятных вариантов перехвата пароля - наличие троянских программ на компьютере владельца сайта, которые отслеживают подключение по FTP, запоминают переданные данные от FTP сессии и сообщают их автору "вредоноса". Другой вариант перехвата FTP доступов - использование хакерами специального программного обеспечения: снифферов сетевого трафика. Также достаточно популярный и легкий способ получения пароля от FTP - банальное чтение "трояном" настроек соединения из FTP клиента или браузера, куда их сохранил сам пользователь. Обычно, логин/пароль не шифруются и хранятся в FTP клиенте практически в открытом виде, поэтому вирус или троян, работающие на зараженном компьютере, с легкостью могут их извлечь из реестра или конфигурационных файлов и передать злоумышленнику по сети.

Если на вашем сайте появился вирус, мобильный редирект или другой вредоносный код, вы можете проверить, был ли он загружен по FTP или попал другими путями. Для проверки гипотезы заражения через FTP необходимо запросить логи (журнал) FTP подключений в тех поддержки хостинга. Лог FTP выглядит примерно так:




Анализировать данный лог очень просто, достаточно смотреть только на важные для анализа поля. Возьмем первую строку из прямоугольника:
  • Fri Feb 28 22:49:41 2014 – дата операции
  • 185.26.123.230 – IP адрес клиента (пользователя), который выполнял операцию
  • 3499 – размер файла
  • /home/…/htdocs/www/.htaccess – имя файла, с которым была выполнена операция
  • i (“incoming”) – файл загружен на хостинг (o – файл выгружен с хостинга)
Допустим, произошло заражение файла .htaccess, в который внедрился мобильный редирект. По имени файла находим все строки, в которых выполнялись чтение (o) и запись (i) файла .htaccess, проверяем по дате и IP адресу, кто вносил в них изменения, и делаем соответствующий вывод.
Иногда по логу видно, что файл сначала скачивается, затем загружается, но уже с вредоносным кодом (проверить, что файл увеличился, можно, сравнив размер скаченного и загруженного файлов). По FTP чаще всего вредоносный код добавляется в индексные файлы index.php, index.html и файлы .htaccess.
Учитывая открытость FTP трафика и легкость перехвата данных FTP аккаунта, не рекомендуется использовать данный протокол при работе с сайтом. Вместо него желательно работать с файлами через безопасное SFTP подключение (“Secure FTP”), которое использует шифрованное соединение и является надстройкой SSH-2, разработанной для более удобной работы с файлами. Поэтому для работы по SFTP на хостинге должен быть доступен SSH (на всех современных хостингах он есть). В качестве SFTP клиента можно использовать бесплатный и функциональный клиент WinSCP5.
Если работать по SFTP по каким-то причинам не получается, ниже приводим технику безопасности по работе с FTP протоколом, следуя которой вы исключите возможность взлома и заражения сайта по FTP.
  1. Проверяйте рабочие компьютеры, с которых выполняется подключение по FTP, коммерческими антивирусами с обновляемой базой. Это позволит существенно снизить вероятность перехвата логинов/паролей троянскими программами.
  2. Не пользуйтесь FTP подключением в публичных сетях (в частности, при подключении к открытой WIFI точке). Люди с “цептером” уже ждут вас.
  3. Не сохраняйте пароль в FTP клиенте.
  4. Старайтесь менять пароль после работы по FTP или, по крайней мере, не реже раза в месяц.
  5. Отключите FTP на хостинге через панель управления, если вы с ним не работаете в течение долгого времени.
  6. Соблюдайте политику безопасности при работе с FTP аккаунтами: для нового человека создавайте отдельный FTP аккаунт, а по окончании работ удаляйте аккаунт. Это позволит отслеживать изменения, выполняемые каждым FTP пользователем.
  7. Ограничьте операции по FTP через файл .ftpaccess. Уточните в тех поддержке хостинга, в каком каталоге необходимо создать данный файл и добавьте в него
    <Limit ALL>
    Allow from 1.2.3.4
    Deny from All
    </Limit>

    Где 1.2.3.4 – это ваш (разрешенный) IP адрес.

    Если у вас динамический, то его можно будет поменять через файловый менеджер панели управления.
Если у вас остались вопросы по безопасной работе с FTP, за консультацией можете обратиться к нашим специалистам .

Дополнительный материал для интересующихся:
Посмотреть другие статьи.
ftp sftp ssh защита безопасность ревизиум revisium
Alt text

Если вам нравится играть в опасную игру, присоединитесь к нам - мы научим вас правилам!

Подписаться

revisium

Блог компании "Ревизиум": лечение сайтов от вирусов и защита от взлома. Информационно-познавательные материалы из мира безопасности и защиты сайтов.