Проектирование сквозных систем туннелирования
· Сквозные туннели, а\'ля криптографические шлюзы, прокладывают надежный маршрут передачи данных от клиента к серверу, независимым образом подтверждают подлинность участвующих в обмене данными сторон, зашифровывают передаваемые по этому маршруту данные и перенаправляют сервисы по созданному каналу связи.
· Сквозная безопасность ограничивает угрозы со стороны промежуточных хостов и маршрутизаторов.
· OpenSSH является одним из лучших современных пакетов, который может быть использован для создания сквозных туннелей.
Сезам, откройся: аутентификация
· Основной синтаксис ssh при подключении: ssh user@host.
· Клиенты удостоверяют подлинность серверов при помощи запомненных ключей хостов. Первое подключение используется для подтверждения подлинности всех последующих соединений. Ключи могут быть заранее распределены, но до сих пор неизвестно изящного решения этой проблемы.
· Серверы подтверждают подлинность клиентов при помощи паролей или удаленно верифицированных личных ключей. Клиенты могут разместить пароли в своих ключах и использовать программы-агенты для предотвращения повторного ввода пароля при каждой попытке подключения.
· Единственная учетная запись, даже учетная запись суперпользователя, может санкционировать доступ к различным программам с дефектами в области защиты обработки и хранения ключей.
· К числу команд аутентификации пакета OpenSSH с использованием общедоступного ключа входят следующие:
– генерация криптографической пары SSH1 или SSH2: ssh-keygen или ssh-keygen -t dsa;
– указание удаленному хосту на необходимость использовать криптографическую пару SSH1 вместо пароля cat ~/.ssh/identity.pub | ssh -1 effugas@10.0.1.10 «cd ~ && umask 077 && mkdir -p .ssh && cat >> ~/.ssh/authorized_keys»;
– указание удаленному хосту на необходимость использовать криптографическую пару SSH2 вместо пароля cat ~/.ssh/id_dsa.pub | ssh effugas@10.0.1.10 «cd ~ && umask 077 && mkdir -p .ssh && cat >> ~/.ssh/authorized_keys2»;
– добавление идентификационной фразы к ключу SSH1 или SSH2 ssh-keygen.exe -p или ssh-keygen.exe -d -p;
– запуск агента ключа SSH (позволяет избежать необходимости повторного ввода идентификационной фразы) ssh-agent bash;
– добавление ключа SSH1 или SSH2 к агенту ssh-add or ssh-add ~/.ssh/ id_dsa.
Переадресация команд: применение переадресации команд для непосредственного выполнения скриптов и каналов
· Простым добавлением в конец обращения к ssh имени команды, которую пользователь собирается выполнить, можно добиться ее удаленного выполнения так, как будто это локальная команда. Опция -t необходима в том случае, когда удаленная команда ожидает предоставления ей возможности вывода на экран.
· Переадресация команд, объединенных вместе с помощью простых каналов, позволяет реализовать множество полезных вещей, например предоставить широкие возможности настройки процедуры передачи файлов в соответствии с потребностями пользователя:
– удаленное выполнение команды ssh user@host command;
– создание канала между выводом удаленной команды и вводом локальной команды ssh user@host «remote_command» I «local_command»;
– получение файла ssh user@host «cat file» > file;
– запись файла cat file I ssh user@host «cat > file»;
– получение содержимого директории ssh user@host ls /path;
– получение нескольких файлов ssh user@host «tar cf – /path» | tar -xf -;
– запись нескольких файлов tar -cf – /path | ssh user@host;
– возобновление загрузки (по каналу связи) ssh user@host «tail -c remote_filesize -local_filesize file» >> file;
– возобновление загрузки в удаленный компьютер (по каналу связи) tail -c local_filesize-remote_filesize file >> file.
· Инструментарий su может быть сделан безопасным; благодаря ограниченности окружения SSH может быть использована для выполнения внутри нее команд:
– безопасное переключение пользователей ssh user@host -t «/bin/su -l user2».
Переадресация портов: доступ к ресурсам удаленных сетей
· При переадресации локального порта издалека импортируется единственный порт, при помощи которого обеспечивается возможность соединения компьютеров между собой, что резко снижает возможность ее применения в других протоколах.
· При переадресации динамического порта откуда-то издалека импортируется целый диапазон портов, определяющий способность к сетевому соединению компьютеров между собой. Для переадресации динамического порта необходимо, чтобы приложения могли выдавать правильные запросы переадресации по протоколу SOCKS.
Читать дальше
Конец ознакомительного отрывка
Купить книгу