- PVSM.RU - https://www.pvsm.ru -

Мульти-факторная аутентификация (MFA) в Amazon AWS в Linux

Мульти факторная аутентификация (MFA) в Amazon AWS в Linux
Новости [1] про [2] крупную [3] уязвимость [4] в OpenSSL [5] заставила подумать про укрепление безопасности учётных записей на важных ресурсах, в том числе — и в Amazon Web Services.

Кроме создания отдельных аккаунтов с ограничеными привилегиями я решил установить ещё и двухфакторную аутентификацию. Нашел пункт, и тут меня, счастливого пользователя звонилки от Nokia со змейкой и фонариком, ждал сюрприз…

Установите приложение на ваш смартфон

Методы получения одноразовых паролей бывают разные.
Google, например, генерирует пароль самостоятельно и присылает его в SMS.
Amazon же использует вычисляемые одноразовые пароли на основе времени.

Принцип таков

В специальную программу на вашем устройстве один раз передаётся какой-то секретный ключ. Когда вам потом понадобится одноразовый пароль, программа генерирует его на основе секретного ключа и текущего времени.

А что если смартфона нет?

Можно использовать утилиту oathtool.

Название пакетов в некоторых дистрибутивах Linux

  • Ubuntu: oathtool
  • Arch Linux: oath-toolkit

Чтобы получить одноразовый пароль на основе секрета, нам нужно сделать так:

oathtool --totp -b "teh_secret"

Ключ "--totp" говорит, что нам нужны OTP, основанные на времени, а "-b" указывает на то, что секрет закодирован в base32.

Однако, так секретный ключ является частью команды, а значит — остаётся в .bash_history или выводе «w».

Скроем секрет

Напишем простую обёртку на bash:

read -p "The secret: " -s teh_secret;
echo;
oathtool --totp -b "${teh_secret}"

Сохраним её под именем totp.sh.
Теперь мы можем сделать так:

$ ./totp.sh
The secret: (вводим секретный ключ)
<одноразовый ключ>

Ключ "-s" переводит read в «секретный» режим, в котором она не отображает вводимые символы. Это полезно, если вы беспокоитесь, что вводимые данные кто-то подсмотрит.

Синхронизация с Amazon'ом

Для синхронизации с вашим устройством Amazon просит ввести два последовательных ключа.
Ключи генерируются на основе времени с точностью до минуты, так что вам понадобится:

  • сделать и ввести первый ключ
  • подождать, пока сменится минута
  • сделать и ввести второй ключ

Готово!

Q&A

Q: Как хранить секрет?

Желательно, в зашифрованном виде. Например, использовать gpg или KeePass/KeePassX.

Q: Если хранить секрет рядом с паролем (скажем, в KeePassX), то разве это безопасно?

Да, тогда получается не «настоящая» двухфакторная аутентификация — если злоумышленник вскроет вашу базу паролей, то он получит и ваш секрет.
Однако, это всё равно лучше, чем простая аутентификация по паролю, потому что спасаёт в ситуации, когда злоумышленник каким-то образом перехватил ваш пароль, например — через почту или уязвимость SSL вроде HeartBleed.

Q: Windows?

На просторах интернета есть заметки про запуск oathtool в Windows с помощью cygwin.

Вывод

Даже если у вас нет смартфона вы всё равно можете использовать двухфакторную аутентификацию для защиты аккаунта на Amazon.

Автор: ivan_kolmycheck

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/news/58764

Ссылки в тексте:

[1] Новости: http://habrahabr.ru/company/eset/blog/218945/

[2] про: http://habrahabr.ru/post/218691/

[3] крупную: http://habrahabr.ru/company/yandex/blog/218951/

[4] уязвимость: http://habrahabr.ru/post/218661/

[5] в OpenSSL: http://habrahabr.ru/post/218713/

[6] Источник: http://habrahabr.ru/post/219073/