Ciérrate, Sésamo

De Wiket
Salta a la navegació Salta a la cerca

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.

DIAGRAMA SOLO REDES.jpg

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

Cisco.jpg

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

Informació extreta amb la comanda lshw -short .
➥ Portàtils de clase

    ◊ Portàtil isp

Recursos portatil.jpg

    ◊ Portàtil CentOS

Recursos centos.jpg
Discos centos.jpg
➥ 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
Pfsense23.jpg
  • Verificació status gateways
Pfsense24.jpg
Pfsense25.jpg
  • WAN RULES
WAN1.
WAN2.
  • LAN RULES
LAN net.
  • DMZ RULES
DMZ net.
  • NATPD WAN TO DMZ
NATPD.
▪ PROXMOX
"Salud" del clúster.
Datacenter1.jpg
Característiques del clúster i gestió de recursos.
Datacenter clúster.jpg
Recursos del node 1
Recursos nodo1.jpg
Recursos del node 2:
Recursos nodo2.jpg
Configuració del adaptador de xarxa del node 1:
Network nodo1.jpg
Configuració del adaptador de xarxa del node 2:
Network nodo2.jpg
▪ LDAP
Ldap phpldapadmin.jpg
#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Ó:

Incident checksum.jpg

  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

Línies futures

  • Clúster amb 3 nodes(SUPER HIGH AVAILIVILITY)
  • Integració aplicació registre a NextCloud i LDAP

Manual d'instal·lació

Instal·lació d'entorn de virtualització PROXMOX

  1. Podem trobar la guía d'instal·lació d'un node a PROXMOX
  2. Combinem dos nodes amb el següent tutorial: Clúster amb PROXMOX
  3. Sistema de Backups a PROXMOX

Instal·lació de NFS Server

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ó
Configuració de xarxa del nostre ISP.


  • IPTABLES
iptables per accedir a internet
  • Activem IP Forwarding
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


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

Gestió d'usuaris a NextCloud

Com pico a la porta? (Port Knocking)

  • Linux

       ▪Port_Knocking_a_Ubuntu_16.04#Comprovaci.C3.B3_des_d.27un_client

  • Windows

Administració bàsica de PROXMOX

☆ On son els logs i com exportar-los.
☆ Com fer mantenir l'entorn actualitzat.
☆ Restablir màquines corruptes.
☆ Utilitzant els repositoris de PROXMOX.

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.

Referències i Agraïments