Archiv pro štítek: SSL

Jak obejít politiku Cisco AnyConnect VPN klienta

VPN klient blokuje přístup do LAN

Občas se potřebuji připojit k pracovní VPN. Používáme Cisco Anyconnect Secure Mobility Clienta, který si při každém připojení stáhne profil podle vybrané skupiny a následně podle toho co je v profilu buď blokuje přístup do lokální sítě (tedy i do internetu, pokud nevyužiji firemní proxy server).

Kdyby naše firemní proxy fungovala spolehlivě tak to vem čert, ale jelikož nefunguje dobře tak raději využívám svoje připojení do internetu. Profil VPN skupiny kterou používám pro připojení schválně blokuje přístup do LAN. Musím tedy neustále vypínat a zapínat VPN, podle toho jestli chci hledat něco v Google nebo se chci připojit na nějakou firemní aplikaci.

Jak obejít blokaci

Našel jsem postup na webu superuser.com, který krásně funguje. Ve zkratce jde o to že se zkompiluje jednoduchá knihovna, která bude odchytávat volání Cisco AnyConnect. VPN klient totiž přenastaví a následně hlídá routovací tabulku voláním nějaké funkce ve svojí knihovně. V tom mu zabráníme.

Kompilace knihovny

V první řadě je nutné vytvořit C++ soubor s názvem třeba hack.c:

Následně zkompilujeme do vlastní knihovny pomocí:

Výslednou knihovnu přesunout nejlépe k ostatním knihovnám AnyConnectu:

Nyní je nutné zastavit službu vpnagentd:

Po zastavení služby vpnagentd už stačí jenom upravit init skript, třeba pomocí editoru vi:

V init skriptu je nutné najít místo kde se spouští samotná binárka vpnagentd a upravit takto:

Po tomto kroku je již možné spustit vpnagentd:

Nastavení routingu

Nyní lze po připojení nastavovat libovolně routy – tedy je možné opravit to co nastaví AnyConnect client a používat plnohodnotně lokální síť současně s VPN. Já vždycky po připojení VPN spustím tyto příkazy:

První příkaz odstraní blokování nastavené v iptables (ano – to taky nastavil Cisco AnyConnect, díky). Druhý smaže routu která říká že všechno poleze do rozhraní cscotun0. Třetí příkaz řekne že do rozhraní cscotun0 poleze pouze síť 192.1.0.0/16.

 

SSL certifikáty na jeden rok zdarma

Již dříve jsem psal o tom jak vytvořit certifikát. Dnes jsem si zaregistroval novou doménu a potřeboval jsem pro ni získat důvěryhodný certifikát. Již brzy (3.12.2015) by měla být spuštěna veřejná beta verze projektu Letsencrypt na kterou se už moc těším a doufám že ji můj webhosting ihned implementuje. Pomocí ní bude možné generovat důvěryhodné certifikáty zdarma. O Letsencrypt píšou třeba na root.cz.

Nechtělo se mi tedy samozřejmě za certifikát pro testovací doménu platit – takže jsem zagooglil a našel jsem společnost čínskou společnost WoSign, která nabízí důvěryhodný certifikát na jeden rok zcela zdarma. Stačí se zdarma zaregistrovat, ověřit doménu pomocí e-mailu nebo nahráním vygenerovaného html souboru.

Zdroj: https://www.ohling.org/blog/2015/02/wosign-free-2y-ssl-certificate.html

 

 

Jak vytvořit SSL certifikát

Nejdříve si vždy vygeneruji privátní klíč a s ním rovnou žádost o podepsání certifikátu:

Žádost dopravím klidně nezabezpečeným komunikačním kanálem k certifikační autoritě která mi žádost podepíše a v tu chvíli vzniká certifikát – vrácený podepsaný CSR požadavek od certifikační autority.

Dreamhost.com

Novější verze OpenSSL vkládají na začátek privátního klíče místo hlavičky  BEGIN RSA PRIVATE KEY  hlavičku BEGIN PRIVATE KEY  protože soubor obsahuje privátní klíč a OID (identifikátor objektu) který identifikuje typ klíče. Pro převedení na starý styl používám tento příkaz:

SSL certifikáty zdarma

Pokud se někomu nechce platit, nebo potřebuje pouze testovat doporučuji nechat si podepsat certifikát u jedné z těchto autorit:

Tyto autority mají výhodu v tom, že jsou předinstalovány jako důvěryhodné skoro v každém zařízení – i v mém telefonu s Androidem.