Seguretat de Xarxes
Introducció
El disseny segur de xarxes és la base de qualsevol arquitectura de ciberseguretat. Una xarxa mal segmentada permet que un atacant que compromet un únic punt (per exemple, una impressora) pugui moure's lateralment fins a arribar als sistemes més crítics. El concepte de defensa en profunditat (defense in depth) s'aplica en el disseny de xarxes creant múltiples capes de seguretat.
Segmentació de xarxes
La segmentació consisteix a dividir la xarxa en zones aïllades amb polítiques de tràfic controlades. Seguint el principi de mínims privilegis, cada segment només ha de comunicar-se amb els segments estrictament necessaris.
flowchart TB
Internet --> FW1[Firewall extern]
FW1 --> DMZ[DMZ\nWeb Servers\nEmail Gateway]
FW1 --> FW2[Firewall intern]
FW2 --> CORP[Xarxa Corporativa\nEstacions de treball]
FW2 --> SERVERS[Xarxa de Servidors\nBBDD, APIs]
FW2 --> MGMT[Xarxa de Gestió\nSwitches, Routers, OOB]
FW2 --> IOT[Xarxa IoT\nImpressores, càmeres]
style DMZ fill:#FF9800
style SERVERS fill:#F44336
style MGMT fill:#9C27B0
Zones típiques d'una xarxa empresarial
| Zona | Contingut | Accés des d'Internet | Accés a Internet |
|---|---|---|---|
| DMZ | Servidors web, email gateway, VPN endpoint | Sí (limitat) | Limitat |
| Corporativa | PC d'usuaris, portàtils | No | Sí (via proxy) |
| Servidors | BBDD, aplicacions internes, directori actiu | No | Limitat |
| Gestió (OOB) | Consoles IPMI, switc KVM, gestió de xarxa | No | No |
| IoT | Impressores, càmeres IP, telèfons VoIP | No | Limitat |
VLANs (Virtual LANs)
Les VLANs permeten crear segments lògics dins la mateixa infraestructura física de xarxa. S'implementen a nivell de switch (capa 2) i el tràfic entre VLANs ha de passar per un router o firewall (capa 3), on es poden aplicar polítiques de seguretat.
Conceptes clau de VLANs
- VLAN ID: número entre 1 i 4094 que identifica la VLAN
- Port d'accés (Access port): pertany a una única VLAN; connecta dispositius finals
- Port troncal (Trunk port): transporta tràfic de múltiples VLANs (IEEE 802.1Q tagging)
- VLAN nativa: la VLAN per defecte en un trunk port (VLAN 1 per defecte - canviar-la!)
# Exemple de configuració VLAN en un switch Cisco (referència)
Switch(config)# vlan 10
Switch(config-vlan)# name XARXA_CORP
Switch(config-vlan)# exit
Switch(config)# interface FastEthernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
# Port troncal entre switches
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk native vlan 99 # Canviar VLAN nativa!
Switch(config-if)# switchport trunk allowed vlan 10,20,30,99
VLAN Hopping
Si la VLAN nativa no es canvia (roman a VLAN 1) i s'usa en ports de trànsit, un atacant pot fer VLAN hopping: enviar trames 802.1Q per saltar a qualsevol VLAN. Sempre canvia la VLAN nativa a una VLAN no usada.
Miniactivitat
Dissenya la segmentació en VLANs per a un hospital amb: - VLAN per a metges (accés a historials) - VLAN per a administració (accés a facturació) - VLAN per a equipament mèdic IoT (monitors, infusors) - VLAN per a WiFi de pacients (internet only) - VLAN de gestió de xarxa
Defineix quines comunicacions s'han de permetre entre VLANs i justifica-ho.
Zona Desmilitaritzada (DMZ)
La DMZ és un segment de xarxa semi-confiable que actua de tampó entre Internet i la xarxa interna. Els servidors que han de ser accessibles des d'Internet (web, email, VPN) es col·loquen aquí.
flowchart LR
Internet -->|Tràfic entrant| FW_EXT[Firewall\nexternal]
FW_EXT -->|Ports 80,443,25| DMZ[DMZ]
DMZ -->|BD queries| FW_INT[Firewall\nIntern]
FW_INT -->|Port 3306| BD[(Base de Dades\nInterna)]
Internet -.->|Blocat| FW_INT
Internet -.->|Blocat| BD
Regla fonamental de la DMZ: mai permetre connexions directes d'Internet a la xarxa interna. Totes han de passar per la DMZ.
Subnetting segur
El subnetting permet dividir un espai d'adreces IP en sub-xarxes més petites, facilitant la segmentació i el control de l'encaminament.
# Eina útil per calcular subxarxes
ipcalc 192.168.1.0/24
# Exemple de subxarxes per departaments (192.168.0.0/16):
# Departament IT: 192.168.10.0/24 (254 hosts)
# Departament RR.HH.: 192.168.20.0/24
# Servidors: 192.168.100.0/26 (62 hosts - espai ajustat)
# DMZ: 10.0.0.0/28 (14 hosts - molt restringit)
Seguretat en xarxes sense fils (WiFi)
Protocols WiFi i les seves vulnerabilitats
| Protocol | Any | Xifratge | Vulnerabilitats |
|---|---|---|---|
| WEP | 1997 | RC4 (trencable en minuts) | Completament insegur - no usar |
| WPA | 2003 | TKIP | TKIP attacks, deprecat |
| WPA2-Personal | 2004 | CCMP/AES | 4-way handshake capture + diccionari |
| WPA2-Enterprise | 2004 | CCMP/AES + 802.1X | Molt segur si el RADIUS està ben configurat |
| WPA3-Personal | 2018 | SAE (Dragonfly) | Dragonblood (mitigat) |
| WPA3-Enterprise | 2018 | 192-bit | Estàndard actual recomanat |
WPA2-Enterprise amb 802.1X
En entorns corporatius, no s'ha d'usar WPA2-Personal (PSK compartit). Si una contrasenya es filtra, tots els dispositius han de re-configurar-se. WPA2-Enterprise autentica cada usuari individualment via RADIUS:
sequenceDiagram
participant Client as Client WiFi
participant AP as Punt d'Accés
participant RADIUS as Servidor RADIUS
Client->>AP: Prova d'associació
AP->>Client: Sol·licitud EAP
Client->>AP: Identitat (usuari@domini)
AP->>RADIUS: Reenvía identitat
RADIUS->>AP: Repte d'autenticació
AP->>Client: Repte
Client->>AP: Resposta (credencials xifrades)
AP->>RADIUS: Reenvía resposta
RADIUS->>AP: Access-Accept + clau de sessió
AP->>Client: Associació acceptada
VPN: Túnels segurs
Una VPN (Virtual Private Network) crea un túnel xifrat sobre una xarxa no confiable (generalment Internet).
WireGuard vs OpenVPN vs IPSec
| WireGuard | OpenVPN | IPSec/IKEv2 | |
|---|---|---|---|
| Rendiment | Excel·lent | Bo | Bo |
| Configuració | Molt simple | Complexa | Molt complexa |
| Codi | ~4.000 línies | ~70.000 línies | Variable |
| Auditabilitat | Alta | Mitja | Baixa |
| Recomanació | Site-to-site modern | Legacy/compat. | Mobile clients |
Configuració WireGuard (exemple)
# /etc/wireguard/wg0.conf - Servidor
[Interface]
Address = 10.100.0.1/24
PrivateKey = <SERVER_PRIVATE_KEY>
ListenPort = 51820
[Peer]
# Client Joan Garcia
PublicKey = <CLIENT_PUBLIC_KEY>
AllowedIPs = 10.100.0.2/32
# Client (joan-garcia)
[Interface]
Address = 10.100.0.2/24
PrivateKey = <CLIENT_PRIVATE_KEY>
DNS = 10.100.0.1
[Peer]
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = vpn.empresa.cat:51820
AllowedIPs = 192.168.0.0/16 # Tràfic cap a la xarxa interna
Miniactivitat
Compara les tres solucions VPN (WireGuard, OpenVPN, IPSec) per a dos escenaris:
- Connexió site-to-site entre dues oficines d'una empresa
- Accés remot per a 200 empleats en teletreball
Quina recomanaries per a cada cas i per quin motiu?
Protocols de xarxa segurs
| Insegur | Segur | Port insegur | Port segur |
|---|---|---|---|
| HTTP | HTTPS (TLS 1.3) | 80 | 443 |
| FTP | SFTP / FTPS | 21 | 22 / 990 |
| Telnet | SSH | 23 | 22 |
| SMTP | SMTPS / STARTTLS | 25 | 465 / 587 |
| POP3 | POP3S | 110 | 995 |
| IMAP | IMAPS | 143 | 993 |
| LDAP | LDAPS | 389 | 636 |
| SNMP v1/v2c | SNMP v3 | 161 | 161 (v3 autenticat) |
Telnet i FTP: eliminar immediatament
Telnet i FTP transmeten tot en text clar, incloses contrasenyes. Si detectes dispositius de xarxa (switches, routers) que encara usen Telnet per a gestió, és una vulnerabilitat crítica.