Хранение паролей, в том числе паролей FileZilla

В наше время, пожалуй, уже многие в курсе, что пароли для авторизации на разных сайтах должны быть длинными и сложными и, в идеале, совершенно разными для каждого нового сайта. Пароли от почты, от разных социальных сетей, для входа на сотни разных форумов… уфф. Это же каким нужно быть гением, чтобы помнить все эти длинные и сложные пароли?!

Уверен, что огромное количество пользователей Интернета пользуется всего одним паролем в виде номера их телефона или даты рождения. Честно признаться, лично сам я до недавнего времени наивно использовал всего несколько паролей в 2-3 вариациях. Но даже это для меня создавало мороку, т.к. запомнить, на каком из сайтов какую вариацию пароля я использовал — даже это было слишком обременительно. Ну, за что сам и поплатился.

Один из моих проектов был взломан (ай, до сих пор посыпаю голову пеплом), утащен и скомпрометирован мой пароль, а затем использован для авторизации на нескольких других сайтах. Хорошо, что взломщик оказался не злобным хаЦкером, а вполне адекватным парнем, который ничего при этом ломать не стал и даже снял для меня видео, как красиво он взламывает мой пароль. Пользуясь случаем, хочу сказать огромное спасибо Евгению aka Agel Nash за то, что он заставил меня решить эту проблему :). Дырочку в проекте, через которую был произведен взлом, я, конечно, закрыл, но после серьезно задумался…

Задумался я о том, что мой подход к использованию паролей безнадежно устарел. При том, что я напрямую и давно связан с IT, меня можно было считать динозавром в этой области… Итак, после недолгих поисков и экспериментов, я нашел для себя практически идеальное решение: связка двух программ — KeePass и Dropbox. Полагаю, более продвинутые пользователи могут просто пролистать текст ниже до описания взаимодействия KeePass с FileZilla.

KeePassKeePass

Программа KeePass хранит все пароли в зашифрованном файле на жестком диска компьютера. При этом совершенно бесплатна и распространяется под лицензией GNU GPL.

DropboxDropbox

Программа Dropbox синхронизирует файлы на разных компьютерах и других мобильных устройствах. Также бесплатна, однако есть ограничения — в бесплатной версии выдается около 2 Гб свободного места, чего в любом случае более чем достаточно для моей цели.

Теперь все мои личные и рабочие пароли перенесены в программу KeePass. Для каждого сайта у меня создан уникальный и сложный пароль вида «TXZUYuLLk5hdFQok6wGUVkQKU» и я ни один из этих паролей не то, что не помню, — да я их просто не знаю :). Также у меня установлена программа Dropbox для синхронизации файлов на рабочем и домашнем компьютерах — в первую очередь для синхронизации базы KeePass.

Обе программы стартуют одновременно с запуском операционной системы. KeePass легко и гибко настраивается, начиная от места для хранения базы паролей и заканчивая очень специфическими опциями. В настройках программы KeePass установлено, что файл базы KeePass хранится в отдельной папке Dropbox. Если я обновил пароли на рабочем месте, то они же обновятся и дома, и наоборот.

Теперь от меня требуется помнить только один пароль, который установлен для открытия самой программы KeePass. Конечно, желательно этот пароль для открытия программы сделать посложнее. Но это же всего один пароль! Все остальное делает программа за меня, вплоть до заполнения форм авторизации на сайтах. Также в KeePass я держу пароли от всех своих почтовых аккаунтов и даже от интернет-банков. После того, как я поменял все пароли на большинстве посещаемых мною сайтов и занес эту информацию в KeePass, моя паранойя меня слегка отпустила :).

FileZilla

FileZillaНо что-то мне все-таки не давало еще расслабиться… В работе я постоянно использую известный бесплатный фтп-менеджер FileZilla. Эта программа активно развивается и в целом лично меня функционал FileZilla вполне устраивает. Да, я знаю про защищенное соединение, публичные и приватные ключи и т.д. Но так уж исторически повелось, что чаще всего приходится иметь дело со старым добрым FTP протоколом и, к сожалению, далеко не всегда есть возможность использовать другие варианты.

При всей положительности FileZilla, есть в ней одна жутко раздражающая мою паранойю вещь — программа сохраняет все настройки подключения, включая пароли, в XML файле в открытом виде. Причем размещение этого XML файла всегда постоянно — программа обычно сохраняет его в одном и том же месте:

C:\Users\[username]\AppData\Roaming\FileZilla\sitemanager.xml (Win 7)

C:\Documents and Settings\[username]\Application Data\FileZilla\sitemanager.xml (Win XP)

FileZilla постепенно набирает все большую популярность и, как результат, привлекает внимание самых разных людей. В том числе и вирусописателей. При этом попавшему на компьютер вирусу/трояну ничего не стоит обнаружить и украсть мои пароли. Местоположение файла с паролями известно, оно практически никогда не меняется, и к тому же все пароли лежат в открытом виде. Просто заходи и бери. Идеально с точки зрения трояна и совсем хреново с моей точки зрения.

Решение проблемы хранения паролей FileZilla

У меня был немаленький список сайтов, в открытую хранящихся в FileZilla. Как вспомню — аж жуть берет от такой беспечности! Вероятно, самое простое решение проблемы — это не хранить пароли в FileZilla. Что, по сути, я и предлагаю сделать. Чтобы решить вопрос с хранением FTP паролей, используется все та же программа KeePass. Вот как это организовано у меня:

1. Просто для удобства создана отдельная папка FTP в KeePass, которая еще подразделяется на дополнительные директории. В других папках хранятся настройки для авторизации на разных сайтах и программах. Например, в папке IMs (Internet Messengers) хранятся настройки Skype, ICQ и других аналогичных программ. Как уже говорил выше, все легко настраивается под свои требования, неограниченная вложенность папок, структура дерева паролей может быть любой.

KeePass общий вид

2. Для автоматизации запуска FileZilla из программы KeePass при добавлении новой записи в поле «Ссылка» прописывается

  • для Win XP/Win 7 x32:
    cmd://"C:\Program Files\FileZilla FTP Client\filezilla.exe"
  • или для Win 7 x64:
    cmd://"C:\Program Files (x86)\FileZilla FTP Client\filezilla.exe"

Хотя тут могут быть варианты в зависимости от того, где именно установлена FileZilla на нашем компьютере.

3. В поле «Название» вводится адрес FTP сервера; в поле «Имя» — имя пользователя; в поле «Пароль» — ваш пароль.

KeePass - добавление новой записи

4. Не закрывая окно, переходим на закладку «Автонабор» и проверяем, что включен параметр «Включить автонабор для этой записи» и выбран параметр «Наследовать автонабор из группы». После чего окно можно закрыть, нажав «OK».

KeePass - автонабор

5. Теперь переходим к настройкам всей группы (в моем случае, директории FTP), кликнув по ней правой кнопкой и выбрав «Изменить группу». На последней закладке «Автонабор» выбираем параметр «Использовать следующую последовательность» и в поле ниже вводим эти параметры:

{TITLE}{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}

KeePass - автонабор для группы

Теперь, когда нужно подключиться к какому-либо сайту по FTP, делаем следующее:

  1. Открываем KeePass;
  2. Находим нужную запись в списке FTP паролей;
  3. Нажимаем Ctrl+U либо выбираем по правому клику в меню «Ссылки» -> «Открыть» — в результате откроется окно FileZilla;
  4. Теперь возвращаемся в KeePass и нажимаем Ctrl+V либо выбираем по правому клику в меню «Начать автонабор».

Далее в окно FileZilla будут автоматически скопированы наши логин и пароль и нажата кнопка для входа в аккаунт.

И повторяем все эти действия для всех своих FTP паролей.

Что дальше?

Когда все пароли перенесены в KeePass, закрываем FileZilla и удаляем файл sitemanager.xml без возможности восстановления. Можно не бояться нарушить работу FileZilla, т.к. после запуска программа восстановит файл sitemanager.xml, но только уже без паролей. На всякий случай после запуска проверяем в менеджере сайтов FileZilla, сохранились ли там пароли, хотя, скорее всего, там паролей не будет.

Сделаем FileZilla еще безопаснее — Kiosk Mode

Проделав вышеозначенные действия, можно решить, что теперь все отлично: наши пароли больше не хранятся в FileZilla. Однако это не совсем так. Кроме того, что FileZilla сохраняет настройки подключения к сайтам в файле sitemanager.xml, программа также сохраняет несколько последних соединений в файле recentservers.xml и последнее соединение в файле filezilla.xml. Конечно же, все пароли там тоже хранятся в открытом виде.

Чтобы исправить эту проблему, необходимо перевести FileZilla в так называемый «Kiosk Mode». Данная возможность недоступна из меню программы и настраивается путем редактирования конфигурационного файла  fzdefaults.xml в любом текстовом редакторе (рекомендую Notepad++). Этот файл обычно называется fzdefaults.xml.example и находится в папке «docs» основной директории, где установлена FileZilla. Файл необходимо переименовать в fzdefaults.xml и перенести в основную директорию FileZilla. Содержимое файла можно полностью удалить и оставить только следующий код, т.е. установить значение Kiosk Mode = 1.

После этого нужно вернуться в директорию C:\Users\[username]\AppData\Roaming\FileZilla\ (Win 7) или C:\Documents and Settings\[username]\Application Data\FileZilla (Win XP) и удалить файлы recentservers.xml и filezilla.xml. После запуска FileZilla перезапишет эти файлы заново и впоследствии не будет сохранять в них пароли последних FTP подключений.


40 комментариев

  • Ответить Fuzzy |

    Борис, понятия не имею, чем плох 1password 🙂 Я им не пользовался. Ну и, наверное, когда я нашел KeePass, тогда не существовал или не был так известен 1password. До сих пор пользуюсь этим решением от KeePass и в общем вполне им доволен.

  • Ответить Александр Каратаев |

    Правда он платный, но кроссплатформенный…

    KeePass тоже кроссплатформенный, но бесплатный! У меня и на андроиде стоит и на компе и, к тому-же единую базу на всех устройствах использую. Очень удобно!

So, what do you think ?