Stovky zařízení přes OpenVPN nebo IPsec?

Stovky zařízení přes OpenVPN nebo IPsec?
« kdy: 15. 05. 2014, 02:44:33 »
Ahoj,
nedavno jsem na rootu resil, jak sbirat data z nekolika set krabicek. Nakonec jsem se rozhodl pro FTP. FTP prenos bude zabezpeceny VPN tunelem, ten potrebuji i kvuli sprave a monitoringu krabicek (ssh, nagios,...).

Nejradeji bych pouzival pro overovani krabicek jmeno a heslo misto certifikatu (vim, certifikat je lepsi). Kazda krabicka musi musi dostat vzdy stejnou neverejnou IP, aby ji bylo mozno vzdalene ovladat/monitorovat.
Vsechny krabicky musi videt na server a server na krabicky. Krabicky se mezi sebou nesmi videt. To by nemel byt problem poresit pres iptables.
Databazi uzivatelsky jmen a hesel mam v MySQL. Rad bych ji proto propojil s VPN. Take bych mel rad v db IP adresy krabicek prirazene ke jmenum/heslum.
Krabicky budou mit vsechny OpenWrt.


Ted resim problem, jakou vybrat VPN. Zatim jsem vzdy na vsech serverech pouzival OpenVPN s certifikaty k plne spokojenosti.
Ale ted se chci certifikatum vyhnout.
Overovani jmenem a heslem z MySQL by melo byt bez problemu.

Problem bude s pevnou IP pro klienty. Nasel jsem hodne navodu pomoci client-config-dir.
Do konfiguraku serveru se da: "client-config-dir /etc/openvpn/staticclients"
a kazdy klient pak ma svuj soubor s nastavenim:
Kód: [Vybrat]
$cat /etc/openvpn/staticclients/uzivatelskeJmenoTestovacihoKlienta1
ifconfig-push 10.20.30.123 255.255.255.0
Asi to bude fungovat, ale ja chci mit IP v databazi.
Dalsi co jsem nasel, je nastavit OpenVPN, aby se overovala proti FreeRADIUSu, ktery si taha jmena a hesla z MySQL. Komplikovane, ale asi funkcni. Zatim se mi to zda jeko nejlepsi reseni.


Take jsem dost uvazoval o IPsec. S IPsec mam zkusenosti pouze jako klient, IPsec server jsem nikdy nenastavoval.
Myslite, ze je na to, co popisuji misto OpenVPN lepsi pouzit IPsec?

Trochu jsem googlit info o IPsec v linuxu a mam v tom poradny zmatek. Nasel jsem racoon, strongswan a openswan. Nikde poradne srovnani vyhod/nevyhod co pouzit.

Musim tedy pouzit  L2TP/IPSec? IPsec na sifrovani a L2TP na tunel?
Chapu dobre, za IPsec pouziva bud certifikaty, nebo sdileny PSK klic?
Co jsem googlil, tak by melo jit spojit XL2TPD + FreeRADIUS + MySQL - takze budu tahat databazi jmen a hesel uzivatelu z MySQL (to chci). Jak ale poresim jmeno/heslo u IPsec? To budu muset kazde krabicce generovat certifikaty? Spolecne heslo se mi zda jako absolutni nesmysl, vhodny pouze pro domaci VPN...
Pevnou IP klientovi by mohlo jit dat pomoci radiusu (Framed-IP-Address).
Kdyz vidim v tutorialech na IPsec nastavovani PPP, vzpominam na nastavovani dial-upu. Priserna syntaxe a nastaveni pppd je porad stejna :-(

Jak je na tom IPsec s pruchodem NATy? Asi spatne. OpenVPN ma jeden TCP, nebo UDP port. IPsec ma vice portu a IP protokolu.


Co vybrat?

Na OpenVPN vidim jediny problem: nastaveni pevne IP pro klienta z databaze (ale to mozna taky pujde).
Na IPsec vidim vice nevyhod, nez vyhod. Mozna proto, ze mu nerozumim. Ale rad se necham presvedcit o opaku a zacnu se o IPsec vice zajimat.

Zatim se mi nejvic libi kombinace OpenVPN + FreeRADIUS + MySQL.
« Poslední změna: 15. 05. 2014, 09:37:09 od Petr Krčmář »
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."


Petr Bravenec

Re:Pripojeni stovek zarizeni k serveru. OpenVPN, nebo IPsec?
« Odpověď #1 kdy: 15. 05. 2014, 06:27:00 »
Několik set krabiček? To je ve vaší vlastní síti, nebo různě rozházené po internetu za devatero naty a devatero firewally? Budu vycházet z té druhé alternativy, že jsou krabičky různě po internetu. V každém případě bych to řešil jinak - co nejjednodušeji. FTP, ssh, l2tp vám chodit nebude. Protokol esp taky ne. O to se vám postarají správcové sítí, kteří vám dokážou zakázat cokoliv - řeknete jim "povolte mi port UDP 1702" a bude vám chodit všechno ostatní, jenom port UDP 1702 ne a neuděláte s tím vůbec nic. Řešte vše přes porty 80 a 443 co nejjednodušeji.

K ipsec:
IPsec je šifrování na úrovni IP, má dva režimy:
transport - mezi dvěma počítači se šifruje obsah paketů, hlavičky zůstávají
tunel - mezi dvěma počítači (routery) se šifruje i obsah hlaviček
IPsec není VPN v tom smyslu, jak ho asi chápete, pokud máte zkušenosti s OpenVPN. Je to prostě jen šifrování mezi dvěma body v síti, ale VPN s tím uděláte taky. Pro konkrétní realizaci bych zvolil jednoznačně racoon. IPsec se dá nastavit i tak, aby procházel skrz nat. Použít se dá i heslo.

L2tp je protokol pro vytvoření tunelu skrz nat, pro IPsec to nepotřebujete. Ve spolupráci s PPP se vytváří jen tunel, bez šifrování. Obvykle se pak v tomto tunelu spustí IPsec (ip adresy už jsou stejné), ale já to používám právě pro podobné krabičky i jinak: přiděluji krabičce veřejnou IPv6 adresu, pak se na ni dostanu odkudkoliv.

Nedejte se zmást IPv6
http://www.abclinuxu.cz/blog/Bravenec/2011/2/ipsec-pres-ipv6...-aneb-vpn-tam-kde-zadnou-nepotrebujete
http://www.linuxsoft.cz/article.php?id_article=1800
http://www.abclinuxu.cz/blog/Bravenec/2013/2/ipv6-neni-jen-nahradou-ipv4-je-to-uplne-novy-internet
http://www.linuxsoft.cz/article.php?id_article=1961


Re:Pripojeni stovek zarizeni k serveru. OpenVPN, nebo IPsec?
« Odpověď #2 kdy: 15. 05. 2014, 12:45:35 »
>> Několik set krabiček? To je ve vaší vlastní síti, nebo různě rozházené po internetu za devatero naty a devatero firewally?
Presne tak, krabicky budou v ruznych sitich s ruznymi firewally.

>> já to používám právě pro podobné krabičky i jinak: přiděluji krabičce veřejnou IPv6 adresu, pak se na ni dostanu odkudkoliv.
Zajimave reseni, takhle jsem predtim vubec neuvazoval.
Takze na centralnim serveru mate IPv6 a pomoci VPN dostanete sestky ke koncovym krabickam?

Ja se zatim nejvic priklanim k OpenVPN. Uz jen ta vyhoda s firewally. V nejhorsim pripade rozjedu tunel na TCP 443 a proloze to absolutne vsude.
Zabezpeceni je taky ok. Urcite se driv nebo pozdeji najde chytrak, ktery se k OpenWrt krabicce pres RS-232 pripoji a bude se snazit delat bordel. Proto se mi nelibi PSK klice.
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."

M.

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #3 kdy: 15. 05. 2014, 13:18:55 »
Použijte to OpenVPN, já používám pro podobnou situaci SSTP, které jede rovnou přes port 443. A rozhodně nepočítejte s tím, že to pojede i po tom portu TCP/443 všude. Od slušně udělané sítě očekávám, že z LAN po L2 neexistuje cesta do Internetu, ale musí skrz proxy server a nejlépe i s ověřováním, případně i volovin typu, že se HTTPS povoluje jen na servery, které předkládají certifikáty podepsané něčím vybraným/uznaným, případně se přímo dělá HTTPS hijacking a DPI na obsah spojení a tunely se shazují. A v řadě firem (krabičky mám aktuálně na všech kontinentech, vyjma Jižního pólu) to tak je, takže to budete muset řešit. OpenVPN asi umí i proxinu použít, pokud nebude požadavek na nějaké exotičtější ověření typu Kerberos. To je pak třeba dojednat vyjímku do proxiny/firewallu/umístění do dmz, ať povolí klienta, cílovou IP bez ověření nebo digest.
Dále se zaměřte na to, jaký máte výkon na tom centrálním serveru a jak tlustou linku. Jen ta komunikace samostného protokolu udělá něco dat. Potom stovka tunelů už vyvolává často překlíčování a pokud jsem paranoidní, co se délky klíčů a algoritmů týče, tak to serveru také cukne s CPU. A v neposlendí řadě řešte, jak ošetříte situaci, že bude muset nastat změna IP adrey toho serveru a aby klientské krabičky si našly novou. Ať už, že přes DNS a počítám s tím, že krabičce může trvat den, než to k ní v DNS doputuje (někdy i déle, v řadě míst se na něco jako TTL v DNS kašle). Já to dělám tak, že mám agregační routery dva, dvě linky od různých ISP, nejlépe každý s vlastním AS (už to minimalizuje riziko změny IP), takže pokud by jedna linka vypadla nebo byla nečekaná změna IP (už jsem zažil několikrát), tak se nic neděje, mám pořád druhou cestu. Ale pokud zrovna neřídíte elektrocentrálu na letišti na druhém konci světa, tak stačí i něco míň sofistikovaného (to DNS, hlavně ne IP adresa v konfigruaci natvrdo). :-)

karel

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #4 kdy: 15. 05. 2014, 16:50:40 »
Sry,
ale ten dotaz zni jak kdyby nekdo kdo ma u turris na starosti ziskavani dat, najednou vypl sledovani simpsnu a narychlo resil jak vlastne s tech routru dostat data na server, a jak jim sem tam poslat aktualizace.
 
Ja ti nevim proc to delat tak strasne slozite. Nevim proc by server mel videt na krabicky prijde mi to jako blbost, preci bohate staci kdyz se krabicka dovola serveru, a pak v spojeni si muzes posilat zpravy sem tam jak se ti zliby, nekdo tu psal ze mezi krabickou a serverem muze byt cokoliv, a proto na svet prisli websokety pres ktere protahas uplne vsechno. A zabezpecit se to da taky, ssl baseauth ci si navrhnout nejakej vlastni protokol pod tim.

Co vlastne zbiras za data a kolik toho bude.


Lol Phirae

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #5 kdy: 15. 05. 2014, 17:04:09 »
Totální overengineering a šílenost, totálně nespolehlivé. Proč proboha FTP (notoricky problémové s firewally), navrch to ještě zkombinujem s nějakou VPN, ideálně taky notoricky problémovou s firewally, ideální nějaký IPSec, kde aby člověk dvě kompatibilní implementace hledal tak Keplerovým teleskopem. Krom toho, to mrhání výkonem. Na takovou blbost by při normálním návrhu jinak stačila X let stará šunka, na několik set tunelů bude quad-core málo.

M.

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #6 kdy: 15. 05. 2014, 17:21:54 »
No, tím, že si udělá prvně tunel, tak pak v něm si už může honit co chce, ty firewally po cestě ho pak nezajímají. Souhlasím, že IPsec je problematický, proto je rozumnější něco, co poleze po tom 443 portu, ať už OpenVPN nebo SSTP.
Pokud chce mít shell přístpup do těch krabiček a ladit tam něco interaktivně na dálku, tak to VPNko není k zahození. Toho výkonu bych se nebál. Stejně bude limitován tlouštkou linku na straně toho serveru. 200 tunelů na SSTP utáhne na 100 Mbps lince i blbej Mikortik RB1100AHx2, a to je v tom nějaký slabý PowerPC dual core procák (a nevyužívá to ani hardwarovou podporu pro AES, protože ta funguje jen pro IPsec).

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #7 kdy: 15. 05. 2014, 17:31:50 »
Sry,
ale ten dotaz zni jak kdyby nekdo kdo ma u turris na starosti ziskavani dat, najednou vypl sledovani simpsnu a narychlo resil jak vlastne s tech routru dostat data na server, a jak jim sem tam poslat aktualizace.
 
Ja ti nevim proc to delat tak strasne slozite. Nevim proc by server mel videt na krabicky prijde mi to jako blbost, preci bohate staci kdyz se krabicka dovola serveru, a pak v spojeni si muzes posilat zpravy sem tam jak se ti zliby, nekdo tu psal ze mezi krabickou a serverem muze byt cokoliv, a proto na svet prisli websokety pres ktere protahas uplne vsechno. A zabezpecit se to da taky, ssl baseauth ci si navrhnout nejakej vlastni protokol pod tim.

Co vlastne zbiras za data a kolik toho bude.

Opravdu nejde o Turris. S CZ.NIC nemam nic spolecneho :-D
Jasne, puvodne jsem chtel taky jen kopirovaci protokol (jako FTP). Ale kdyz se takhle neco podela, mam u VPN se do krabicky pripojit pres SSH. Taky muzu mit Nagios, Monit proste cokoliv na sledovani. Ono se hodi prehled o siti a vedet, kde co prestalo fungovat driv, nez si zakaznik zacne stezovat.
Verejnou IP fakt nemuzu mit pro kazdou krabicku, navic wifi router za 800Kc by mel problem, kdyby se 200 lidi snazilo pripojit soucasne na ssh.

Rikejme tomu treba "raw data", na funkci to nema vlic. Nedaji se nijak komprimovat a je jich zhruba do 1MB/min. A to 4x na kazde krabicce.


Totální overengineering a šílenost, totálně nespolehlivé. Proč proboha FTP (notoricky problémové s firewally), navrch to ještě zkombinujem s nějakou VPN, ideálně taky notoricky problémovou s firewally, ideální nějaký IPSec, kde aby člověk dvě kompatibilní implementace hledal tak Keplerovým teleskopem. Krom toho, to mrhání výkonem. Na takovou blbost by při normálním návrhu jinak stačila X let stará šunka, na několik set tunelů bude quad-core málo.

IPsec jsem uz zavrhnul. S OpenVPN jsem zatim vzdy prolezl i tim nejvic restriktivnim firewallem. OpenVPN ma jeden TCP, nebo UDP port. V ramci VPN tunelu uz pak neni problem s porty u FTP.
Jako ze jaka sunka? Misto routeru za 800Kc a spotrebou 5W tam mam hodit pocitac za 1500Kc (ve sberne mozna zadarmo) se spotrebou 50W?
Takze na sifrovany vpn tunel musim mit quad-core, ale na sftp, https, ftps a jine sifrovane prenosy souboru ne?
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."

Lol Phirae

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #8 kdy: 15. 05. 2014, 17:48:10 »
Jako ze jaka sunka? Misto routeru za 800Kc a spotrebou 5W tam mam hodit pocitac za 1500Kc (ve sberne mozna zadarmo) se spotrebou 50W?

Šmarjá, bavím se o tom monitorovacím serveru.

Rikejme tomu treba "raw data", na funkci to nema vlic. Nedaji se nijak komprimovat a je jich zhruba do 1MB/min. A to 4x na kazde krabicce.

Aha. Takže, 0.5 Mbps na každou krabičku. Krát několik set. No, na ten "blbej Mikrotik" to vážně nevidím. Už ses zabýval tím, na jakém stroji to poběží? A kam to budeš ukládat? A ty krabičky mají jakou konektivitu? Tohle když uděláš lidem na xDSL, tak tě asi zabijou, protože těch půl megabitu je v příznivém případě tak půlka jejich upstreamu.

Lol Phirae

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #9 kdy: 15. 05. 2014, 17:51:57 »
A jinak, nějaký speciální důvod, proč jsi na tohle založil další téma, když už jedno máš?

http://forum.root.cz/index.php?topic=8977.0

karel

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #10 kdy: 15. 05. 2014, 18:01:36 »
Jasne, puvodne jsem chtel taky jen kopirovaci protokol (jako FTP). Ale kdyz se takhle neco podela, mam u VPN se do krabicky pripojit pres SSH. Taky muzu mit Nagios, Monit proste cokoliv na sledovani. Ono se hodi prehled o siti a vedet, kde co prestalo fungovat driv, nez si zakaznik zacne stezovat.

No z mych zkusenosti, kdyz se prestane krabicka ozivat serveru, tak je ta chyba tak vazna ze stejne je nutny fyzicky zasach. Max jeste pokus o wol a kdyz ani ten nepomuze tak se proste projdu, nebo projedu.

j

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #11 kdy: 15. 05. 2014, 18:16:55 »
Taky muzu mit Nagios, Monit proste cokoliv na sledovani.

... provozoval si nekdy neco takovyho pro aspon 20+ zarizeni? Podle toho co pises zjevne nikoli. Mam tu zabbixe v nem nejakych 30 kousku ... jen databaze ma cca 20GB. Pouziva se pro podrobnejsi monitoring serveru/switchu/.. Pak tu mam jeste lansweeper - scanuje sit a zjistuje co se zmenilo (HW/SW) - mozna tak sakumprask 250 kousku HW. Vpohode to na 100% sezere 4 jadro.

Pokud chces sledovat stovky zarizeni, priprav si na to desitky Mbit, stovky GB prostoru a desitky procesoru.

Lol Phirae

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #12 kdy: 15. 05. 2014, 18:50:38 »
... provozoval si nekdy neco takovyho pro aspon 20+ zarizeni? Podle toho co pises zjevne nikoli. Mam tu zabbixe v nem nejakych 30 kousku ... jen databaze ma cca 20GB. Pouziva se pro podrobnejsi monitoring serveru/switchu/.. Pak tu mam jeste lansweeper - scanuje sit a zjistuje co se zmenilo (HW/SW) - mozna tak sakumprask 250 kousku HW. Vpohode to na 100% sezere 4 jadro.

Na stejné téma... nedávno jsem si říkal, že bych zas po delší době vyzkoušel Zenoss. Tak jsem to nahodil na virtuálu s CentOS 6.5. Přidělil jsem tomu 4 jádra a 8GiB RAM. No přátelé, tudy cesta nevedla. Po mnohaminutovém bootování systému koukám, co se děje, no vono to ještě nenaběhlo, zato těch 8GiB bylo evidentně málo a začalo to swapovat. Přešli na jakousi "entrprajs" Java technologii. Tak jsem to zase hned smazal.  ::) :o >:(

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #13 kdy: 15. 05. 2014, 19:10:45 »
... provozoval si nekdy neco takovyho pro aspon 20+ zarizeni? Podle toho co pises zjevne nikoli. Mam tu zabbixe v nem nejakych 30 kousku ... jen databaze ma cca 20GB. Pouziva se pro podrobnejsi monitoring serveru/switchu/.. Pak tu mam jeste lansweeper - scanuje sit a zjistuje co se zmenilo (HW/SW) - mozna tak sakumprask 250 kousku HW. Vpohode to na 100% sezere 4 jadro.
Tak jiste, se Zabbixem se neni cemu divit :) Oproti tomu Nagios si muze nastavit uplne libovolne - historii bude mit tak velkou, jak velkou ji bude chtit. S CPU a konektivitou nic moc neudela, to je proste pocet krabicek krat konstanta. Ale jinak bych v tom nevidel problem, pokud si rozumne nastavi pozadavky.

Nadavat na to, ze tobe to zere ctyrjadro, to je jako kdyz nekdo rekne ze syslog je blbost, protoze mu Logstash+elasticsearch+kibana vytezuje cluster s dvaceti stroji :)

Tak jsem to zase hned smazal.  ::) :o >:(
Coz je ostatne taky jedna z mala veci, na kterou se Zenoss fakt vyborne hodi. Fit for purpose :)

Lol Phirae

Re:Stovky zařízení přes OpenVPN nebo IPsec?
« Odpověď #14 kdy: 15. 05. 2014, 19:24:23 »
Coz je ostatne taky jedna z mala veci, na kterou se Zenoss fakt vyborne hodi. Fit for purpose :)

Njn. Ale vzpomínám si, že když jsem to zkoušel předtím, bylo to celkem svižné a relativně nenáročné, akorát hrozně zabugované. Tedy, ono to bylo před drahnou dobou. Pokrok evidentně nezastavíš.  ::)