Introducció
strongSwan és un programari de codi obert dissenyat per implementar xarxes privades virtuals (VPN) utilitzant el protocol IPsec, destacant per la seva seguretat, flexibilitat i compatibilitat amb múltiples plataformes. Va ser desenvolupat originalment com una bifurcació del projecte FreeS/WAN el 2005, té un gran suport per part de la comunitat i el projecte el manté Andreas Steffen, professor emèrit de Seguretat en les Comunicacions a la Universitat de Ciències Aplicades de Rapperswil, Suïssa.
S'utilitza àmpliament per assegurar el tràfic d'Internet en xarxes insegures i suporta una varietat de mètodes d'autenticació, incloent-hi certificats i EAP. Adequat per a petites i grans infraestructures, strongSwan en té avantatges per ser un projecte de codi obert, el que garanteix una revisió constant i millores en seguretat, a més de la seva capacitat d'interoperar amb diversos sistemes i dispositius. Un aspecte crucial de StrongSwan és el seu ús del protocol IKEv2 per a la gestió de claus i l'establiment de connexions segures, característica que ha reforçat la seva posició.
La combinació d'IPsec amb IKEv2 proporciona una solució robusta i eficient per a VPN segures, escalables tant per a petites implementacions com per a grans infraestructures. La seva interoperabilitat amb diversos sistemes i dispositius reforça el seu valor en entorns on es requereix una comunicació segura i fiable entre maquinari i programari heterogenis.
Indicacions i requisits prèvis
L'article està enfocat exclusivament a sistemes basats en Debian, un exemple seria la distribució Ubuntu i és necessari iniciar sessió amb l'usuari root (també pots utilitzar un usuari amb permisos de superusuari).
Configuració del tallafocs
Serà necessari habilitar els ports 500 i 4500 UDP per a ambdós extrems. A Clouding quedarien així les regles en qüestió:
Addicionalment, és recomanable crear la regla filtrant també amb IP d'Origen per a una major seguretat.
Instal·lació de strongSwan
Primer actualitza els repositoris i paquets, després instal·la strongSwan:
# apt-get update && apt upgrade -y && apt-get install strongswan -y
També habilita l'enrutament en el servidor de forma persistent:
# echo 'net.ipv4.ip_forward=1' | tee -a /etc/sysctl.conf && sysctl -p
Configuració de connexió en strongSwan
Posteriorment, edita l'arxiu /etc/ipsec.conf per configurar la teva connexió o connexions VPN:
# nano /etc/ipsec.conf
Aquí un exemple de configuració (com a mínim hauràs de modificar l'IP pública i la subxarxa del "right"):
config setup
charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2, mgr 2"
conn %default
ikelifetime=1h
keylife=1h
rekeymargin=5m
keyingtries=3
keyexchange=ikev2 # Versió protocol IKE.
authby=secret # Ús de clau precompartida.
ike=aes256-sha1-modp1024 # Xifrat IKE.
esp=aes256-sha1 # Xifrat ESP.
conn IPSec_clouding_to_ejemplo
left=%any # Any o adreça IP del servidor strongswan.
leftid=%any # Nom identificatiu (han de coincidir entre extrems).
leftsubnet=%any # Any o xarxes del costat del servidor VPN.
right=Public_IP # Adreça IP pública de l'altre extrem.
rightid=%any # Nom identificatiu (han de coincidir entre extrems).
rightsubnet=192.168.1.0/24 # Xarxa o xarxes de l'altre extrem.
auto=start
On left és el teu servidor VPN, i right és el client o l'altre extrem. També pots afegir més connexions amb més extrems a continuació de l'última.
Configuració de la Clau Precompartida (PSK)
La clau precompartida (PSK) s'utilitza per a l'autenticació entre els dos extrems de la VPN. Edita l'arxiu /etc/ipsec.secrets per afegir la teva PSK:
# nano /etc/ipsec.secrets
Reemplaça "LaMevaClauSecreta" per una clau forta i única.
: PSK 'LaMevaClauSecreta'
Pots afegir més línies si vols configurar més connexions amb diferents claus, especificant cada línia amb els IDs o IPs corresponents a la connexió en qüestió.
Per aplicar la configuració, simplement reinicia l'IPSec i pots consultar l'estat de les connexions:
# ipsec restart && ipsec statusall
Configuració de l'altre extrem
Un cop aplicada la configuració, a l'altre costat, la configuració seria:
TIPUS = ikev2
IKE = aes256-sha1-modp1024 (DH Group 2)
ESP = aes256-sha1
PSK = LaMevaClauSecreta
I indicant les IPs i subxarxes segons la teva xarxa específica com a extrem esquerre. A la dreta, l'adreça pública del servidor strongSwan de Clouding i la xarxa privada automàtica o configurada manualment als servidors (Xarxa privada).
Esperem que aquest tutorial t'hagi estat d'ajuda, si tens consultes sobre aquesta o una altra qüestió relacionada amb els teus servidors a Clouding, no dubtis a contactar a soporte@clouding.io Estem aquí per ajudar-te!