Сецуре Соцкет Туннелинг Протоцол

С Википедије, слободне енциклопедије

Secure Socket Tunneling Protocol (SSTP) је протокол који је развила компанија Мајкрософт са жељом да превазиђе проблеме које су виртуелне приватне мреже базиране на PPTP protokolu imale sa NAT-ом (Network Adress Translation). PPTP виртуалне приватне мреже користе TCP конекцију на порту 1723 за одржавање тунеловане конекције и размену GRE енкапсулираних пакета. Али, PPTP може имати проблема са NAT-ом, веб проксијима и заштитним зидовима (енгл. firewall). Да би се спречили ови проблеми, заштитни зид се мора конфигурисати да пропушта GRE енкапсулирани саобраћај, као и да се дозволе TCP конекције. Иако је GRE скоро стандардни метод енкапсулације IP пакета, многи интернет сервис провајдери одбацују ове пакете, што резултује губитком података. Често су и конекције у хотелима и другим „хот спотовима“ конфигурисане за типичан веб и e-mail саобраћај и дешава се да неће дозволити PPTP пакете. Такође, ако се наш компјутер налази иза NAT-а, NAT ће морати да буде способан да преведе GRE саобраћај. За крај, PPTP пакети не могу да прођу преко веб проксија.

Други протокол који се користио за Windows XP и Server 2003, L2TP у комбинацији са IPSec протоколом, користи IKE (Internet Key Exchange) и такође може имати проблема са NAT-ом, веб проксијима и заштитним зидовима. У овом случају, заштитни зид мора да пропушта ESP енкапсулиране пакете и IKE саобраћај. Ако се наш рачунар налази иза NAT-а, VPN клијент и VPN сервер морају да подржавају IPSec NAT-Traversal (NAT-T). L2TP/IPsec пакети такође не могу да пролазе преко веб проксија.

Као што можемо да видимо, постоји много проблема са VPN операцијама код оперативних система Windows XP и Server 2003. Стога се од појаве оперативних система Windows Vista и Server 2008 користи SSTP. Коришћење овог протокола решава све проблеме – прокси, NAT и заштитни зид. Разлог је прост: HTTP преко SSL је веома распрострањен тип саобраћаја. HTTP преко SSL може значајно да смањи трошкове одржавања „remote access” решења јер елиминише проблеме са NAT-ом и ради у скоро сваком окружењу. Такође, SSTP је уграђен у Windows и нема потребе за инсталацијом додатног клијентског софтвера. SSTP обезбеђује и боље балансирање саобраћаја (load balancing) VPN конекција путем SSL „load balancer“-а. За разлику од PPTP и L2TP протокола, SSTP не подржава site-to-site VPN конекције.

Процес конекције[уреди | уреди извор]

  1. SSTP VPN клијент остварује TCP конекцију са SSTP VPN мрежним пролазом (gateway) на TCP порту 443
  2. Клијент шаље SSL CLIENT-HELLO поруку
  3. VPN мрежни пролаз шаље сертификат клијенту
  4. Клијент верификује сертификат тако што провери своје Trusted Root Certification Authorities сертификате и види да ли се међу њима налази CA сертификат потписан од стране сервера. Након тога, клијент се одлучује за методу енкрипције SSL сесије, генерише SSL кључ и енкриптује га са јавним кључем VPN мрежног пролаза и шаље енкриптовану форму SSL кључа VPN мрежном пролазу
  5. Мрежни пролаз декриптује SSL кључ са приватним кључем сервера. Сва будућа комуникација између клијента и мрежног пролаза је енкриптована договореном енкрипционом методом и SSL кључем сесије.
  6. Клијент шаље HTTP преко SSL (тј. HTTPS) REQUEST поруку
  7. Клијент договара SSTP тунел са мрежним пролазом
  8. Клијент остварује PPP конекцију са SSTP сервером. Ово укључује стандардне PPP аутентификационе методе и конфигурацију за IPv4 или IPv6 саобраћај
  9. Клијент почиње да шаље IPv4 или IPv6 саобраћај преко PPP линка

Структура пакета[уреди | уреди извор]

Заглавље[уреди | уреди извор]

ССТП Хеадер
Офсет бит Битови 0–7 8–14 15 16–31
0 Верзија Резервисано C Величина
32+  
Подаци
 
  • Верзија (8 бита) – За договор SSTP верзије која ће се користити.
  • Резервисано (7 бита) – Резервисано за будућу употребу.
  • C (1 бит) – Контролни бит који означава да ли је SSTP пакет контролни или пакет података. Овај бит је сетован уколико је пакет контролни.
  • Величина (16 бита) – Поље за величину пакета, састоји се од два дела: резервисани део и део за величину пакета.
  • Резервисано (4 бита) – Резервисано за будућу употребу.
  • Величина (12 бита) – Садржи величину целог пакета, укључујући и SSTP заглавље.
  • Подаци (променљива) – Када је контролни бит C сетован, ово поље садржи контролну поруку. У супротном, ово поље би садржало податке протокола вишег нивоа. Тренутно, једини могући је PPP протокол.

Контролна порука[уреди | уреди извор]

Поље података садржи контролну поруку само када је контролни бит C сетован.

ССТП Контролна порука
Офсет бит Битови 0–15 16–31
0 Тип поруке Број атрибута
32+  
Атрибути
 
  • Тип поруке (16 бита) – Означава тип SSTP поруке која се користи за комуникацију. Одређује број и тип атрибута SSTP порука.
  • Број атрибута (16 бита) – Одређује број атрибута додатих SSTP поруци.
  • Атрибути (променљива) – Садржи листу атрибута везаних за SSTP контролну поруку.

Види још[уреди | уреди извор]