Войдите в виртуальную машину Linux
Запустите сетевые сервисы через скрипт инициализации /etc/init.d/network
(Команда /etc/init.d/network start. )
Проерьте правильность отработки по команде /etc/init.d/network status.
При каждом заходе telnet-ом на удаленную машину, все данные соединения передаются по сети, давая возможность потенциальному взломщику отслеживать соединение и, по большому счету, вставлять несанкционированные команды в поток данных. Применeние некоторых мощных систем шифрования позволит значительно усилить защиту сети.
Из man ssh мы можем узнать что: "Ssh (Secure Shell) - программа для регистрации на удаленной машине и выполнения команд на ней. Предназначена заменить rlogin и rsh, и обеспечить безопасную шифрованную связь между двумя компьютерам по незащищенной сети. Соединения X11 и произвольные TCP/IP порты могут также быть перенаправлены по защищенному каналу". Это мощная, очень удобная в работе программа, которая использует сильное шифрование для защиты всех передаваемых конфиденциальных данных, включая пароли.
В настоящее время существуют два SSH протокола, SSH2 и SSH1, первый является усовершенствованием SSH1. SSH2, помимо двойного шифрованного обмена ключами RSA, поддерживает и другие методы. Текущий дистрибутив поставляется со схемой обмена ключами Diffie-Hellman, имеет поддержку DSA и других алгоритмов открытых ключей.
SSH2 может быть совместим с SSH1, но не совместим по умолчанию; SSH2 сервер один не может управлять SSH1 соединением, требуется еще и SSH1 сервер, чтобы сделать это.
Базовые сведения о шифровании.
Из книги Брюса
Шнайера "Прикладная криптографимя" изучите главы 1-6,
7-10 и 18-20
в части, касающейся применения открытых ключей(однонаправленные функции, асимметричные
и смешанные криптосистемы и т.д.).
Запуск SSH
Демон sshd запускается через скрипт инициализации в директории /etc/init.d - /etc/init.d/sshd.
Запустив sshd на своей машине, проверьте правильность настроек, попробовав зайти
на нее, используя ssh клиента (читать man ssh). Давайте предположим, что ваша
машина имеет адрес 172.16.69.101 и вы входите на неё под именем myname(предварительно
следует создать новый аккаунт myname утилитой adduser) с соседнего хоста 172.16.69.102.
Ssh предлагает и другой аутентификационный механизм, основанный на аутентификационных
ключах: метод шифрования с открытым ключом. Каждый пользователь, желающий использовать
ssh с аутентификацией с открытым ключом, должен выполнить команду ssh-keygen
(без опций) чтобы создать ключи. Команда генерирует пары ключей (публичный и
частный) и запрашивает passphrase для их защиты.Создаются два файла в каталоге
$HOME/.ssh/ : id_rsa и id_rsa.pub, пользовательские частный и публичный ключи.
Давайте предположим, что у нас есть два аккаунта, myname1 на 172.16.69.101 и myname2 на 172.16.69.102. Мы хотим войти с172.16.69.101 на 172.16.69.102, используя аутентификацию ssh c открытыми ключами. Чтобы сделать это, потребуются четыре шага:
ftp 172.16.69.101
[...]
cd .ssh
get id_dsa.pub host1.pub
По окончании ftp сеанса копия публичного ключа 172.16.69.101, названного host1.pub,
находится в каталог $HOME/.ssh на 172.16.69.102. (Это можно сделать и через
дискету).
Проделайте указанные выше шаги для работы в ssh через аутентификационные ключи.
Чтобы проверить полученную конфигурацию, пробуйте соединиться с host1 на host2,
используя ssh. Sshd должен ответить запросом о passphrase, иначе, если затребован
пароль, в процессе конфигурации были ошибки, и Вы должны тщательно проверить
шаги с 1 до 4. Passphrase не спрашивается, в том случае, если не была задана
при генерации ключа.
Требуемая passphrase - ваша ЛОКАЛЬНАЯ passphrase (то есть passphrase, защищающая
публичный ключ host1 ).
Sftp и scp не требуют никакого специально выделенного сервера, так как эти две программы соединяются с ssh сервером. Чтобы использовать sftp и scp в конфигурационный файл /etc/ssh/sshd_config включается примерно следующая строка:
Subsystem sftp /usr/libexec/openssh/sftp-server
Учтите, что Вы можете пользоваться sftp и scp только при соединении с хостом,
где запущен sshd.
Некоторые опции могут быть заданы из командной строки (см. man sftp)
Когда sftp2 будет готов к выполнению команд, высветится приглашение sftp>.
В справочном руководстве приведен полный перечень возможных команд, некоторые
из них приведем здесь:
sftp2 поддерживает шаблоны (wildcards) в командах ls, lls, get, и put. Формат
описан в справочном руководстве sshregex
Так как sftp использует крипто, это имеет свои минусы: уменьшение скорости
соединения (примерно в 2-3 раза по моему опыту), но это не так важно по сравнению
с проблемами защиты сети.
Запущенный в локальной сети Network Sniffer может вылавливать в среднем до
4-х паролей в час из ftp-соединений. Введение sftp, как стандартного протокола
передачи файлов, помогает устранить эту проблему защиты.
Опробуйте на практике работу с sftp. (Минимальный перечень команд для проверки перечислен выше).
Scp2 (Secure Copy) применяется для надежного копирования файлов по сети. Для
передачи данных используется ssh2 , а это означает такую же надежную аутификацию,
как и в ssh2
Возможно это самый простой способ передачи файлов на удаленную машину. Предположим,
Вы хотите скопировать файл filename из каталога local_dir на Ваш аккаунт myname
в каталог remote_dir на машине host1. Для применения scp введите в командной
строке:
scp local_dir/filename myname@host1:remote_dir
таким образом файл filename скопирован с тем же именем. Могут быть использованы
wildcards (см. sshregex man page).
Команда:
scp local_dir/* myname@host1:remote_dir
копирует все файлы из каталога local_dir в каталог remote_dir на host1.
Команда:
scp myname@host1:remote_dir/filename .
копирует файл filename из remote_dir на host1 в локальный каталог.
Scp поддерживает много параметров и позволяет передавать файлы с одной удаленной
машины на другую, как показано в следующем примере :
scp myname@host1:remote_dir/filename myname@host2:another_dir
(См. man для полной ясности.)
Очевидно, используя scp, Вы должны знать структуру каталогов на удаленной машине,
поэтому на практике предпочитают sftp.
Используйте scp для копирования файлов с одного хоста на другой.
Для работы по ssh протоколу в среде Windows можно использовать программы-аналоги клиента ssh для Linux. Это пакеты утилит putty(сквчать) и SSH© Secure Shell(скачать). Основная разница между этими программами заключается в том, что первая не требует административных прав для установки, а во второй реализован более удобный графический интерфейс.
Выполнить следующие задания:
На защиту работы выносится знание всех рассмотреных структур данных, команд и утилит и умение их практического использования.