Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 48
Текст из файла (страница 48)
Обеспечивается эмуляция терминалов Digital Equipment Corporation VT 100, DigitalEquipment Corporation VT 52, TTY. Протокол Telnet описан в документеRFC 854, который вы найдете на прилагаемом компакт-диске.Любые команды, выполняемые с помощью Telnet, обрабатываются telnetсервером, а не локальным компьютером. Пользователь лишь видит результатвыполнения этих команд.Для использования Telnet на удаленном компьютере должен быть установлен telnet-демон. На компьютере пользователя нужно установить программу-клиент.
Практически в каждой операционной системе существуетутилита telnet, которая является клиентом для протокола telnet (см. рис. 8.2).Сервис Telnet был и остается одним из самых популярных способовудаленной регистрации и работы на удаленной машине. Основным егонедостатком является то, что любая информация, в том числе и пароли,передается в открытом виде без какого-либо кодирования.SSH (Secure Shell) — программа, позволяющая вам зарегистрироватьсяна удаленных компьютерах и установить зашифрованное соединение. Существует также «безопасная» версия telnet — stelnet.SSH использует криптографию открытого ключа для шифрования соединения между двумя машинами, а также для опознавания пользователей.195Конфигурирование сервера•М Telnet - (нет)ПодключитьПравка ХерминалСправкаРис. 8.2. Telnet-клиент для WindowsОболочку ssh можно использовать для безопасной регистрации на удаленномсервере или копировании данных между двумя машинами, в то же времяпредотвращая атаки путем присоединения посередине (session hijacking) иобманом сервера имен (DNS spotting).Оболочка Secure Shell поддерживает следующие алгоритмы шифрования:BlowFish — это 64-разрядная схема шифрования.
Этот алгоритм часто используется для высокоскоростного шифрования данных больших объемов.Тройной DES (Data Encryption Standard) — стандарт для шифрования данных.Данный алгоритм довольно старый, поэтому не рекомендуется его использо'вать. Обычно DES используется для шифрования несекретных данных.IDEA (International Data Encryption Algorithm) — международный алгоритмшифрования информации. Этот алгоритм работает со 128-разрядным ключом и поэтому он более защищен, чем BlowFish и DES.RSA (Rivest-Shamir-Adelman algorithm) — алгоритм Ривеста-Шамира-Адельмана.Представляет собой схему шифрования с открытым и секретным ключами.При выборе алгоритма шифрования нужно исходить из конфиденциальности информации, которую вам нужно передать. Если информация секретна, лучше использовать алгоритмы IDEA или RSA.
Если же вы просто нехотите передавать данные в открытом виде, используйте алгоритм BlowFish,поскольку он работает значительно быстрее, чем DES.Оболочка ssh очень эффективна против анализаторов протоколов, таккак она не только шифрует, но и сжимает трафик перед его передачей наудаленный компьютер. Программу ssh можно скачать по адресу http://www.cs.hut.fi/ssh/. Версия ssh для UNIX распространяется бесплатно, а заWindows-версию (имеется в виду клиент для Windows) нужно заплатить.Оболочка ssh незаменима в тех случаях, когда удаленно нужно администрировать сервер или когда сервер не имеет собственного монитора. Прииспользовании telnet все данные, которые передаются через telnet-соединение, доступны в открытом виде. А значит, имена пользователей и паролибудут доступны всем, кто прослушивает трафик с помощью анализатора.Шифрование ssh выполняет, используя несколько различных алгоритмов,включая DES и 3DES.796Конфигурирование сервераПрограмма состоит из демона sshd, который запускается на Linux/UNIXмашине, и клиента ssh, который распространяется как для Linux, так и дляWindows.
Чтобы установить ssh, возьмите исходные тексты и поместите ихпо традиции в каталог / u s r / s r c / . Затем распакуйте архив и установитепрограмму, выполнив следующую последовательность действий:cd /usr/src/tar xzf ssh-2.4.О.tar.gzcd ssh-2.4.0./configuremakemake installЧтобы ssh начал работать, необходимо запустить демон sshd на тоймашине, к которой предполагается подключение. Желательно добавить команду запуска в сценарий загрузки системы для автоматического запуска.Демон sshd работает по 22 порту (см. листинг 8.6). Если не ошибаюсь, sshневозможно использовать вместе с xinetd/inetd — его нужно запускать подобно httpd-серверу в режиме standalone.Листинг 8.6. Фрагмент файла /etc/servicessshssh22/tcp22/udp# SSH Remote Login Protocol# SSH Remote Login ProtocolОбычно с настройкой sshd не возникает никаких неприятных моментов.Подробно настройка демона будет рассмотрена чуть ниже в этой главе.Теперь попробуйте зарегистрироваться на этой машине через ssh.
Для этогонужно установить этот же пакет на другую машину под управлениемLinux/UNIX (или установить Windows-клиент ssh) и ввести команду:$ ssh hostname.domainssh запросит вас ввести пароль пользователя. В качестве имени пользователя для установки соединения будет использовано имя текущего пользователя, то есть имя, под которым вы сейчас зарегистрированы в системе. Вслучае, если аутентификация пройдет успешно, начнется сеанс связи. Прекратить сеанс можно комбинацией клавиш Ctrl+D.Если вам нужно указать другое имя пользователя, используйте параметр-1 программы ssh:ssh -I user h o s t n a m e .
r uТак можно указать программе ssh, от имени какого пользователя нужнорегистрироваться на удаленной машине (см. рис. 8.3).При использовании Windows-клиента имя компьютера, имя пользователя и пароль нужно ввести в диалоговом окне программы. Если соединениене устанавливается, попробуйте выбрать метод кодирования blowfish. Если иэто не поможет, выберите 3DES.Работа в ssh аналогична работе в telnet.
Вы можете администрироватьудаленную машину также легко, как и локальную. Опции программы sshуказаны в табл. 8.5.797Конфигурирование сервера1j" - Консоль - (Jen@lQca8*ost** - КонсояьФайл Сеансы Настройки Помощь[root@localhost root]» ssh -1 den localhostden@localhost's password:Last login: Thu Jul 4 09:40:34 2002Cden§localhost den]* |Рис. 8.З.
Регистрация на удаленной машинеОпции программы sshОпция-а-А-с blowfish|3des-с шифр-f-i идент_файл-1 имя^пользоват-р порт-q-X-X-1-2-4-6Таблица 8.5ОписаниеОтключает перенаправление аутентификации агента соединенияВключает перенаправление аутентификации агента соединенияПозволяет выбрать алгоритм шифрования при использовании первой версиипротокола SSH. Можно указать или blowfish, или 3desЗадает список шифров, разделенных запятыми в порядке предпочтения.
Только длявторой версии протокола SSH. Допускаются значения blowfish, twofish, arcfour, cast,des и 3desДанная опция переводит ssh в фоновый режим после аутентификации пользователя.Рекомендуется использовать для запуска программы Х1 1 . Например, ssh -f host xtermЗадает нестандартный идентификационный файл (для нестандартной RSA/DSAаутентификации)Указывает от имени какого пользователя будет осуществляться регистрацияна удаленной машинеОпределяет порт, к которому подключится программа ssh(по умолчанию используется порт 22)«Тихий режим».
Будут отображаться только сообщения о фатальных ошибках. Все прочие предупреждающие сообщения в стандартный выходной поток выводиться не будутОтключить перенаправление Х1 1Включить перенаправление Х1 1Использовать только первую версию протокола SSHИспользовать только вторую версию протокола SSHРазрешается использовать IP-адреса только в формате IPv4Разрешается использовать IP-адреса только в формате IPv6Оболочка ssh использует два файла конфигурации ssh_conf и sshd_conf.Думаю, что нет смысла говорить о том, что они находятся в директории/etc/ssh. Рекомендую в файле sshd_conf прописать следующую строчку:allowedadress 10.1.1.1 1 0 . 1 . 2 .
1 10.1.3.1Это означает, что доступ по ssh может быть выполнен только с машин садресами 10.1.1.1, 10.1.2.1, 10.1.3.1. Это оградит ваш компьютер от нежелательных вторжений извне.Программа stelnet во всем полностью аналогична программе telnet, ноона выполняет шифрование трафика, который передается во время telnetсоединения.198Конфигурирование сервераДемон sshd -- это программа-демон для оболочки ssh.
Обычно sshdзапускается на машине, к которой подключаются клиенты SSH. Последниеверсии демона sshd поддерживают две версии протокола SSH — SSH версия 1, и SSH версия 2.Протокол SSH версия 1У каждого узла есть свой RSA-ключ (обычно 1024 бит), который используется для идентификации узла.
Этот ключ еще называется открытым. Дополнительно, при запуске демона, генерируется еще один RSA-ключ —ключ сервера (обычно 768 бит). Этот ключ создается заново каждый час иникогда не сохраняется на диске.Каждый раз при установке соединения с клиентом демон отправляет емув ответ свой открытый ключ и ключ сервера. Клиент сравнивает полученныйоткрытый ключ со своей базой данных, чтобы проверить, не изменился ли он.Затем клиент случайным образом генерирует 256-разрядное число и кодируетего, используя одновременно два ключа — открытый ключ и ключ сервера.Обе стороны используют этот случайный номер как ключ сессии, которыйиспользуется для кодирования всех передаваемых во время сессии данных.Затем клиент пытается аутентифицировать себя, используя .rhosts-аутентификацию, аутентификацию RSA или же аутентификацию с использованием пароля.Обычно .rhosts-аутентификация небезопасна и поэтому она отключена.Протокол SSH версия 2Версия 2 работает аналогично: каждый узел имеет определенный DSAключ, который используется для идентификации узла.
Однако, при запускедемона ключ сервера не генерируется. Безопасность соединения обеспечивается благодаря соглашению Диффи-Хелмана (Diffie-Hellman key agreement).Сессия может кодироваться следующими методами: 128-разрядный AES,Blowfish, 3DES, CAST128, Arcfour, 192-разрядный AES или 256-разрядный AES.Опции демона sshd указаны в табл. 8.6.Опции демона sshdОпция-Ь биты-d-е-f конфиг_файл-д время-h файл_ключаТаблица 8.6ОписаниеОпределяет число битов для ключа сервера (по умолчанию 768).