Ciérrate, Sésamo
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
- NextCloud
- LAMP
- NFS
- VMWare
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
- Com utilitzar-ho
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ó
☆ Configurar el correu.
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 fer 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
Com utilitzar pfSense
☆ Configurar adreçament de xarxa per sortir fora de PROXMOX.
☆ Afegir configuració adicional(DNS,hostname)
☆ Com canviar el nom de les interfícies
☆ Declarar grups de regles
☆ Fail over
☆ Load Balance
☆ Firewall
☆ Administrar multigateway
☆ Definir reglas
☆ Crear NAT
☆ Copies de seguretat.