- •Тема 4. Сетевые операционные системы unix
- •Тема 4. Сетевые операционные системы unix 1
- •4.1. Классификация операционных систем
- •4.1.1. Сетевые операционные системы Windows
- •4.1.2. История семейства операционных систем unix
- •4.1.3. Архитектура и дистрибутивы Linux
- •4.2. Программные средства человеко-машинного интерфейса в unix
- •4.2.1. Пользователи и группы
- •Поля файла /etc/passwd и их назначение
- •Поля файла /etc/group и их назначение
- •Поля файла /etc/shadow и их назначение
- •4.2.2. Виртуальные консоли и графические среды
- •4.3. Многозадачность в системах unix
- •4.3.1. Процессы в unix
- •4.3.2. Жизненный цикл процесса в unix и основные системные вызовы
- •4.3.3. Сигналы
- •4.4. Файловая система в unix
- •4.4.1. Файлы и каталоги
- •4.4.2. Права доступа к файлам
- •Права доступа к файлам в ос unix
- •4.4.3. Структура логической файловой системы unix
- •Назначение основных каталогов логической файловой системы unix
- •4.4.4. Физические файловые системы unix
- •4.4.5. Монтирование и демонтирование физических файловых систем
- •Некоторые опции монтирования файловых систем
- •4.5. Сетевые средства unix
- •4.5.1. Сетевой интерфейс
- •4.5.4. Терминальный доступ
- •4.5.5. Почтовая служба
- •4.5.6. Взаимодействие с сетью Windows – пакет Samba
- •Вопросы для самопроверки
4.5.4. Терминальный доступ
Текстовый интерфейс позволяет пользователю UNIX-системы работать на компьютере удаленно с помощью терминального клиента. Весьма удобно, находясь далеко от компьютера, управлять им самым естественным способом, с помощью командной строки. Препятствий этому немного: объем передаваемых по сети данных крайне невелик, ко времени отклика, занимающего полсекунды, вполне можно привыкнуть, а если оно меньше десятой доли секунды, то задержка и вовсе не мешает. Что необходимо соблюдать строго, так это шифрование учетных записей при подключении к удаленному компьютеру, а на самом деле, и самого сеанса терминальной связи, так как в нем вполне может "засветиться" пароль: например, пользователь заходит на удаленный компьютер и выполняет команду passwd.
Для терминального доступа раньше использовался протокол telnet и соответствующая пара клиент-сервер telnet-telnetd. От них пришлось отказаться в силу их вопиющей небезопасности.
На смену telnet пришла служба Secure Shell ("Надежная оболочка"), также состоящая из пары клиент-сервер – ssh и sshd. Шифрование данных в Secure Shell организовано по принципу "асимметричных ключей", который позволяет более гибко шифровать или идентифицировать данные, чем более распространенный и привычный принцип "симметричных ключей". Симметричный ключ – это пароль, которым данные можно зашифровать, и с помощью него же потом расшифровать.
Упрощенно метод "асимметричных ключей" можно описать так. Используется алгоритм, при котором специальным образом выбранный пароль для шифрования данных не совпадает с соответствующим ему паролем для их расшифровки. Более того, зная любой из этих паролей, никак нельзя предугадать другой. Некто, желая, чтобы передаваемые ему данные нельзя было подсмотреть, раздает всем желающим шифрующий пароль со словами: "будете писать мне – шифруйте этим", т. е. делает этот пароль открытым. Дешифрующий пароль он хранит в строгой тайне, никому не открывая. В результате зашифровать данные его паролем может любой, а расшифровать (что и значит – подглядеть) – может только он. Цель достигнута.
Тот же принцип используется для создания так называемой электронной подписи, помогающей идентифицировать данные, то есть определить их автора. На этот раз открытым делается дешифрующий ключ (конечно, не тот, о котором только что шла речь, а еще один). Тогда любой, получив письмо и расшифровав его, может быть уверен, что письмо написал этот автор – потому что шифрующим ключом не владеет больше никто.
Здесь уместно сделать два замечания. Во-первых, алгоритмы шифрования с асимметричными ключами весьма ресурсоемки, поэтому в Secure Shell (и упомянутом ранее SSL) они используются только на начальном этапе установления соединения. Обмен данными шифруется симметричным ключом, но, поскольку сам этот ключ был защищен асимметричным, соединение считается надежным. Во-вторых этот кажущийся надежным алгоритм имеет серьезный изъян, с которым, впрочем, нетрудно справиться. Опасность таится в самом начале: как, получив от товарища открытый ключ, убедиться, что этот ключ действительно ему принадлежит? А вдруг по пути ключ был перехвачен злоумышленником, и до нас дошел уже его, злоумышленника, открытый ключ? Мы легкомысленно шифруем наши данные этим ключом, злоумышленник перехватывает их на обратном пути, просматривает их (только он и может это сделать, так как подсунул нам свой шифрующий пароль), и обманывает таким же манером товарища, притворяясь на этот раз нами.
Такая уязвимость называется "man-in-the-middle" (дословно "человек посередине"), своего рода "испорченный телефон". Существует два способа борьбы с ней.
Первый: не доверять никаким открытым ключам, кроме тех, которые получил лично от товарища. Если с товарищем вы незнакомы, можете попросить у него удостоверение личности: а вдруг он все-таки злоумышленник?
Второй способ: получить от товарища открытый ключ несколькими независимыми путями. В этом случае подойдет так называемый "отпечаток пальца" (fingerprint) – получаемая из ключа контрольная сумма такого размера, что подделать ее еще невозможно, но уже нетрудно сравнить с этой же контрольной суммой, размещенной на WWW-странице или присланной по электронной почте.
