Creació de Màquines Virtuals (Servidors)

L'automatització de les tasques de configuració i d'instal·lació permet estalviar temps i recursos, a més d'eliminar el risc associat amb l'error humà.

MaadiX utilitza diferents tecnologies en el procés de creació i configuració dels servidors. Es tracta de tecnologies molt consolidades, utilitzades per grans organitzacions, universitats i empreses per al control remot d'altres dispositius de manera automatitzada.

MaadiX ha adaptat la manera com s'implementen aquestes tecnologies per a beneficiar-se dels seus avantatges en un entorn en el qual els ordinadors remots són independents i prenen decisions. D'aquesta manera, al contrari del que passa en una empresa o organització, MaadiX perd el control remot sobre els servidors que crea, però segueix disponible en cas de que un client sol·liciti una nova instal·lació.

Actua com un repositori que a més proporciona totes les instruccions i els comandaments necessaris per instal·lar i configurar les aplicacions. Acabada la tasca, el servidor client tanca la comunicació amb el repositori de MaadiX.

  • OpenNebula: Solució per a crear núvols i administrar la virtualització. OpenNebula orquestra l'emmagatzematge, la xarxa, els serveis de virtualització, així com el control i la seguretat dels serveis desplegats. [+ info]
  • Ansible: Plataforma per a configurar i administrar ordinadors. Es comunica amb els nodes via SSH i pot executar nombroses tasques d'instal·lació i de configuració. Per això està categoritzada com una eina d'orquestració. A MaadiX s'utilitza només en el moment d'instanciar els servidors dels quals ve successivament eliminat. [+ info]
  • Puppet: Eina dissenyada per administrar la configuració de sistemes de manera declarativa. A MaadiX, Puppet actua com si fos un repositori. Els nodes (servidors dels clients) sol·liciten a aquest repositori el software que volen i Puppet s'encarrega de que la configuració desitjada es porti a terme. Puppet utilitza un paradigma de programació declaratiu: es “declaren” un conjunt de condicions indicant què és el que es desitja obtenir, sense necessitat de detallar els comandaments específics del sistema operatiu. [+ info].

     

    En MaadiX hem desenvolupat un sistema que ens permet utilitzar aquesta tecnologia sense haver de conèixer ni emmagatzemar dades sensibles tals com a contrasenyes personals o d'usuaris de sistema. Tota aquesta informació, generada i emmagatzemada localment en els nodes, no és transmesa externament a cap moment.

 

 

Què inclouen els servidors instanciats amb MaadiX?

Als servidors s'instal·la Debian 8.4 (jessie) 3.16.0-4-amd64 i es virtualitzen utilitzant KVM com a hypervisor. Els recursos que s'assignen són variables, depenent de les necessitats de l'usuari (CPU, RAM, espai en disc).

A banda de les aplicacions que els usuaris poden escollir instal·lar, hi ha una sèrie de software i serveis que s'instal·len per defecte. Aquí hi ha una llista dels principals: Apache 2.4.10, MySQL 5.5.54, Let's Encrypt, PostFix 2.11.3, DoveCot 2.2.13, Fail2ban 0.8.13, SSH 6.7. OpenLDAP 2.4.40, Monit…

A més, s'instal·la el panell de control, que permet administrar els serveis i les aplicacions. Es tracta d'una eina desenvolupada per MaadiX i que permet la gestió d'usuaris, permisos, dominis, configuracions, instal·lacions i actualitzacions des d'un entorn gràfic.

Les tasques que es poden portar a terme des del panell de control són tasques avançades, que normalment requereixen alts privilegis al sistema. Tot i així, per qüestions de seguretat, el panell de control no té aquests privilegis. Com funciona?

Tots els servidors tenen instal·lat OpenLDAP. El directori LDAP conté dades sobre usuaris, dominis, comptes de correu electrònic i aplicacions.

El panell de control és la interfície gràfica per administrar aquest directori, i el sistema extraurà del mateix la informació necessària per a la seva configuració. D'aquesta manera, el panell de control no necessita els privilegis necessaris per escriure directament aquesta informació al sistema.

Autentificació

L'autenticació dels usuaris es porta a terme a través del mòdul pam_ldap per a serveis com OpenVPN, SSH i Apache o a través de dovecot SASL per al servidor de correu. El sistema buscarà l'usuari al directori LDAP, comprovant que les credencials siguin correctes i que tingui autorització per al servei sol·licitat. D'aquesta manera, el control sobre els accessos permesos al sistema es centralitza i simplifica, a més de protegir-se a través d'un canal de transmissió segur entre el servidor LDAP i els diferents serveis amb SSL (Secure Socket Layer).

Dominis

Per als dominis activats des del panell de control es crearà la configuració d'Apache necessària per a que puguin ser accessibles des de qualsevol navegador. El sistema preguntarà periòdicament al directori LDAP quins dominis han d'estar habilitats i crearà els virtual hosts corresponents de manera automàtica. Per raons de seguretat, sempre s'activa el protocol HTTPS per a cada domini o subdomini i es redirigeixen totes les peticions a aquest protocol pel port 443.