Такие туннели уже не нуждаются в шифровании и могут быть реализованы с помощью несложных программ, например, сценариев на языке Perl. Для передачи пакетов не обязательно использовать HTTP. Подойдет практически любой протокол на основе TCP. Можно даже запрятать нужный протокол в DNS- или ICMP-пакеты, если они разрешены в вашей сети. Если ICMP заблокировать можно, то с DNS это практически нереально, т.к. при подключении к Интернету без DNS-службы работать сложно.
Как видите, абсолютно безопасная на первый взгляд и даже предназначенная для защиты технология превращает в средство взлома ограничения, которыми наградил вас администратор.
Если вы обладаете хорошими знаниями программирования на PHP или Perl, то можете написать Web-сценарии, которые на сервере будут обращаться к необходимым вам ресурсам. Получится общение с необходимым сервером через Web-браузер, это как работа с почтой через Web. Эта возможность есть на большинстве почтовых сервисов, и вам она должна быть знакома на практике.
Мы уже говорили о том, что протокол Telnet не очень хорошо подходит для удаленного управления сервером, потому что далеко не безопасен. А желание и потребность в этом есть. В больших сетях, как правило, используются несколько серверов, и бегать от одного монитора к другому накладно и неудобно. Любой администратор хочет сидеть за одним компьютером и управлять всем комплексом одновременно, и при этом по безопасным каналам связи.
Во время таких сеансов администратор передает по сети много конфиденциальной информации (например, пароли root), которая ни в коем случае не должна быть видна прослушивающим утилитам. Для обеспечения безопасной связи создано множество различных программ, но самой популярной стала SSH, которая сейчас поставляется в большинстве дистрибутивов Linux.
Теперь вы можете спокойно управлять своей сетью, удаленно подключаться к серверам, и нет необходимости на каждом из них держать мониторы. У меня сделано именно так (экономия на железе), и есть только один дежурный монитор, который я могу подсоединить к любому системнику, если надо решать проблему не по сети.
Преимущество SSH заключается в том, что этот протокол позволяет удаленно выполнять команды, но при этом требует аутентификацию и шифрует канал связи. Важным моментом является то, что даже пароли при проверке подлинности пользователя передаются в зашифрованном виде.
На данный момент существуют две версии протокола SSH с номерами 1 и 2. Вторая версия использует более стойкий алгоритм шифрования и исправляет некоторые ошибки предыдущей версии. В Linux на данный момент поддерживаются обе версии.
Итак, в ОС Linux за протокол SSH отвечает программа OpenSSH. для которой родной платформой можно считать другую Unix-систему — OpenBSD, а впоследствии сервис клонировался на все Unix-платформы, в том числе и в Linux. Но даже сейчас в конфигурационных файлах можно иногда увидеть в комментариях имя OpenBSD.
Протокол SSH требует для работы настройки серверной и клиентской частей. Сервер ожидает подключения и выполняет директивы пользователя, а с помощью клиента вы осуществляете соединение с сервером и посылаете запросы на выполнение команд. Таким образом, для нормальной работы вы должны правильно сконфигурировать обе части протокола.
5.3.1. Конфигурационные файлы
Все настроечные файлы протокола SSH находятся в директории /etc/ssh. Здесь можно увидеть следующий перечень:
□ файл конфигурации SSH-сервера — sshd_config;
□ файл конфигурации SSH-клиента — ssh_config;
□ файлы ключей для различных алгоритмов
• ssh_host_dsa_key;
• ssh_host_dsa_key.pub;
• ssh_host_key;
• ssh_host_key.pub;
• ssh_host_rsa_key;
• ssh_host_rsa_key.pub.
Почему так много файлов с ключами? Просто SSH работает с разными алгоритмами шифрования и поддерживает два наиболее популярных и криптостойких алгоритма DSA (ssh_host_dsa_key, ssh_host_dsa_key.pub) и RSA (это сокращение состоит из имен основателей алгоритма шифрования: Ronald Rivest, Adi Shamir и Leonard Adleman) (ssh_host_rsa_key и ssh_host_rsa_key.pub). Оставшиеся два файла ssh_host_key, ssh_host_key.pub хранят ключи для первой версии SSH. Для каждого алгоритма требуется по два файла: с расширением pub — хранит открытый ключ, без расширения — содержит приватный ключ.
С помощью открытого ключа можно закодировать данные и отправить на сервер, но для расшифровки нужен только закрытый ключ, который не может быть подобран простыми алгоритмами, он должен быть только у вас, его необходимо беречь и никому не показывать.
Читать дальше
Конец ознакомительного отрывка
Купить книгу