Openfiler интеграция AD и управляемый доступ

Общий трактат самородка на аутентификации с открытым ключом

почему я хочу использовать аутентификацию с открытым ключом?

Пароли не являются самыми безопасными вещами в мире. Даже если пользователь выбирает 'безопасный' пароль, это более сильно, чем имя их собаки, пароль все еще восприимчив к атаке перебором. Атаки перебором через ssh против паролей пользователя довольно распространены в Интернете и нескольких распространенных червях, и зомби постоянно выполняют автоматизированные нападения на любой подключенный к Интернету хост. Даже безопасный пароль находится в опасности к этим нападениям, сделанным вручную или червем. Предоставление доступа пароля к системе со многими пользователями является приглашением для нарушения защиты.

Кроме того, если у Вас есть учетные записи на большом количестве хостов, заманчиво снова использовать тот же пароль больше чем на одном хосте для сокращения количества паролей, которые должны запомнить пальцы. Каждый общий пароль в удаленной системе помещает Вас больше из-за опасности атаки перебором файла паролей того хоста и означает что, если один хост поставлен под угрозу, что все Ваши другие хосты, совместно использующие тот же самый пароль, значительно менее безопасны. Heck, Вы могли случайно "erp" свой пароль в канал IRC по ошибке однажды и затем тратить остальную часть дня, находя все системы, где Вы снова использовали тот пароль так, чтобы можно было изменить его, прежде чем любой поймет это. Это не забава (или таким образом, я услышал!)

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

что открытый ключ означает, точно?

Аутентификация с открытым ключом (или PKI - инфраструктура открытых ключей) является методом аутентификации, который полагается на сгенерированную общедоступную/частную пару ключей. С PKI сгенерирован специальный "ключ", который имеет очень полезное свойство: Любой, кто может считать общедоступную половину ключа, может, шифруют данные, которые могут затем только быть считаны человеком, у которого есть доступ к частной половине ключа. Таким образом наличие доступа к общедоступной половине ключа позволяет Вам отправлять секретную информацию любому с частной половиной и также проверять, что у человека действительно на самом деле есть доступ к частной половине. Легко видеть, как эта техника могла использоваться для аутентификации.

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

Это действительно, однако, означает, что необходимо защитить конфиденциальность закрытого ключа. В общей системе, где у Вас нет корня, это может быть выполнено путем шифрования закрытого ключа с паролем, который функционирует так же к паролю. Прежде чем SSH может считать Ваш закрытый ключ для выполнения аутентификации с открытым ключом, Вас попросят предоставить пароль так, чтобы закрытый ключ мог быть дешифрован. В большем количестве защищенных систем (как машина, где Вы - единственный пользователь или машина в Вашем доме, где ни у каких незнакомцев не будет физического доступа) можно упростить этот процесс любой путем создания незашифрованного открытого ключа (без пароля) или путем ввода пароля однажды и затем кэширования ключа в памяти на время времени в компьютере. OpenSSH содержит инструмент, названный ssh-агентом, который упрощает этот процесс.

как я настраиваю это?

Первая вещь, которую необходимо сделать, генерируют пару ключей с помощью ssh-keygen инструмента, который является частью OpenSSH. Пользователи Windows, которые используют PuTTY, могут использовать связанную программу putty-keygen.exe таким же образом. SecureCRT встроили генератор пары ключей также. Вот журнал создания пары ключей:

luser@localhost:~$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/luser/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/luser/.ssh/id_dsa.
Your public key has been saved in /home/luser/.ssh/id_dsa.pub.
The key fingerprint is:
f3:77:56:58:a8:bb:08:59:67:15:2c:0e:1d:d0:40:a3 luser@example.com
luser@localhost:~$ 

Теперь у Вас есть две половины, которые включают пару ключей. Файл id_dsa является частной половиной, и файл id_dsa.pub является общедоступной половиной. Вы захотите удостовериться, что только можно считать частные файлы. Это очень важно, потому что OpenSSH откажется работать с файлами ключей, которые являются миром или читаемой группой. Проверьте таким образом:

luser@localhost:~$ chmod 700 $HOME/.ssh
luser@localhost:~$ chmod 600 $HOME/.ssh/id_dsa*
luser@localhost:~$ ls -la .ssh
total 10
drwx------   2 luser  luser   512 Nov 15 16:12 .
drwx-----x  12 luser  luser  1024 Jun 24  2004 ..
-rw-------   1 luser  luser  1264 Nov 15 16:12 id_dsa
-rw-------   1 luser  luser  1123 Nov 15 16:12 id_dsa.pub
luser@localhost:~$ 

Таким образом, теперь мы являемся промежуточными там. У Вас есть своя пара ключей, но мы должны поместить общедоступную половину ключа на удаленной машине. При рассмотрении id_dsa.pub файла в любимом редакторе, Вы будете видеть, что это - просто большой блок чисел и букв. Это означает, что достаточно легко вырезать и вставить, который может быть более простым, чем попытка отправить его на удаленную машину с помощью протокола передачи файлов как sftp или scp. Обычно является самым легким просто открыть другое окно терминала и вставить его к другому хосту. В любом случае Вы захотите взять содержание id_dsa.pub и наполнить их в файл, названный $HOME/.ssh/authorized_keys на удаленном хосте. Как прежде, удостоверьтесь, что .ssh каталог только читаем Вами (chmod 700) и что authorized_keys файл также (chmod 600). Необходимо закончить с чем-то вроде этого:

luser@remotehost:~$ls -la .ssh
total 16
drwx------  2 luser  luser   512 Jul 11 19:01 .
drwx--x--x  7 luser  luser  1024 Nov 14 18:01 ..
-rw-------  1 luser  luser  1123 Nov 15 16:21 authorized_keys

Таким образом, теперь Вы все установлены войти в систему с помощью аутентификации с открытым ключом. Вместо того, чтобы попроситься Вашего пароля на remotehost, Вам вместо этого бросят вызов для пароля, Вы раньше шифровали Ваше локальное, с закрытым ключом. Дайте ему выстрел:

luser@localhost:~$ssh remotehost.example.com
Enter passphrase for key '/home/luser/.ssh/id_dsa': 
Last login: Tue Nov 15 16:20:50 2005 from localhost.example.com

luser@remotehost:~ $ Вот и все! В действительности учетная запись пользователя на remotehost стороне не должна даже иметь пароля. Без пароля (который не является тем же как Пустым паролем) даже не возможно войти в удаленную систему без закрытого ключа. Это делает учетную запись полностью неуязвимой для нападения пароля "в лоб". Существуют другие преимущества также, все же. У Вас может на самом деле быть больше чем один открытый ключ, помещенный в authorized_keys файл в удаленный хост. Это означает, что можно генерировать больше чем один закрытый ключ если Вы обычно ssh от нескольких местоположений. Например, Вы могли бы создать отдельные пары ключей для своего компьютера дома и компьютера в Вашем офисе. Удаленные хосты могли бы иметь всего один или оба из тех ключей в authorized_keys файле. Вы могли бы создать третью пару ключей для своего ноутбука работы.

Почему Вы хотели бы несколько ключей? Хорошо вообразите, теряется ли Ваш ноутбук или украденный. Можно просто войти в систему удаленных хостов и удалить тот определенный открытый ключ из authorized_keys файлов, и ноутбук будет представлен неспособный к входу в удаленные хосты, даже если кому-то удастся взломать или предположить пароль, который защищает закрытый ключ. Таким образом просто "отменить" пару ключей.

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

усовершенствованное использование: агент ssh

Можно на самом деле взять аутентификацию с открытым ключом один шаг вперед и сделать жизнь еще легче путем кэширования закрытого ключа локально. OpenSSH содержит инструмент, названный "ssh-агентом", который может использоваться для выполнения этого. Это обеспечивает компромисс между легким использованием закрытого ключа пароля меньше и безопасностью шифрования Вашего закрытого ключа в случае, если кто-то получает несанкционированный доступ к фактическому файлу. Вы выполняете ssh-агент на локальной машине, где Вы сидите и используете его для кэширования закрытого ключа для повторного использования.

Ключ к использованию ssh-агента запускает его как родительский процесс к Вашему сеансу пользователя самому. Много Unixes уже делают это для Вас, и если Вы проверяете свой список процессов, можно найти, что ssh-агент уже работает для обеспечения этой возможности. Использование пользователей Windows PuTTY может использовать инструмент "pagaent.exe" PuTTY и пользователей Mac OS X, может загрузить сторонний инструмент как SSHKeyChain или использовать ssh-агент командной строки, как они были бы с любым другим Unix. [Редактирование: OS X 10,5 "Leopard" имеют ssh поддержку агента, встроил. Вы не должны устанавливать дополнительное программное обеспечение при выполнении Leopard], Если операционная система не выполнит ssh-агент для Вас, Вы захотите вызвать его как часть Вашего процесса входа в систему. Например, Вы могли бы изменить свой gdm, или xdm входят в систему для вызова "ssh-agent gnome-session" вместо просто "сессии гнома" так, чтобы ssh-агент мог находиться сверх сессии. Ключ удостоверяется, что SSH_AUTH_SOCK и переменные среды SSH_AGENT_PID глобальны к Вашим сессиям на хосте. С резидентным объектом ssh-агента можно выполнить его вручную и снабдить закрытый ключ внутри, ssh-добавьте:

luser@localhost:~$ ssh-add ~/.ssh/id_dsa
Need passphrase for /home/luser/.ssh/id_dsa (luser@example.com).
Enter passphrase:
luser@localhost:~$

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

Знайте, что использование ssh-агента подвергает Ваш закрытый ключ опасности любому, у кого есть корневой доступ на машине, где ssh-агент. Не мудро использовать ssh-агент на машине, где Вы не или не доверяете администратору. Также не мудро позволить OpenSSH передавать аутентификацию на машине, где Вы не или не доверяете администратору. Можно управлять, происходит ли эта передача агента с помощью командной строки с помощью-A или переключателей-a или путем установки опции в файле $HOME/.ssh/config как это:

#
# .ssh/config file for luser@localhost
#

# Forward X11 and Auth to slacker.com hosts, they can be trusted
Host *.slacker.com 
ForwardAgent              yes
ForwardX11                yes

# Forward X11 and Auth to my trusted example.com hosts
Host *.example.com
ForwardAgent              yes
ForwardX11                yes

# All hosts which haven't been matched above, paranoid settings
Host *
ForwardAgent              no 
ForwardX11                no
Compression               yes
KeepAlive                 yes

Именно!

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

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

0
задан 29 July 2009 в 19:09
2 ответа

Я решил вопрос, хотя пониманию все еще недостает.

Оказывается этим при доступе к доле SMB через имя NetBIOS, введенное в Openfiler SMB / CIFS Setup экран, Vista счастлива.

Выполнение того же использования IP-адреса не работает.

Наиболее загадочно у меня есть машина Windows Server 2003 (не на домене), который ведет себя наоборот, т.е. доступ только предоставляется через IP-адрес а не через имя NetBIOS.

1
ответ дан 4 December 2019 в 23:28

На основе моего опыта (также комбинированная среда Бизнеса Перспектив и Основного соединения с OpenFiler 2.3) - то, когда имя пользователя и пароль пользователя вошли в систему Windows, не подключенного к Active Directory, совпадает с пользователем, включенным в Active Directory, это просто работает.

Поэтому просто создайте пользователя в Active Directory, войдите в систему "того" пользователя к компьютеру, не подключенному к AD, и он будет просто работать.

Предупреждение: это иногда занимает время, чтобы OpenFiler считал новых пользователей и группы от AD. Когда Вы добавляете, что пользователь к AD сначала регистрируется в панели OpenFiler, если это синхронизируется.

0
ответ дан 4 December 2019 в 23:28
  • 1
    That' s хорошая идея, но для того, что я интегрировался с AD для легкого обслуживания. Я могу точно также поддержать бродящих пользователей в локальном сервере Openfiler LDAP. –  Hans Malherbe 29 July 2009 в 23:07
  • 2
    Сколько компьютеров, не подключенных к домену, Вы имеете? В моем случае it' s меньшинство их, таким образом, it' s хорошо для управления их логинами и паролями вручную в AD. Также руководящие пользователи и группы в Active Directory просто более удобны и мощны. –  Arek 29 July 2009 в 23:52
  • 3
    We' ре, делающее R& D на домене, полностью изолированном и защищенном от домена компании. Участникам проекта добавили их компьютеры к домену компании, все же должен получить доступ к нашему частному домену с отдельными учетными данными. –  Hans Malherbe 6 August 2009 в 08:18

Теги

Похожие вопросы