Опубликован: 20.02.2006 | Доступ: свободный | Студентов: 2944 / 491 | Оценка: 4.22 / 3.75 | Длительность: 33:08:00
ISBN: 978-5-9556-0087-1
Лекция 9:

Криптографические средства

Виртуальные защищенные сети

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

Имеется много производителей специализированного оборудования для создания виртуальных защищенных сетей, однако существует и решение с открытыми исходными текстами, позволяющее создать свою защищенную сеть с помощью лишь пары дополнительных ПК.

FreeS/WAN: Программное обеспечение с открытыми исходными текстами для создания виртуальных защищенных сетей на основе спецификаций IPsec

FreeS/WAN

Автор/основной контакт: John Gilmore

Web-сайт: http://www.freeswan.org/

Платформы: Большинство UNIX

Лицензия: GPL

Рассмотренная версия: 2.02

Списки почтовой рассылки:

Announce. Только чтение, для основных объявлений.

Briefs. Краткая сводка активности других списков.

Users. Основной список для вопросов пользователей и обсуждения.

Users-moderated. Модерируемая версия предыдущего списка с меньшим трафиком.

Design. Обсуждение только среди разработчиков.

Distros. Форум по поддержке Linux-дистрибутивов.

Bugs. Для сообщений обо всех ошибках, найденных в FreeS/WAN.

Инструкции по подписке на любой из перечисленных списков рассылки можно найти по адресу

http://www.freeswan.org/mail.html

Старые сообщения архивированы по адресу:

http://www.sandelman.ottawa.33on.ca/linux-ipsec/

Проект FreeS/WAN спонсирует и возглавляет Джон Гилмор - легендарная фигура в кругах программистов и борцов за свободу в сети, один из основателей Фонда электронной свободы (Electronic Freedom Foundation - EFF), много лет защищавшего права на свободную сильную криптографию. Участвуя в работе нескольких инновационных компаний Кремниевой Долины, в основном в Sun Microsystems, Гилмор составил состояние и теперь посвящает свое время различным проектам, многие из которых связаны с открытым ПО.

Проект FreeS/WAN зародился как попытка дать возможность шифровать свои коммуникации любому пользователю. Хотя эта цель еще не достигнута, пользователи Linux могут воспользоваться недорогим способом создания виртуальных защищенных сетей. Данное средство позволяет также соединяться с другими устройствами с помощью IPsec, так как IPsec - общепризнанный стандарт. Некоторые производители не строго следуют стандарту, поэтому возможны проблемы, если на другом конце применяется оборудование или программы других производителей. Проверьте на web-сайте FreeS/WAN список совместимости с реализациями других производителей.

При использовании IPsec все шифруется на уровне IP, независимо от приложения или порта. Именно это делает IPsec наиболее распространенной системой для создания защищенных коммуникаций. FreeS/WAN может применять и так называемое шифрование "по возможности", называемое также оппортунистическим. Это означает, что для коммуникаций с хостами, поддерживающими IPsec, применяется шифрование; с прочими хостами осуществляются обычные IP-коммуникации. Поэтому, если вы выполняете FreeS/WAN на компьютере межсетевого экрана, то вы можете получить автоматическую виртуальную защищенную сеть с сайтами, поддерживающими IPsec, при сохранении взаимодействия с другими сайтами, которые не поддерживают IPsec.

Вам потребуются две машины в качестве шлюзов. Для работы FreeS/WAN необходимы компьютеры с ОС UNIX, предпочтительно Linux. Чтобы организовать соединение IPsec между системами Windows, можно воспользоваться встроенной поддержкой IPsecWindows 2000 и более поздних разновидностях); FreeS/WAN для этого не нужен. Предположительно, поддержка IPsec будет встроена в новое ядро Linux. Но даже в этом случае FreeS/WAN по-прежнему найдется применение для коммуникаций со старыми версиями и для использования возможностей оппортунистического шифрования. Команда FreeS/WAN работает также над совместимостью с предполагаемой поддержкой IPsec в ядре Linux.

Установка и запуск FreeS/WAN

FreeS/WAN предустанавливается на многих дистрибутивах Linux. Чтобы проверить наличие FreeS/WAN, введите ipsec verify в командной строке. Если вы получите ответ "file not found", значит, у вас нет этой системы. Даже если у вас нет RPM, можно взять исходные тексты с прилагаемого к книге компакт-диска или загрузить свежую версию, чтобы воспользоваться самыми последними криптографическими протоколами и возможностями. Для компиляции FreeS/WAN из исходных текстов следуйте приведенным ниже инструкциям.

  1. Загрузите самый свежий пакет с web-сайта и распакуйте его или скопируйте файл с компакт-диска.
  2. Для компиляции и установки пакета выполните следующие команды от имени пользователя root из каталога FreeS/WAN:
    make oldmod
    make minstall
  3. После установки пакета FreeS/WAN необходимо перезагрузить систему, чтобы изменения вступили в силу.
  4. Когда система перезагрузится, наберите в командной строке ipsec verify, чтобы проверить установку. Вы должны увидеть сообщение примерно такого вида:
    Checkin your system to see if IPsec got installed and started correctly
    Version check and ipsec on-path                   [OK]
    Checking for KLIPS support in kernel              [OK]
    Checking for RSA private key (/etc/ipsec.secrets) [OK]
    Checking that pluto is running                    [OK]
     . . .
  5. Если вы получили такую выдачу, можно запускать службу IPsec, набрав команду
    service start ipsec

Служба IPsec выполняется в фоновом режиме. Теперь все готово к инициированию сеанса IPsec.

Применение FreeS/WAN

FreeS/WAN можно применять несколькими способами. Один из них предназначен для постоянного соединения "шлюз-шлюз" и называется одноранговым режимом. Этот режим подходит в случае, когда есть два офиса, желающие безопасно общаться через Интернет. Второй метод называется режимом мобильного пользователя. Он предназначен для удаленных пользователей, желающих безопасно подключаться к вашей ЛВС. Наконец, можно оперировать в режиме шифрования "по возможности", когда шифруются соединения с хостами или шлюзами, которые на это способны. Ниже описано, как задать каждый из этих режимов.

Одноранговый режим

В FreeS/WAN используются имена Right (Правый) и Left (Левый) для обозначения двух машин, соединяющихся посредством IPsec. Это никак не связано с направлением или расположением и просто позволяет ссылаться на различные стороны IPsec-соединения. По своему выбору назовите одну машину Left, а другую - Right.

  1. Сначала на машине Right наберите следующую команду, чтобы получить ее открытый ключ:
    ipsec showhostkey --right

    FreeS/WAN выдаст некоторую информацию об IPsec на этой машине, в том числе ее открытый ключ. После знака равенства будет следовать длинный список случайных на вид цифр. Это и есть ключ. Перепишите это число или воспользуйтесь функцией копирования текстового редактора.

  2. Теперь получите открытый ключ машины Left, применяя ту же самую команду, но с ключом --left.
  3. Перейдите в каталог /etc/freeswan и отредактируйте файл ipsec.conf (в некоторых дистрибутивах этот файл может храниться в /etc). В табл. 9.3 перечислены и описаны параметры, которые необходимо установить в разделе conn net-to-net.
Таблица 9.3. Параметры FreeS/WAN
Параметр Описание
Left IP-адрес шлюза IPsec Left
Leftsubnet Диапазон IP-адресов, прикрываемых шлюзом Left
Leftid Имя хоста в формате полностью квалифицированного доменного имени и со знаком @ перед ним. Например, @gateway.example.com.
Leftrsasigkey Ключ, скопированный ранее из машины Left
Leftnexthop Подразумеваемый шлюз для машины Left. Подразумеваемые настройки должны работать в большинстве случаев
Right То же, что Left выше, но для машины Right
Rightsubnet То же, что Leftsubnet выше, но для машины Right
Rightid То же, что Leftid выше, но для машины Right
Rightrsasigkey То же, что Leftrsasigkey выше, но для машины Right
Rightnexthop То же, что Leftnexthop выше, но для машины Right
Auto Подразумеваемое значение add санкционирует соединение, но не инициирует его, когда загружается система. Если вы хотите, чтобы оно запускалось автоматически, замените значение этого параметра на start
  1. Оставьте остальные настройки без изменений и сохраните файл.
  2. Скопируйте этот файл на другую машину в то же место.
  3. Примените описанную выше команду ipsec verify, чтобы убедиться, что служба IPsec функционирует на обеих машинах.
  4. Чтобы установить соединение IPsec, наберите
    ipsec auto --up net-to-net

    Должно появиться сообщение "IPsec SA established". Если это не так, проверьте настройки или изучите оперативную справку на предмет возможных причин неисправностей.

    Если вы применяете межсетевой экран с трансляцией сетевых адресов, то, возможно, придется написать для него специальное правило, чтобы он не транслировал сетевой адрес этой машины. Многие новые модели межсетевых экранов автоматически распознают пакеты IPsec и пропускают их без изменения, поэтому этот дополнительный шаг не требуется.

  5. Чтобы проверить соединение, попробуйте выполнить эхо-тестирование внутреннего адреса на другой стороне удаленного шлюза. Если будет получен успешный ответ, значит, туннель IPsec построен и работает.
  6. Если вы на самом деле хотите убедиться, что пакеты шифруются, примените анализатор пакетов, такой как Tcpdump или Ethereal, чтобы попытаться прочитать эти пакеты. Если анализатор идентифицирует пакеты как пакеты ESP (ESP - один из подпротоколов IPsec), а полезная нагрузка будет выглядеть как тарабарщина, значит все работает как надо.
  7. Если вы желаете добавить несколько межсетевых соединений, можно просто добавить еще один раздел с новым заголовком, таким как conn office1-to-office2. Можно также переименовать исходное соединение net-to-net, но оно обязательно должно быть одинаковым в конфигурационных файлах ipsec на обеих машинах.

Режим мобильного пользователя

Процедура практически аналогична предыдущей с некоторыми исключениями. В этом режиме под машиной Right понимается локальная машина вашего шлюза IPsec, под Left - машина удаленного пользователя.

  1. На удаленной машине отредактируйте тот же файл /etc/freeswan/ipsec.conf с помощью следующего шаблона, аналогичного конфигурации net-to-net с небольшими отличиями.
    conn road
     left=%defaultroute
     leftnexthop=%defaultroute
     leftid=@tonyslaptop.example.com
     leftrsasigkey=0sAQPIPN9uI...
     right=192.0.2.2
     rightsubnet=10.0.0.0/24
     rightid=@gateway.example.com
     rightrsasigkey=0sAQOnwiBPt...
     auto=add

    В удаленной конфигурации %defaultroute служит для получения вашего динамического IP-адреса.

  2. Сторона Right должна содержать информацию для шлюза. Зайдите на машину шлюза и примените следующий шаблон для файла ipsec.conf:
    conn road
     left=192.0.2.2
     leftid=@gateway.example.com
     leftsubnet=192.0.2.1/24
     leftrsasigkey=0sAQOnwiBPt...
     rightnexthop=%defaultroute
     right=%any
     rightid=@tonyslaptop.example.com
     rightrsasigkey=0sAQPIPN9uI...
     auto=add

    Обратите внимание, что строки в файле на шлюзе переставлены, Left обозначает локальную машину, а Right - удаленную, IP-адрес которой задан как %any s. Это метасимвол, допускающий произвольный IP-адрес, так как он станет известен, лишь когда удаленный пользователь попытается установить соединение.

  3. Сохраните этот файл.
  4. Все готово к соединению. Проверьте, что IPsec выполняется на машине шлюза, а затем наберите следующую команду на стороне удаленного пользователя:
    ipsec auto --start road

    Это, как и раньше, должно инициировать соединение. Если вы не получите сообщение "Ipsec SA established", проверьте настройки или обратитесь к разделу устранения неисправностей на web-сайте FreeS/WAN.

  5. Протестируйте и верифицируйте соединение так же, как для конфигурации net-to-net.
  6. Можно установить несколько удаленных соединений, как в предыдущей процедуре, и переименовать их содержательным образом.

Оппортунистическое шифрование

Если вы хотите воспользоваться данной возможностью FreeS/WAN, то ваш шлюзовый компьютер не должен располагаться позади межсетевого экрана, применяющего трансляцию сетевых адресов (изменение IP-адреса в заголовках нарушит режим проверки заголовков IPsec). Желательно, чтобы IP-адрес шлюза был статическим. Шифрование "по возможности" бывает полным или частичным. В полном режиме вы можете инициировать исходящие соединения IPsec, равно как и другие хосты IPsec могут инициировать сеансы оппортунистического шифрования с вашим шлюзом. В частичном режиме инициировать соединение всегда должен ваш шлюз. В обоих режимах требуется, чтобы вы имели доступ к записи DNS для имени хоста, который вы хотите настроить.

Настройка частичного оппортунистического шифрования (только инициирование)

  1. Сначала отредактируйте запись DNS для имени хоста, которое будете применять при добавлении элемента для ключа. Запись DNS должна соответствовать идентификатору в файле ipsec.conf. В рассмотренном выше примере с мобильным пользователем это gateway.example.com. Выполните следующую команду на шлюзовой машине, чтобы создать эту запись:
    ipsec showhostkey --txt @имя_хоста-шлюза

    Замените имя_хоста -шлюза именем вида gateway.example.com.

    Будет создан текстовый файл с текстовой записью, содержащей ключ и отформатированной в соответствии с синтаксисом DNS.

  2. Вставьте полученную запись в зонный файл этого домена как прямую запись TXT.

    Примечание: Если вы не знаете, как редактировать записи DNS, воспользуйтесь помощью администратора DNS. Ошибка в записи DNS может легко привести к отключению всего домена.

    Помните также, что распространение изменений по Интернету займет некоторое время. В зависимости от места запроса этот процесс может занять до 48 часов.

  3. Убедиться, что сделанные изменения вступили в силу, можно с помощью следующего запроса:
    ipsec verify --host gateway.example.com

    Должен прийти ответ OK для прямой записи.

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

  4. Когда обе стороны смогут видеть запись DNS, остается только перезапустить службу IPsec, набрав команду
    service ipsec restart

    Когда она выполнится, все будет готово к работе.

Это все, что требуется, так как FreeS/WAN автоматически сконфигурирует соединение с помощью информации в записи DNS.

Настройка полного оппортунистического шифрования

Чтобы применять полное оппортунистическое шифрование, необходимо иметь на шлюзе статический IP-адрес и располагать полным контролем над записью DNS для него. FreeS/WAN использует обратный поиск DNS для проверки открытого ключа любой машины, которая пытается подключиться. Инструкции здесь точно такие же, как и для частичного режима, за исключением того, что создается еще и обратная запись DNS для имени шлюзового хоста. Создайте текстовый файл таким же образом, как и выше, и после добавления его как прямой записи, добавьте ее и как обратную, связав ее со статическим IP-адресом. Опять же, если вы не знаете, как редактировать файл DNS, попросите помощи. DNS ошибок не прощает. Когда обе записи будут видны из Интернет, следует перезапустить службу IPsec, и можно будет создавать соединения с хостами, поддерживающими оппортунистическое шифрование IPsec.

Взлом паролей

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

В наше время большинство паролей не хранится на сервере в открытом виде. Хранятся хэши паролей, так что пароли не передаются по сети открытым текстом. Однако в некоторых операционных системах схема хэширования слаба и шифр легко взламывается. В худшем случае, если кто-то перехватит файл паролей, он сможет выполнить атаку методом грубой силы на хэши и выяснить некоторые пароли. Это возможно благодаря склонности многих людей выбирать простые пароли. В большинстве операционных систем к паролям можно предъявлять определенные технические требования, но пользователи все равно будут пытаться обойти ограничения с целью облегчить себе жизнь. Тестирование файлов паролей с помощью программ взлома - единственный способ точно узнать, насколько безопасны пароли пользователей.

John the Ripper: Средство взлома паролей

John the Ripper

Автор/основной контакт: Solar Designer

Web-сайт: http://www.openwall.com/john

Платформы: Windows и большинство UNIX

Лицензия: Freeware, аналогично BSD

Рассмотренная версия: 1.6

Утилита John the Ripper была разработана загадочным Солнечным Заговорщиком, чтобы помочь системным администраторам избавиться от слабых паролей, в основном в системах UNIX. Программа использует текстовый файл возможных паролей и проверяет хэш каждого слова из этого файла по файлу паролей. Она даже пробует варианты словарных слов, такие как cat1, cat2 и т.д. После завершения перебора всех слов из текстового файла программа переходит к методам рандомизации и пробует их, пока вы ее не остановите. Она поставляется с файлом базовых слов. Кроме того, вы можете загрузить дополнительные файлы слов для различных операционных систем или создать свои собственные.

Программа доступна для операционных систем UNIX и Windows. Так как она имеет командный интерфейс, то основные операции в обеих системах одинаковы. Ниже описаны процессы установки для Windows и UNIX.

Роман Попов
Роман Попов

После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение?

Александр Путятинский
Александр Путятинский

Добрый день по окончании данного курса выдается сертификат?