Легкая многоуровневая аутентификация для sudo

Для обеспечения источника пакета, который Вы загружаете APT захочет проверить подписи Файла версии. Если это не может проверить его, это будет жаловаться с сообщением, что Вы видели. В этом случае необходимо установить соответствующий ключ GPG так, чтобы APT мог проверить файл правильно. К сожалению, Вы не должны вслепую загружать ключ, поскольку Вы действительно хотите позволить только ключи, которым доверяют, которые принадлежат владельцу репозитория. Таким образом необходимо загрузить его способом, который гарантирует ее источник и просто загрузку ее с gpg --recv-key не гарантирует это.

Установка нового ключа, покончили apt-key add . Большинство неофициальных репозиториев предоставляет Вам ключ на их веб-сайте и дает Вам инструкции как это (URL отличается, конечно):

wget -O - http://ftp-master.debian.org/keys/archive-key-5.0.asc | sudo apt-key add -

В случае официального зеркала Debian необходимо автоматически установить правильный ключ, он содержится в пакете debian-archive-keyring и его конфигурация активирует ключи автоматически. Поэтому удостоверьтесь, чтобы Вам установили его и удостоверяетесь, что это актуально:

apt-get install debian-archive-keyring

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

Для большего количества infos о том, как Ключи Архива Debian обрабатываются, можно проверить http://ftp-master.debian.org/keys.html.

5
задан 3 September 2009 в 04:54
2 ответа

Вы уже решили это через OTPs (больше безопасности = больше обручей), и я не могу прокомментировать pam_ssh_agent_auth. Но кажется, как будто Ваше реальное беспокойство не с sudo, а с доступом сетевого уровня. Другими словами, Вы кажетесь соответствующими с полномочиями, предоставленными пользователям от конкретного хоста или хостов, а не конкретной системной учетной записи. Если это так, рассмотрите реализацию пробивающей порт схемы перед Вашим демоном SSH, таким, что SSH только доступен от определенного дюйм/с и кем-то, кто знает секретный удар. После этого регулярная старая аутентификация с открытым ключом от известных хостов должна быть достаточной. Если взломщик может все еще получить доступ оболочки в той точке, Вас, вероятно, превосходят так или иначе.

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

С наилучшими пожеланиями,-G

2
ответ дан 3 December 2019 в 01:35

Майкл,

То, что вы хотите достичь, может быть выполнено двумя способами:

Первый, как вы обнаружили, - использовать pam_ssh_agent_auth или вы можете захотеть использовать его "бедный кузен" :

ssh на локальный хост, связанный с пересылкой ключей SSH. Пошаговые инструкции здесь указывают на сервер Ubuntu, но все команды должны подходить для вашей FreeBSD, поскольку они являются особенностями самого OpenSSH.

1. добавить ключ в ssh-agent:

user@workstation:~$ ssh-add
Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)

2. Скопируйте ключ в учетную запись пользователя на целевом сервере

user@workstation:~$ ssh-copy-id destination-server
user@destination-server's password: 
Now try logging into the machine, with "ssh 'destination-server'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

3. Протестируйте вход на основе ключа:

user@workstation:~$ ssh -A destination-server
Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-10-server x86_64)

 * Documentation:  http://www.ubuntu.com/server/doc

Last login: Mon Aug  8 20:38:48 2011 from 192.168.123.123
user@destination-server:~$ 

4. Теперь мы копируем ключи SSH в: /root/.ssh/[1226 visible5. Вернувшись к нормальной жизни пользователя, мы проверяем наличие SSH Auth Socket:

$ echo $SSH_AUTH_SOCK 
/tmp/ssh-bUhwiw3004/agent.3004

6. Веселое время! Примечание: имейте в виду, что ваш SSHd может быть настроен на запрет корневого доступа. Не забудьте включить его

user@destination-server:~$ ssh root@localhost
Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-10-server x86_64)

 * Documentation:  http://www.ubuntu.com/server/doc

Last login: Mon Aug  8 21:07:29 2011 from eedev.local
root@destination-server:~# id
uid=0(root) gid=0(root) groups=0(root)

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

Примечание: имейте в виду, что связь SSH и tty может быть проблемной

user@destination-server:~$ alias sshudo='ssh -4 -t root@localhost'
user@destination-server:~$ sshudo id
uid=0(root) gid=0(root) groups=0(root)
Connection to localhost closed.
user@destination-server:~$ sshudo vi /etc/sudoers

И вуаля!

Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-10-server x86_64)

 * Documentation:  http://www.ubuntu.com/server/doc

~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
~                                                                                                                             
"/etc/motd" 4 lines, 114 characters

8. Перед тем, как уйти ... Настройте его:

user@destination-server:~$ sshudo vi /root/.ssh/authorized_keys

Добавьте from = "localhost" перед ключом SSH, который вы используете.

4
ответ дан 3 December 2019 в 01:35

Теги

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