Чтение онлайн

на главную

Жанры

Защита от хакеров корпоративных сетей

авторов Коллектив

Шрифт:

Пока тебе не засияли взоры

Той, кто, рыдая, за тебя молила,

Да скрасят отдых твой сии просторы.

Отныне буду нем я как могила:

Власть восприемли главного арбитра,

И над тобой – чтоб крепла эта сила —

Златись, корона, и красуйся, митра!»

Данте Алигьери. «Божественная комедия» / Пер. с итал. М.: Просвещение, 1988

Различные проблемы вынудили вернуться к ясным решениям туннелирования. При их реализации поиск общих способов инкапсуляции обычно приводит к более эффективным решениям, хотя затраченные на их поиск усилия и отдача от них могут изменяться в очень широких пределах. Основными идеями, лежащими в основе проектирования туннелей, являются следующие:

• конфиденциальность: «Куда уходит мой трафик?»;

• трассируемость: «Через какую сеть можно передавать данные?»;

• удобство: «Какие усилия могут потребоваться для инсталляции программ и их выполнения?»;

• гибкость: «Какие еще существуют варианты использования туннеля?»;

• качество: «Насколько безболезненно обслуживание системы?».

Общим правилом создания сквозных безопасных туннелей должно стать использование

криптографических методов. Независимо от того, какие способы необходимы для установления связи между точками A и B, для передачи данных между ними следует использовать всюду, где это возможно, криптографические методы. Учитывая конкретные условия, процесс построения туннеля предусматривает прокладку маршрута от клиента к серверу, независимое выполнение процедур аутентификации и шифрования передаваемых данных по проложенному пути, а также переадресацию (перенаправление) сервисов по полученному виртуальному каналу связи. Пакет OpenSSH является одним из лучших пакетов для создания сквозных туннелей, которые доступны в настоящее время.

В пакете OpenSSH аутентификация реализована следующим образом. Клиенты удостоверяют подлинность серверов, используя хранимые у них ключи хостов. Первое подключение используется для подтверждения подлинности всех последующих соединений. Ключи могут быть распределены заранее, но до сих пор неизвестны унифицированные и изящные решения их распределения. Сервера удостоверяют подлинность клиентов при помощи паролей или удаленно верифицированных личных ключей. Клиенты могут размещать пароли в своих ключах. Они могут использовать программы-агенты для предотвращения повторного ввода пароля при каждой попытке подключения. Сказанное заслуживает специального замечания: единственная учетная запись, даже учетная запись суперпользователя, может санкционировать доступ к различным программам с дефектами в области защиты обработки и хранения ключей.

Пакет OpenSSH позволяет переадресовывать команды. Простое добавление в конец обращения к ssh имени команды, которую пользователь собирается выполнить, приведет к удаленному ее выполнению так, как будто это локальная команда. Если удаленная команда ожидает предоставления ей возможности вывода на экран, то следует воспользоваться опцией -t. Переадресация команд, объединенных вместе с помощью простых каналов, позволяет значительно повысить эффект от их использования. Хорошим примером применения каналов является передача файлов, настроенная в соответствии с потребностями пользователя. Наконец, можно существенно повысить безопасность применения инструментария su благодаря замкнутости окружения ssh во время выполнения команд внутри нее.

Кроме того, пакет OpenSSH позволяет переадресовывать TCP-порты. При переадресации локального порта откуда-то издалека импортируется единственный порт, определяющий способность к сетевому соединению компьютеров между собой. Тем самым резко снижаются возможности применения механизма перенаправления локального порта в других протоколах. При переадресации динамического порта откуда-то издалека импортируется целый диапазон портов, определяющий способность к сетевому соединению компьютеров между собой. В этом случае от приложений требуется выдавать правильные запросы переадресации по протоколу SOCKS. Многие приложения Windows поддерживают протокол SOCKS, а большинство приложений Windows и UNIX могут быть настроены на его использование при помощи общедоступных упаковщиков. И наконец, при переадресации удаленного порта экспортируется единственный порт, позволяющий обеспечить сетевое взаимодействие с внешним миром.

У пакета OpenSSH есть специальные возможности для прокладки туннелей через непокорные, труднопреодолимые сети. Опция ProxyCommands позволяет привлечь прикладные программы с командной строкой к обеспечению сетевого взаимодействия компьютеров между собой по протоколу SSH. Одним из таких приложений является программа connect.c, которая позволяет прокладывать туннель по протоколу SSH через разнообразные модули доступа прокси. Это может оказаться избыточной возможностью, поскольку зачастую для прохода через большинство сетей достаточно простого использования протоколом SSH портов HTTP или HTTPS (80 или 443 соответственно). Когда это невозможно, то программа httptunnel позволяет SSH проходить через любые сети, которые поддерживают стандартный Web-трафик.

Кроме того, пакет OpenSSH может подтвердить свою собственную подлинность хосту-бастиону, расположенному между клиентом и сервером, проложить через него маршрут передачи данных и независимым образом подтвердить подлинность серверу, с которым пользователь собирался установить соединение с самого начала. Сервер может также установить SSH-соединение к клиенту, экспортируя доступ к своему собственному SSH-демону. В результате сервер становится удаленно администрируемым сервером. Два описанных способа могут быть объединены. Таким образом, доступ может как экспортироваться, так и импортироваться, позволяя двум взаимно защищенным межсетевыми экранами хостам встретиться где-то посередине на специальном хосте-бастионе и установить через него соединение.

Существуют некоторые интересные и полезные способы, которыми можно воспользоваться. Читатель может легко скопировать файлы при помощи программы scp, которая в свою очередь может быть переадресована с использованием ранее описанных способов. При помощи программы rsync можно инкрементным способом (и эффективно) обновить внутреннее содержимое дерева директорий даже через туннель HTTP. Можно по сети записать данные на компакт-диски, локально запустив программу mkisofs и направляя по каналу ее вывод удаленному приложению cdrecord. Можно, используя программы SHOUTcast, inetd или mpgl23,
непосредственно передавать зашифрованный или незашифрованный поток аудиоданных аудиосистеме через сеть.

Конспект

Основные требования к системам туннелирования

· В общем случае наиболее эффективными оказываются подходы инкапсуляции, которые предусматривают перехват трафика, не требуя взамен знания его содержимого.

· Сквозная безопасность ограничивает угрозы со стороны промежуточных хостов и маршрутизаторов. Главное внимание при проектировании туннелей уделяется конфиденциальности (Куда уходит мой трафик?), трассируемости (Через какую сеть можно передавать данные?), удобству (Какие усилия могут потребоваться для инсталляции программ и их выполнения?), гибкости (Какие еще существуют варианты использования туннеля?) и качеству (Насколько безболезненно обслуживание системы?).

Проектирование сквозных систем туннелирования

· Сквозные туннели, а\'ля криптографические шлюзы, прокладывают надежный маршрут передачи данных от клиента к серверу, независимым образом подтверждают подлинность участвующих в обмене данными сторон, зашифровывают передаваемые по этому маршруту данные и перенаправляют сервисы по созданному каналу связи.

· Сквозная безопасность ограничивает угрозы со стороны промежуточных хостов и маршрутизаторов.

· 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».

Поделиться:
Популярные книги

Жребий некроманта 2

Решетов Евгений Валерьевич
2. Жребий некроманта
Фантастика:
боевая фантастика
6.87
рейтинг книги
Жребий некроманта 2

Предатель. Вернуть любимую

Дали Мила
4. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Предатель. Вернуть любимую

Бывший муж

Рузанова Ольга
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Бывший муж

Мама для дракончика или Жена к вылуплению

Максонова Мария
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Мама для дракончика или Жена к вылуплению

Жандарм 5

Семин Никита
5. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Жандарм 5

Менталист. Эмансипация

Еслер Андрей
1. Выиграть у времени
Фантастика:
альтернативная история
7.52
рейтинг книги
Менталист. Эмансипация

Кодекс Охотника. Книга XXIV

Винокуров Юрий
24. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXIV

Лорд Системы 14

Токсик Саша
14. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 14

Смерть может танцевать 4

Вальтер Макс
4. Безликий
Фантастика:
боевая фантастика
5.85
рейтинг книги
Смерть может танцевать 4

Идеальный мир для Лекаря 2

Сапфир Олег
2. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 2

Черный Маг Императора 8

Герда Александр
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 8

Не отпускаю

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
8.44
рейтинг книги
Не отпускаю

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Темный Патриарх Светлого Рода 3

Лисицин Евгений
3. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 3