Инструменты безопасности с открытым исходным кодом

         

Применение 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

ПараметрОписание
LeftIP-адрес шлюза 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
<
ol>
  • Оставьте остальные настройки без изменений и сохраните файл.
  • Скопируйте этот файл на другую машину в то же место.
  • Примените описанную выше команду ipsec verify, чтобы убедиться, что служба IPsec функционирует на обеих машинах.
  • Чтобы установить соединение IPsec, наберите ipsec auto --up net-to-net

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

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

  • Чтобы проверить соединение, попробуйте выполнить эхо-тестирование внутреннего адреса на другой стороне удаленного шлюза. Если будет получен успешный ответ, значит, туннель IPsec построен и работает.
  • Если вы на самом деле хотите убедиться, что пакеты шифруются, примените анализатор пакетов, такой как Tcpdump или Ethereal, чтобы попытаться прочитать эти пакеты. Если анализатор идентифицирует пакеты как пакеты ESP (ESP - один из подпротоколов IPsec), а полезная нагрузка будет выглядеть как тарабарщина, значит все работает как надо.
  • Если вы желаете добавить несколько межсетевых соединений, можно просто добавить еще один раздел с новым заголовком, таким как 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-адрес которой задан как %anys. Это метасимвол, допускающий произвольный 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.


    Содержание раздела