Оглавление Оглавление 1
Вид материала | Документы |
СодержаниеБезопасная оболочка (OpenSSH) Настройка OpenSSH scp / sftp It is possible that someone is doing something nasty! Вход в систему с помощью открытого ключа Настройка маршрутизации X-протокола |
- Кожич Павел Павлович Минск 2010 г Оглавление Оглавление 2 Применение информационных, 302.47kb.
- Оглавление оглавление, 63.5kb.
- Оглавление Оглавление, 259.29kb.
- Ланин Борис Евсеевич Оглавление Оглавление 1 лекция, 810.53kb.
- Оглавление: Оглавление:, 350.3kb.
- Октябрьской Революции Краснознаменной академии (ввиа) имени профессора Н. Е. Жуковского, 1685.68kb.
- Караваева Елена Леонидовна г. Светлый 2008 г. Оглавление оглавление 2 пояснительная, 130.81kb.
- Винарский Владимир Афанасьевич ассистент Шешко Сергей Михайлович Минск 2008 г. Оглавление, 156.88kb.
- Коледа Виктор Антонович, ст преподаватель Пол Кожич Минск 2010 г. Оглавление Оглавление, 340.48kb.
- Обуховский Виктор Степанович, ассистент Позняков Андрей Михайлович Минск 2006 г оглавление, 266.12kb.
Упражнения
Упражнение 1 :
- Установите wu-ftpd
- Смените предупреждающий и приветствующий текст
- Настройте ftp-сервер со сменой корневой файловой системы
- Настройте анонимную выгрузку файлов
Решения
Решение 1 :
- Следуйте инструкциям этой главы
-
Безопасная оболочка (OpenSSH)
- Ключевые файл, термины и утилиты:
- Ключевые файл, термины и утилиты:
/etc/ssh/sshd_config
~/.ssh/identity.pub и identity
~/.ssh/authorized_keys
.shosts
.rhosts
-
Настройка OpenSSH
Введение
OpenSSH - это бесплатная реализация безопасной оболочки (secure shell). Эта утилита является заменой старых и небезопасных утилит rsh, rlogin, telnet, ftp, ...
- SSH предоставляет возможности оболочки поверх безопасного зашифрованного канала передачи данных.
- Файлы могут передаваться с помощью утилит scp или sftp
- SSH предоставляет возможности маршрутизации протокола X11
- Прозрачный вход в систему с аутентификацией при помощи публичных ключей
sshd
Сервер SSH – демон sshd - обычно устанавливается вместе с пакетом ssh. Конфигурация находится в файле /etc/ssh/sshd_config.
Некоторые настройки безопасности:
...
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
UsePrivilegeSeparation yes
...
LoginGraceTime 600
PermitRootLogin no
StrictModes yes
...
#AuthorizedKeysFile %h/.ssh/authorized_keys
...
IgnoreRhosts yes
PermitEmptyPasswords no
ssh
Конфигурационный файл ssh клиента: /etc/ssh/ssh_config. X11Forwarding может быть установлен по умолчанию.
- Вход в систему через SSH
[root@test root]# ssh 192.168.0.69
Password:
Last login: Mon Jul 29 16:36:57 2004 from 192.168.0.42
[root@test1 root]#
- Пользователь для утилиты ssh может быть указан двумя способами
[root@test root]# ssh -l root 192.168.0.69
[root@test root]# ssh root@192.168.0.69
- Если не указано имя пользователя, будет использоваться текущая учетная запись
- На удаленном хосте могут быть выполнены команды
[root@test root]# ssh 192.168.0.69 ls /usr/share/doc
scp / sftp
Файлы можно копировать с помощью scp, утилиты безопасного копирования.
[root@test root]# scp some-file.tar.gz user@remote:
[root@test root]# scp some-file.tar.gz user@remote:/home/user
[root@test root]# scp -r something/ user@remote:/tmp/
OpenSSH предоставляет утилиту подобную ftp - sftp, которая позволяет перемещаться по каталогами на удаленном сервере.
[user@test user]$ sftp user@192.168.0.206
Connecting to 192.168.0.206...
Password:
sftp> ls /mnt
/mnt/.
/mnt/..
/mnt/floppy
/mnt/slash
/mnt/usbstorage
sftp>
[user@test user]$
Безопасность
- Данные шифруются
- Нужно использовать только протокол версии 2, протокол версии 1 считается небезопасным
- Для идентификации на каждой машине существует ключ хоста
[root@test root]# cat /etc/ssh/ssh_host_rsa_key
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQDLI9tAuoCgm959RaJSXMnh8UIj008r6Pg40nKuVfcsZ+nVTseY
EeT0YWg8ulDUlJlDg9J+432ZRkmw3lup0U/9oMGJ8lrofK17xExH8gsHcLTiKwrZ
pOXrVD19H+9B4kRnMSVeVqPcgENsHeijxp7NoZldxm5Ia17MVUUdQ6PbvQIBIwKB
gAubpiD0tuSbMUj8qjCXloHwh2/C7pTLe+X9ZaOP4j0NQI/YnbDrFGW8bFs92Luw
uE0AN+n+XvLQ0QLK4KqePxW0m4Itx2UeJXejoG3TUO6loct1sJnwtvZj/JSuZpv/
9WCMrprFOOKl8b2g830U69gR8ZMwCHYhTRilcmLJUYWLAkEA5wZIlsW/RzqxJe18
FjSp1DgRLnF2pmvbJtE7+oYNXXccZTo27rLGboydjXQR7LmgtV0h9P4u5DWz3wp5
ZWgnwQJBAOEZ2zpzv6XjHO7nSenODUntaHEG3Qn4OFeoFzllioWHMS37kuyNl7mw
WA/PhOvF57I4rAjcBkBj6Sbo4xspEv0CQQCearVus3vZEk2WWbQse+IrHyG5cl/9
FsIpPwSOh86mfY/QYm7PkIgRSnqqI7SFEZLFgbDigmlMB5FIfDX8ZK2LAkEAzc5/
S2KDVdb14b2FaAzY8yIzmonuqgeD+F8rLSmjOEEXBXhL0PZ8F3yoSPg/A3Mc+rd4
t6SYAFtY0x4Rd+sKCwJASvw6wMKi3EZhb4Ii3ZeG9wWMiZuWFVluzggKz7E80IJa
Sn1TIzl9mnOo8/E5VoH171QOFETv1/rloIDH5QoJJw==
-----END RSA PRIVATE KEY-----
[root@test root]#
Подписи известных хостов сохраняются в домашнем каталоге пользователя:
[user@test user]$ cat .ssh/known_hosts
192.168.0.206 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAz66o+3HSw83k8l0G/hi9x9NeqDZNAHoY43lE2F1JtcypJQifdN9maSrGFuUispNb1vvz69BgHdtZ1c67+EftgsGH7NCcjgFGg7AeLpdj6TVp8C0K5dLwmqIlaOdCV6OaLyohhucpZxWRCREN1ezt0mNysdUobLP3vrPjCmqJLN8=
[user@test user]$
Если во время установления ssh-соединения было определено, что подпись изменилась, SSH выводит следующее предупреждающее сообщение:
[user@test user]$ ssh 192.168.0.206
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
17:9b:fe:36:98:6f:60:75:69:47:e2:43:46:09:f6:3c.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending key in /home/user/.ssh/known_hosts:1
Password authentication is disabled to avoid man-in-the-middle attacks.
X11 forwarding is disabled to avoid man-in-the-middle attacks.
Password:
Вход в систему с помощью открытого ключа
Механизм PKI (Public Key Infrastructure – инфраструктура открытых ключей) может использоваться вместо обычной авторизации с помощью пароля.
На стороне клиента должна быть сгенерирована пара ключей – открытый и закрытый. Открытый ключ публикуется, т.е. закачивается на сервер. Если SSH обнаруживает открытый ключ, он использует этот метод аутентификации и возвращается к методу аутентификации паролем только в случае неудачи.
Пара ключей может быть защищена особым паролем – он должен иметь длину минимум 25 символов, и не должен содержать нелатинских символов (представьте, что на каникулах вам придется воспользоваться иностранной клавиатурой).
Если пароль не указан, вход в систему будет выполняться без пароля. Это позволяет автоматизировать различные задачи.
- DSA, версия 2.0
[user@test user]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
The key fingerprint is:
bb:ff:f2:c1:70:0e:80:1b:23:63:ea:a2:52:c6:64:86 user@test
[user@test user]$
Каталог .ssh/ на сервере должен иметь права доступа 700. Скопируйте открытый ключ на удаленный хост или добавьте его к файлу, если он уже существует и содержит другие ключи.
[user@test user]$ ssh user@192.168.0.206 "mkdir .ssh; chmod 700 .ssh"
Warning: Permanently added '192.168.0.206' (RSA) to the list of known hosts.
Password:
Warning: No xauth data; using fake authentication data for X11 forwarding.
/usr/bin/X11/xauth: creating new authority file /home/user/.Xauthority
[user@test user]$ scp .ssh/id_dsa.pub user@192.168.0.206:/home/user/.ssh/authorized_keys
Password:
id_dsa.pub 100% 599 1.7MB/s 00:00
[user@test user]$
Проверьте аутентификацию с открытым ключом:
[user@test user]$ ssh user@192.168.0.206
Warning: No xauth data; using fake authentication data for X11 forwarding.
Linux socrate 2.6.5 #8 Sun Apr 4 15:29:35 CEST 2004 i686 GNU/Linux
user@socrate:~$
- RSA, версия 2.0
[user@test user]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
7f:2b:75:4d:dc:01:06:63:e9:90:dc:a0:71:67:a2:40 user@test
[user@test user]$
Каталог .ssh/ на сервере должен иметь права доступа 700. Скопируйте открытый ключ на удаленный хост или добавьте его к файлу, если он уже существует и содержит другие ключи.
[user@test user]$ scp .ssh/id_rsa.pub user@192.168.0.206:/home/user/.ssh/test_pub_key
id_rsa.pub 100% 219 2.6MB/s 00:00
[user@test user]$ ssh user@192.168.0.206 cat .ssh/test_pub_key >> .ssh/authorized_keys
Warning: No xauth data; using fake authentication data for X11 forwarding.
[user@test user]$
Настройка маршрутизации X-протокола
На сервере в файле /etc/ssh/sshdconfig должна присутствовать строка:
X11Forwarding yes
На клиенте мы должны использовать опцию -X:
[user@test user]$ ssh -X user@192.168.0.206
Warning: No xauth data; using fake authentication data for X11 forwarding.
Linux socrate 2.6.5 #8 Sun Apr 4 15:29:35 CEST 2004 i686 GNU/Linux
Last login: Wed Aug 18 19:15:29 2004 from 192.168.0.42
user@socrate:~$