| LINUX-BG Адрес : http://www.linux-bg.org |
| Стъпка по стъпка: Apache 2 с поддръжка на SSL/TLS. Част I |
|
От: Bondoff Публикувана на: 19-02-2005 Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=369608398 |
|
Стъпка по стъпка: Apache 2 с поддръжка на SSL/TLS. Част I
Предварително се извинявам за качеството на приложените диаграми (А.Б.). За повече от 10 години протоколът SSL се наложи, като начин за криптиран трансфер на данни през Интернет. Никой не може да предположи колко милиони и милиарди банкови транзакции са осъществени по криптирана връзка осигурена от протокола SSL. Фактът, че използваме SSL криптирана връзка, обаче, не означава че тя е сигурна. Възможността за декриптиране на данните, възможността за проверка на сертификатите на уеб сървърите, уязвимостта в SSL библиотеките, които уеб сървърите използват, могат да доведат до пробив в сигурността при предаване на чувствителна информация. Тази статия е първата от три-серийна поредица Стъпка по стъпка: Apache 2 с поддръжка на SSL/TLS, посветена на конфигуриране на Apache 2 уеб сървър с поддръжка на SSL/TLS. Целта на автора е поредицата статии да бъдат справочен материал при настройка и конфигурация на уеб сървър. Част първа на статията третира начина на работа на SSL/TLS, както и някои любопитни аспекти. Как да инсталираме и конфигурираме Apache 2.0 уеб сървър с поддръжка на тези протоколи. Втора част на статия дискутира проблема за конфигурация на mod_ssl модулът на Apache 2 и автентикацията при https. Също така във втората част на статията, ще обърнем внимание на създаването на SSL сертификат за уеб сървър. Третата част на статията обсъжда проблемите по клиентска автентикация и някои типични конфигурационни грешки допускани от системните администратори, които биха могли да допринесат за увеличаване на уязвимостта на уеб сървъра.
Представяне на SSL. Secure Socket Layer (SSL) е може би най-широко използваният протокол, за осъществяване на криптирана връзка между клиент и уеб сървър в Интернет. По своята същност SSL е доста прост протокол: той предоставя алгоритъм за криптиране на данни и ключове за декриптирането им между две страни на комуникационен канал и предоставя криптиран тунел, за други протоколи (например HTTP). Като допълнение, SSL предоставя двустранна автентикация между двете страни посредством сертификат.
SSL е слоеви протокол, който съдържа в себе си четири под-протокола:
Позицията
на всеки един от тези под-протоколи, в съответствие с TCP/IP модела,
може да бъде илюстриран по следния начин:
Както
се вижда от диаграмата, SSL се намира в програмния слой на TCP/IP
протокола. По силата на това обстоятелство, SSL може да бъде
имплементиран в почти всяка операционна система, която поддържа
TCP/IP протокол, без да е необходима специална конфигурация на ядрото
на системата или TCP/IP стека. Това обстоятелство дава на SSL голямо
предимство пред други протоколи като IPSec (IP Security Protokol)
например.
Как
работи SSL? Следващата диаграма показва опростен модел на процесите
за установяване на нова SSL връзка между клиент (например уеб
браузър) и сървър в нашиа случай SSL-конфигуриран уеб сървър.
На
практика процесът по установяване на криптирана връзка е малко
по-сложен. За да се избегне ненужно ръкостискане, някои от
криптиращите параметри може да бъда кеширани, да се изпращат Alert
messages и т.н., но тук няма да се впускаме в подробности.
SSL, PCT, TLS и WTLS (а защо не SSH?)
Независимо, че SSL е най-известния и най-използвания, той не е единствения протокол за създаване на криптирана тунел. Важно е да се знае, че след създаването на SSL v1.0 (който между другото никога не се появи на бял свят), бяха създадени поне пет протокола, изиграли повече или по-малко за ролята на криптираното предаване на данни в Интернет. Ще посочим някои от тях.
Може би някои от вас си задават въпроса Защо SSH не се използва за осигуряване на криптирана връзка/достъп до WWW? Можем да посочим две причини:
Да обобщим. Няколко са протоколите за осигуряване на криптирана връзка при HTTP сесии, само два от тях (поне за момента) са се наложили: TLS v1.0 и SSL v3.0
Софтуерни изисквания.
Време е да обърнем малко внимание на конфигурирането на Apache 2.0 с поддръжка на SSL/TLS. Преди всичко за да можете да поддържате SSL/TLS ви е необходим модулът mod_ssl. Системните изисквания за правилната работа на Apache с поддръжка на SSL/TLS е да са инсталирани gcc и OpenSSL библиотеки. Практическите примери представени в статията, би трябвало да работят на повечето Linux и BSD базирани операционни системи, но както знаете гаранция 100% няма.
Инсталиране на Apache със SSL/TLS поддръжка.
В практическите примери, като основен уеб-браузър използваме MS Internet Explorer, тъй като е най-широко използван по света. Това не означава, че примерите няма да работят и за други популярни уеб-браузъри като FireFox, Mozilla, Netscape, Safari, Opera. Може да ви прозвучи смешно, но най-напред (ако обичате) си инсталирайте Apache 2.0. След това създайте в системата група и потребител с име apache.
<< Стъпка по Стъпка: Apache 2 с поддръжка на SSL/TLS, Част III | Promqna firmware-a na Linksys WRT54G s Linux >> |
|
Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук,
но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора,
както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|