FreeBSD tips: повышаем безопасность с помощью одноразовых паролей::Журнал СА 6.2005
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6227
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6933
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4216
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3006
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3807
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3822
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6316
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3170
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3460
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7278
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10647
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12365
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13999
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9124
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7079
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5388
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4617
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3427
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3155
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3402
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3026
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 FreeBSD tips: повышаем безопасность с помощью одноразовых паролей

Архив номеров / 2005 / Выпуск №6 (31) / FreeBSD tips: повышаем безопасность с помощью одноразовых паролей

Рубрика: Безопасность /  Механизмы защиты

СЕРГЕЙ СУПРУНОВ

FreeBSD tips: повышаем безопасность с помощью одноразовых паролей

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

Иногда возникает ситуация, когда нужно войти на сервер с чужого компьютера. Например, выехав к клиенту, вы выясняете, что он начисто забыл свой пароль. Не возвращаться же из-за этого в офис? А заходить на сервер с машины клиента достаточно опасно – кто знает, какие «шпионы» там установлены? Конечно, решить эту проблему можно несколькими способами. Например, используя ssh с аутентификацией ключевым файлом, который записан на дискету (к слову, дискету можно на радостях и в дисководе забыть, что отнюдь не поспособствует безопасности сервера). Или хорошим решением выглядит LiveCD – в этом случае вы гарантируете себе не только повышение безопасности, но и наличие всех необходимых программ.

Система FreeBSD предоставляет еще один удобный инструмент – одноразовые пароли. Начиная с FreeBSD 5-й версии, они реализуются системой OPIE (One-time Passwords In Everything), основанной на S/Key. Замечу, что OPIE существует и в большинстве дистрибутивов Linux, так что все описанное вы можете применить в этих системах. Однако для конкретизации изложения я буду описывать именно реализацию OPIE на FreeBSD 5.3.

В чем заключается идея

В общих чертах это выглядит следующим образом: при попытке войти на сервер после ввода имени пользователя вы получаете строку-оклик, содержащую номер итерации и некоторую последовательность символов – так называемое «зерно» (seed):

login as: serg

otp-md5 496 ko5622 ext

Password:

Далее вам нужно ввести парольную фразу (отзыв), соответствующую указанному номеру и «зерну». Для генерации паролей используется утилита opiekey (поэтому одноразовые пароли на жаргоне иногда называют «опиками»). Ей нужно передать текущий номер последовательности и «зерно», затем будет запрошена секретная фраза (она задается во время активации учетной записи пользователя) и выведен список шести коротких слов, которые и являются одноразовым паролем-отзывом.

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

Если в ответ на первое приглашение «Password:» просто нажать , то появится еще одно, с включенным эхо-отображением вводимых символов, что позволит вам видеть вводимый текст на экране.

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

Собственно, основная идея использования одноразовых паролей как раз и заключается в том, что никакая секретная информация (в данном случае таковой является секретная фраза, на основе которой осуществляется генерация паролей) по сети не передается.

Приступаем к реализации

Во FreeBSD уже все готово для использования одноразовых паролей. Достаточно создать для пользователей, которые будут работать по данной схеме, соответствующие записи в файле /etc/opiekeys.

Новая запись создается следующей командой:

root# opiepasswd -c test

Adding test:

Only use this method from the console; NEVER from remote.

If you are using telnet, xterm, or a dial-in, type ^C now or exit

with no password.

Then run opiepasswd without the -c parameter.

Using MD5 to compute responses.

Enter new secret pass phrase:

Again new secret pass phrase:

 

ID test OTP key is 499 ko6010

RACE DAYS CHEF ARE CAW LEAF

Ключ -c дает команду создать запись для пользователя, в данном случае это пользователь test. Если имя пользователя не указано, создается (или изменяется) запись для текущего пользователя. Обычный пользователь может управлять своей записью, root – записями всех пользователей.

Перед началом работы выводится предупреждение, что утилиту opiepasswd следует запускать только в защищенном режиме (с физической консоли или через ssh), чтобы исключить возможность перехвата секретной фразы. Знание данной фразы позволит любому человеку сгенерировать одноразовый пароль для входа под вашим именем.

После всех предупреждений запрашивается секретная фраза. Она понадобится вам в дальнейшем для генерации паролей и управления своей записью. Утилита требует, чтобы длина этой фразы была от 10 до 127 символов, иначе вы получите сообщение об ошибке:

Secret pass phrases must be between 10 and 127 characters long.

В конце работы утилита выдает текущие номер последовательности (по умолчанию – 499) и слово-«зерно», в данном примере – ko6010. Запоминать эти значения не нужно – они будут выводиться на экран при каждой попытке войти в систему. Последней строкой выводится парольная фраза, которая к данному моменту уже бесполезна и служит только для проверки, – следующий номер последовательности устанавливается в 498.

Обратите внимание, что как только счетчик достигнет 0, вход в систему станет невозможным. Поэтому необходимо заблаговременно осуществлять повторную инициализацию записи в /etc/opiekeys, для чего используется opiepasswd без ключей. Также с помощью ключа -n вы можете задать начальное значение счетчика. Замечу, что переинициализация выполняется без запроса секретной фразы (она остается прежней). Используются только одноразовые пароли, так что повторная инициализация может быть выполнена и удаленно, с использованием небезопасного соединения.

Также утилита opiepasswd используется для дезактивации записи того или иного пользователя. Для этого используется ключ -d. Дезактивация не удаляет запись пользователя из файла opiekeys, а просто «забивает» секретную фразу звездочками. Теперь при входе пользователя в систему по-прежнему будет выдаваться строка-«оклик», но получить для нее правильную парольную фразу будет уже невозможно.

Чтобы полностью отменить запрос на ввод одноразового пароля и вернуться к прежней аутентификации системным паролем, достаточно удалить для соответствующего пользователя строку в файле /etc/opiekeys.

Следующая утилита, которая может быть полезна, – opieinfo. Она возвращает текущие значения номера последовательности и «зерна» для пользователя. Например, ее можно использовать, перед тем как генерировать пароли.

Утилита opiekey имеет несколько полезных ключей. Например, с помощью ключа -n можно указать, сколько паролей должно быть сгенерировано начиная с текущего номера итерации:

serg$ opieinfo

498 ko5623

serg$ opiekey -n 5 498 ko5623

Using the MD5 algorithm to compute response.

Reminder: Don"t use opiekey from telnet or dial-in sessions.

Enter secret pass phrase:

494: LOOK RUSH WIFE BREW ROBE LAM

495: TERN MOCK MA LED PA MELD

496: NIL FALL AKIN FUSE MIND SLUR

497: GINA MOP AKIN SHAW CALF COMA

498: FLY GONE GAB MYRA WONT SANK

Теперь эти пароли можно аккуратно сохранить в надежное место и ехать с ними в командировку или к клиенту – средство для пяти безопасных входов в систему у вас есть.

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

Вы можете настроить вход в систему как исключительно по одноразовым паролям, так и разрешив использование постоянных паролей, предоставив пользователю право выбирать в зависимости от ситуации, как входить в систему. Например, вам может быть удобнее вводить системный пароль при работе из офиса, а «опики» использовать при необходимости зайти на сервер с «чужой» территории.

Для определения возможных способов доступа используется файл /etc/opieaccess. По умолчанию, как только для пользователя появляется запись в /etc/opiekeys, он уже не может пользоваться системным паролем.

Чтобы разрешить вход по обоим паролям, нужно в opieaccess создать запись типа permit для нужных адресов. Например, чтобы разрешить вход под системным паролем из локальной сети, а для внешних соединений оставить только «опики», можно использовать следующую строку:

permit 192.168.0.0 255.255.255.0

# permit 0.0.0.0 0.0.0.0

Закомментированная строка разрешит использование обоих типов паролей с любого адреса. Правило deny позволяет явно запретить использование системного пароля для указанной подсети.

Обратите внимание, что разрешение вводить системные пароли делает возможным использование уже скомпрометированного пароля, сводя на нет преимущества системы OPIE. Единственное, что при этом достигается,– это существенное снижение вероятности раскрыть свой пароль при работе в незащищенном режиме. Поэтому к вопросу раздачи прав следует относиться очень внимательно.

Более тонко процедуру входа в систему можно определить в настройках PAM (см. /etc/pam.d/system и прочие файлы). Нужно заметить, что не все приложения могут работать с одноразовыми паролями. Например, во FreeBSD утилиты login, su, ssh, telnetd поддерживают аутентификацию OPIE, popper – нет (но если вход с системным паролем разрешен, проблем с использованием этой программы не возникает). По умолчанию, если поддержка OPIE каким-то сервисом имеется, в соответствующем файле каталога /etc/pam.d будет присутствовать pam_opie.so.

Попытка аутентификации на FTP-сервере (FreeBSD 5.3, стандартный ftpd) с одноразовым паролем выявила интересную проблему – с помощью клиента ftp вход по «опику» выполнялся нормально, а вот попытка войти под системным паролем (например, с использованием менеджера FAR) завершалась неудачей, хотя настройки позволяли использование системного пароля. Разбор полета показал, что проблема заключается в разрешении имен. Происходило следующее – в процессе установки соединения IP-адрес клиента преобразовывался в доменное имя типа client.domain.provider.ru, которое обрезалось до client.domain, после чего система пыталась определить IP-адрес этого «хоста», чтобы установить права на вход с системным паролем в соответствии с /etc/opieaccess. Это, естественно, не получалось, и возвращалась ошибка «Неизвестный хост client.domain». Если же вход на сервер FTP выполнялся с машины, адрес которой не присутствует в базе DNS, то все работало отлично. Вылечить это удалось добавлением следующей строчки в /etc/resolv.conf:

options ndots:3

Эта строка заставляет функции разрешения имен (см. man resolver) возвращать в качестве доменного имени часть имени хоста до третьей точки, то есть целиком. По умолчанию параметр ndots равен 1, что и приводило к описанной выше ситуации. Во FreeBSD 5.4 данная проблема уже не наблюдается.

В заключение замечу, что на моей системе права доступа к файлу /etc/opiekeys по умолчанию были установлены в rw-r--r--, что позволяло читать его абсолютно всем. Поскольку данный файл хранит, хоть и в зашифрованном виде, ключевую фразу, которая используется при генерации одноразовых паролей, то такой либеральный доступ к нему выглядит не самой лучшей идеей. Возможно, это необходимо для работы некоторых утилит, но в моем случае после установки прав в rw------- никаких проблем пока не обнаружилось.

И, несмотря на банальность того, что я сейчас скажу, считаю своим долгом предупредить – любые действия, связанные с изменением порядка входа в систему, должны выполняться осознанно и с предельной осторожностью. В случае с OPIE нужно очень постараться, чтобы полностью заблокировать себе доступ в систему. Но тем не менее всегда полезно иметь запасной вариант, например, создать для использования одноразовых паролей другую учетную запись и, лишь убедившись в ее работоспособности, переводить на новую схему остальных пользователей.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru