При запуске программы stunnel на сервере мы задали использование сертификата авторизации, но не сказали, как проверять его подлинность. Для указания уровня контроля применяется ключ -v
, после которого идет число:
□ 0
— нет никакой проверки;
□ 1
— если сертификат присутствует, то он проверяется на подлинность. Если получен отрицательный результат, то соединение разрывается. Наличие сертификата не является обязательным, соединение может быть установлено и без него;
□ 2
— на данном уровне сертификат является обязательным. Если сертификата нет или он не является подлинным, соединение не может быть установлено;
□ 3
— наличие сертификата обязательно, а помимо этого, он должен быть в локальном хранилище (специальный список). В этом случае нужно указать директорию, в которой находятся сертификаты с помощью опции -а
.
SSL-сервер может расшифровывать трафик и передавать на порт принимающей программы не только локального, но и другого компьютера. Таким образом, сервер SSL и сервер получатель трафика могут быть на разных компьютерах. Неплохо, чтобы сервер после расшифровки данных прятал IP-адрес клиента, с которого были отправлены данные, и это возможно, если указать опцию -T
.
Во время установки пакета OpenSSL на вашем диске создаются сертификаты и пары ключей, которые используются для шифрования. Все это находится в директории /usr/share/ssl/.
С помощью опции -n
можно непосредственно указать протокол, с которым будет происходить работа. В настоящий момент поддерживаются POP3 (Post Office Protocol, протокол обработки входящих сообщений), SMTP (Simple Mail Transfer Protocol, простой протокол электронной почты)) или NNTP (Network News Transfer Protocol, сетевой протокол передачи новостей).
Для большинства основных протоколов существуют номера портов, уже ставшие стандартом. Есть даже названия защищенных вариантов протоколов, которые, как правило, получаются за счет добавления к наименованию основного протокола буквы s, которая и указывает на безопасное соединение через SSL. Эта информация приведена в табл. 5.1.
Таблица 5.1. Список протоколов с номерами портов
Протокол | Название SSL варианта протокола | Номер TCP-порта |
---|---|---|
HTTP | HTTPS | 443 |
SMTP | SMTPS | 465 |
LDAP | LDAPS | 636 |
TELNET | TELNETS | 992 |
SHELL | SSHELL | 614 |
FTP | FTPS | 990 |
FTP-DATA | FTPS-DATA | 989 |
IMAP | IMAPS | 993 |
POP3 | POP3S | 995 |
IRC | IRCS | 994 |
Обратите внимание, что для протокола FTP требуется два защищенных канала. Один используется для управляющего соединения, а второй — для передачи данных. К этому мы еще вернемся в гл. 10, когда будем рассматривать этот протокол.
5.2.3. Шифрование файлов
Некоторые серверы могут использоваться для хранения архивных данных, которые, несмотря на такой статус, должны быть скрыты от стороннего взгляда. Наилучший вариант защиты — шифровать файлы, чтобы никто не смог увидеть их содержимое, и пакет OpenSSL предоставляет нам такую возможность.
Шифрование необходимо не только для резервных копий файлов или архивных данных, но и для файлов с секретной информацией, которые необходимо передать по незащищенным каналам связи, например, через E-mail-почту или публичный FTP-сервер.
Для шифрования необходимо выполнить команду /usr/bin/openssl
, которая имеет следующий вид:
/usr/bin/openssl алгоритм -in файл1 -out файл2
Количество используемых алгоритмов исчисляется десятками. Наиболее распространенным является DES (Data Encryption Standard, стандарт шифрования данных). Я тоже отдаю предпочтению именно ему. О поддерживаемых алгоритмах можно узнать на сайте разработчиков или по команде man openssl
.
Параметр -in
задает входной файл, который необходимо шифровать, а после ключа -out
указывается имя файла, куда сохраняется результат.
При дешифровании необходимо добавить ключ -d
. Помимо этого, в качестве -in
задается закодированный файл, а в параметре -out
— имя файла для сохранения результата:
/usr/bin/openssl алгоритм -d -in файл2 -out файл1
Рассмотрим пример шифрования всего списка паролей /etc/passwd в файл /home/passwd по алгоритму DES. Для этого выполняем команду:
/usr/bin/openssl des -in /etc/passwd -out /home/passwd
В ответ на эту директиву программа попросит вас укачать пароль и затем подтвердить ввод, дабы исключить возможные ошибки.
Выполните команду cat /home/passwd
и убедитесь в том, что содержимое этого файла не читаемо.
Для расшифровки файла выполните команду:
/usr/bin/openssl des -d -in /home/passwd -out /etc/passwd
Таким нехитрым способом мы можем безопасно хранить копию файла с паролями. К теме резервного копирования мы вернемся в
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии