Diferència entre revisions de la pàgina «Ciérrate, Sésamo»
(139 revisions intermèdies per 2 usuaris que no es mostren) | |||
Línia 3: | Línia 3: | ||
== Memòria tècnica == | == Memòria tècnica == | ||
− | + | === Idea === | |
+ | La idea del nostre projecte és montar un sistema de virtualització amb diferentes xarxes en les quals es pot configurar qualsevol servei sense gaires problemes. | ||
+ | |||
+ | [[Fitxer:DIAGRAMA SOLO REDES.jpg|800px|centre]] | ||
+ | |||
+ | Amb PROXMOX podem tenir control en tot moment de les màquines que treballen dins dels nodes configurats com a clúster i, en cas de que hi hagi problemes, imposar ràpides solucions sense que el servei es vegi greument afectat. <br> | ||
+ | L'entorn PROXMOX té dins un router que fa de BASTION host amb dues línies connectades a un ISP(aquest està simulat amb una màquina fora de l'entorn PROXMOX amb dues interfícies connectades al BASTION host),rere el pfSense, podriem montar qualsevol cosa però ens hem decidit per l'aplicació NextCloud . | ||
+ | |||
+ | ==== Objectius ==== | ||
+ | ✏ Control sobre el tràfic a nivell de xarxa <br> | ||
+ | ✏ Entorn virtualitzat estable, escalable i funcional. <br> | ||
+ | ✏ Securització del sistema dins l'entorn. <br> | ||
+ | ✏ Posada a punt d'un sistema sencer per l'aplicació que vulguem. | ||
+ | |||
+ | === Requeriments tècnics === | ||
+ | ==== Diagrama de xarxa ==== | ||
+ | [[Fitxer:cisco.jpg|centre]] | ||
+ | |||
+ | ==== Software ==== | ||
+ | ---- | ||
+ | ===== Sistemes operatius ===== | ||
+ | Hem decidit utilitzar programari de codi obert degut a la facilitat de trobar informació i ajuda per internet a més de per la falta de llicències de sistemes operatius de codi tancat. | ||
+ | Els sistemes operatius de codi tancat d'aquest projecte només s'han utilitzat per proves de compabilitat. | ||
+ | |||
+ | ;✏ ''Proxmox 4.4 ''<br> | ||
+ | ➥L'hem utilitzat com entorn de virtualització.<br> | ||
+ | ;✏ ''PfSense 2.3.4''<br> | ||
+ | ➥Utilitzat com ROUTER, FIREWALL , BASTION host.<br> | ||
+ | ;✏ ''Centos 7 Gnome-Desktop''<br> | ||
+ | ➥El nostre NFS server.<br> | ||
+ | ;✏ ''Ubuntu''<br> | ||
+ | ✏ ''Ubuntu Server 16.04''<br> | ||
+ | ➥Màquines client.<br> | ||
+ | ✏ ''Ubuntu Desktop 16.04''<br> | ||
+ | ➥Servidors LDAP,MYSQL,NextCloud.<br> | ||
+ | ;✏ ''Windows'' (Només testeig.)<br> | ||
+ | ✏ ''Windows 7''<br> | ||
+ | ✏ ''Windows XP''<br> | ||
+ | |||
+ | ===== Aplicacions,paquets i programari ===== | ||
+ | |||
+ | Implementades al sistema | ||
+ | # NextCloud | ||
+ | # NFS | ||
+ | # VMWare | ||
+ | # Port Knocking | ||
+ | # LDAP | ||
+ | # Latch | ||
+ | Paquets a linux | ||
+ | # nmap (per escanejar ports) | ||
+ | # knockd (dimoni port knocking) | ||
+ | # LAMP (Servidor WEB per NextCloud) | ||
+ | |||
+ | No funcionals | ||
+ | #SnagIT editor (Per documentació) | ||
+ | #TeamViewer (Accès remot) | ||
+ | #MobaXterm (Accès ssh des de Windows) | ||
+ | |||
+ | ==== Hardware ==== | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ;➥ Clúster Lenovo ThinkCentre <br> | ||
+ | |||
+ | *Especificacions per cada node | ||
+ | ✏ [email protected]<br> | ||
+ | ✏ 8GB de RAM <br> | ||
+ | [[Fitxer:Hardware lenovo.jpg|thumb|973px|centre|Informació extreta amb la comanda '''lshw -short '''.]] | ||
+ | ;➥ Portàtils de clase<br> | ||
+ | '''◊ Portàtil isp'''<br> | ||
+ | [[Fitxer:Recursos portatil.jpg|centre|800px|thumb]] | ||
+ | '''◊ Portàtil CentOS'''<br> | ||
+ | [[Fitxer:Recursos centos.jpg|centre|thumb|800px]] | ||
+ | [[Fitxer:discos centos.jpg|centre|800px|thumb]] | ||
+ | ;➥ Switch CISCO.<br> | ||
+ | Si volem configurar aquest switch, podem fer-ho següint aquesta guía de referència feta pels companys de VIVEMP: ** | ||
+ | * [[Configuraci%C3%B3n de Switch Cisco 2950]] | ||
+ | |||
+ | ==== Configuracions ==== | ||
+ | |||
+ | ===== ▪ pfSense ===== | ||
+ | |||
+ | * '' Balanceig de càrrega i FAIL OVER '' | ||
+ | [[Fitxer:pfsense23.jpg|thumb|centre|800px]] | ||
+ | * ''Verificació status gateways '' | ||
+ | [[Fitxer:pfsense24.jpg|thumb|centre|800px]] | ||
+ | [[Fitxer:pfsense25.jpg|thumb|centre|800px]] | ||
+ | * '' WAN RULES '' | ||
+ | [[Fitxer:pfsense26.jpg|thumb|centre|800px|WAN1.]] | ||
+ | [[Fitxer:pfsense27.jpg|thumb|centre|800px|WAN2.]] | ||
+ | * '' LAN RULES '' | ||
+ | [[Fitxer:pfsense28.jpg|thumb|centre|800px|LAN net.]] | ||
+ | * '' DMZ RULES '' | ||
+ | [[Fitxer:RULES DMZ.jpg|thumb|centre|800px|DMZ net.]] | ||
+ | * '' NATPD WAN TO DMZ '' | ||
+ | [[Fitxer:pfsense29.jpg|thumb|centre|800px|NATPD.]] | ||
+ | |||
+ | ===== ▪ PROXMOX ===== | ||
+ | <div style="text-align:center">"Salud" del clúster.</div> | ||
+ | [[Fitxer:datacenter1.jpg|thumb|centre|800px]] | ||
+ | <div style="text-align:center">Característiques del clúster i gestió de recursos.</div> | ||
+ | [[Fitxer:datacenter clúster.jpg|centre|500px|thumb]] | ||
+ | <div style="text-align:center">Recursos del node 1</div> | ||
+ | [[Fitxer:recursos nodo1.jpg|centre|500px|thumb]] | ||
+ | <div style="text-align:center">Recursos del node 2:</div> | ||
+ | [[Fitxer:recursos nodo2.jpg|centre|500px|thumb]] | ||
+ | <div style="text-align:center">Configuració del adaptador de xarxa del node 1:</div> | ||
+ | [[Fitxer:network nodo1.jpg|centre|500px|thumb]] | ||
+ | <div style="text-align:center">Configuració del adaptador de xarxa del node 2:</div> | ||
+ | [[Fitxer:network nodo2.jpg|centre|500px|thumb]] | ||
+ | ===== ▪ LDAP ===== | ||
+ | [[Fitxer:ldap phpldapadmin.jpg|centre]] | ||
+ | |||
+ | #cat ldap.ldif | ||
+ | # Objeto 1: dc=naxvanbautista,dc=local | ||
+ | dn: dc=naxvanbautista,dc=local | ||
+ | dc: naxvanbautista | ||
+ | o: NAXVANBAUTISTA | ||
+ | objectclass: top | ||
+ | objectclass: dcObject | ||
+ | objectclass: organization | ||
+ | |||
+ | # Objeto 2: cn=admin,dc=naxvanbautista,dc=local | ||
+ | dn: cn=admin,dc=naxvanbautista,dc=local | ||
+ | cn: admin | ||
+ | description: LDAP administrator | ||
+ | objectclass: simpleSecurityObject | ||
+ | objectclass: organizationalRole | ||
+ | userpassword: {SSHA}axCA3aWo+nyVSkA0M8ESclFMUcjSG/80 | ||
+ | |||
+ | # Objeto 3: ou=grups,dc=naxvanbautista,dc=local | ||
+ | dn: ou=grups,dc=naxvanbautista,dc=local | ||
+ | objectclass: organizationalUnit | ||
+ | ou: grups | ||
+ | |||
+ | # Objeto 4: cn=NextCloudAdmins,ou=grups,dc=naxvanbautista,dc=local | ||
+ | dn: cn=NextCloudAdmins,ou=grups,dc=naxvanbautista,dc=local | ||
+ | cn: NextCloudAdmins | ||
+ | gidnumber: 5101 | ||
+ | memberuid: nextcloudadmin | ||
+ | objectclass: posixGroup | ||
+ | objectclass: top | ||
+ | |||
+ | # Objeto 5: cn=nextcloudusers,ou=grups,dc=naxvanbautista,dc=local | ||
+ | dn: cn=nextcloudusers,ou=grups,dc=naxvanbautista,dc=local | ||
+ | cn: nextcloudusers | ||
+ | gidnumber: 5001 | ||
+ | memberuid: naxvansito | ||
+ | memberuid: paquito | ||
+ | objectclass: posixGroup | ||
+ | |||
+ | # Objeto 6: cn=visitantes,ou=grups,dc=naxvanbautista,dc=local | ||
+ | dn: cn=visitantes,ou=grups,dc=naxvanbautista,dc=local | ||
+ | cn: visitantes | ||
+ | gidnumber: 500 | ||
+ | objectclass: posixGroup | ||
+ | objectclass: top | ||
+ | |||
+ | # Objeto 7: ou=usuaris,dc=naxvanbautista,dc=local | ||
+ | dn: ou=usuaris,dc=naxvanbautista,dc=local | ||
+ | objectclass: organizationalUnit | ||
+ | ou: usuaris | ||
+ | |||
+ | # Objeto 8: cn=intruso,ou=usuaris,dc=naxvanbautista,dc=local | ||
+ | dn: cn=intruso,ou=usuaris,dc=naxvanbautista,dc=local | ||
+ | cn: intruso | ||
+ | gidnumber: 500 | ||
+ | homedirectory: /home/users/intruso | ||
+ | loginshell: /bin/sh | ||
+ | objectclass: inetOrgPerson | ||
+ | objectclass: posixAccount | ||
+ | objectclass: top | ||
+ | sn: intruso | ||
+ | uid: intruso | ||
+ | uidnumber: 1000 | ||
+ | userpassword: {MD5}EsurHuVXJCwTtjlu8WRwHg== | ||
+ | |||
+ | # Objeto 9: uid=naxvansito,ou=usuaris,dc=naxvanbautista,dc=local | ||
+ | dn: uid=naxvansito,ou=usuaris,dc=naxvanbautista,dc=local | ||
+ | cn: uid=naxvansito | ||
+ | displayname: naxvansito | ||
+ | gecos: naxvansito | ||
+ | gidnumber: 5001 | ||
+ | givenname: naxvansito | ||
+ | homedirectory: /home/naxvansito | ||
+ | loginshell: /bin/bash | ||
+ | objectclass: inetOrgPerson | ||
+ | objectclass: posixAccount | ||
+ | objectclass: shadowAccount | ||
+ | sn: bautista | ||
+ | uid: naxvansito | ||
+ | uidnumber: 2102 | ||
+ | userpassword: naxvansito | ||
+ | |||
+ | # Objeto 10: uid=NextcloudAdmin,ou=usuaris,dc=naxvanbautista,dc=local | ||
+ | dn: uid=NextcloudAdmin,ou=usuaris,dc=naxvanbautista,dc=local | ||
+ | cn: NextcloudAdmin | ||
+ | gidnumber: 5101 | ||
+ | homedirectory: /home/users/nextcloudadmin | ||
+ | objectclass: inetOrgPerson | ||
+ | objectclass: posixAccount | ||
+ | objectclass: top | ||
+ | sn: NextcloudAdmin | ||
+ | uid: nextcloudadmin | ||
+ | uidnumber: 1001 | ||
+ | userpassword: {MD5}mHQiGCXU0xW3PWiImszLfA== | ||
+ | |||
+ | # Objeto 11: uid=paquito,ou=usuaris,dc=naxvanbautista,dc=local | ||
+ | dn: uid=paquito,ou=usuaris,dc=naxvanbautista,dc=local | ||
+ | cn: paquito | ||
+ | displayname: paquito | ||
+ | gecos: paquito | ||
+ | gidnumber: 5001 | ||
+ | givenname: paquito | ||
+ | homedirectory: /home/paquito | ||
+ | loginshell: /bin/bash | ||
+ | objectclass: inetOrgPerson | ||
+ | objectclass: posixAccount | ||
+ | objectclass: shadowAccount | ||
+ | sn: bautista | ||
+ | uid: paquito | ||
+ | uidnumber: 2100 | ||
+ | userpassword: paquito | ||
+ | |||
+ | === Incidències === | ||
+ | ---- | ||
+ | * Error de sincronització entre nodes PROXMOX. | ||
+ | Degut al multicast del switch al que eren connectats els nodes, el clúster no podía sincronitzar els vots necessitats per fer ''quorum'' entre ells. | ||
+ | ➥ '''SOLUCIÓ''': Canviar de switch per un CISCO i automàticament es va sincronitzar el clúster. | ||
+ | Referències: | ||
+ | https://forum.proxmox.com/threads/proxmox-ve-4-0-cluster-multicast-problems.24635/ | ||
+ | * Error de sortida de LAN privada a internet | ||
+ | ➥ '''SOLUCIÓ''': <br> | ||
+ | [[Fitxer:Incident checksum.jpg|600px|thumb|centre|]] | ||
+ | |||
+ | Referències: | ||
+ | Versions anteriors: | ||
+ | https://alpha-labs.net/wp-content/uploads/2015/12/pfsense-settings.png | ||
+ | Discussió al forum de pfsense: | ||
+ | https://forum.pfsense.org/index.php?topic=88467.0 | ||
+ | RFC Checksum offloads DOC(anglès): | ||
+ | https://www.kernel.org/doc/Documentation/networking/checksum-offloads.txt | ||
+ | |||
+ | * Port knocking | ||
+ | -> Conflicte amb IPTABLES | ||
+ | Degut a una iptable que ve mal configurada per defecte en moltes guies de referència, la regla que necesita knock no actua perquè l'afegeix sota de les altres. | ||
+ | [[Fitxer:portknock incidencia.jpg|thumb|600px|centre|Configuració errónea.]] | ||
+ | ''''➥SOLUCIÓ:''' Hem de canviar l'atribut append '''-A''' per l'atribut input '''-I''' a la iptable de opertura. | ||
+ | [[Fitxer:portknock incidencia2.jpg|thumb|600px|centre|Configuració vàlida.]] | ||
+ | |||
+ | === Línies futures === | ||
+ | |||
+ | * Clúster amb 3 nodes(SUPER HIGH AVAILIVILITY) | ||
+ | * Integració aplicació registre a NextCloud i LDAP | ||
+ | * IDS: SNORT | ||
+ | * pfSense com a Proxy | ||
+ | * Sistema de replicació de LDAP. | ||
== Manual d'instal·lació == | == Manual d'instal·lació == | ||
=== Instal·lació d'entorn de virtualització PROXMOX === | === Instal·lació d'entorn de virtualització PROXMOX === | ||
+ | |||
+ | # Podem trobar la guía d'instal·lació d'un '''node''' a [[PROXMOX]] | ||
+ | # Combinem dos nodes amb el següent tutorial: [[Clúster amb PROXMOX]] | ||
+ | # [[Sistema de Backups a PROXMOX]] | ||
+ | |||
=== Instal·lació de NFS Server === | === Instal·lació de NFS Server === | ||
+ | * [[NFS Server a Centos 7]] | ||
+ | * Afegir NFS Server a PROXMOX: | ||
+ | [[PROXMOX#.E2.9E.A5_NFS]] | ||
+ | |||
=== Instalació de PfSense === | === Instalació de PfSense === | ||
− | === Simulació de ISP === | + | |
+ | Com no tenim dues línies de ISP pròpies, utilitzarem la connexió a internet de l'institut i les separarem en dos cables diferents per simular dos línies d'internet diferents. | ||
+ | |||
+ | ==== Simulació de ISP ==== | ||
+ | ;➤ Requisits | ||
+ | *Màquina Ubuntu Física o Virtual amb 3 interfícies. | ||
+ | *En el nostre cas, tenim una màquina virtual UBUNTU configurada com un router. | ||
+ | ;➤ Configuració | ||
+ | [[Fitxer:isp1.jpg|thumb|centre|500px|Configuració de xarxa del nostre ISP.]] | ||
+ | |||
+ | |||
+ | * IPTABLES | ||
+ | [[Fitxer:isp2.jpg|thumb|centre|500px|iptables per accedir a internet]] | ||
+ | |||
+ | * Activem IP Forwarding | ||
+ | [[Fitxer:isp3.jpg|thumb|centre|500px|Activem l'ip forwarding permanentment a '''/etc/sysctl.conf'''.]] | ||
+ | |||
+ | ==== Instal·lació ==== | ||
+ | * Seguim aquesta guía de referència: [[PfSense]] | ||
+ | |||
=== Instalació d'aplicatiu de compartició d'arxius NEXTCLOUD === | === Instalació d'aplicatiu de compartició d'arxius NEXTCLOUD === | ||
* [[Nextcloud a Ubuntu 16.04]] | * [[Nextcloud a Ubuntu 16.04]] | ||
=== Instal·lació de servidor LDAP === | === Instal·lació de servidor LDAP === | ||
− | *[[ | + | *[[Servidor LDAP en Ubuntu 16.04]] |
+ | |||
=== Autenticació de NEXTCLOUD amb LDAP === | === Autenticació de NEXTCLOUD amb LDAP === | ||
+ | * [[NextCloud amb LDAP]] | ||
=== Assegurant el nostre servei === | === Assegurant el nostre servei === | ||
==== Port Knocking ==== | ==== Port Knocking ==== | ||
+ | * [[Port Knocking a Ubuntu 16.04]] | ||
==== LATCH ==== | ==== LATCH ==== | ||
− | + | * [[Latch]] | |
− | == Manual d' | + | == Manual d'administrador == |
=== Com utilitzar LATCH per tancar el pestell del meu compte=== | === Com utilitzar LATCH per tancar el pestell del meu compte=== | ||
+ | * Com sincronitzar LATCH amb el teu dispositiu | ||
+ | [[Latch#Com_sincronitzar_latch_amb_el_teu_dispositiu_m.C3.B2vil]] | ||
+ | * Com utilitzar-ho | ||
+ | [[Latch#Com_utilitzar_LATCH]] | ||
+ | |||
+ | === NextCloud === | ||
+ | ☆ '''Gestió d'usuaris''' | ||
+ | :*Gestió d'usuaris NextCloud: | ||
+ | [[Nextcloud_a_Ubuntu_16.04#.E2.9E.A4_Gestionar_Usuaris]] | ||
+ | :*Gestió d'usuaris amb LDAP: | ||
+ | [[NextCloud_amb_LDAP#Configuraci.C3.B3]] | ||
+ | ☆ '''Com instal·lar una aplicació ''' | ||
+ | [[Nextcloud_a_Ubuntu_16.04#.E2.9E.A4_Instal.C2.B7lar_aplicacions]] | ||
+ | ☆ ''' Configurar el correu ''' | ||
+ | [[Nextcloud_a_Ubuntu_16.04#.E2.9E.A4_Configurar_e-mail]] | ||
+ | |||
+ | === Com pico a la porta? (Port Knocking) === | ||
+ | *Linux | ||
+ | ▪[[Port_Knocking_a_Ubuntu_16.04#Comprovaci.C3.B3_des_d.27un_client_ubuntu]] | ||
+ | *Windows | ||
+ | |||
+ | === Administració bàsica de PROXMOX === | ||
+ | ☆ On són els logs.<br> | ||
+ | [[Fitxer:proxmox logs.jpg|thumb|centre|800px]] | ||
+ | ☆ Com mantenir l'entorn actualitzat.<br> | ||
+ | |||
+ | :*Fer un update | ||
+ | [[Fitxer:proxmox update.jpg|thumb|centre|800px]] | ||
+ | :*Fer un upgrade | ||
+ | [[Fitxer:proxmox upgrade.jpg|thumb|centre|800px|Quan fem click a upgrade, se'ns obre un terminal per acceptar la instal·lació.]] | ||
+ | ☆ Restablir màquines corruptes.<br> | ||
+ | ☆ Afegir imatges a PROXMOX <br> | ||
+ | :* Des de els repositoris de PROXMOX | ||
+ | [[Fitxer:proxmox templates.jpg|thumb|centre|800px| Fem click al disc local de qualsevol node, seguidament content i fem click a Templates.]] | ||
+ | [[Fitxer:proxmox templates1.jpg|thumb|centre|800px|Podem descarregar qualsevol d'aquestes imatges fent click a sobre i premem Download. Sen's afegirà al disc local.]] | ||
+ | :* Amb una imatge descarregada externament | ||
+ | [[Fitxer:proxmox upload1.jpg|thumb|centre|800px|Fem click al disc local de qualsevol node, anem a content i fem click a upload.]] | ||
+ | [[Fitxer:proxmox upload2.jpg|thumb|centre|800px| Fem click a Upload i un cop acabi de pujar-se ens sortirà al disc local.]] | ||
+ | |||
+ | === Com migrar màquines a PROXMOX === | ||
+ | Podeu trobar el manual a [[PROXMOX#.E2.9E.A5Migraci.C3.B3_de_m.C3.A0quines]] | ||
+ | |||
+ | === Com utilitzar pfSense === | ||
+ | ====☆ Firewall<br>==== | ||
+ | :* Definir regles<br> | ||
+ | Per definir una nova regla al firewall hem d'anar a Firewall > Rules. | ||
+ | [[Fitxer:pfsense rules1.jpg|thumb|800px|centre]] | ||
+ | |||
+ | Clickem add per afegir una nova regla... | ||
+ | [[Fitxer:pfsense rules2.jpg|thumb|800px|centre]] | ||
+ | [[Fitxer:pfsense rules3.jpg|thumb|800px|centre|1- Triem que fer amb el paquet, la interfície, el protocol i si volem que aparegui deshabilitada o no. <br> 2- Configuració del paquet origen. <br> 3- Configuració del paquet destí.]] | ||
+ | [[Fitxer:pfsense rules4.jpg|thumb|800px|centre|Afegim una descripció i fem click a Guardar.]] | ||
+ | [[Fitxer:pfsense rules5.jpg|thumb|800px|centre|Si no apliquem els canvis la regla no s'afegirà!]] | ||
+ | [[Fitxer:pfsense rules6.jpg|thumb|800px|centre|Un cop aplicades,el canvi es immediat.]] | ||
+ | :* Actualitzar regles | ||
+ | |||
+ | ====☆ Donar accés a internet a una xarxa interna<br>==== | ||
+ | |||
+ | :Des del menu principal de pfSense declararem que la interfície serà la de WAN1 (en aquest cas le0). Encara que per defecte ens afegeixi l'adreçament IP per DHCP, el canviarem per una :adreça estàtica. Introduïm la opció 2 de consola per assignar IPs i triem la interfície a la que volem afegir-la. | ||
+ | |||
+ | [[Fitxer:pfsense net1.jpg|thumb|centre|500px|Introduïm '''no''' per no utilitzar DHCP.]] | ||
+ | [[Fitxer:Pfsense net2.jpg|thumb|centre|500px|Assignem IP i màscara.]] | ||
+ | [[Fitxer:Pfsense net3.jpg|thumb|centre|500px|Afegim una gateway per accedir a internet, en el nostre cas posarem la IP del router.]] | ||
+ | [[Fitxer:Pfsense net4.jpg|thumb|centre|500px|Ens demana adreçament ipv6 però nosaltres no l'afegirem.]] | ||
+ | [[Fitxer:Pfsense net5.jpg|thumb|centre|500px|Introduïm '''y''' i premem Enter.]] | ||
+ | |||
+ | :* Definirem una LAN per accedir al panell d'administració de PFsense degut a que no es pot accedir per defecte per WAN. | ||
+ | [[Fitxer:Pfsense net6.jpg|thumb|centre|500px|Afegim una ip i una màscara com el pas anterior amb la diferència de que no afegirem gateway(ja que aquesta serà la gateway de la xarxa LAN.]] | ||
+ | [[Fitxer:Pfsense net7.jpg|thumb|centre|500px|No configurem ipv6 i aquest cop si que configurem DHCP.]] | ||
+ | |||
+ | :* Panell d'administració | ||
+ | ::Afegim una màquina en el rang ip de la LAN que hem definit i accedim via: | ||
+ | :: http://ip_pfSense amb l'usuari admin/pfSense | ||
+ | [[Fitxer:Pfsense net8.jpg|thumb|centre|500px|Es recomana encaridament canviar la password per defecte.]] | ||
+ | |||
+ | ::Per defecte las direccions privades no poden accedir als serveis de un altre xarxa privada, com a l'institut treballem amb classes privades hem de desbloquejarles al panell d'administració de pfSense | ||
+ | [[Fitxer:Pfsense net13.jpg|centre|thumb|500px|Com al tutorial que hem seguit tenim 2 WAN, hem de configurar ambdues.]] | ||
+ | ::Ens desplacem fins la part inferior, desmarquem ambdues opcions i premem "Save". | ||
+ | [[Fitxer:Pfsense net14.jpg|centre|thumb|500px|]] | ||
+ | [[Fitxer:Pfsense net15.jpg|centre|thumb|500px|]] | ||
+ | ::En cas de voler accedir desde WAN hauriem d'afegir una regla que permeti el tràfic des de la ip de xarxa de la LAN cap a la interfície WAN pel port 80. | ||
+ | [[Fitxer:Pfsense net16.jpg|centre|thumb|500px|Afegim una regla premem '''Add'''|]] | ||
+ | ::La regla tindrà la següent configuració: | ||
+ | [[Fitxer:Pfsense net17.jpg|centre|thumb|500px|1.- Deixem passar el tràfic.<br>2.- Interfície per on actua la regla.<br>3.- Protocol a "matchejjar".<br>4.- Origen al que deixem que arribi el tràfic.<br>5- Destí al que permetem al tràfic arribar.<br>6.- Descripció.]] | ||
+ | |||
+ | |||
+ | Un cop definida, guardada i aplicada les màquiens dins la LAN ja podrien accedir a internet. | ||
+ | |||
+ | ====☆ Copies de seguretat.<br>==== | ||
+ | |||
+ | ===== Fer un backup===== | ||
+ | ::Per a fer un backup anirem al mòdul '''Diagnostics > Backup & Restore''' | ||
+ | [[Fitxer:pfsense backup1.jpg|thumb|centre|500px]] | ||
+ | ::Un cop dins obrim el desplegable a '''Backup area''' i marquem '''ALL''' per a salvar-ho tot. | ||
+ | [[Fitxer:pfsense backup2.jpg|thumb|centre|500px|Podem especificar el que volem salvar seleccionant-ho al desplegable.]] | ||
+ | ::Podem encriptar el fitxer si volem pero al ser un backup de prova ho descarregarem sense encriptació. | ||
+ | [[Fitxer:pfsense backup3.jpg|thumb|centre|500px|Premem "Download configuration as XML" per descarregar l'arxiu.]] | ||
+ | [[Fitxer:pfsense backup4.jpg|thumb|centre|500px|Dades sanes i estàlvies.]] | ||
+ | |||
+ | ===== Carregar un backup===== | ||
+ | ::Per a carregar un backup anirem al mòdul '''Diagnostics > Backup & Restore''' | ||
+ | [[Fitxer:pfsense backup1.jpg|thumb|centre|500px|El primer pas es igual que a la secció anterior.]] | ||
+ | :: Seleccionem '''ALL''' al desplegable de '''Restore Area''' i seleccionem el fitxer de backup que volem carregar. | ||
+ | [[Fitxer:pfsense backup6.jpg|thumb|centre|500px|Podem especificar el que volem salvar seleccionant-ho al desplegable]] | ||
+ | ::Un cop hem acabat fem click a '''Restore Configuration''' | ||
+ | [[Fitxer:pfsense backup7.jpg|thumb|centre|500px]] | ||
+ | [[Fitxer:pfsense backup8.jpg|thumb|centre|500px|Confirmem que volem carregar la configuració.]] | ||
+ | ::Si tot ha sortit bé haurien d'haverse carregat la configuració que hi havia a l'arxiu XML. | ||
+ | [[Fitxer:pfsense backup9.jpg|thumb|centre|500px|El nostre fitxer de backup es un dels que hem utilitzat pel projecte [[Ciérrate, Sésamo]]]] | ||
+ | |||
+ | ===== Restablir la configuració de fàbrica ===== | ||
+ | Des de la terminal de pfSense, triem la opció 4 i rere la confirmació començarà el restabliment de fàbrica. | ||
+ | [[Fitxer:pfsense backup10.jpg|thumb|centre|500px]] | ||
+ | [[Fitxer:pfsense backup11.jpg|thumb|centre|500px|Rere un o dos reinicis automàtics, tornem a tenir la configuració. ]] | ||
− | === Com | + | ====☆ Com canviar la password de pfSense ==== |
+ | Accedim a pfSEnse via http://ip_pfSense amb l'usuari admin/pfSense | ||
+ | [[Fitxer:Pfsense net8.jpg|thumb|centre|500px|Es recomana encaridament canviar la password per defecte.]] | ||
+ | :Un cop hem entrat, anem a '''System > User Manager''' | ||
+ | [[Fitxer:Pfsense net9.jpg|thumb|centre|500px|A la secció System podem trobar més paràmetres de configuració com el DNS a utilitzar o el hostname.]] | ||
+ | :Editem l'usuari fent click al botó amb forma de llapis a Actions | ||
+ | [[Fitxer:Pfsense net10.jpg|thumb|centre|500px|Si tinguéssim més usuaris també apareixerien aquí.]] | ||
+ | :Afegim i confirmem la password. | ||
+ | [[Fitxer:Pfsense net11.jpg|thumb|centre|500px|Com podem apreciar, també podem afegir una data de expiració i gestionar els grups de l'usuari.]] | ||
+ | :Guardem i ja hem canviat la password. | ||
+ | [[Fitxer:Pfsense net12.jpg|thumb|centre|500px|✌✌]] | ||
− | === | + | ====Alta Disponibilitat ==== |
+ | *[[PfSense#Fail_Over_.26_Load_Blance]] | ||
− | == | + | ==Referències i Agraïments== |
Revisió de 20:00, 28 maig 2017
Aquesta es la wiki del projecte elaborat per Alex Suarez i Ismael Bautista, alumnes del SIS2 de la promoció 2016-2017
Memòria tècnica
Idea
La idea del nostre projecte és montar un sistema de virtualització amb diferentes xarxes en les quals es pot configurar qualsevol servei sense gaires problemes.
Amb PROXMOX podem tenir control en tot moment de les màquines que treballen dins dels nodes configurats com a clúster i, en cas de que hi hagi problemes, imposar ràpides solucions sense que el servei es vegi greument afectat.
L'entorn PROXMOX té dins un router que fa de BASTION host amb dues línies connectades a un ISP(aquest està simulat amb una màquina fora de l'entorn PROXMOX amb dues interfícies connectades al BASTION host),rere el pfSense, podriem montar qualsevol cosa però ens hem decidit per l'aplicació NextCloud .
Objectius
✏ Control sobre el tràfic a nivell de xarxa
✏ Entorn virtualitzat estable, escalable i funcional.
✏ Securització del sistema dins l'entorn.
✏ Posada a punt d'un sistema sencer per l'aplicació que vulguem.
Requeriments tècnics
Diagrama de xarxa
Software
Sistemes operatius
Hem decidit utilitzar programari de codi obert degut a la facilitat de trobar informació i ajuda per internet a més de per la falta de llicències de sistemes operatius de codi tancat. Els sistemes operatius de codi tancat d'aquest projecte només s'han utilitzat per proves de compabilitat.
- ✏ Proxmox 4.4
➥L'hem utilitzat com entorn de virtualització.
- ✏ PfSense 2.3.4
➥Utilitzat com ROUTER, FIREWALL , BASTION host.
- ✏ Centos 7 Gnome-Desktop
➥El nostre NFS server.
- ✏ Ubuntu
✏ Ubuntu Server 16.04
➥Màquines client.
✏ Ubuntu Desktop 16.04
➥Servidors LDAP,MYSQL,NextCloud.
- ✏ Windows (Només testeig.)
✏ Windows 7
✏ Windows XP
Aplicacions,paquets i programari
Implementades al sistema
- NextCloud
- NFS
- VMWare
- Port Knocking
- LDAP
- Latch
Paquets a linux
- nmap (per escanejar ports)
- knockd (dimoni port knocking)
- LAMP (Servidor WEB per NextCloud)
No funcionals
- SnagIT editor (Per documentació)
- TeamViewer (Accès remot)
- MobaXterm (Accès ssh des de Windows)
Hardware
- ➥ Clúster Lenovo ThinkCentre
- Especificacions per cada node
✏ [email protected]
✏ 8GB de RAM
- ➥ Portàtils de clase
◊ Portàtil isp
◊ Portàtil CentOS
- ➥ Switch CISCO.
Si volem configurar aquest switch, podem fer-ho següint aquesta guía de referència feta pels companys de VIVEMP: **
Configuracions
▪ pfSense
- Balanceig de càrrega i FAIL OVER
- Verificació status gateways
- WAN RULES
- LAN RULES
- DMZ RULES
- NATPD WAN TO DMZ
▪ PROXMOX
▪ LDAP
#cat ldap.ldif # Objeto 1: dc=naxvanbautista,dc=local dn: dc=naxvanbautista,dc=local dc: naxvanbautista o: NAXVANBAUTISTA objectclass: top objectclass: dcObject objectclass: organization # Objeto 2: cn=admin,dc=naxvanbautista,dc=local dn: cn=admin,dc=naxvanbautista,dc=local cn: admin description: LDAP administrator objectclass: simpleSecurityObject objectclass: organizationalRole userpassword: {SSHA}axCA3aWo+nyVSkA0M8ESclFMUcjSG/80 # Objeto 3: ou=grups,dc=naxvanbautista,dc=local dn: ou=grups,dc=naxvanbautista,dc=local objectclass: organizationalUnit ou: grups # Objeto 4: cn=NextCloudAdmins,ou=grups,dc=naxvanbautista,dc=local dn: cn=NextCloudAdmins,ou=grups,dc=naxvanbautista,dc=local cn: NextCloudAdmins gidnumber: 5101 memberuid: nextcloudadmin objectclass: posixGroup objectclass: top # Objeto 5: cn=nextcloudusers,ou=grups,dc=naxvanbautista,dc=local dn: cn=nextcloudusers,ou=grups,dc=naxvanbautista,dc=local cn: nextcloudusers gidnumber: 5001 memberuid: naxvansito memberuid: paquito objectclass: posixGroup # Objeto 6: cn=visitantes,ou=grups,dc=naxvanbautista,dc=local dn: cn=visitantes,ou=grups,dc=naxvanbautista,dc=local cn: visitantes gidnumber: 500 objectclass: posixGroup objectclass: top # Objeto 7: ou=usuaris,dc=naxvanbautista,dc=local dn: ou=usuaris,dc=naxvanbautista,dc=local objectclass: organizationalUnit ou: usuaris # Objeto 8: cn=intruso,ou=usuaris,dc=naxvanbautista,dc=local dn: cn=intruso,ou=usuaris,dc=naxvanbautista,dc=local cn: intruso gidnumber: 500 homedirectory: /home/users/intruso loginshell: /bin/sh objectclass: inetOrgPerson objectclass: posixAccount objectclass: top sn: intruso uid: intruso uidnumber: 1000 userpassword: {MD5}EsurHuVXJCwTtjlu8WRwHg== # Objeto 9: uid=naxvansito,ou=usuaris,dc=naxvanbautista,dc=local dn: uid=naxvansito,ou=usuaris,dc=naxvanbautista,dc=local cn: uid=naxvansito displayname: naxvansito gecos: naxvansito gidnumber: 5001 givenname: naxvansito homedirectory: /home/naxvansito loginshell: /bin/bash objectclass: inetOrgPerson objectclass: posixAccount objectclass: shadowAccount sn: bautista uid: naxvansito uidnumber: 2102 userpassword: naxvansito # Objeto 10: uid=NextcloudAdmin,ou=usuaris,dc=naxvanbautista,dc=local dn: uid=NextcloudAdmin,ou=usuaris,dc=naxvanbautista,dc=local cn: NextcloudAdmin gidnumber: 5101 homedirectory: /home/users/nextcloudadmin objectclass: inetOrgPerson objectclass: posixAccount objectclass: top sn: NextcloudAdmin uid: nextcloudadmin uidnumber: 1001 userpassword: {MD5}mHQiGCXU0xW3PWiImszLfA== # Objeto 11: uid=paquito,ou=usuaris,dc=naxvanbautista,dc=local dn: uid=paquito,ou=usuaris,dc=naxvanbautista,dc=local cn: paquito displayname: paquito gecos: paquito gidnumber: 5001 givenname: paquito homedirectory: /home/paquito loginshell: /bin/bash objectclass: inetOrgPerson objectclass: posixAccount objectclass: shadowAccount sn: bautista uid: paquito uidnumber: 2100 userpassword: paquito
Incidències
- Error de sincronització entre nodes PROXMOX.
Degut al multicast del switch al que eren connectats els nodes, el clúster no podía sincronitzar els vots necessitats per fer quorum entre ells. ➥ SOLUCIÓ: Canviar de switch per un CISCO i automàticament es va sincronitzar el clúster.
Referències:
https://forum.proxmox.com/threads/proxmox-ve-4-0-cluster-multicast-problems.24635/
- Error de sortida de LAN privada a internet
➥ SOLUCIÓ:
Referències:
Versions anteriors: https://alpha-labs.net/wp-content/uploads/2015/12/pfsense-settings.png Discussió al forum de pfsense: https://forum.pfsense.org/index.php?topic=88467.0 RFC Checksum offloads DOC(anglès): https://www.kernel.org/doc/Documentation/networking/checksum-offloads.txt
- Port knocking
-> Conflicte amb IPTABLES Degut a una iptable que ve mal configurada per defecte en moltes guies de referència, la regla que necesita knock no actua perquè l'afegeix sota de les altres.
'➥SOLUCIÓ: Hem de canviar l'atribut append -A per l'atribut input -I a la iptable de opertura.
Línies futures
- Clúster amb 3 nodes(SUPER HIGH AVAILIVILITY)
- Integració aplicació registre a NextCloud i LDAP
- IDS: SNORT
- pfSense com a Proxy
- Sistema de replicació de LDAP.
Manual d'instal·lació
Instal·lació d'entorn de virtualització PROXMOX
- Podem trobar la guía d'instal·lació d'un node a PROXMOX
- Combinem dos nodes amb el següent tutorial: Clúster amb PROXMOX
- Sistema de Backups a PROXMOX
Instal·lació de NFS Server
- NFS Server a Centos 7
- Afegir NFS Server a PROXMOX:
PROXMOX#.E2.9E.A5_NFS
Instalació de PfSense
Com no tenim dues línies de ISP pròpies, utilitzarem la connexió a internet de l'institut i les separarem en dos cables diferents per simular dos línies d'internet diferents.
Simulació de ISP
- ➤ Requisits
- Màquina Ubuntu Física o Virtual amb 3 interfícies.
- En el nostre cas, tenim una màquina virtual UBUNTU configurada com un router.
- ➤ Configuració
- IPTABLES
- Activem IP Forwarding
Instal·lació
- Seguim aquesta guía de referència: PfSense
Instalació d'aplicatiu de compartició d'arxius NEXTCLOUD
Instal·lació de servidor LDAP
Autenticació de NEXTCLOUD amb LDAP
Assegurant el nostre servei
Port Knocking
LATCH
Manual d'administrador
Com utilitzar LATCH per tancar el pestell del meu compte
- Com sincronitzar LATCH amb el teu dispositiu
Latch#Com_sincronitzar_latch_amb_el_teu_dispositiu_m.C3.B2vil
- Com utilitzar-ho
Latch#Com_utilitzar_LATCH
NextCloud
☆ Gestió d'usuaris
- Gestió d'usuaris NextCloud:
Nextcloud_a_Ubuntu_16.04#.E2.9E.A4_Gestionar_Usuaris
- Gestió d'usuaris amb LDAP:
NextCloud_amb_LDAP#Configuraci.C3.B3
☆ Com instal·lar una aplicació
Nextcloud_a_Ubuntu_16.04#.E2.9E.A4_Instal.C2.B7lar_aplicacions
☆ Configurar el correu
Nextcloud_a_Ubuntu_16.04#.E2.9E.A4_Configurar_e-mail
Com pico a la porta? (Port Knocking)
- Linux
▪Port_Knocking_a_Ubuntu_16.04#Comprovaci.C3.B3_des_d.27un_client_ubuntu
- Windows
Administració bàsica de PROXMOX
☆ On són els logs.
☆ Com mantenir l'entorn actualitzat.
- Fer un update
- Fer un upgrade
☆ Restablir màquines corruptes.
☆ Afegir imatges a PROXMOX
- Des de els repositoris de PROXMOX
- Amb una imatge descarregada externament
Com migrar màquines a PROXMOX
Podeu trobar el manual a PROXMOX#.E2.9E.A5Migraci.C3.B3_de_m.C3.A0quines
Com utilitzar pfSense
☆ Firewall
- Definir regles
- Definir regles
Per definir una nova regla al firewall hem d'anar a Firewall > Rules.
Clickem add per afegir una nova regla...
- Actualitzar regles
☆ Donar accés a internet a una xarxa interna
- Des del menu principal de pfSense declararem que la interfície serà la de WAN1 (en aquest cas le0). Encara que per defecte ens afegeixi l'adreçament IP per DHCP, el canviarem per una :adreça estàtica. Introduïm la opció 2 de consola per assignar IPs i triem la interfície a la que volem afegir-la.
- Definirem una LAN per accedir al panell d'administració de PFsense degut a que no es pot accedir per defecte per WAN.
- Panell d'administració
- Afegim una màquina en el rang ip de la LAN que hem definit i accedim via:
- http://ip_pfSense amb l'usuari admin/pfSense
- Per defecte las direccions privades no poden accedir als serveis de un altre xarxa privada, com a l'institut treballem amb classes privades hem de desbloquejarles al panell d'administració de pfSense
- Ens desplacem fins la part inferior, desmarquem ambdues opcions i premem "Save".
- En cas de voler accedir desde WAN hauriem d'afegir una regla que permeti el tràfic des de la ip de xarxa de la LAN cap a la interfície WAN pel port 80.
- La regla tindrà la següent configuració:
Un cop definida, guardada i aplicada les màquiens dins la LAN ja podrien accedir a internet.
☆ Copies de seguretat.
Fer un backup
- Per a fer un backup anirem al mòdul Diagnostics > Backup & Restore
- Un cop dins obrim el desplegable a Backup area i marquem ALL per a salvar-ho tot.
- Podem encriptar el fitxer si volem pero al ser un backup de prova ho descarregarem sense encriptació.
Carregar un backup
- Per a carregar un backup anirem al mòdul Diagnostics > Backup & Restore
- Seleccionem ALL al desplegable de Restore Area i seleccionem el fitxer de backup que volem carregar.
- Un cop hem acabat fem click a Restore Configuration
- Si tot ha sortit bé haurien d'haverse carregat la configuració que hi havia a l'arxiu XML.
Restablir la configuració de fàbrica
Des de la terminal de pfSense, triem la opció 4 i rere la confirmació començarà el restabliment de fàbrica.
☆ Com canviar la password de pfSense
Accedim a pfSEnse via http://ip_pfSense amb l'usuari admin/pfSense
- Un cop hem entrat, anem a System > User Manager
- Editem l'usuari fent click al botó amb forma de llapis a Actions
- Afegim i confirmem la password.
- Guardem i ja hem canviat la password.