| Dali @ 11-06-2008 06:21:39 |
Наконец руки дошли, написать HOWTO в http://wiki.internet-tablet.com  Замечания приветствуются.
Upd: ставил галочку "послать в блог", но в блог не ушло. Чей глюк? А если бы ушло, с каким тэгом?
|
| dik @ 11-06-2008 09:33:39 |
я вот тоже недавно страдал подобным вопросом - и, мне кажется хорошо написано но сложновато... переменная DST в приведённом виде будет работать только для компа у которого ip адрес таблетки прописан в hosts ?
я для себя уяснил простой алгоритм :
создать ssh-keygen -t rsa скопировать публичный ключ закинуть на сервер, на который собираюсь заходить и cat pubkey.pub >> ~/.ssh/authorized_keys
В debian с пару недель назад были серьёзные обновления пакета openssh... подробностей сейчас не вспомню
Насчёт блога : - так как новички часто отсылали в блог "заметки" типа "Поможите кто чем может - у меня виндовс икспи !!!" - сейчас заметка уходит в блог но зависает до одобрения.
|
| dik @ 11-06-2008 09:45:45 |
Перечитал и проникся - всё клёво, это я тупил.
Вот только для новичков и для тупящих имхо стоит конкретно обозначить что скрипт выполняется на клиенте - и закидывает открытый ключ на сервер...
То есть "Чтобы заходить на компьютер, на котором запущен сервер ssh" начале и далее : "установите права и выполните следующий скрипт на компьютере:"
учитывая остроумные вопросы от новичков последнее время на форуме - думаю стоит обозначить оба варианта :
когда таблетка - сервер ssh и когда - клиент.
я бы заменил таки "компьютер" на сервер и клиент соответственно.
|
| alex2ndr @ 11-06-2008 10:17:53 |
проблема была в генераторе ключей - все сгенерированные ключи под определенный алгоритм были скомпрометированны - т е очень легко их можно было подобрать (65000 вариантов). Вот ссылка на новость - http://www.opennet.ru/opennews/art.shtml?num=15846 - Интересно а есть ли такая уязвимость на таблетке и исправлена ли она?
|
| alex2ndr @ 11-06-2008 10:30:04 |
Может я и перестраховщик - но неплохо бы к этой статье добавить какую нить часть которая проверяет версию openssl длы debian-based систем - уязвимость то была как раз в ней - типа aptitude show openssl | grep version (не очень я силен в написании скриптов - только учусь :) ) и если версия пакета 0.9.8c-1 то рекомендовать обновить пакет перед тем как ключи генерить. Или проверять их потом эксплойтом отсюда - http://www.securityfocus.com/archive/1/492112 - подбирает за 20 минут.
|
| alex2ndr @ 11-06-2008 10:40:06 |
7) По завершении можете заходить на таблетку командой ssh user@АДРЕС-ИЛИ-ИМЯ
Насчет ИМЯ - его нужно как то разрешать(резолвить) в адрес - я бы оставил в этой инструкции просто АДРЕС - или надо пояснить тогда что в /etc/hosts той машины откуда заходите прописывать строку соответствия имени адресу. Или в днс прописывать - или еще как-нибудь (не претендую на то что знаю все - может есть какой то еще способ)
|
| Wall @ 11-06-2008 11:54:43 |
Согласно этому DSA http://www.debian.org/security/2008/dsa-1571 этому эксплоиту подвержены ключи, сгенеренные openssl начиная с версии 0.9.8c-1. На таблетке этой версии никогда не было, там до сих пор 0.9.7e. Так что расслабьтесь - ничего делать не нужно.
Это, кстати, один из примеров того, что следование за апстримом ноздря в ноздрю не всегда хорошо :)
|
| alex2ndr @ 11-06-2008 12:34:27 |
ну тогда можно не опасаться если ключи генеряться на таблетке - а если их генерят на ББ тогда стоило бы проверить всеже версию пакета
|
| mrkooll @ 11-06-2008 13:18:00 |
Ну раз замечания приветствуются...
Третий пункт бредовый. Для начала dsa вообще не испльзуется для шифрования, это алгоритм подписи. Проверка подписи у него быстрее чем у rsa, но это только проверка. По стойкости он даже выше rsa при равной длине ключа.
А теперь насчет видеопотоков. Алгоритмы с открытым ключем используются *только* для выработки сеансового ключа и дальнейшее шифрование использует симметричный алгоритм (aes, blowfish, ...)
Можно явно указать приоритеты алгоритмов с помощью опции -c для open ssh client или в конфиге ~/.ssh/config опцией Ciphers.
|
| mrkooll @ 11-06-2008 13:39:24 |
Теперь по поводу файла .ssh/known_hosts. Удалять его очень не рекомендуется. Этот файл нужен для предотвращения атак типа Man-In-Middle. Можно его удалять если у вас феноменальная память и вы помните отпечатки ключей всех хостов на которые ходите по ssh ;)
Если изменился ключ удаленного хоста то новые строчки добавляться не будут, а будет предупреждение о изменении ключа удаленной машины и разрыв соединения. В предупреждении будет указано на основании какой строки из known_hosts оно выдано.
Если сильно не нравится хеширование имен и адресов хостов в known_hosts то его можно отключить опцией HashKnownHosts в конфиге .ssh/config
Вроде все что сразу в глаза бросается я прокоментировал :)
|
| mrkooll @ 11-06-2008 13:45:37 |
Еще поправочка
"При генерации ключа каждый авторизованный хост добавляется в файл ~/.ssh/authorized_keys"
не авторизированный хост, а ключ пользователя.
Насчет сохранения пароля ключа на таблетке. На таблетке есть ssh-agent. Скармливаете ему пароли и он их будет хранить. Так что ssh-agent + ssh-add решают эту проблему.
|
| mrkooll @ 11-06-2008 13:58:56 |
Wall говорит:Согласно этому DSA http://www.debian.org/security/2008/dsa-1571 этому эксплоиту подвержены ключи, сгенеренные openssl начиная с версии 0.9.8c-1. На таблетке этой версии никогда не было, там до сих пор 0.9.7e. Так что расслабьтесь - ничего делать не нужно.
Это, кстати, один из примеров того, что следование за апстримом ноздря в ноздрю не всегда хорошо :)
Апстрим не имеет отношения к уязвимости со сломанным пулом энтропии в openssl. Это чисто Debian specific sechole. Просто некоторые маинтайнеры когда делают "патч" забывают подумать.
На таблетке этого "патча" обнаружено не было. Так что можно не волноваться.
|
| alex2ndr @ 11-06-2008 14:25:27 |
Для работы с потоковым видео по ssh можно использовать алгоритм сжатия blowfish - он быстрее всего шифрует данны - взято отсюда - http://www.inference.phy.cam.ac.uk/saw2 … tions.html  Используется следующим образом
тов. mrkooll прав - dsa алгоритм подписи а не шифрования - алгоритм шифрования мы выбираем (можем выбирать) при установке соединения
|
| Wall @ 11-06-2008 14:54:35 |
mrkooll говорит:Апстрим не имеет отношения к уязвимости со сломанным пулом энтропии в openssl. Это чисто Debian specific sechole.
Я, собственно, и имел в виду Debian. Не openssl же является апстримом для Maemo.
|
| mrkooll @ 12-06-2008 08:21:38 |
blowfish - алгоритм шифрования, а не сжатия (я занудный тип :)
А алгоритм сжатия используется gzip. Можно вообще сжатие выключить. Можно покрутить уровень сжатия. По моим прикидкам установка уровня сжатия в 1 будет более эффективна чем замена алгоритма шифрования. Но надо протестировать.
По скорости алгоритмов шифрования - это зависит от типа CPU. Можно не гадать, а точно проверить запустив openssl speed на таблетке. Blowfish на таблетке действительно быстрее
А вот насчет RSA и DSA я ошибся. Наоборот оно. У DSA быстрее подпись и медленнее проверка. А вообще по совокупности на таблетке RSA быстрее
|
| Dali @ 16-06-2008 04:30:36 |
mrkooll говорит:Ну раз замечания приветствуются...
Третий пункт бредовый. Для начала dsa вообще не испльзуется для шифрования, это алгоритм подписи. Проверка подписи у него быстрее чем у rsa, но это только проверка. По стойкости он даже выше rsa при равной длине ключа.
Я знаю. Просто пытался сказать более простым языком для самых простодушных юзеров. Насчёт слабого и сильного шифрования я погорячился, но написал же "шифрование с ключом RSA" а не "шифрование по алгоритму RSA" :)
Своё HOWTO я исправляю, спасибо всем за замечания. Вообще это детали, а суть (команды) верна. Главное, что я попытался донести - проблемы с неверными правами уже имеющихся директорий и файлов, из-за которых не получалось входить без пароля. Это то, на что я напоролся, и долго бился. Другое, чего я добивался - дать конкретные рабочие и проверенные лично команды, а не просто набор подсказок (и надежда, что юзер делает это на чистой машине, впервые), чем грешат многие HOWTO. Кроме того, к сожалению, спецы не пишут HOWTO, приходится нам самим...
mrkooll говорит:Насчет сохранения пароля ключа на таблетке. На таблетке есть ssh-agent. Скармливаете ему пароли и он их будет хранить. Так что ssh-agent + ssh-add решают эту проблему.
Опять же, за непонятной юзеру фразой о скармливании паролей ssh-agent стоят конкретные команды, которые и должны быть в HOWTO. Так что лезу в описания...
Исправления внёс, кроме ssh-agent. Это сделаю сегодня-завтра.
|
| zap @ 16-06-2008 13:12:58 |
Я постарался сделать текст более понятным для новичков. Убрал излишек ненужных деталей, новичкам они ни к чему и только отпугивают. ssh-keygen сразу ставит на файлы нужные права, поэтому команды с правами убрал. ssh-copy-id при необходимости создаёт на удалённом хосте каталог ~/.ssh/ с правильными правами доступа, так что команды для его создания тоже убрал.
Надеюсь, что всем понравится. Если нет - откатите назад. Добавил аналогичную инфу для виндозников, бо такие тоже попадаются (всё ещё, к сожалению ;-))
|
| dik @ 16-06-2008 14:03:29 |
А куда пропал собственно сам скрипт ? Имхо стоит параллельно разместить вашу и Dali статьи
http://wiki.internet-tablet.com/index.p … 9_from_Zap 
http://wiki.internet-tablet.com/index.p … 0%B5%D0%B9 
|
| Dali @ 17-06-2008 02:05:10 |
zap говорит:Я постарался сделать текст более понятным для новичков. Убрал излишек ненужных деталей, новичкам они ни к чему и только отпугивают. ssh-keygen сразу ставит на файлы нужные права, поэтому команды с правами убрал. ssh-copy-id при необходимости создаёт на удалённом хосте каталог ~/.ssh/ с правильными правами доступа, так что команды для его создания тоже убрал.
Нехорошо-с Вы же выхолостили весь мой HOWTO. Похоже, невнимательно прочитали его, да и в сообщении #16 я писал, что на некоторых уже существующих директориях и файлах неправильные права сохраняются. Так было у меня, и я долго разбирался, почему пароль всё равно спрашивается, хоть и делал всё как пишут. Именно для этого и нужны команды для установки прав. "Ненужные детали" - это комментарии для тех, кто хочет знать, но не хочет лезть в доки (т.е. почти для всех), либо у кого что-то не получилось. Всё, что нужно сделать юзеру по-моему - запустить скрипты. Они будут лежать на компьютере и таблетке, и ещё не раз понадобятся. Не придётся вспоминать команды для генерации, для дистрибуции, не забывать проконтролировать права нескольких директорий и нескольких файлов, ломать потом голову, почему пароль всё равно спрашивается, и т.д. Фактически Вы до предела упростили команды (чем привели HOWTO к множеству похожих, объясняющих только самые основы ssh для дальнейшего самостоятельного изучения), переложив всю работу на юзера. У меня такое предложение - переделайте Ваш HOWTO с двумя частями. Первую назовите типа "упрощенное руководство для Линукса", второе и основное - "руководство для Windows" (ибо я не планирую покрывать этот вопрос). Свою статью я вернул в первоначальный вид, с поправками, и принимаю любые конструктивные замечания, к пинкам тоже отношусь спокойно. PS: в Вашей версии HOWTO фраза "При написании этой статьи не пострадал ни один HOWTO" уже неуместна.
|
| dik @ 17-06-2008 02:59:21 |
Dali : я вернул твою статью к твоей последней редакции, а вариант от Zap разместил отдельной статьёй.
Думается что если правки небольщие и касаются уточнейний/ исправления ошибок - стоит править оригинал. В случае кардинальной переделки - лучше уж писать своё отдельно. имхо.
Каждый из подходов может подойти кому то в большей или меньшей степени. Ибо все мы люди разные.
|
| Dali @ 17-06-2008 03:10:33 |
dik говорит:Dali : я вернул твою статью к твоей последней редакции, а вариант от Zap разместил отдельной статьёй.
Вернул с упущениями, так что я довернул до конца.
Думается что если правки небольщие и касаются уточнейний/ исправления ошибок - стоит править оригинал. В случае кардинальной переделки - лучше уж писать своё отдельно. имхо.
Каждый из подходов может подойти кому то в большей или меньшей степени. Ибо все мы люди разные.
Именно так. Это стандарт в open source. И даже кардинальные переделки может произвести автор, пока он поддерживает своё поделие, и если он соглашается с предложениями.
|
| zap @ 17-06-2008 05:27:19 |
Прошу прощения, если наступил кому-то на хвост :) Просто wiki на то и есть вики, чтобы в нём не терялось ничего. Я предложил свой улучшенный вариант, Вам не понравилось, форкнулись :)
А скрипты имхо не нужны. Зачем нужен скрипт, в котором всего одна команда. Для новичков надо имхо проще, а опытным вики ни к чему, сами мануал почитают и разберутся.
ssh-copy-id установит права сам как полагается, я проверял.
Улыбнула фраза: "Команда ssh-keygen спросит пароль для защиты создаваемого ключа (а не для логина). Крайне не рекомендуется оставлять его пустым, иначе кто-нибудь может просто скопировать ключ, имея физический доступ к компьютеру. Вводите пароль не менее 16 символов, включая пробелы, цифры, знаки, прописные и строчные буквы."
А статья называется "Как заходить по ssh без паролей", а тут такие ужасы - 16 символов, включая пробелы, цифры и ё-моё :). Ну и где логика? :)
P.S. Для алгоритма DES, который используется для защиты ключей достаточно длины 6 символов, 16 это перебор. Но вообще учитывая небольшую ценность данных на планшете, а также то, что к домашнему компьютеру обычно доступ весьма ограничен, можно не париться и жить без пароля, таким образом оправдав название статьи :)
|
| Dali @ 17-06-2008 05:34:19 |
Закончена в целом работа над HOWTO. Замечания всегда приветствуются.
|
| Dali @ 17-06-2008 06:37:21 |
zap говорит:А скрипты имхо не нужны.
См. пост 19
Зачем нужен скрипт, в котором всего одна команда.
Это не про мой скрипт. У меня 4 + 3. Да ещё с опциями, нужными, чтобы не нажимать enter на кучу вопросов, меньше вводить руками, видеть меньше побочных сообщений, и.т.д
Для новичков надо имхо проще, а опытным вики ни к чему, сами мануал почитают и разберутся.
Повторю, что именно для новичков проще запустить скрипт, чем выполнить кучу действий руками и на компе, и на теблетке. Попутно уточняя права и т.д. Я был новичком перед написанием этой статьи. Наткнулся на проблему (с правами, как оказалось), не помогли простые вики, которых во множестве. Копаться глубоко в доках было лениво. По проблеме сохранения пароля, большинство вики по таблеткам советует не задавать пароль, более сложные howto, где пишется "используйте ssh-agent и ssh-add", не решали проблему для таблетки (как конкретно?) Только моя героическая ответственность и неисправимый перфекционизьм, проявленные при написании сего, заставили углубится в доки.
ssh-copy-id установит права сам как полагается, я проверял.
И я проверял. В любом случае, скрипты пишутся, чтобы работать в общем случае, а не только в Вашем частном, где всё ОК, где ранее Вас не угораздило, как меня, изменить права в директории ~.
Улыбнула фраза: "Команда ssh-keygen спросит пароль для защиты создаваемого ключа (а не для логина). Крайне не рекомендуется оставлять его пустым, иначе кто-нибудь может просто скопировать ключ, имея физический доступ к компьютеру. Вводите пароль не менее 16 символов, включая пробелы, цифры, знаки, прописные и строчные буквы."
А статья называется "Как заходить по ssh без паролей", а тут такие ужасы - 16 символов, включая пробелы, цифры и ё-моё :). Ну и где логика? :)
"для защиты создаваемого ключа (а не для логина)" Этот пароль на компьютере придётся ввести единожды с сохранением (путём нажатия галочки СОХРАНИТЬ в окне запроса пароля), или один раз за сессию (до перезагрузки) в худшем случае, если такой галочки нет, или это таблетка. Ваши слова - это Ваше ИМХО, а в вики стоит придерживаться рекомендаций из фирменной документации (которую писали спецы по безопасности, не чета нам), что я и делаю. В любом случае, уровень принятой безопасности каждый выбирает для себя сам. Если уверен, что с твоего компа невозможно скопировать ключи, и что нет дружков, готовящихся к 1 апреля, не ставь пароль. Но если он сохраняется, почему не поставить?
P.S. Для алгоритма DES, который используется для защиты ключей достаточно длины 6 символов, 16 это перебор. Но вообще учитывая небольшую ценность данных на планшете, а также то, что к домашнему компьютеру обычно доступ весьма ограничен, можно не париться и жить без пароля, таким образом оправдав название статьи :)
DES или DSA/RSA? 16 символов - это рекомендация из доки. Вы, как говорится, вольны... Насчёт ценности можно согласиться в большинстве случаев, но имеется известная проблема, что на мобильных устройствах многие хранят закрытую корпоративную информацию в открытом виде. ssh это не игрушка, это вопрос безопасности. Безопасность зависит от самого слабого звена. Из-за незапароленного ключа вся защита бессмысленна. Конечно, если ssh применяется только как консоль для подключения к таблетке в пределах локалки, тогда можно не париться. Но я не сужаю задачу.
|
| aboris @ 17-06-2008 07:31:13 |
Разрешите вмешаться в разговор благородных донов? 8-)
Dali говорит:Но если он сохраняется, почему не поставить?
Я на первой своей таблетке (украденной в метро) насохранял паролей (ничего особенного - от форумов, личного кабинета на сайте провайдера). Это мне вылилось в часовую эпопею по смене всех паролей и попутно в разборки с техподдержкой. А Вы говорите пароль от ключей сохранять...
|
| Dali @ 17-06-2008 08:23:49 |
Не одно и то же. Сохранение паролей в браузере таблетки - это упрощение жизни за счёт ослабления безопасности. Альтернатива одна - вводить каждый раз пароль. Сохранение пароля от ключа - тоже упрощение и ослабление, но альтернативы две - вводить каждый раз, или отказаться от пароля вообще. Вы это предлагаете как более надёжный вариант?!!
|
| aboris @ 17-06-2008 08:43:57 |
Dali говорит:Вы это предлагаете как более надёжный вариант?!!
Вынужден извиниться еще раз. Видимо надо изъясняться еще проще... 8-)) Я просто считаю, что сохранение пароля - дыра в безопасности, если она (безопасность) конечно волнует пользователя [b]ssh[/].
|