Differences between revisions 1 and 12 (spanning 11 versions)
Revision 1 as of 2008-08-01 03:30:34
Size: 5576
Editor: eSyr
Comment:
Revision 12 as of 2008-08-03 23:54:51
Size: 7089
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Сегодня всякая сеть. В-первых прдлжение про безпасность, причём практическая. Хотели попробовать stunnel, ssh. Сегодня всякая сеть. Во-первых продолжение про безопасность, причём практическая. Хотели попробовать stunnel, ssh.
Line 5: Line 5:
Вспомним про stunnel и попробуем его настроить, чтобы показать, каким образм, почему SSL --- протокол 6 уровня ISO/OSI, в любом случае, реализация его полностью оторвана от прикл. уровня, в тличие от TLS? реализация которого встраивается в протокол прикл.ю урвня. Вспомним про stunnel и попробуем его настроить, чтобы показать, каким образом и почему SSL очень похож на протокол 6 уровня, уровня представления, ISO/OSI. В любом случае, реализация его полностью оторвана от прикладного уровня, в отличие от TLS, реализация которого встраивается в протокол прикладного уровня. 
Line 7: Line 7:
Для начала установим этт пакет. Он не входит в состав ПСПО (входит, взодит), но входит в бранч 4.0. stunnel это программа, котрая может служить и клиентом, и сервером для организации туннеля, защищённого с помощью ssl, между клиентской и серверной машиныю При этом в случае клиентской машины она орг. доступ до https/imaps/..., а со стороны клиента пзв. откр. порт, к кторому мжно подкл. без ssl. Исп. ... сстоит в том, чтобы подклю по ...., а после того, как это подкл. призошло, расшифр. траффик предст. в виде ещё одного сокета на локальной машине, к которому можно подкл, не зная про ssl. Для начала установим этот пакет. Он не входит в состав ALT Linux Lite, но есть в школьном бранче. Stunnel это программа, которая может служить и клиентом, и сервером для организации туннеля, защищённого с помощью SSL, между клиентской и серверной машиной. При этом, с клиентской машины она организует доступ до сервера принимающего подключения https/imaps/ и шифрующего эти соединения по SSL, а со стороны клиента stunnel открывает порт, к которому можно подключаться уже без SSL. Использование stunnel состоит в том, чтобы подключение по закрытому каналу осуществлялось stunnel, а после того, как это подключение произошло, расшифрованный траффик представляется в виде ещё одного сокета на локальной машине, к которому можно подключится, не зная про SSL.
Line 9: Line 9:
В качестве примера рассм. https://webmail.cs.msu.su/, где можно видеть отпечатки пальцев. Кнечно, если есть злоумышленник между вами и сайтом доверенным, т он может сущ. и такую перация: не только подм. сертификаты, но и анализирвать и менять траффик, но вероятность пдбного сильно уменьшается, пскольку злумышленнику надо найти место на сайте, где клю публикован и подменять это место. В качестве примера рассмотрим https://webmail.cs.msu.su/, где можно видеть "отпечатки пальцев", которые есть хеш-код публичного ключа.
{{attachment:../https_site.png}}
Также можно посмотреть свойства сайта и увидеть там тот же хеш-код что и есть подтверждение подлинности сайта.
{{attachment:../https_site_properties.png}}
Конечно, если есть злоумышленник между вами и сайтом доверенным, то он может осуществить и такую операцию: не только подменить сертификаты, но и проанализировать и поменять хеш-код но самой странице, но вероятность подобного сильно уменьшается, поскольку злоумышленнику надо найти место на сайте, где ключ опубликован и подменять его в этом месте.
Line 11: Line 15:
Почитаем ман по stunnel. Там внизу нарисован второй способ исп. stunnel --- в случае, если сервер не умеет орг. нрм. ssl, а вам хочется шифровать соединение, причём это серверы-фильтры, как в xinetd. И для орг. ssl они вместо xinetd исп. в stunnel. Почитаем man по stunnel. Там внизу нарисован второй способ использования stunnel --- в случае, если сервер не умеет организовывать нормальный SSL, а вам хочется шифровать соединение. Причём это серверы-фильтры, как в xinetd. И для организации SSL они просто вместо xinetd используют stunnel.
Line 15: Line 19:
Два параметра: -d, чтобы он рабтал в качестве демна, -r --- к какому порту присоединяться, птом двоеточие, номер порта. Обратите внимание на т, что можно исп. как числовые номера, так и символьные, есть орг. IANA, которая среди прочего регистрирует номера портов, и они хранятся в файле /etc/services Два параметра: -d, чтобы он работал в качестве демона, -r --- к какому порту присоединяться, потом двоеточие, номер порта. Обратите внимание на то, что можно использовать как числовые номера, так и символьные. Есть организация IANA, которая среди прочего регистрирует номера портов (например 443 это hhtps и тд.), и они хранятся в файле /etc/services. Вот например мы не используем 80 порт, так как там может стоять обычный web-сервер, и не используем 8080, так как он здесь тоже занят, и поэтому возьмем 8088.
Line 17: Line 21:
Теперь мы можем зайти на localhost:8088 и увидеть то же самое. Зачем вобще такое нужн? Когда вы заходите на локалхост, считается, что подсмотреть трафик очень сложно, а те, кто могут, имеют рута на машине и тогда уже всё равно. Если такого нету, то есть, подсоединение по сети в защ. режиме может нанести ... . {{{
$ /usr/sbin/stunnel -P ~ -c -d 8088 -r webmail.cs.msu.su:https
$ netstat -ltnp | grep stunnel
tcp 0 0 0.0.0.0:8088 0.0.0.0:* LISTEN 4667/stunnel
}}}
Line 19: Line 27:
Лектор посмотрит, как скрипт генерирует сертификаты, у него есть разные опции, в том числе подписывание, и может быть можно будет запустить его со стороны сервера, чтобы он преобр. 80-й порт в какой ещё.
Line 21: Line 28:
На чём часть пр стуннель заканчивается... Лектор исп. stunnel, когда не было у imapd ssl, был с ssl только циррус, а н большой и страшный. Теперь мы можем зайти на localhost:8088 и увидеть то же самое.
{{attachment:../https_site_stunnel.png}}
Зачем вообще такое нужно? Когда вы заходите на localhost, считается, что подсмотреть трафик очень сложно, а те, кто могут, имеют рута на машине и тогда уже всё равно. Если такого нету, то есть, подсоединение осуществляется по сети в защищенном режиме, и никто ничего не увидит.

Есть скрипт, который генерирует сертификаты, у него есть разные опции, в том числе есть опция отвечающая за подписывание. И может быть можно будет запустить stunnel со стороны сервера, чтобы он преобразовывал 80-й порт в какой ещё, но уже защищенный.

На чём часть про stunnel заканчивается.
Line 29: Line 42:
|| 0  || 1 || 1 || 1 || || 1 || SergeyKorobkov, DmitryChistikov, MaximByshevskiKonopko || || || || 20 || 1 || 1 || 1 || || 1 || SergeyKorobkov, DmitryChistikov, MaximByshevskiKonopko || || ||

Практика использования stunnel

Сегодня всякая сеть. Во-первых продолжение про безопасность, причём практическая. Хотели попробовать stunnel, ssh.

Вспомним про stunnel и попробуем его настроить, чтобы показать, каким образом и почему SSL очень похож на протокол 6 уровня, уровня представления, ISO/OSI. В любом случае, реализация его полностью оторвана от прикладного уровня, в отличие от TLS, реализация которого встраивается в протокол прикладного уровня.

Для начала установим этот пакет. Он не входит в состав ALT Linux Lite, но есть в школьном бранче. Stunnel это программа, которая может служить и клиентом, и сервером для организации туннеля, защищённого с помощью SSL, между клиентской и серверной машиной. При этом, с клиентской машины она организует доступ до сервера принимающего подключения https/imaps/ и шифрующего эти соединения по SSL, а со стороны клиента stunnel открывает порт, к которому можно подключаться уже без SSL. Использование stunnel состоит в том, чтобы подключение по закрытому каналу осуществлялось stunnel, а после того, как это подключение произошло, расшифрованный траффик представляется в виде ещё одного сокета на локальной машине, к которому можно подключится, не зная про SSL.

В качестве примера рассмотрим https://webmail.cs.msu.su/, где можно видеть "отпечатки пальцев", которые есть хеш-код публичного ключа. ../https_site.png Также можно посмотреть свойства сайта и увидеть там тот же хеш-код что и есть подтверждение подлинности сайта. ../https_site_properties.png Конечно, если есть злоумышленник между вами и сайтом доверенным, то он может осуществить и такую операцию: не только подменить сертификаты, но и проанализировать и поменять хеш-код но самой странице, но вероятность подобного сильно уменьшается, поскольку злоумышленнику надо найти место на сайте, где ключ опубликован и подменять его в этом месте.

Почитаем man по stunnel. Там внизу нарисован второй способ использования stunnel --- в случае, если сервер не умеет организовывать нормальный SSL, а вам хочется шифровать соединение. Причём это серверы-фильтры, как в xinetd. И для организации SSL они просто вместо xinetd используют stunnel.

На stunnel.org есть примеры.

Два параметра: -d, чтобы он работал в качестве демона, -r --- к какому порту присоединяться, потом двоеточие, номер порта. Обратите внимание на то, что можно использовать как числовые номера, так и символьные. Есть организация IANA, которая среди прочего регистрирует номера портов (например 443 это hhtps и тд.), и они хранятся в файле /etc/services. Вот например мы не используем 80 порт, так как там может стоять обычный web-сервер, и не используем 8080, так как он здесь тоже занят, и поэтому возьмем 8088.

$ /usr/sbin/stunnel -P ~ -c -d 8088 -r webmail.cs.msu.su:https
$ netstat -ltnp | grep stunnel
tcp     0    0 0.0.0.0:8088     0.0.0.0:*         LISTEN       4667/stunnel

Теперь мы можем зайти на localhost:8088 и увидеть то же самое. ../https_site_stunnel.png Зачем вообще такое нужно? Когда вы заходите на localhost, считается, что подсмотреть трафик очень сложно, а те, кто могут, имеют рута на машине и тогда уже всё равно. Если такого нету, то есть, подсоединение осуществляется по сети в защищенном режиме, и никто ничего не увидит.

Есть скрипт, который генерирует сертификаты, у него есть разные опции, в том числе есть опция отвечающая за подписывание. И может быть можно будет запустить stunnel со стороны сервера, чтобы он преобразовывал 80-й порт в какой ещё, но уже защищенный.

На чём часть про stunnel заканчивается.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

20

1

1

1

1

SergeyKorobkov, DmitryChistikov, MaximByshevskiKonopko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080730/01Stunnel (last edited 2008-10-09 21:54:14 by MaximByshevskiKonopko)