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
  • 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.
Configuració errónea.
   '➥SOLUCIÓ: Hem de canviar l'atribut append -A per l'atribut input -I a la iptable de opertura.
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ó

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

  • 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.

Proxmox logs.jpg

☆ Com mantenir l'entorn actualitzat.

  • Fer un update
Proxmox update.jpg
  • Fer un upgrade
Quan fem click a upgrade, se'ns obre un terminal per acceptar la instal·lació.

☆ Restablir màquines corruptes.
☆ Afegir imatges a PROXMOX

  • Des de els repositoris de PROXMOX
Fem click al disc local de qualsevol node, seguidament content i fem click a Templates.
Podem descarregar qualsevol d'aquestes imatges fent click a sobre i premem Download. Sen's afegirà al disc local.
  • Amb una imatge descarregada externament
Fem click al disc local de qualsevol node, anem a content i fem click a upload.
Fem click a Upload i un cop acabi de pujar-se ens sortirà al disc local.

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
☆ Firewall

  • Definir regles

Per definir una nova regla al firewall hem d'anar a Firewall > Rules.

Pfsense rules1.jpg

Clickem add per afegir una nova regla...

Pfsense rules2.jpg
1- Triem que fer amb el paquet, la interfície, el protocol i si volem que aparegui deshabilitada o no.
2- Configuració del paquet origen.
3- Configuració del paquet destí.
Afegim una descripció i fem click a Guardar.

☆ Administrar multigateway
☆ Crear NAT
☆ Copies de seguretat.

Referències i Agraïments