Bastionado de máquinas mariadb db server cluster con galera

· 5min · linux

Introducción

En esta entrada vamos a ver cómo securizar los servidores del clúster de mariadb con galera.

Servidores

Puertos a gestionar

Configuración del Firewall

Configuraciones comunes en Ubuntu 24.04

Instalamos el firewall en Ubuntu

sudo apt install ufw

Restablecer UFW y poner política por defecto

sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing

Desde el nodo 1

Permitir el tráfico al ssh

sudo ufw allow ssh

Definimos las ips de los otros nodos

export NODES=(192.168.1.82 192.168.1.83)

Permitir el tráfico al puerto de mariaDB

sudo ufw allow 3306/tcp

Permitir el tráfico a los puertos de galera

for IP in "${NODES[@]}"; do
  # Replicación Galera (TCP y UDP)
  sudo ufw allow from $IP to any port 4567 proto tcp
  sudo ufw allow from $IP to any port 4567 proto udp

  # IST (Incremental State Transfer)
  sudo ufw allow from $IP to any port 4568 proto tcp

  # SST completo
  sudo ufw allow from $IP to any port 4444 proto tcp
done

Habilitamos el firewall

sudo ufw enable
sudo ufw status verbose

Desde el nodo 2

Permitir el tráfico al ssh

sudo ufw allow ssh

Definimos las ips de los otros nodos

export NODES=(192.168.1.81 192.168.1.83)

Permitir el tráfico al puerto de mariaDB

sudo ufw allow 3306/tcp

Permitir el tráfico a los puertos de galera

for IP in "${NODES[@]}"; do
  # Replicación Galera (TCP y UDP)
  sudo ufw allow from $IP to any port 4567 proto tcp
  sudo ufw allow from $IP to any port 4567 proto udp

  # IST (Incremental State Transfer)
  sudo ufw allow from $IP to any port 4568 proto tcp

  # SST completo
  sudo ufw allow from $IP to any port 4444 proto tcp
done

Habilitamos el firewall

sudo ufw enable
sudo ufw status verbose

Desde el nodo 3

Permitir el tráfico al ssh

sudo ufw allow ssh

Definimos las ips de los otros nodos

export NODES=(192.168.1.81 192.168.1.82)

Permitir el tráfico al puerto de mariaDB

sudo ufw allow 3306/tcp

Permitir el tráfico a los puertos de galera

for IP in "${NODES[@]}"; do
  # Replicación Galera (TCP y UDP)
  sudo ufw allow from $IP to any port 4567 proto tcp
  sudo ufw allow from $IP to any port 4567 proto udp

  # IST (Incremental State Transfer)
  sudo ufw allow from $IP to any port 4568 proto tcp

  # SST completo
  sudo ufw allow from $IP to any port 4444 proto tcp
done

Habilitamos el firewall

sudo ufw enable
sudo ufw status verbose

Configuración del SSHD pra acceder sólo por clave ssh

Creación del clave ssh

ssh-keygen -t ed25519 -b 4096

Copiar la clave pública al servidor

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@IPSERVER

cambiar para uso de clave ssh

sudo vim /etc/ssh/sshd_config

Contenido del fichero de configuración

# Port 22
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM no

Reiniciar el servicio

sudo systemctl restart ssh