Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LINUX-сервер пошаговые инструкции инсталляции и настройки - Бруй В. В. , Карлов С. В

..pdf
Скачиваний:
119
Добавлен:
24.05.2014
Размер:
3.66 Mб
Скачать

Глава 11. GnuPG – утилита для безопасного хранения и передачи данных

171

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

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

Ограничения и допущения

Исходные коды находятся в каталоге /var/tmp.

Все операции выполняются пользователем с учетной записью root. Используется дистрибутив ASPLinux 7.3 (Vostok).

Перекомпиляция ядра не требуется.

Процедуры, описанные в этой главе, могут оказаться применимыми для других версий ядра и дистрибутивов Linux, но авторы этого не проверяли.

ЗАМЕЧАНИЕ В некоторых странах ввоз, распространение и использование программного обеспечения для криптографии запрещено.

Пакеты

Последующие рекомендации основаны на информации, полученной с домашней страницы проекта GnuPG по состоянию на 19.03.2003. Регулярно посещайте домашнюю страницу проекта http://www.gnupg.org/ и отслеживайте обновления.

Исходные коды GnuPG содержатся в архиве gnupg-version.tar.gz (последняя доступная на момент написания главы стабильная версия gnupg-1.2.1.tar.gz).

Для нормальной инсталляции и работы программного обеспечения необходимо, чтобы в системе бы-

ли установлены пакеты gettext-0.11.1-2.i386.rpm, python-1.5.2-38.3asp.i386.rpm, expat-1.95.2-2.i386.rpm и gmp-4.0.1-3.i386.rpm.

Инсталляция с помощью rpm-пакетов

Если вы предпочитаете использование системы со стандартным ядром и программным обеспечением, установленным из rpm-пакетов, для установки или обновления пакета необходимо выполнить следующие операции.

ЗАМЕЧАНИЕ Авторы настоятельно рекомендуют устанавливать программное обеспечение из исходных кодов.

Шаг 1

Проверьте, установлен ли пакет gnupg с помощью следующей команды:

[root@drwalbr /]# rpm –iq gnupg

Если вы следовали нашим рекомендациям, то пакет не установлен.

Шаг 2

Перейдите в каталог, где находится пакет gnupg-1.0.6-5.asp.i386.rpm. Если вы в соответствии с рекомендациями главы 2 скопировали все пакеты, входящие в дистрибутив, в каталог /home/distrib, то выполните команду:

[root@drwalbr /]# cd /home/distrib

и установите:

[root@drwalbr distrib]# rpm –ihv gnupg-1.0.6-5.asp.i386.rpm

или обновите пакет:

[root@drwalbr distrib]# rpm –Uhv gnupg-1.0.6-5.asp.i386.rpm

После установки пакета перейдите к тестированию утилиты GnuPG, описанной ниже.

172

Часть 3. Криптографическое программное обеспечение...

Компиляция, оптимизация и инсталляция GnuPG

Для конфигурирования, компилирования и оптимизации GnuPG из исходных кодов выполните следующие действия.

Шаг 1

Проверьте подлинность полученного архива с исходными кодами GnuPG. Для этого необходимо сравнить контрольную сумму MD5 пакета:

[root@drwalbr /]# md5sum gnupg-1.2.1.tar.gz 83e02b4905dab34c4dc25652936022f9 gnupg-1.2.1.tar.gz

c контрольной суммой, указанной на сервере разработчика:

[root@drwalbr /]# lynx http://www.gnupg.org/download/index.html

# Download - GnuPG.org (p4 of 9)

We suggest that you download the GNU Privacy Guard from a mirror site close to you. See our list of mirrors. To locate a source package

GnuPG 1.2.1 source compressed using gzip. 2.5MB S FTP HTTP

Signature and

MD5 checksum for previous file.

 

83e02b4905dab34c4dc25652936022f9 gnupg-1.2.1.tar.gz

FTP HTTP

 

 

Шаг 2

 

 

Разархивируйте исходные коды в каталоге /var/tmp:

 

[root@drwalbr

/]# cd /var/tmp

 

[root@drwalbr

tmp]# tar xzpf gnupg-1.2.1.tar.gz

 

Шаг 3 Сконфигурируйте исходные коды программы:

[root@drwalbr tmp]# cd gnupg-1.2.1/

[root@drwalbrgnupg-1.2.1]# CFLAGS="-O2 -march=i686 -funroll-loops"; export CFLAGS

./configure \ --prefix=/usr \ --mandir=/usr/share/man \

--infodir=/usr/share/info \ --disable-nls

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

Шаг 4 Откомпилируйте исходные коды, проверьте правильность компиляции и наличие соответствующих

библиотек, проинсталлируйте файлы GnuPG, создайте и сохраните список инсталлированных файлов:

[root@drwalbr gnupg-1.2.1]# make [root@drwalbr gnupg-1.2.1]# make check Making check in intl

make[1]: Вход в каталог `/home/gnupg/gnupg-1.2.1/intl` make[1]: Цель `check` не требует выполнения команд. make[1]: Выход из каталог `/home/gnupg/gnupg-1.2.1/intl`

home: .

Supported algorithms:

Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA, ELG

Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH Hash: MD5, SHA1, RIPEMD160

Compress: Uncompressed, ZIP, ZLIB PASS: version.test

Hash algorithm TIGER/192 is not installed

Глава 11. GnuPG – утилита для безопасного хранения и передачи данных

173

ЗАМЕЧАНИЕ TIGER – является экспериментальным алгоритмом, поэтому мы не включили его в число устанавливаемых компонентов. Для его включения на этапе конфигурирования исходных кодов необходимо использовать опции --enable-tiger и --enable-new-tiger.

PASS: mds.test PASS: decrypt.test

PASS: decrypt-dsa.test PASS: sigs.test

PASS: sigs-dsa.test PASS: encrypt.test PASS: encrypt-dsa.test PASS: seat.test

PASS: clearsig.test PASS: encryptp.test PASS: detach.test PASS: armsigs.test PASS: armencrypt.test PASS: armencryptp.test PASS: signencrypt.test

PASS: signencrypt-dsa.test PASS: armsignencrypt.test PASS: armdetach.test

PASS: armdetachm.test PASS: detachm.test PASS: genkey1024.test PASS: conventional.test

PASS: conventional-mdc.test PASS: multisig.test

===================

All 25 tests passed

===================

make[2]: Выход из каталог `/home/gnupg/gnupg-1.2.1/checks`

make[1]: Выход из каталог `/home/gnupg/gnupg-1.2.1/checks` make[1]: Вход в каталог `/home/gnupg/gnupg-1.2.1`

make[1]: Цель `check-am` не требует выполнения команд. make[1]: Выход из каталог `/home/gnupg/gnupg-1.2.1`

[root@drwalbr gnupg-1.2.1]# find /* > /root/gnupg1

 

 

[root@drwalbr gnupg-1.2.1]# make install

 

 

 

[root@drwalbr gnupg-1.2.1]# strip /usr/bin/gpg

 

 

[root@drwalbr gnupg-1.2.1]# strip /usr/bin/gpgv

 

 

[root@drwalbr gnupg-1.2.1]# find /* > /root/gnupg2

 

 

[root@drwalbr

gnupg-1.2.1]#

diff

/root/gnupg1

/root/gnupg2

>

/root/gnupg.installed

[root@drwalbr gnupg-1.2.1]# mv /root/gnupg.installed

/very_reliable_place/gnupg.installed.YYYYMMDD

Шаг 5

Удалите архив с исходными кодами и каталог gnupg-1.2.1:

[root@drwalbr gnupg-1.2.1]# cd /var/tmp [root@drwalbr tmp]# rm -rf gnupg-1.2.1/ [root@drwalbr tmp]# rm -f gnupg-1.2.1.tar.gz

Тестирование GnuPG

Для тестирования GnuPG создайте, как минимум, для двух пользователей вашей системы секретную пару ключей (открытый и закрытый ключ), проверьте возможность шифрования сообщения одним из пользователей и возможность расшифровки другим.

Шаг 1

Установите права доступа к файлу /usr/bin/gpg: [root@drwalbr tmp]# chmod 4755 /usr/bin/gpg

Шаг 2

174 Часть 3. Криптографическое программное обеспечение...

Зарегистрируйтесь в системе в качестве обычного пользователя, например, sergey.

[sergey@drwalbr sergey]$ cd

Шаг 3

Если вы впервые создаете ключи для пользователя sergey, наберите:

[sergey@drwalbr sergey]$ gpg --gen-key

gpg (GnuPG) 1.2.1; Copyright (C) 2002 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: /home/sergey/.gnupg: directory created

gpg: new configuration file `/home/sergey/.gnupg/gpg.conf' created

gpg: keyblock resource `/home/sergey/.gnupg/secring.gpg': file open error gpg: keyring `/home/sergey/.gnupg/pubring.gpg' created

Please select what kind of key you want:

(1)DSA and ElGamal (default)

(2)DSA (sign only)

(5) RSA (sign only) Your selection?

и прервите выполнение программы:

<Ctrl>+C

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

Шаг 4 Запустите gpg:

[sergey@drwalbr sergey]$ gpg --gen-key

gpg (GnuPG) 1.2.1; Copyright (C) 2002 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: keyring `/home/sergey/.gnupg/secring.gpg' created

Please select what kind of key you want:

(1)DSA and ElGamal (default)

(2)DSA (sign only)

(5) RSA (sign only)

Выберите тип ключа, предлагаемый по умолчанию:

Your selection? 1

DSA keypair will have 1024 bits.

About to generate a new ELG-E keypair. minimum keysize is 768 bits

default keysize is 1024 bits

highest suggested keysize is 2048 bits

Выберите длину ключа, предлагаемую по умолчанию:

What keysize do you want? (1024)<Enter> Requested keysize is 1024 bits

Please specify how long the key should be valid. 0 = key does not expire

<n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years

Выберите срок действия ключа (1 год):

Key is valid for? (0) 1y

Key expires at Чтв 18 Мар 2004 15:43:18 MSK

Подтвердите правильность введенных данных:

Is this correct (y/n)? y

Глава 11. GnuPG – утилита для безопасного хранения и передачи данных

175

You need a User-ID to identify your key; the software constructs the user id

from Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Введите имя пользователя:

Real name: Sergey Karlov

Введите имя e-mail пользователя:

Email address: sergey@drwalbr.und

Введите, если хотите, какие-либо комментарии, касающиеся пользователя, в противном случае:

Comment:<Enter>

You selected this USER-ID:

"Sergey Karlov <sergey@drwalbr.und>"

Вам предоставляется возможность отредактировать ID пользователя, по которому будет идентифицироваться ключи. В рассматриваемом примере – это "Sergey Karlov <sergey@drwalbr.und>". Если все правильно, то:

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O

В противном случае используйте опции N, C и E для изменения имени пользователя, комментария и адреса электронной почты, соответственно.

You need a Passphrase to protect your secret key.

Введите пароль для защиты секретного ключа.

Passphrase:$ecretnoe_$lovo_Sergeya

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

We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy.

.+++++.+++++..++++++++++++++++++++++++++++++...++++++++++.++++++++++.++++

+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++>++

++++++++.........+++++

We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy.

+++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+++++++++++++++++++++++++++++++++++++++++++.+++++..++++++++++>+++++.....+

++++^^^

gpg: /home/sergey/.gnupg/trustdb.gpg: trustdb created public and secret key created and signed.

key marked as ultimately trusted.

pub 1024D/5BC241B3 2003-03-19 Sergey Karlov <sergey@drwalbr.und> Key fingerprint = D155 D3C4 F19A 5859 3A66 9108 99E5 5EBA 5BC2 41B3 sub 1024g/69CADC7B 2003-03-19 [expires: 2004-03-18]

Шаг 5 Экспортируйте открытый ключ:

[sergey@drwalbr sergey]$ gpg --export -ao sergey.asc

В результате в домашнем каталоге пользователя sergey будет создан файл sergey.asc:

[sergey@drwalbr sergey]$ cat sergey.asc

-----BEGIN PGP PUBLIC KEY BLOCK-----

Version: GnuPG v1.2.1 (GNU/Linux)

mQGiBD54ZjQRBADBezMOEg0kncSEcIV7F47AfAXXz1WtR3y/cY38o2ZeiLTo0POF

qS0aescQaU5/MU0CT7ipcD91rbcKbNLzgz4xf4jMBl3rr/qXn9xAKogPAwTvZYZL

t15ouGuAQTU25E1OAp5C/71Ro9kOK9ZBxkuWz+kfp5Ctc5t0UdMIOewBawCg7Tq7

176 Часть 3. Криптографическое программное обеспечение...

/z7yrIUj0TpBGOpua8M32QsD/2ZhcUDTTBO6WBYMbTbWOoMrNxYfUqB4f3H24h9h

uw3e+K9wP2HFCq1BxnDO6+IBYQLntscH2kQ4hYuipEFq+iZIDrPvUfDeNs9bR33z

B+cEkGUsbE4auuQ9iD5fu3va4EJolM5EGvwp9LZBpz82i3H/2kgdTrlK3YFT7UQT

IWk4A/4nKzDomsEmm6SAkz6gpxorkTTedHXXv8E7Z+4cwjWH1h/LKKzGG2IwqpyN

liQiUHvLdQJ/fOQMiF907eWk3c/WWiMCQo1sAEJO8Y2yS5+iFzuKFisbIOmAHWMD

dWdkB6+iSz3iZkk7wlfYG2zCLt5ET834u+dAWQwc8VN2VlpE7LQiU2VyZ2V5IEth

cmxvdiA8c2VyZ2V5QGRyd2FsYnIudW5kPohfBBMRAgAfBQI+eGY0BQkB4TOABAsH

AwIDFQIDAxYCAQIeAQIXgAAKCRCZ5V66W8JBsy/jAKCrGteDpQ45JcEzgxACnBAI

vPF/3QCgpgeS3u5BBOAA1ZcsaJ0k8tnuMEG5AQ0EPnhmNRAEAOC+GW3G5FOp1aHJ

cVF+zuRRZ+oeaPRoWJwGfZ+KR5L3YYO8kP/3eeRZ5Gnp0KyJ80VCeilaJpepjot6

lrqwpRbF/oGY4qHn/a6ubPmqza+sq2ttYSDx0QkTLMiI6qbekrUxa2jNgEcXr6gJ

ig92U8cQWO+wXT4xtxMLldnhZAO3AAMFBACaH6pNG7zAT/QIgFgwNTT+roBUJGze

lFb4eUMzSSBtEi3o3NgHt6gHqkglYOZeo8wBR+lzr69Aoq8zLpSSWzY/iHjcc/p7

XflKlaiL6yqZNwSjO6aki/Hqlq9pTrxyuSIhz2jWfuzvEqoJHp1pLXbd0DbZvNs5

Wc93PcctqRx/64hMBBgRAgAMBQI+eGY1BQkB4TOAAAoJEJnlXrpbwkGzRSgAoOLL

N9siEQqzYa1ujl9y/GEQmHwbAJ9smVzY7PaLOGUIWA2Zxe+XXy0cjw==

=o1IS

-----END PGP PUBLIC KEY BLOCK-----

Файл sergey.asc, содержащий открытый ключ пользователя sergey, нужно передать всем пользователям, с которыми он предполагает обмениваться зашифрованными файлами. Файл может быть выложен на Web -сервере пользователя или разослан по электронной почте.

Шаг 6

Зарегистрируйтесь в системе в качестве другого пользователя, например valentine и повторите шаги 1…5.

Шаг 7

Поместите открытый ключ пользователя sergey в домашний каталог пользователя valentine, а открытый ключ пользователя valentine в домашний каталог пользователя sergey.

Шаг 8 Подпишите открытые ключи.

Для пользователя sergey:

[sergey@drwalbr sergey]$ gpg --sign valentine.asc

You need a passphrase to unlock the secret key for user: "Sergey Karlov <sergey@drwalbr.und>" 1024-bit DSA key, ID 5BC241B3, created 2003-03-19

Введите пароль, который использовался для защиты закрытого ключа в шаге 4:

Enter passphrase: $ecretnoe_$lovo_Sergeya

Для пользователя valentine:

[valentine@drwalbr valentine]$ gpg --sign sergey.asc

You need a passphrase to unlock the secret key for user: "Valentine Bruy <valentine@drwalbr.und>" 1024-bit DSA key, ID F3238EE5, created 2003-03-19

Введите пароль, который использовался для защиты закрытого ключа в шаге 4:

Enter passphrase: $ecretnoe_$lovo_Valentine

Шаг 9

От имени пользователя valentine создайте сообщение для пользователя sergey:

[valentine@drwalbr valentine]$ echo Привет, Сергей ! = Валентин > message_to_sergey

Шаг 10 Зашифруйте сообщение:

[valentine@drwalbr valentine]$ gpg -sear sergey@drwalbr.und message_to_sergey

You need a passphrase to unlock the secret key for

Глава 11. GnuPG – утилита для безопасного хранения и передачи данных

177

user: "Valentine Bruy <valentine@drwalbr.und>" 1024-bit DSA key, ID F3238EE5, created 2003-03-19

Введите пароль для секретного ключа:

Enter passphrase: $ecretnoe_$lovo_Valentine

gpg: checking the trustdb

gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1 gpg: next trustdb check due at 2004-03-18

gpg: 69CADC7B: There is no indication that this key really belongs to the owner

1024g/69CADC7B 2003-03-19 "Sergey Karlov <sergey@drwalbr.und>" Primary key fingerprint: D155 D3C4 F19A 5859 3A66 9108

99E5 5EBA 5BC2 41B3

Subkey fingerprint: 456F C70F 8F64 38B3 B6F4 E900 70C3 B3B8 69CA DC7B

It is NOT certain that the key belongs to the person named in the user ID. If you *really* know what you are doing, you may answer the next question with yes

Подтвердите использования ключа:

Use this key anyway? yes

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

[valentine@drwalbr valentine]$ gpg -sear sergey@drwalbr.und message_to_sergey

и

[valentine@drwalbr valentine]$ gpg -sear "Sergey Karlov" message_to_sergey

приводят к одинаковым результатам. Переместите файл message_to_sergey в домашний каталог пользователя sergey.

Шаг 11

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

[sergey@drwalbr sergey]$ cat message_to_sergey.asc

-----BEGIN PGP MESSAGE-----

Version: GnuPG v1.2.1 (GNU/Linux)

hQEOA3DDs7hpytx7EAQA3+zuXyc4ckZhS3fbKsV+vcPp9wJmbYE0BF8qFYP8KQAo

lRlbl1tz7l2HlAKqGrbnyTtuVqRw1RPz/vMo4IQCqL1/YHVz6KhYYbXsFIqFYXGb

vB9PqgEMfRCpAJK63WFj3oyX2EL1Q9qAc9v/9Ru5SY2D1bqM3dHdneWbjJvhBcAD

/iF5qWnlpex3FTTwtmvrobrKuuFzZQNIZl3AQpOL7b5EWyM5RfjKPqaG4+FVaAyd

dSRvKNpeTNA4s+OgShTp8bRpNcwZ72Fy35pkwxTTRqcD7QWVaisn/Q3EnC78T3Md

0ESCEHT/tkZmGhnQHBN3vA0PvC32SXTHFRoa+aiO09Ou0rYBc2D9KJPu7VMWUuSq

MZ4YYkF5GUOKivURAkWbrOBztHunipgbbG6QxdeaL1eSJPkq58Ob4rtgErD8tL2M

nrPbhBnUYOFoW+t+UzfFQ28eJo+jQOoFtxcQu2hpLpipBaGjbl8owXSHEVkSWmb1

/8oW1uq+wBrTP0sghYxchr/7ByBeAMirvBuwkVIUrQr5S+XP6CAXnKNLfyxakMrE

4T5NAuAteSlZwUj6fvo2Ba67aQBdDO7FvA==

=C5As

-----END PGP MESSAGE-----

Для расшифровки сообщения в файле message_to_sergey:

[sergey@drwalbr sergey]$ gpg -d message_to_sergey.asc > message_to_sergey

You need a passphrase to unlock the secret key for user: "Sergey Karlov <sergey@drwalbr.und>"

178 Часть 3. Криптографическое программное обеспечение...

1024-bit ELG-E key, ID 69CADC7B, created 2003-03-19 (main key ID 5BC241B3)

введите пароль:

Enter passphrase: $ecretnoe_$lovo_Sergeya

gpg: encrypted with 1024-bit ELG-E key, ID 69CADC7B, created 2003-03-19

"Sergey Karlov <sergey@drwalbr.und>"

gpg: Signature made Срд 19 Мар 2003 16:05:22 MSK using DSA key ID F3238EE5

gpg: Good signature from "Valentine Bruy <valentine@drwalbr.und>"

gpg: checking the trustdb

gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1

gpg: next trustdb check due at 2004-03-18

gpg: WARNING: This key is not certified with a trusted signature!

gpg: There is no indication that the signature belongs to the owner.

Primary key fingerprint: BAD5 B986 F5AC 89E7 99A4 92CE 4678 9056 F323 8EE5

В результате в домашнем каталоге пользователя sergey появится файл message_to_sergey, содержащий исходное сообщение:

[sergey@drwalbr sergey]$ cat message_to_sergey

Привет, Сергей ! = Валентин

Глава 12. OpenSSL – программное обеспечение для безопасной передачи данных

179

Глава 12

OpenSSL – программное обеспечение для безопасной передачи данных

В этой главе:

1. Ограничения и допущения

2.Пакеты

3.Инсталляция с помощью rpm-пакетов

4.Компиляция, оптимизация и инсталляция OpenSSL

5.Конфигурирование OpenSSL

6.Тестирование OpenSSL

180

Часть 3. Криптографическое программное обеспечение...

Большинство сетевых протоколов, используемых в Интернете, например, IMAP, POP, SQL, SMTP, SMB, HTTP, FTP и LDAP, обеспечивают поддержку шифрования информации по протоколу SSL. Обычно шифрование используется для скрытия от злоумышленников передаваемых по сетям общего пользования логинов и паролей доступа к различным ресурсам, например, средствам администрирования через Webинтерфейс акаунтов для предоставления различных услуг (хостинг, электронная почта, управление мобильным телефоном и т. п.), почтовым ящикам, закрытым каталогам на FTP и Web-серверах для передачи различных конфиденциальных сообщений (например, ЦРУ имеет на своем сервере http://www.cia.gov форму, предназначенную для приема информации, которая при передаче будет зашифрована).

При передаче аутентификационной информации в виде обычного текста она может быть перехвачена третьими лицами с использованием программ-сниферов и использована для получения несанкционированного доступа к вашим ресурсам. Например, одна неверная супруга, ведущая переписку с любовником через почтовый ящик на http://www.mail.com, где логин и пароль передаются в виде обычного текста, была поймана с поличным (в полученном ей письме содержалась информация о месте и времени встречи). Аутентификационные параметры для доступа к почтовому ящику были получены мужем с помощью снифера, установленного на системе в локальной сети офиса, где работала беспечная дама.

В настоящее время протокол SSL практически незаметно для пользователя взаимодействует с остальными протоколами Интернет и обеспечивает передачу конфиденциальной информации по сетям общего пользования в зашифрованном виде.

Программное обеспечение OpenSSL поддерживает протоколы SSL v2/v3 (Secure Sockets Layer) и TLS v1 (Transport Layer Security). Большинство программ, описанных в этой книге, требует установки OpenSSL. Группа разработчиков предупреждает, что использование алгоритмов RC5 и IDEA, также реализованных в OpenSSL, требует получения соответствующих лицензий, и рекомендует проконсультироваться на эту тему с вашим юристом. Для исключения из OpenSSL этих алгоритмов при установке на вашем компьютере исходные коды необходимо сконфигурировать с опциями no-rc5 и no-idea.

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

Ограничения и допущения

Исходные коды находятся в каталоге /var/tmp.

Все операции выполняются пользователем с учетной записью root. Используется дистрибутив ASPLinux 7.3 (Vostok).

Перекомпиляция ядра не требуется.

Процедуры, описанные в этой главе, могут оказаться применимыми для других версий ядра и дистрибутивов Linux, но авторы это не проверяли.

ЗАМЕЧАНИЕ В некоторых странах ввоз, распространение и использование программного обеспечения для криптографии запрещено.

Пакеты

Последующие рекомендации основаны на информации, полученной с домашней страницы проекта OpenSSL по состоянию на 22.03.2003. Регулярно посещайте домашнюю страницу проекта http://www.openssl.org/ и отслеживайте обновления.

Исходные коды OpenSSL содержатся в архиве openssl-version.tar.gz (последняя доступная на момент написания главы стабильная версия openssl-0.9.7a.tar.gz).

Инсталляция с помощью rpm-пакетов

Если вы предпочитаете использование системы со стандартным ядром и программным обеспечением, установленным из rpm-пакетов, для установки или обновления пакета необходимо выполнить следующие операции.

ЗАМЕЧАНИЕ Авторы настоятельно рекомендуют устанавливать программное обеспечение из исходных кодов.

Шаг 1

Проверьте, установлен ли пакет openssl с помощью следующей команды:

[root@dymatel /]# rpm –iq openssl

Шаг 2

Соседние файлы в предмете Информатика