SlideShare a Scribd company logo
1 of 18
Jak jsem přišel na to, že „VPN“ v prohlížeči Opera celkem pochopitelně není VPN.
A jak stejný postup můžete použít i vy třeba pro zkoumání extenzí nebo jiných
vnitřností browserů. Slajdy obsahují poznámky, které v původní prezentaci nejsou.
Michal ŠpačekMichal Špaček www.michalspacek.czwww.michalspacek.cz @spazef0rze@spazef0rze
Operu milovalo a používalo hodně webových vývojářů, včetně mě. Od tohoto
původně norského prohlížeče se často inspirovali i výrobci ostatních browserů, z
Opery převzali například „taby“. Počátkem roku 2008 byla v Praze otevřena
vývojová pobočka Opera Software (a o pár let později zase v tichosti zavřena). V
létě 2013 vyšla verze 15 a od té doby je prohlížeč Opera postaven na projektu
Chromium a používá jádro Blink, stejně jako Chrome a další browsery.
V roce 2016 se v Opeře objevil vestavěný „ad-blocker“ a „VPN“. Software pro
tvorbu Virtual private network zpřístupňuje privátní sítě přes Internet. VPN se
také používají pro ochranu připojení v případě používání veřejných Wi-Fi, umí
chránit veškerý provoz z a do zařízení, nehledě na program, který data posílá
nebo přijímá. VPN pracují na 2. (spojové) nebo 3. (síťové) vrstvě OSI modelu.
Ondrej Galbavý mě upozornil, že v Opeře by to tak být nemuselo. Jeho tweet
adresovaný tehdejšímu zástupci CTO Opery říkal, že v Opeře je proxy, ne VPN.
Bruce Lawson ho ovšem ujistil, že to opravdu je VPN. To mě zaujalo a vydal jsem
se nalézt pravdu, Deputy CTO by přece měl vědět, co tam mají. Důvěřuj, ale…
Toto je drobný text pod checkboxem, kterým v nastavení Opery povolujete „VPN“.
PROXY
WEB
HTTPS (TLS 1.2)
HTTP/HTTPS
DNS
„VPN“ v Opeře je opravdu proxy, přesněji secure proxy. Provoz mezi prohlížečem
a proxy serverem je vždy šifrovaný pomocí HTTPS, nehledě na to, na jaký web se
nakonec pošle požadavek. DNS překlad na IP adresu provádí také proxy server.
Přišel jsem na to pomocí prohlížeče samotného, zkoumal jsem co a kam posílá.
V Developer Tools (F12) ale nevidíte všechno, musíte jít trochu hlouběji, do
chrome://net-internals. Požadavky, nejen ty interní, najdete v Events, pro
zobrazení celých POST požadavků musíte v Capture povolit Include the actual
bytes. Seznam speciálních chrome URL pro prohlížeč Chrome najdete na
chrome://chrome-urls/, ale v Opeře všechny nefungují. Firefox má seznam
na about:about a v popisu protokolu about na Mozilla Developer Network.
Když v nastavení poprvé povolíte „VPN“, tak Opera pošle čtyři POST požadavky
na api.surfeasy.com. Nejdříve zaregistruje uživatele (register_subscriber),
poté zařízení (register_device), pak získá seznam zemí (geo_list), ve kterých
jsou proxy servery, a nakonec zjistí IP adresy těch proxy serverů (discover).
Source Type: URL_REQUEST
Rozkliknutím událostí typu URL_REQUEST zjistíte hlavičky těch požadavků. V
současné Opeře verze 44 již obsah podstatných hlaviček výrobce skryl, v
dřívějších verzích („VPN“ je ve vývojářské Opeře od verze 38) byl API klíč vypsán.
Source Type: SOCKET
Když výrobce skryl API klíč v URL_REQUEST, tak se dal ještě najít v události typu
SOCKET, společně s tělem POST požadavku, pokud jste povolili zobrazování
všech bajtů na záložce Capture. Od února 2017 (Opera 43) už je skrytý i tam.
Source Type: HTTP_STREAM_JOB
Jak tedy ověřit, že „VPN“ v Opeře je vlastně proxy? V detailu události typu
HTTP_STREAM_JOB najdete nastavení Proxy auto-config (PAC), určující proxy
servery, z nichž browser vybere jeden, který se pro vybraný požadavek použije.
Source Type: SOCKET
V události SOCKET je pak vidět i připojení na proxy server a poslání žádosti
o otevření spojení na cílový web (zde ifconfig.co) metodou CONNECT. Ta se používá
právě k tunelování HTTP požadavků. Všimněte si i dalších „proxy“ hlaviček.
Registraci uživatele a získání IP adres proxy serverů jsem pro studijní účely
reimplementoval. Vytvořil jsem v Pythonu skript, který vypíše IP adresy proxy
serverů i jméno a heslo potřebné pro připojení k nim. Jmenuje se The Oprah Proxy
a najdete ho na GitHubu. Oprah Winfrey v jedné show rozdávala auta, můj skript
rozdává proxy servery. Název se asi zalíbil i v SurfEasy, VPN divizi Opery :-)
Takto můj skript vypíše jméno a heslo pro proxy servery, které můžete použít třeba
i ve Firefoxu. Na GitHubu naleznete ukázkový soubor pac.js a popis, jak ho využít.
Secure proxy podporuje i curl od verze 7.52.0, která vyšla v prosinci 2016. Asi by
bylo dobré upozornit, že při použití těchto proxy serverů se vygenerované username
posílá s každým požadavkem, a že to celé může kdykoliv přestat fungovat.
Opera tuhle „VPN“ technologii nevytvořila úplně sama, ale v březnu 2015 ji koupila
společně s kanadskou firmou SurfEasy. Ta se stala „VPN divizí Opery“.
Od července 2016 vlastní Operu (prohlížeč a jméno, ne celou firmu) konsorcium
čínských společností. (Transakce byla dokončena v listopadu 2016.) Do prodaného
balíčku patří i divize SurfEasy a její produkty.
Jen si to představte: vaši firmu na VPN a proxy koupí norská společnost. Tu
obratem koupí skupina čínských firem, včetně vás. No a pak v Číně zakážou VPN,
resp. použití VPN musí schválit čínská vláda. To je ale pech, co?
Opera nabízí také VPN aplikace pro iOS i Android. Obojí jsou klasické VPN, ne jen
proxy servery. Asi by bylo dobré dodat, že „secure proxy“ v Opeře na zabezpečení
prohlížení stránek proti hackerům v kavárnách a na konferencích stačí, jen není fér
tomu říkat VPN. Nezapomeňte, že na anonymitu na Internetu VPN nestačí, a že ne
každá VPN aplikace je stejně dobrá a bezpečná.
MichalMichal ŠpačekŠpaček
www.michalspacek.czwww.michalspacek.cz
@spazef0rze@spazef0rze

More Related Content

Similar to Fantom Opery, "VPN" a Secure Proxy v Opeře

Product API in MallGroup
Product API in MallGroupProduct API in MallGroup
Product API in MallGroupJan Blaško
 
HTTPS zdarma a pro všechny - LinuxDays 2015
HTTPS zdarma a pro všechny - LinuxDays 2015HTTPS zdarma a pro všechny - LinuxDays 2015
HTTPS zdarma a pro všechny - LinuxDays 2015tomashala
 
Bezpečnost na mobilních zařízeních
Bezpečnost na mobilních zařízeníchBezpečnost na mobilních zařízeních
Bezpečnost na mobilních zařízeníchMichal Špaček
 
Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011Jan Mittner
 
Nette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaNette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaPatrik Votoček
 
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Péhápkaři
 
Dark Side of iOS [mDevCamp 2013]
Dark Side of iOS [mDevCamp 2013]Dark Side of iOS [mDevCamp 2013]
Dark Side of iOS [mDevCamp 2013]Kuba Břečka
 
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Pavel Růžička
 
Strasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíStrasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíRené Stein
 
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitněJiří Mareš
 
Anonymni komunikace na webu
Anonymni komunikace na webuAnonymni komunikace na webu
Anonymni komunikace na webuDavid Němec
 
Kompilace a instalace balíčků
Kompilace a instalace balíčkůKompilace a instalace balíčků
Kompilace a instalace balíčkůzdendator
 
Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?WebScience1
 
Instalace balíčku Piranha Cms Oak
Instalace balíčku Piranha Cms OakInstalace balíčku Piranha Cms Oak
Instalace balíčku Piranha Cms OakDavid Podhola
 
Smart Cards & Devices Forum 2013 - Babel
Smart Cards & Devices Forum 2013 - BabelSmart Cards & Devices Forum 2013 - Babel
Smart Cards & Devices Forum 2013 - BabelOKsystem
 
MicroPython IoT vlaxa
MicroPython IoT vlaxaMicroPython IoT vlaxa
MicroPython IoT vlaxaVladan Laxa
 

Similar to Fantom Opery, "VPN" a Secure Proxy v Opeře (20)

Product API in MallGroup
Product API in MallGroupProduct API in MallGroup
Product API in MallGroup
 
HTTPS zdarma a pro všechny - LinuxDays 2015
HTTPS zdarma a pro všechny - LinuxDays 2015HTTPS zdarma a pro všechny - LinuxDays 2015
HTTPS zdarma a pro všechny - LinuxDays 2015
 
Bezpečnost na mobilních zařízeních
Bezpečnost na mobilních zařízeníchBezpečnost na mobilních zařízeních
Bezpečnost na mobilních zařízeních
 
Ldo lundegaard in_da_cloud - Tomáš Zajíček
Ldo lundegaard in_da_cloud - Tomáš ZajíčekLdo lundegaard in_da_cloud - Tomáš Zajíček
Ldo lundegaard in_da_cloud - Tomáš Zajíček
 
Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011
 
Nette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaNette v cloudu - Poslední Sobota
Nette v cloudu - Poslední Sobota
 
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
 
Dark Side of iOS [mDevCamp 2013]
Dark Side of iOS [mDevCamp 2013]Dark Side of iOS [mDevCamp 2013]
Dark Side of iOS [mDevCamp 2013]
 
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
 
Strasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikacíStrasti a slasti vývoje wp7 aplikací
Strasti a slasti vývoje wp7 aplikací
 
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně
 
Anonymni komunikace na webu
Anonymni komunikace na webuAnonymni komunikace na webu
Anonymni komunikace na webu
 
Kompilace a instalace balíčků
Kompilace a instalace balíčkůKompilace a instalace balíčků
Kompilace a instalace balíčků
 
HTTP/2
HTTP/2HTTP/2
HTTP/2
 
Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?
 
Instalace balíčku Piranha Cms Oak
Instalace balíčku Piranha Cms OakInstalace balíčku Piranha Cms Oak
Instalace balíčku Piranha Cms Oak
 
Smart Cards & Devices Forum 2013 - Babel
Smart Cards & Devices Forum 2013 - BabelSmart Cards & Devices Forum 2013 - Babel
Smart Cards & Devices Forum 2013 - Babel
 
MicroPython IoT vlaxa
MicroPython IoT vlaxaMicroPython IoT vlaxa
MicroPython IoT vlaxa
 
Deep Web
Deep WebDeep Web
Deep Web
 
Ops2 nginx
Ops2   nginxOps2   nginx
Ops2 nginx
 

More from Michal Špaček

Víceúrovňová obrana vysvětlená na Cross-Site Scriptingu
Víceúrovňová obrana vysvětlená na Cross-Site ScriptinguVíceúrovňová obrana vysvětlená na Cross-Site Scriptingu
Víceúrovňová obrana vysvětlená na Cross-Site ScriptinguMichal Špaček
 
Lámání a ukládání hesel
Lámání a ukládání heselLámání a ukládání hesel
Lámání a ukládání heselMichal Špaček
 
Quality of Life, Multiple Lines of Defense
Quality of Life, Multiple Lines of DefenseQuality of Life, Multiple Lines of Defense
Quality of Life, Multiple Lines of DefenseMichal Špaček
 
Jak zlepšit zabezpečení čtvrtiny celého webu
Jak zlepšit zabezpečení čtvrtiny celého webuJak zlepšit zabezpečení čtvrtiny celého webu
Jak zlepšit zabezpečení čtvrtiny celého webuMichal Špaček
 
Disclosing password hashing policies
Disclosing password hashing policiesDisclosing password hashing policies
Disclosing password hashing policiesMichal Špaček
 
XSS PHP CSP ETC OMG WTF BBQ
XSS PHP CSP ETC OMG WTF BBQXSS PHP CSP ETC OMG WTF BBQ
XSS PHP CSP ETC OMG WTF BBQMichal Špaček
 
Bezpečnost e-shopů (HTTPS, XSS, CSP)
Bezpečnost e-shopů (HTTPS, XSS, CSP)Bezpečnost e-shopů (HTTPS, XSS, CSP)
Bezpečnost e-shopů (HTTPS, XSS, CSP)Michal Špaček
 
Poučte se z cizích chyb
Poučte se z cizích chybPoučte se z cizích chyb
Poučte se z cizích chybMichal Špaček
 
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)Michal Špaček
 
Password manažeři detailněji – 1Password, LastPass, 2FA, sdílení
Password manažeři detailněji – 1Password, LastPass, 2FA, sdíleníPassword manažeři detailněji – 1Password, LastPass, 2FA, sdílení
Password manažeři detailněji – 1Password, LastPass, 2FA, sdíleníMichal Špaček
 
Operations security (OPSEC) in IT
Operations security (OPSEC) in ITOperations security (OPSEC) in IT
Operations security (OPSEC) in ITMichal Špaček
 
HTTP Strict Transport Security (HSTS), English version
HTTP Strict Transport Security (HSTS), English versionHTTP Strict Transport Security (HSTS), English version
HTTP Strict Transport Security (HSTS), English versionMichal Špaček
 
Základy webové bezpečnosti pro PR a marketing
Základy webové bezpečnosti pro PR a marketingZáklady webové bezpečnosti pro PR a marketing
Základy webové bezpečnosti pro PR a marketingMichal Špaček
 
I forgot my password – what a secure password reset needs to have and why
I forgot my password – what a secure password reset needs to have and whyI forgot my password – what a secure password reset needs to have and why
I forgot my password – what a secure password reset needs to have and whyMichal Špaček
 
HTTP Strict Transport Security (HSTS)
HTTP Strict Transport Security (HSTS)HTTP Strict Transport Security (HSTS)
HTTP Strict Transport Security (HSTS)Michal Špaček
 
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)Michal Špaček
 
Noční můry webového vývojáře
Noční můry webového vývojářeNoční můry webového vývojáře
Noční můry webového vývojářeMichal Špaček
 
The problem with the real world
The problem with the real worldThe problem with the real world
The problem with the real worldMichal Špaček
 

More from Michal Špaček (20)

Víceúrovňová obrana vysvětlená na Cross-Site Scriptingu
Víceúrovňová obrana vysvětlená na Cross-Site ScriptinguVíceúrovňová obrana vysvětlená na Cross-Site Scriptingu
Víceúrovňová obrana vysvětlená na Cross-Site Scriptingu
 
Lámání a ukládání hesel
Lámání a ukládání heselLámání a ukládání hesel
Lámání a ukládání hesel
 
Quality of Life, Multiple Lines of Defense
Quality of Life, Multiple Lines of DefenseQuality of Life, Multiple Lines of Defense
Quality of Life, Multiple Lines of Defense
 
Jak zlepšit zabezpečení čtvrtiny celého webu
Jak zlepšit zabezpečení čtvrtiny celého webuJak zlepšit zabezpečení čtvrtiny celého webu
Jak zlepšit zabezpečení čtvrtiny celého webu
 
Medvědí služba
Medvědí službaMedvědí služba
Medvědí služba
 
Disclosing password hashing policies
Disclosing password hashing policiesDisclosing password hashing policies
Disclosing password hashing policies
 
XSS PHP CSP ETC OMG WTF BBQ
XSS PHP CSP ETC OMG WTF BBQXSS PHP CSP ETC OMG WTF BBQ
XSS PHP CSP ETC OMG WTF BBQ
 
Bezpečnost e-shopů (HTTPS, XSS, CSP)
Bezpečnost e-shopů (HTTPS, XSS, CSP)Bezpečnost e-shopů (HTTPS, XSS, CSP)
Bezpečnost e-shopů (HTTPS, XSS, CSP)
 
Poučte se z cizích chyb
Poučte se z cizích chybPoučte se z cizích chyb
Poučte se z cizích chyb
 
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)
Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)
 
Password manažeři detailněji – 1Password, LastPass, 2FA, sdílení
Password manažeři detailněji – 1Password, LastPass, 2FA, sdíleníPassword manažeři detailněji – 1Password, LastPass, 2FA, sdílení
Password manažeři detailněji – 1Password, LastPass, 2FA, sdílení
 
Operations security (OPSEC) in IT
Operations security (OPSEC) in ITOperations security (OPSEC) in IT
Operations security (OPSEC) in IT
 
HTTP Strict Transport Security (HSTS), English version
HTTP Strict Transport Security (HSTS), English versionHTTP Strict Transport Security (HSTS), English version
HTTP Strict Transport Security (HSTS), English version
 
Základy webové bezpečnosti pro PR a marketing
Základy webové bezpečnosti pro PR a marketingZáklady webové bezpečnosti pro PR a marketing
Základy webové bezpečnosti pro PR a marketing
 
I forgot my password – what a secure password reset needs to have and why
I forgot my password – what a secure password reset needs to have and whyI forgot my password – what a secure password reset needs to have and why
I forgot my password – what a secure password reset needs to have and why
 
Hlava není na hesla
Hlava není na heslaHlava není na hesla
Hlava není na hesla
 
HTTP Strict Transport Security (HSTS)
HTTP Strict Transport Security (HSTS)HTTP Strict Transport Security (HSTS)
HTTP Strict Transport Security (HSTS)
 
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)
Víte, že nevíte, že já vím, že nevíte? (WebTop100 2014)
 
Noční můry webového vývojáře
Noční můry webového vývojářeNoční můry webového vývojáře
Noční můry webového vývojáře
 
The problem with the real world
The problem with the real worldThe problem with the real world
The problem with the real world
 

Fantom Opery, "VPN" a Secure Proxy v Opeře

  • 1. Jak jsem přišel na to, že „VPN“ v prohlížeči Opera celkem pochopitelně není VPN. A jak stejný postup můžete použít i vy třeba pro zkoumání extenzí nebo jiných vnitřností browserů. Slajdy obsahují poznámky, které v původní prezentaci nejsou. Michal ŠpačekMichal Špaček www.michalspacek.czwww.michalspacek.cz @spazef0rze@spazef0rze
  • 2. Operu milovalo a používalo hodně webových vývojářů, včetně mě. Od tohoto původně norského prohlížeče se často inspirovali i výrobci ostatních browserů, z Opery převzali například „taby“. Počátkem roku 2008 byla v Praze otevřena vývojová pobočka Opera Software (a o pár let později zase v tichosti zavřena). V létě 2013 vyšla verze 15 a od té doby je prohlížeč Opera postaven na projektu Chromium a používá jádro Blink, stejně jako Chrome a další browsery.
  • 3. V roce 2016 se v Opeře objevil vestavěný „ad-blocker“ a „VPN“. Software pro tvorbu Virtual private network zpřístupňuje privátní sítě přes Internet. VPN se také používají pro ochranu připojení v případě používání veřejných Wi-Fi, umí chránit veškerý provoz z a do zařízení, nehledě na program, který data posílá nebo přijímá. VPN pracují na 2. (spojové) nebo 3. (síťové) vrstvě OSI modelu.
  • 4. Ondrej Galbavý mě upozornil, že v Opeře by to tak být nemuselo. Jeho tweet adresovaný tehdejšímu zástupci CTO Opery říkal, že v Opeře je proxy, ne VPN. Bruce Lawson ho ovšem ujistil, že to opravdu je VPN. To mě zaujalo a vydal jsem se nalézt pravdu, Deputy CTO by přece měl vědět, co tam mají. Důvěřuj, ale…
  • 5. Toto je drobný text pod checkboxem, kterým v nastavení Opery povolujete „VPN“.
  • 6. PROXY WEB HTTPS (TLS 1.2) HTTP/HTTPS DNS „VPN“ v Opeře je opravdu proxy, přesněji secure proxy. Provoz mezi prohlížečem a proxy serverem je vždy šifrovaný pomocí HTTPS, nehledě na to, na jaký web se nakonec pošle požadavek. DNS překlad na IP adresu provádí také proxy server.
  • 7. Přišel jsem na to pomocí prohlížeče samotného, zkoumal jsem co a kam posílá. V Developer Tools (F12) ale nevidíte všechno, musíte jít trochu hlouběji, do chrome://net-internals. Požadavky, nejen ty interní, najdete v Events, pro zobrazení celých POST požadavků musíte v Capture povolit Include the actual bytes. Seznam speciálních chrome URL pro prohlížeč Chrome najdete na chrome://chrome-urls/, ale v Opeře všechny nefungují. Firefox má seznam na about:about a v popisu protokolu about na Mozilla Developer Network.
  • 8. Když v nastavení poprvé povolíte „VPN“, tak Opera pošle čtyři POST požadavky na api.surfeasy.com. Nejdříve zaregistruje uživatele (register_subscriber), poté zařízení (register_device), pak získá seznam zemí (geo_list), ve kterých jsou proxy servery, a nakonec zjistí IP adresy těch proxy serverů (discover).
  • 9. Source Type: URL_REQUEST Rozkliknutím událostí typu URL_REQUEST zjistíte hlavičky těch požadavků. V současné Opeře verze 44 již obsah podstatných hlaviček výrobce skryl, v dřívějších verzích („VPN“ je ve vývojářské Opeře od verze 38) byl API klíč vypsán.
  • 10. Source Type: SOCKET Když výrobce skryl API klíč v URL_REQUEST, tak se dal ještě najít v události typu SOCKET, společně s tělem POST požadavku, pokud jste povolili zobrazování všech bajtů na záložce Capture. Od února 2017 (Opera 43) už je skrytý i tam.
  • 11. Source Type: HTTP_STREAM_JOB Jak tedy ověřit, že „VPN“ v Opeře je vlastně proxy? V detailu události typu HTTP_STREAM_JOB najdete nastavení Proxy auto-config (PAC), určující proxy servery, z nichž browser vybere jeden, který se pro vybraný požadavek použije.
  • 12. Source Type: SOCKET V události SOCKET je pak vidět i připojení na proxy server a poslání žádosti o otevření spojení na cílový web (zde ifconfig.co) metodou CONNECT. Ta se používá právě k tunelování HTTP požadavků. Všimněte si i dalších „proxy“ hlaviček.
  • 13. Registraci uživatele a získání IP adres proxy serverů jsem pro studijní účely reimplementoval. Vytvořil jsem v Pythonu skript, který vypíše IP adresy proxy serverů i jméno a heslo potřebné pro připojení k nim. Jmenuje se The Oprah Proxy a najdete ho na GitHubu. Oprah Winfrey v jedné show rozdávala auta, můj skript rozdává proxy servery. Název se asi zalíbil i v SurfEasy, VPN divizi Opery :-)
  • 14. Takto můj skript vypíše jméno a heslo pro proxy servery, které můžete použít třeba i ve Firefoxu. Na GitHubu naleznete ukázkový soubor pac.js a popis, jak ho využít. Secure proxy podporuje i curl od verze 7.52.0, která vyšla v prosinci 2016. Asi by bylo dobré upozornit, že při použití těchto proxy serverů se vygenerované username posílá s každým požadavkem, a že to celé může kdykoliv přestat fungovat.
  • 15. Opera tuhle „VPN“ technologii nevytvořila úplně sama, ale v březnu 2015 ji koupila společně s kanadskou firmou SurfEasy. Ta se stala „VPN divizí Opery“.
  • 16. Od července 2016 vlastní Operu (prohlížeč a jméno, ne celou firmu) konsorcium čínských společností. (Transakce byla dokončena v listopadu 2016.) Do prodaného balíčku patří i divize SurfEasy a její produkty.
  • 17. Jen si to představte: vaši firmu na VPN a proxy koupí norská společnost. Tu obratem koupí skupina čínských firem, včetně vás. No a pak v Číně zakážou VPN, resp. použití VPN musí schválit čínská vláda. To je ale pech, co?
  • 18. Opera nabízí také VPN aplikace pro iOS i Android. Obojí jsou klasické VPN, ne jen proxy servery. Asi by bylo dobré dodat, že „secure proxy“ v Opeře na zabezpečení prohlížení stránek proti hackerům v kavárnách a na konferencích stačí, jen není fér tomu říkat VPN. Nezapomeňte, že na anonymitu na Internetu VPN nestačí, a že ne každá VPN aplikace je stejně dobrá a bezpečná. MichalMichal ŠpačekŠpaček www.michalspacek.czwww.michalspacek.cz @spazef0rze@spazef0rze