Вход/Регистрация
Linux глазами хакера
вернуться

Флёнов Михаил Евгеньевич

Шрифт:

Рис. 5.6. Свойства документа в Internet Explorer

Обратите внимание на поле Connection. Информация в нем свидетельствует, что используется протокол SSL 3.0 RC4 со 128-битной схемой шифрования.

5.2.1. stunnel

В ОС Linux для шифрования и дешифрования трафика чаще всего используется программа stunnel. Но она только организует канал и выступает посредником, а для самого кодирования используется пакет OpenSSL, доступный в большинстве дистрибутивов Linux, и можно надеяться, что он у вас уже поставлен. Если нет, то это легко сделать с помощью установки соответствующего RPM-пакета с инсталляционного диска. Более подробную информацию по OpenSSL и последние обновления можно найти на сайте www.openssl.org,

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

У программ OpenSSL и stunnel очень много параметров, и рассматривать их все мы не будем. Лучше разберем реальный пример и познакомимся с наиболее часто используемыми аргументами.

Итак, давайте для начала запустим на сервере программу stunnel, которая будет расшифровывать входящий трафик и передавать его на какой-нибудь порт, например 25 (здесь работает SMTP-сервер Sendmail). Для этого выполните следующую команду:

stunnel -р /usr/share/ssl/cert.pem -d 9002 -r 25

В данном случае используется три параметра:

□ 

– p
— ключ, после которого указывается SSL-сертификат авторизации, по умолчанию уже созданный во время установки ОС или программы stunnel (находится в файле /usr/share/ssl/cert.pem);

□ 

– d
— показывает, что туннель должен работать как домен. После этого ключа ставится IP-адрес (необязательный параметр) и порт, на котором нужно ожидать подключения. Если адрес не указан, то будет прослушивание на всех интерфейсах локального компьютера. В качестве порта был выбран номер 9002. Все пришедшие на него данные считаются зашифрованными и будут декодироваться для передачи на другой порт локального компьютера;

□ 

– r
— после этого ключа указывается имя компьютера (не обязательный параметр) и порт, куда нужно передавать расшифрованные данные. Если хост не указан, то данные будут пересылаться на порт локального компьютера, в данном случае на 25, где должен работать SMTP-сервер. Если данные предназначены другому компьютеру, то в качестве параметра укажите
192.169.77.1:25
, где
192.169.77.1
— это IP-адрес компьютера.

Теперь рассмотрим запуск клиента. Тут все намного проще:

stunnel -с -d 1000 -r 192.168.77.1:9002

Здесь у нас появился один новый ключ:

□

– c
— означает, что туннель создается для клиента. По умолчанию программа stunnel запускается в серверном режиме.

Помимо этого, в нашем примере присутствуют уже известные параметры:

– d
с указанием порта, на котором необходимо ждать подключения (значение 1000), и
– r
, в котором указывается адрес и порт для передачи зашифрованных данных.

Теперь достаточно настроить свою клиентскую программу так, чтобы при отправке почты она направлялась на порт (в данном случае 1000) компьютера, где запущен stunnel-клиент, который будет шифровать данные и пересылать их на порт 9002 сервера с адресом 192.168.77.1. Там закодированные данные будет принимать stunnel-сервер, расшифровывать и передавать их на 25 порт сервера.

5.2.2. Дополнительные возможности OpenSSL

При запуске программы stunnel на сервере мы задали использование сертификата авторизации, но не сказали, как проверять его подлинность. Для указания уровня контроля применяется ключ

– v
, после которого идет число:

□ 

0
— нет никакой проверки;

□ 

1
— если сертификат присутствует, то он проверяется на подлинность. Если получен отрицательный результат, то соединение разрывается. Наличие сертификата не является обязательным, соединение может быть установлено и без него;

□ 

2
— на данном уровне сертификат является обязательным. Если сертификата нет или он не является подлинным, соединение не может быть установлено;

□ 

3
— наличие сертификата обязательно, а помимо этого, он должен быть в локальном хранилище (специальный список). В этом случае нужно указать директорию, в которой находятся сертификаты с помощью опции
– а
.

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

– T
.

Во время установки пакета OpenSSL на вашем диске создаются сертификаты и пары ключей, которые используются для шифрования. Все это находится в директории /usr/share/ssl/.

  • Читать дальше
  • 1
  • ...
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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