Author: JirkaH Date: 2010-02-08 14:09:51 +0100 (Mon, 08 Feb 2010) New Revision: 1682 Modified: others/dokumentace/technicalGuide/architecture/0architecture.tex others/dokumentace/technicalGuide/architecture/3management.tex others/dokumentace/technicalGuide/architecture/9tools.tex Log: vpn described Modified: others/dokumentace/technicalGuide/architecture/0architecture.tex =================================================================== --- others/dokumentace/technicalGuide/architecture/0architecture.tex 2010-02-08 08:43:49 UTC (rev 1681) +++ others/dokumentace/technicalGuide/architecture/0architecture.tex 2010-02-08 13:09:51 UTC (rev 1682) @@ -64,7 +64,8 @@ \include{7communication} \include{8deployment} %programove nastroje, patri to sem vubec? -\include{9tools} +\include{ +9tools} Modified: others/dokumentace/technicalGuide/architecture/3management.tex =================================================================== --- others/dokumentace/technicalGuide/architecture/3management.tex 2010-02-08 08:43:49 UTC (rev 1681) +++ others/dokumentace/technicalGuide/architecture/3management.tex 2010-02-08 13:09:51 UTC (rev 1682) @@ -1,7 +1,5 @@ \chapter{NEsoftware} -%VPN atd.p - \section{Správa}\label{management} Jak vyplývá z požadavků uvedených v \textit{Analýze}, je správa potenciálně velkého množství kiosků velmi důležitým aspektem projektu. Bylo nutné vybrat takové řešení, které umožní spravovat kiosky s různým hw, umožní instalaci nových verzí softwaru, bezpečnostních záplat apod. Navíc je důležité, že dané @@ -68,10 +66,24 @@ Nejenom vzhledem ke zkušenostem autorů se systémem Nagios, se stal finálním řešením pro monitoring. V rámci projektu bylo nasazeno i monitorování pomocí Zabbixu, v praxi se však ukázalo jako ménně použitelné. -TODO : popsat jeste nejak co vse se pres nagious kontroluje +TODO : popsat jeste nejak co vse se pres nagios kontroluje \section{\label{security}Bezpečnost} -Dalším požadavkem na projekt byla bezpečnost komunikace mezi kioskem a serverem, respektive bezpečnost komunikace vůbec. Také vzhledem k požadavku možnosti přímého připojení na daný uzel, který +Dalším požadavkem na projekt byla bezpečnost komunikace mezi kioskem a serverem/ Také vzhledem k požadavku možnosti přímého připojení na daný uzel, který vyplývá z kapitol \ref{management} a \ref{monitoring} bylo rozhodnuto vytvořit virtuální privátní síť všech kiosků a použitých serverů. +K tomuto byl využit open source software OpenVPN \cite{openvpn}. Jedná se o de-facto standard pro vytváření virtuálních sítí pro Linuxové operační systémy, s podporou dalších operačních +systémů typu BSD, MAC OS, Solaris a dalších. + +OpenVPN umožňuje širokou škálu možností šifrování a autentizace za pomoci knihovny OpenSSL. Tímto je zajištěna bezpečná komunikace mezi klientem a kioskem, není tedy již potřeba řešit +bezpečnost v samotné klientské aplikaci. \\ + +Konkrétní nasazení v projektu je následující. VPN server slouží zároveň jako jako certifikační autorita a jsou zde generovány X.509 certifikáty pro klienty (kiosky i administrátory), +autentizace probíhá pomocí protokolů SSL/TLS. +Každému klientu je pak po autotentizaci přiřazena pevná IP adresa z rozsahu 10.248.0.0/16. To umožňuje zanést IP adresy ve virtuálních síti jednotlivých +do vlastního DNS v jedné doméně (.elvys) a přistupovat pak k jednotlivým kioskům pomocí jména nezávisle na způsobu připojení daného kiosku. Šifrování přenosů pak probíhá z důvodu rychlosti +pomocí symetrického šifrování algoritmem Blowfish. + +Momentálně je VPN server provozován na stejném serveru jako webový server projektu. Nic však nebrání pro VPN např. z výkonostních důvodů (veškerá komunikace mezi kioskem a webovým serverem, +včetně přenosů souborů bude probíhat přes VPN) vyhradit samostatný server. OpenVPN lze případně provozovat i v redundatním módu. Modified: others/dokumentace/technicalGuide/architecture/9tools.tex =================================================================== --- others/dokumentace/technicalGuide/architecture/9tools.tex 2010-02-08 08:43:49 UTC (rev 1681) +++ others/dokumentace/technicalGuide/architecture/9tools.tex 2010-02-08 13:09:51 UTC (rev 1682) @@ -10,4 +10,5 @@ \bibitem{puppet} \textbf{Puppet, configuration management tool} http://reductivelabs.com/products/puppet/ \bibitem{cfengine} \textbf{Cfengine, configuration management tool} http://www.cfengine.org/ \bibitem{quattor} \textbf{Quattor, configuration management tool} http://sourceforge.net/apps/mediawiki/quattor/ + \bibitem{openvpn} \textbf{OpenVPN} http://openvpn.net/ \end{thebibliography}